69 Pendulum(
const std::string& simObjectName, ISimObjectCreator*
const creator);
70 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const;
72 bool HasJacobians()
const override;
73 void OdeJacobian(
double T,
const double* X,
double* J,
int nStates)
override;
74 int GetJacobianSparsity(
int nStates,
int* rowPtr,
int* colIdx)
override;
76 void InitialConditionSetup(
const double T,
const double*
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
78#ifdef FH_VISUALIZATION
79 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
80 void RenderUpdate(
const double T,
const double*
const X);
84 void SetOutputPortValues(
const double T,
const double*
const X)
const;
85 const double* Angle(
const double T,
const double*
const X);
86 const double* AngularVelocity(
const double T,
const double*
const X);
88 ICommonComputation* m_SetOutputPortValues;
89 int m_AngleIndex, m_AngularVelocityIndex;
91 double m_Length, m_Gravity;
92 mutable double m_Angle, m_AngularVelocity;
95#ifdef FH_VISUALIZATION
96 Ogre::ManualObject* m_Line;
97 Ogre::SceneNode* m_RenderNode;
98 std::string m_MaterialName;
99 std::string m_MeshName;