Marine systems simulation
Ship::LocalConnection Class Reference
+ Inheritance diagram for Ship::LocalConnection:
+ Collaboration diagram for Ship::LocalConnection:

Public Member Functions

 LocalConnection (const string simObjectName, ISimObjectCreator *const creator)
 
virtual void OdeFcn (const double T, const double *const X, double *const XDot, const bool bIsMajorTimeStep)
 
virtual void InitialConditionSetup (const double T, const double *const currentIC, double *const updatedIC, ISimObjectCreator *const creator)
 
const double * OffsetBody (const double T, const double *const X)
 
const double * RotationBody (const double T, const double *const X)
 
const double * PositionNED (const double T, const double *const X)
 
const double * VelocityNED (const double T, const double *const X)
 
const double * VelocityBody (const double T, const double *const X)
 
const double * OmegaNED (const double T, const double *const X)
 
const double * QuaternionNED (const double T, const double *const X)
 
const double * Axis1NED (const double T, const double *const X)
 
const double * Axis2NED (const double T, const double *const X)
 
const double * Axis3NED (const double T, const double *const X)
 
const double * ForceNED (const double T, const double *const X)
 
const double * TorqueNED (const double T, const double *const X)
 
const double * ForceBody (const double T, const double *const X)
 
const double * TorqueBody (const double T, const double *const X)
 
const double * ParentQuaterion (const double T, const double *const X)
 

Protected Member Functions

const double * Force (const double T, const double *const X)
 
const double * Torque (const double T, const double *const X)
 
void ComputePostition (const double T, const double *const X)
 
void ComputeForce (const double T, const double *const X)
 

Protected Attributes

double m_positionNED [3]
 
double m_omegaNED [3]
 
double m_velocityNED [3]
 
double m_omegaBody [3]
 
double m_velocityBody [3]
 
double m_quaternionNED [4]
 
double m_axis1NED [3]
 
double m_axis2NED [3]
 
double m_axis3NED [3]
 
double m_ForceNED [3]
 
double m_TorqueNED [3]
 
double m_ForceBody [3]
 
double m_TorqueBody [3]
 
bool m_isAzimuth
 
double m_azimuthLoss [2]
 
ISignalPort * m_InParentPositionNED
 
ISignalPort * m_InParentQuaternionNED
 
ISignalPort * m_InParentVelocityNED
 
ISignalPort * m_InParentOmegaNED
 
ISignalPort * m_InForce
 
ISignalPort * m_InMotorAngularTarget [3]
 
ISignalPort * m_InMotorLinearTarget [3]
 
double m_Offset [3]
 
bool m_ForceCalculator
 
bool m_ForceInBodyFrame
 
ISignalPort * m_InOffset
 
ISignalPort * m_InPositionCGNED
 
bool m_isLinearMotor
 
bool m_isAngularMotor
 
int m_stateLinearMotor [3]
 
int m_stateAngularMotor [3]
 
double m_linearMotorMaxChangerate [3]
 
double m_angularMotorMaxChangerate [3]
 
double m_linearMotorConstants [3]
 
double m_angularMotorConstants [3]
 
double m_linearStaticOffset [3]
 
double m_angularStaticOffset [3]
 
double m_linearForceAttackOffset [3]
 
ICommonComputation * m_computePosition
 
ICommonComputation * m_computeForce
 

Member Function Documentation

◆ Axis1NED()

const double * Ship::LocalConnection::Axis1NED ( const double  T,
const double *const  X 
)

The normal vector of the 1. axis in north-east-down coordinates

◆ Axis2NED()

const double * Ship::LocalConnection::Axis2NED ( const double  T,
const double *const  X 
)

The normal vector of the 2. axis in north-east-down coordinates

◆ Axis3NED()

const double * Ship::LocalConnection::Axis3NED ( const double  T,
const double *const  X 
)

The normal vector of the 3. axis in north-east-down coordinates

◆ ForceBody()

const double * Ship::LocalConnection::ForceBody ( const double  T,
const double *const  X 
)

The force output in north-east-down coordinates

