99#include <fhsim/simobject/SimObject.h>
100#include <fhsim_environment/EnvironmentProvider.h>
101#include <fhsim_environment/WakeReceiver.h>
103#ifdef FH_VISUALIZATION
104# include "sfh/ogre/C3DLine.h"
112 Cable6Dof(
const std::string& simObjectName, ISimObjectCreator*
const creator);
114 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const;
115 void InitialConditionSetup(
const double T,
const double*
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
116 void FinalSetup(
const double T,
const double*
const X, ISimObjectCreator*
const creator)
override;
117 void PreOdeFcn(
const double T,
const double*
const X, IStateUpdater*
const updater)
override;
119 const double* forceA(
const double T,
const double*
const X);
120 const double* forceB(
const double T,
const double*
const X);
124 void calculations(
const double T,
const double*
const X);
125 void calculationsCommon(
const double T,
const double*
const X)
const;
127#ifdef FH_VISUALIZATION
128 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
129 void RenderUpdate(
const double T,
const double*
const X);
130 Ogre::ColourValue tensionColor(
double N);
134 typedef Eigen::Matrix<double, 3, 3> mat3;
135 typedef Eigen::Matrix<double, 3, 1> vec3;
140 double m_totalLength;
178 ICommonComputation* m_calcDynamics;
179 Eigen::Matrix<double, Eigen::Dynamic, 1> m_lambda;
180 Eigen::Matrix<double, Eigen::Dynamic, 1> m_F;
186#ifdef FH_VISUALIZATION
187 Ogre::ManualObject* m_ManualObject;
190 Ogre::SceneNode* m_ManualObjectNode;
Definition Cable6Dof.h:110
void FinalSetup(const double T, const double *const X, ISimObjectCreator *const creator) override
Takes the Environment (MARE-0315).
void PreOdeFcn(const double T, const double *const X, IStateUpdater *const updater) override
Takes the other objects' wakes at the element centres for the step (MARE-0223).
std::vector< double > m_elementCentres
The element centres of the last take, 3 per element.
Definition Cable6Dof.h:150
environment::EnvironmentProvider * m_environment
The shared resource Environment, set in FinalSetup.
Definition Cable6Dof.h:148
environment::wake::WakeReceiver m_wakes
The other objects' wakes at the element centres, per step (MARE-0223).
Definition Cable6Dof.h:149
Cable6Dof(const std::string &simObjectName, ISimObjectCreator *const creator)
reads parameters, registers states, output and intput ports.
Definition Cable6Dof.h:161