Marine systems simulation
CCenterWeight.h
1#pragma once
2
79#include "SimObject.h"
80#include "IBasicBottom.h"
81class CCenterWeight : public SimObject
82{
83public:
84 CCenterWeight(std::string sSimObjectName, ISimObjectCreator* pCreator);
85
87 virtual void OdeFcn(const double dT, const double* const adX,
88 double* const adXDot, const bool bIsMajorTimeStep);
89#ifdef FH_VISUALIZATION
91 void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
93 void RenderUpdate( const double T, const double* const X);
94#endif
95 void FinalSetup(const double dT, const double *const adX, ISimObjectCreator* const pCreator);
96 virtual const double* Position(const double dT, const double* const adX);
97 virtual const double* Velocity(const double dT, const double* const adX);
98protected:
99
100 ISignalPort* m_pInForce1;
101 ISignalPort* m_pInForce2;
102 ISignalPort* m_pInForce3;
105
106 double m_dMass;
107 double m_dDensity;
108 double m_dVisualizationScale;
109 double m_dRadius;
110 double m_dWeight;
112
113#ifdef FH_VISUALIZATION
114 std::string m_sMaterial;
115 std::string m_sMeshName;
116 double m_dScale;
117 Ogre::Entity* m_pRenderEntity;
118 Ogre::SceneNode* m_pRenderNode;
119 Ogre::SceneManager* m_pSceneMgr;
120#endif
121};
Definition: CCenterWeight.h:82
int m_IStateVel
The index of the velocity state.
Definition: CCenterWeight.h:104
int m_IStatePos
The index of the position state.
Definition: CCenterWeight.h:103
virtual void OdeFcn(const double dT, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
Calculates the state derivatives.
IBasicBottom ** m_ppBottom
The bottom object.
Definition: CCenterWeight.h:111
ISignalPort * m_pInForce2
A pointer to the input force 2.
Definition: CCenterWeight.h:101
ISignalPort * m_pInForce1
A pointer to the input force 1.
Definition: CCenterWeight.h:100
ISignalPort * m_pInForce3
A pointer to the input force 3.
Definition: CCenterWeight.h:102
Interface for calculating the bottom force on various objects.
Definition: IBasicBottom.h:23