81 HydroBall(
const std::string& simObjectName, ISimObjectCreator*
const creator);
82 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const;
84 bool HasJacobians()
const override;
85 void OdeJacobian(
double T,
const double* X,
double* J,
int nStates)
override;
86 int GetJacobianSparsity(
int nStates,
int* rowPtr,
int* colIdx)
override;
88 void InitialConditionSetup(
const double T,
const double*
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
90#ifdef FH_VISUALIZATION
91 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
92 void RenderUpdate(
const double T,
const double*
const X);
96 void SetOutputPortValues(
const double T,
const double*
const X)
const;
97 const double* Position(
const double T,
const double*
const X);
98 const double* Velocity(
const double T,
const double*
const X);
100 ICommonComputation* m_SetOutputPortValues;
101 ISignalPort* m_ForceExt;
102 ISignalPort* m_Current;
103 int m_PositionIndex, m_VelocityIndex;
104 mutable double m_Position[3];
105 mutable double m_Velocity[3];
107 double m_Mass, m_Radius, m_DragCoef, m_RhoWater, m_RhoBall;
109#ifdef FH_VISUALIZATION
110 Ogre::SceneNode* m_RenderNode;
111 std::string m_MaterialName;
112 std::string m_MeshName;