14#ifdef FH_VISUALIZATION
15 #include "sfh/ogre/C3DLine.h"
23 CRing(
const string& simObjectName, ISimObjectCreator*
const creator);
25 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot,
const bool bIsMajorTimeStep);
26 void InitialConditionSetup(
const double T,
const double *
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
35 void calculations(
const double T,
const double*
const X);
37 virtual const double* outConnectorPos(
const double T,
const double*
const X,
const int index);
38 virtual const double* outConnectorVel(
const double T,
const double*
const X,
const int index);
40 #ifdef FH_VISUALIZATION
41 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
42 void RenderUpdate(
const double T,
const double*
const X);
47 typedef Eigen::Matrix<double,3,3> mat3;
48 typedef Eigen::Matrix<double,3,1> vec3;
58 double m_C_isAddMassHack;
91 double m_bending_epsilon[3];
93 struct element {
int p;
int q;
int v;
int w; mat3 Mi; vec3 k; mat3 K; vec3 eDot;
double nuDot;};
101 ICommonComputation* m_calcDynamics;
102 Eigen::Matrix<double,Eigen::Dynamic,1> m_lambda;
103 Eigen::Matrix<double,Eigen::Dynamic,1> m_F_MDotV;
114 #ifdef FH_VISUALIZATION
116 Ogre::SceneNode** m_ManualObjectNodes;
bool m_additionalConnectors
flag for additional connectors along cable
Definition: CRing.h:82
double m_centrePosInit[3]
Parameter for describing the initial position of the centre of the ring (not an IC since there is no ...
Definition: CRing.h:71
double m_extlForce[3]
Array for holding current value of external force at a given node.
Definition: CRing.h:87
int m_numConnectors
number of additional connectors, if any
Definition: CRing.h:83
Eigen::Matrix< double, Eigen::Dynamic, 1 > m_shapeMat
0: circular; 1: square
Definition: CRing.h:111
virtual void GetExternalForces(const double T, const double *const X, double *m_extlForce, int index)
get the external forces at element 'index'. Should be overridden by inheriting classes to get forces ...
CRing(const string &simObjectName, ISimObjectCreator *const creator)
reads parameters, registers states, output and intput ports.
int m_numInputsPerConnector
number of force inputs per connector position (used for multiple attachments at same point)
Definition: CRing.h:84
int m_ElementsPerConnector
number of elements between connectors
Definition: CRing.h:85
double ** m_aadConnectorVel
Local array for storing output velocities.
Definition: CRing.h:89
double ** m_aadConnectorPos
Local array for storing output positions.
Definition: CRing.h:88
ISignalPort ** m_aIIForce
Array of indices to connector forces in input vector.
Definition: CRing.h:86
Class modelling a flexible bottom ring, inheriting from CRing in RMCable lib.
Definition: CCable.h:142