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