FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CMass.h
1
10
11#ifndef CMass_H
12#define CMass_H
13
14#include <fhsim/simobject/SimObject.h>
15#include <string>
16
17
18class CMass : public SimObject
19{
20public:
22 CMass(std::string sSimObjectName, ISimObjectCreator* pCreator);
23
24#ifdef FH_VISUALIZATION
26 virtual void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
27
29 virtual void RenderUpdate(const double T, const double* const X);
30#endif
31
33 virtual void OdeFcn(const double dT, const double* const adX,
34 double* const adXDot) const;
35
36protected:
42 virtual const double* Position(const double dT, const double* const adX);
48 virtual const double* Velocity(const double dT, const double* const adX);
49
50 double m_dMass;
51 double m_dg;
52 ISignalPort* m_pInForce;
55
56
57#ifdef FH_VISUALIZATION
58 std::string m_sMaterial;
59 std::string m_sMeshName;
60 double m_dScale;
61 Ogre::Entity* m_pRenderEntity;
62 Ogre::SceneNode* m_pRenderNode;
63 Ogre::SceneManager* m_pSceneMgr;
64#endif
65};
66
67
68#endif
Class containing a 3dof mass simObjec without gravity.
Definition CMass.h:19
double m_dg
The acceleration of gravity.
Definition CMass.h:51
virtual const double * Velocity(const double dT, const double *const adX)
Returns the current velocity state.
int m_IStateVel
The index of the velocity state.
Definition CMass.h:54
virtual const double * Position(const double dT, const double *const adX)
Returns the current position state.
virtual void OdeFcn(const double dT, const double *const adX, double *const adXDot) const
Calculates the state derivatives.
double m_dMass
The mass of the object.
Definition CMass.h:50
CMass(std::string sSimObjectName, ISimObjectCreator *pCreator)
The constructor sets the pointer to the output object and the parser object.
int m_IStatePos
The index of the position state.
Definition CMass.h:53
ISignalPort * m_pInForce
A pointer to the input force.
Definition CMass.h:52