3#include "SupergridCable.h"
4#include <Eigen/StdVector>
5#include "InitializerTools3DCurve.h"
10#include "sfh/ogre/C3DArrow.h"
18class SupergridWinchCableCollisionManager;
55 virtual bool InitialConditionSetup(
const double T,
double*
const updatedIC,
const vec3& PB,
Winch::InitialStatesLoader winch_init_states);
67 virtual const std::vector<CollisionManager::ExternalObject*> GetTowingBlockGeometry();
69#ifdef FH_VISUALIZATION
70 virtual void RenderInit(Ogre::Root*
const ogreRoot);
71 virtual void RenderUpdate(
const double T,
const double*
const X);
74 virtual void XmlInfo(TiXmlElement& xml_node);
77 void InitializeElementAllocation();
80 void ComputeDiscreteCableLength(
size_t& super_ix,
size_t& sub_ix,
double &length);
82 size_t m_num_retracted_super;
83 size_t m_num_retracted_sub;
84 size_t m_sub_super_threshold_ix;
85 double m_sub_super_threshold_strength;
86 size_t m_num_free_rigid_elements;
114 void DrumAndBlock(
const double *
const X);
Definition: ConstraintSolver.h:31
Definition: SupergridLineStructure.h:15
Definition: SupergridCable.h:181
Definition: SupergridLineStructure.h:237
Definition: SupergridWinchCable.h:100
virtual void ComputeConstraints(const double T, const double *const X)
Definition: SupergridWinchCable.h:27
SupergridWinchCableCollisionManager * GetCollisionManager()
Computes structural connections.
virtual void ComputeConstraints(const double T, const double *const X)
double GetPaidOutLength()
Winch * m_winch
current number of inactive rigid elements in the "free tail"
Definition: SupergridWinchCable.h:88
virtual void AllocateElementBuffer(const double T, double *const X)
void InitializeFreespanCurve(Utilities::CurveSegment *curve_initializer, double T, double *const updatedIC)
initial coupling of rigid elements and discrete elements
void GetFirstFreeDiscreteElementIndex(int &super_ix, int &sub_ix)
Definition: InitializerTools3DCurve.h:13
Definition: CollisionManager.h:6