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