26namespace Visualization
33 VesselOBJ(std::string sSimObjectName, ISimObjectCreator* pCreator);
40 virtual void OdeFcn(
const double dT,
const double*
const adX,
double*
const adXDot,
const bool bIsMajorTimeStep);
42# ifdef FH_VISUALIZATION
44 virtual void RenderInit(Ogre::Root*
const pOgreRoot, ISimObjectCreator*
const pCreator);
47 virtual void RenderUpdate(
const double dT,
const double*
const adX);
62 const double*
OutHeading(
const double dT,
const double*
const adX);
63 const double* OutPos(
const double dT,
const double*
const adX);
64 const double* OutThrusterPos(
const double dT,
const double*
const adX,
int iThruster);
65 const double* OutContactForcePos(
const double dT,
const double*
const adX,
int iContact);
67 void CalcOutput(
const double dT,
const double*
const adX);
70 double m_adOut_Pos[3];
71 double m_adOut_Heading;
72 double m_OutThrusterPos[3];
73 double m_OutContactForces[3];
102 Ogre::Matrix3 m_InitMeshRot;
104 double m_dInitialPos[3];
106# ifdef FH_VISUALIZATION
107 Ogre::Entity* m_RenderMass;
108 Ogre::SceneNode* m_RenderNode;
109 Ogre::SceneNode** m_SpheresRenderNodes;
110 double m_LengthScale;
111 double m_BreadthScale;
113 std::string m_MeshName;
Definition: VesselOBJ.h:30
std::vector< Ogre::Vector3 > m_aContactPointsA
forces in contact points
Definition: VesselOBJ.h:90
ISignalPort * m_pInPitch
Pitch input port [rad].
Definition: VesselOBJ.h:56
ISignalPort * m_pInSway
Sway input port [m].
Definition: VesselOBJ.h:53
virtual void OdeFcn(const double dT, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
The destructor cleans up.
ISignalPort * m_pInRoll
Roll input port [rad].
Definition: VesselOBJ.h:55
ISignalPort ** m_pInContactPoints
Points where contacts with the vessel mesh will be checked.
Definition: VesselOBJ.h:58
ISignalPort * m_pInHeave
Heave input port [m].
Definition: VesselOBJ.h:54
ISignalPort * m_pInSurge
Input ports.
Definition: VesselOBJ.h:52
std::vector< Ogre::Vector3 > m_aThrusterPos
number of thruster whose 3d positions will be available via output ports
Definition: VesselOBJ.h:86
std::vector< Ogre::Vector3 > m_aContactPointsB
inport points to check for collision with Vessel
Definition: VesselOBJ.h:91
std::vector< Ogre::Vector3 > m_aContactForces
global positions
Definition: VesselOBJ.h:89
VesselOBJ(std::string sSimObjectName, ISimObjectCreator *pCreator)
The constructor sets the pointer to the output object and the parser object.
Ogre::Quaternion m_InitOrientation
contact points on Vessel
Definition: VesselOBJ.h:101
ISignalPort * m_pInYaw
Yaw input port [rad].
Definition: VesselOBJ.h:57
const double * OutHeading(const double dT, const double *const adX)
Output ports.
ICommonComputation * m_pCommonCalc
Calculations necessary for more than one output port.
Definition: VesselOBJ.h:75
ISignalPort ** m_pInContactNormals
Normal directions from contact points.
Definition: VesselOBJ.h:59
std::vector< Ogre::Vector3 > m_aOutThrusterPos
thruster positions in vessel cooridinates
Definition: VesselOBJ.h:87