◆ ForceNED()

const double * Ship::LocalConnection::ForceNED ( const double  T,
const double *const  X 
)

The force output in north-east-down coordinates

◆ OffsetBody()

const double * Ship::LocalConnection::OffsetBody ( const double  T,
const double *const  X 
)

The offset of the connection point in local coordinates

◆ OmegaNED()

const double * Ship::LocalConnection::OmegaNED ( const double  T,
const double *const  X 
)

The rotational velocity in north-east-down coordinates

◆ ParentQuaterion()

const double * Ship::LocalConnection::ParentQuaterion ( const double  T,
const double *const  X 
)

The orientation of the parent object

◆ PositionNED()

const double * Ship::LocalConnection::PositionNED ( const double  T,
const double *const  X 
)

The position in north-east-down coordinates

◆ QuaternionNED()

const double * Ship::LocalConnection::QuaternionNED ( const double  T,
const double *const  X 
)

The rotation quaternion. The orientation quaternion is the rotation of the parent body rotated by any axis rotations of the 1,2,3 axes, in succession

◆ RotationBody()

const double * Ship::LocalConnection::RotationBody ( const double  T,
const double *const  X 
)

The Rotation of the connection point in local coordinates

◆ Torque()

const double * Ship::LocalConnection::Torque ( const double  T,
const double *const  X 
)
protected

The torque output around the parent body origin of the force input in north-east-down coordinates

◆ TorqueBody()

const double * Ship::LocalConnection::TorqueBody ( const double  T,
const double *const  X 
)

The torque output around the parent body origin of the force input in body coordinates

◆ TorqueNED()

const double * Ship::LocalConnection::TorqueNED ( const double  T,
const double *const  X 
)

The torque output around the parent body origin of the force input in body coordinates

◆ VelocityBody()

const double * Ship::LocalConnection::VelocityBody ( const double  T,
const double *const  X 
)

The velocity in the parents local axis system

◆ VelocityNED()

const double * Ship::LocalConnection::VelocityNED ( const double  T,
const double *const  X 
)

The Linear velocity in north-east-down coordinates

Member Data Documentation

◆ m_ForceCalculator

bool Ship::LocalConnection::m_ForceCalculator
protected

Use the object to translate forces to force-torque pairs

◆ m_ForceInBodyFrame

bool Ship::LocalConnection::m_ForceInBodyFrame
protected

Set the input force in the parents body frame

◆ m_InForce

ISignalPort* Ship::LocalConnection::m_InForce
protected

Translate an input force to force-torque pair around the parent origin

◆ m_InMotorAngularTarget

ISignalPort* Ship::LocalConnection::m_InMotorAngularTarget[3]
protected

Input of axis rotation angles if enabled

◆ m_InMotorLinearTarget

ISignalPort* Ship::LocalConnection::m_InMotorLinearTarget[3]
protected

Input of axis rotation angles if enabled

◆ m_InOffset

ISignalPort* Ship::LocalConnection::m_InOffset
protected

input port for runtime tunable offset from reference

◆ m_InParentOmegaNED

ISignalPort* Ship::LocalConnection::m_InParentOmegaNED
protected

The rotational speed of the parent body in north-east-down

◆ m_InParentPositionNED

ISignalPort* Ship::LocalConnection::m_InParentPositionNED
protected

The position of the parent body in north-east-down

◆ m_InParentQuaternionNED

ISignalPort* Ship::LocalConnection::m_InParentQuaternionNED
protected

The orientation quaternion of the parent body in north-east-down

◆ m_InParentVelocityNED

ISignalPort* Ship::LocalConnection::m_InParentVelocityNED
protected

The linear velocities of the parent body in north-east-down

◆ m_InPositionCGNED

ISignalPort* Ship::LocalConnection::m_InPositionCGNED
protected

Input port for the position of the CG and reference point body, required to calculate correct torque and velocities

◆ m_Offset

double Ship::LocalConnection::m_Offset[3]
protected

The offset in the parents axis system


The documentation for this class was generated from the following file: