Marine systems simulation
Visualization::VesselOBJ Class Reference
+ Inheritance diagram for Visualization::VesselOBJ:
+ Collaboration diagram for Visualization::VesselOBJ:

Public Member Functions

 VesselOBJ (std::string sSimObjectName, ISimObjectCreator *pCreator)
 The constructor sets the pointer to the output object and the parser object.
 
virtual void OdeFcn (const double dT, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
 The destructor cleans up. More...
 

Protected Member Functions

const double * OutHeading (const double dT, const double *const adX)
 Output ports.
 
const double * OutPos (const double dT, const double *const adX)
 
const double * OutThrusterPos (const double dT, const double *const adX, int iThruster)
 
const double * OutContactForcePos (const double dT, const double *const adX, int iContact)
 
void CalcOutput (const double dT, const double *const adX)
 

Protected Attributes

ISignalPort * m_pInSurge
 Input ports. More...
 
ISignalPort * m_pInSway
 Sway input port [m].
 
ISignalPort * m_pInHeave
 Heave input port [m].
 
ISignalPort * m_pInRoll
 Roll input port [rad].
 
ISignalPort * m_pInPitch
 Pitch input port [rad].
 
ISignalPort * m_pInYaw
 Yaw input port [rad].
 
ISignalPort ** m_pInContactPoints
 Points where contacts with the vessel mesh will be checked.
 
ISignalPort ** m_pInContactNormals
 Normal directions from contact points.
 
double m_adOut_Pos [3]
 
double m_adOut_Heading
 
double m_OutThrusterPos [3]
 
double m_OutContactForces [3]
 
ICommonComputation * m_pCommonCalc
 Calculations necessary for more than one output port.
 
double m_dSurge
 
double m_dSway
 
double m_dHeave
 
double m_dPitch
 
double m_dRoll
 
double m_dYaw
 
int m_NumThrusters
 
std::vector< Ogre::Vector3 > m_aThrusterPos
 number of thruster whose 3d positions will be available via output ports
 
std::vector< Ogre::Vector3 > m_aOutThrusterPos
 thruster positions in vessel cooridinates
 
std::vector< Ogre::Vector3 > m_aContactForces
 global positions
 
std::vector< Ogre::Vector3 > m_aContactPointsA
 forces in contact points
 
std::vector< Ogre::Vector3 > m_aContactPointsB
 inport points to check for collision with Vessel
 
Ogre::Quaternion m_InitOrientation
 contact points on Vessel
 
Ogre::Matrix3 m_InitMeshRot
 
double m_dInitialPos [3]
 

Member Function Documentation

◆ OdeFcn()

virtual void Visualization::VesselOBJ::OdeFcn ( const double  dT,
const double *const  adX,
double *const  adXDot,
const bool  bIsMajorTimeStep 
)
virtual

Calculates the state derivatives.

Member Data Documentation

◆ m_pInSurge

ISignalPort* Visualization::VesselOBJ::m_pInSurge
protected

Surge input port [m].


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