99 Sphere(std::string SimObjectName, ISimObjectCreator* Creator);
101 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const;
102 void FinalSetup(
const double T,
const double*
const X, ISimObjectCreator*
const Creator);
104 void PreOdeFcn(
double T,
const double* X, IStateUpdater* updater)
override;
105 const double* Position(
const double T,
const double*
const X);
106 const double* Velocity(
const double T,
const double*
const X);
108 bool HasJacobians()
const override;
109 void OdeJacobian(
double T,
const double* X,
double* J,
int nStates)
override;
110 int GetJacobianSparsity(
int nStates,
int* rowPtr,
int* colIdx)
override;
113 const environment::wake::BodyWake*
Wake()
const {
return m_flow.Wake(); }
116 ISignalPort* m_IForce;
128 const environment::sphere_hydro::Sphere& Shape()
const {
return m_caster->Shape(); }
130 std::optional<environment::sphere_hydro::SphereCaster> m_caster;
131 environment::wake::BodyFlowInteraction m_flow;
133#ifdef FH_VISUALIZATION
135 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
136 void RenderUpdate(
const double dT,
const double*
const adX);
139 Ogre::SceneNode* m_Node;
140 Ogre::Entity* m_Entity;
141 Ogre::String m_Material;
142 std::string m_SphereMesh;
void PreOdeFcn(double T, const double *X, IStateUpdater *updater) override
With CastWake: rebuilds the wake when due.