92#include "TrawlCableConstraintSets.h"
94#include <fhsim/simobject/SimObject.h>
95#include <fhsim_coribo/eigen_matrix_defs.h>
97#ifdef FH_VISUALIZATION
98# include "sfh/ogre/C3DLine.h"
109 RundDorg(
const std::string& simObjectName, ISimObjectCreator*
const creator);
120 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const;
125 void InitialConditionSetup(
const double T,
const double*
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
131 void FinalSetup(
const double T,
const double*
const X, ISimObjectCreator*
const creator);
134#ifdef FH_VISUALIZATION
135 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
136 void RenderUpdate(
const double T,
const double*
const X);
140 void MainCalculations(
const double T,
const double*
const X);
141 void MainCalculationsCommon(
const double T,
const double*
const X)
const;
151 void DistributeCatenary(CoRiBoDynamics::vec3 P1, CoRiBoDynamics::vec3 P2, std::vector<element> elements,
double L,
double* states,
int i1,
int i2, ISimObjectCreator* creator);
153 environment::EnvironmentProvider* m_environment;
160 Chirality m_Chirality;
167 WeightType m_WeightType;
174 CoRiBoDynamics::vec3 m_WeightMainConnection;
175 CoRiBoDynamics::vec3 m_WeightFishLine1Connection;
176 CoRiBoDynamics::vec3 m_WeightFishLine2Connection;
178 double m_ClumpWeightMass;
179 double m_ClumpWeightLength;
180 double m_ClumpWeightRadius;
204 ICommonComputation* m_MainCalculations;
206 std::vector<element> m_MainElements;
207 std::vector<element> m_Line1Elements;
208 std::vector<element> m_Line2Elements;
213 const double* MainForce(
const double T,
const double*
const X);
214 double m_MainForce[3];
215 int m_MainForceConnectionIndex;
217 const double* Line1Force(
const double T,
const double*
const X);
218 double m_Line1Force[3];
219 int m_Line1ConnectionIndex;
221 const double* Line2Force(
const double T,
const double*
const X);
222 double m_Line2Force[3];
223 int m_Line2ConnectionIndex;
225 const double* WeightPosition(
const double T,
const double*
const X);
234 ISignalPort* MainPosition;
235 ISignalPort* m_MainVelocity;
237 ISignalPort* m_Line1Position;
238 ISignalPort* m_Line1Velocity;
240 ISignalPort* m_Line2Position;
241 ISignalPort* m_Line2Velocity;
243#ifdef FH_VISUALIZATION
245 Ogre::SceneNode** m_MainNodes;
246 Ogre::SceneNode** m_Line1Nodes;
247 Ogre::SceneNode** m_Line2Nodes;
248 Ogre::SceneNode* m_WeightNode;
250 C3DLine* m_Line1Line;
251 C3DLine* m_Line2Line;
Definition TrawlCableConstraintSets.h:117
Definition TrawlCableConstraintSets.h:11
Definition RundDorg.h:102
void FinalSetup(const double T, const double *const X, ISimObjectCreator *const creator)
int m_NumLine1
The number of discrete cable elements in the warp.
Definition RundDorg.h:183
double m_MainDiameter
The number of discrete cable elements int the lower bridle.
Definition RundDorg.h:186
RundDorg(const std::string &simObjectName, ISimObjectCreator *const creator)
CoRiBoDynamics::ConstraintSolver * m_ConstraintSolver
Length of discrete cable elements.
Definition RundDorg.h:200
void OdeFcn(const double T, const double *const X, double *const XDot) const
void InitialConditionSetup(const double T, const double *const currentIC, double *const updatedIC, ISimObjectCreator *const creator)
double m_Line2ElementLength
Length of discrete cable elements.
Definition RundDorg.h:198
double m_Line1ElementLength
Length of discrete cable elements.
Definition RundDorg.h:197
CoRiBoDynamics::TrawlCableJointConstraint * m_JointConstraint
6dof rigid body constrained dynamic solver
Definition RundDorg.h:201
CoRiBoDynamics::EnvironmentForces * m_environmentForces
structural joint constraints
Definition RundDorg.h:202
double m_MainElementLength
Frequency response coefficient.
Definition RundDorg.h:196
double m_frequencyCoefficient
Bridle cable length.
Definition RundDorg.h:194
double m_Line1Diameter
Nominal cable diameter.
Definition RundDorg.h:187
int m_NumLine2
The number of discrete cable elements in the top bridle.
Definition RundDorg.h:184
double m_Line2Length
Bridle cable length.
Definition RundDorg.h:192
double m_Line2Diameter
Nominal cable diameter.
Definition RundDorg.h:188
double m_MainLength
Nominal cable diameter.
Definition RundDorg.h:190
double m_Line1Length
Warp cable length.
Definition RundDorg.h:191
Definition RundDorg.h:144