Marine systems simulation
Loading...
Searching...
No Matches
FlukeAnchor.h
1#ifndef CFlukeAnchor_H
2#define CFlukeAnchor_H
3
92#include "ISimObjectCreator.h"
93
94namespace rigidbody
95{
96class CRigidCompositeBody;
97};
98namespace environment
99{
100class EnvironmentProvider;
101}
102
103class FlukeAnchor : public SimObject
104{
105 public:
106 FlukeAnchor(const string& simObjectName, ISimObjectCreator* const creator);
107 ~FlukeAnchor();
108 void OdeFcn(const double T, const double* const X, double* const XDot, const bool bIsMajorTimeStep);
109
110 void FinalSetup(const double T, const double* const X, ISimObjectCreator* const creator);
111
112#ifdef FH_VISUALIZATION
113 void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
114 void RenderUpdate(const double T, const double* const X);
115#endif
116
117 const double* Position(const double T, const double* const X);
118 const double* Velocity(const double T, const double* const X);
119 const double* Theta(const double T, const double* const X);
120 const double* Omega(const double T, const double* const X);
121
122 protected:
124
125
126 double m_MaterialRho; // Total mass of anchor [kg]
127 double m_ShankLength; // Total volume displacement of anchor [m^3]
128 double m_ShankDiameter; // Relative added mass (to displaced fluid volume) [-]
129 double m_ShankThickness; // Total length of anchor [m]
130 double m_ShankFlukeAngle; // Length from anchor-tip to fluke [m]
131 double m_FlukeWidth; // Fluke width times fluke height [m^2]
132 double m_FlukeSideLength; // Main diameter of shank [m]
133 double m_FlukePointLength;
134 double m_FlukeThickness; // Anchor drag coefficient [-]
135
136 ISignalPort* m_Force;
137 int m_PositionIndex;
138 int m_VelocityIndex;
139 int m_ThetaIndex;
140 int m_OmegaIndex;
141
142 environment::EnvironmentProvider* m_environment;
143
144#ifdef FH_VISUALIZATION
145 Ogre::SceneNode* m_RenderNode;
146 Ogre::SceneNode* m_seabed;
147#endif
148};
149
150
151#endif
Definition FlukeAnchor.h:104
Definition CRigidCompositeBody.h:12