93#include <fhsim/simobject/SimObject.h>
94#ifdef FH_VISUALIZATION
95#include "sfh/ogre/CDynamicLines.h"
99#include "subroutines/RBCEngine.h"
114#ifdef FH_VISUALIZATION
116 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
120 void RenderUpdate(
const double T,
const double*
const X);
126 void OdeFcn(
const double T,
const double*
const X,
127 double*
const XDot)
const;
131 const double*
const ForceA(
const double T,
const double*
const X);
132 const double*
const ForceB(
const double T,
const double*
const X);
133 const double*
const PosR(
const double T,
const double*
const X,
135 const double*
const VelR(
const double T,
const double*
const X,
140 void CalcOutput(
const double T,
const double*
const X)
const;
142 void InitialConditionSetup(
const double T,
143 const double *
const currentIC,
144 double*
const updatedIC,
145 ISimObjectCreator*
const creator);
157#ifdef FH_VISUALIZATION
158 Ogre::Entity* m_RenderSpring;
159 Ogre::SceneNode* m_RenderNode;
161 CDynamicLines* m_lines =
nullptr;
178 int m_NofBarElements;
183 bool Evaluate(
const double T,
const double*
const X,
const bool advanceHistory)
const;
185 ICommonComputation* m_commonCalc =
nullptr;
187 mutable std::vector<double> m_addedMass;
188 mutable std::vector<double> m_nodeForces;
Class containing a Rigid Bar Cable (RBC) calculation engine.
Definition RBCEngine.h:20
Definition RigidBarCable.h:104
void CalcOutput(const double T, const double *const X) const
Common calculation of the output ports: the engine at (T, X), without advancing its history.
void OdeFcn(const double T, const double *const X, double *const XDot) const
Calculates the time derivative of the state vector.
RigidBarCable(std::string simObjectName, ISimObjectCreator *creator)
The constructor sets the pointer to the output object and the parser object.
~RigidBarCable()
The destructor cleans up dynamically allocated memory.