|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | PointRetractableCable (ConstraintSolver *solver, ISimObjectCreator *creator, Environment_Interface *environment, int rigid_element_buffer_size, double beta, std::string name) |
|
virtual void | SetRetractedLength (double retracted_length, double retraction_speed) |
|
double | GetRetractedLength () |
|
double | GetRetractionSpeed () |
|
vec3 | GetCableUpperEndPosition () |
|
vec3 | GetCableLowerEndPosition () |
|
virtual void | AllocateElementBuffer (const double T, double *const X) |
|
virtual void | InitialConditionSetup (const double T, double *const updatedIC, const vec3 &PA, const vec3 &PB, double initial_retracted_length) |
|
virtual void | ComputeConstraints (const double T, const double *const X) |
|
void | SetEndpointPositionA (const vec3 &position, const vec3 &velocity, double connection_strength=1.0) |
| Computes structural connections.
|
|
void | SetEndpointPositionB (const vec3 &position, const vec3 &velocity, double connection_strength=1.0) |
|
void | SetEndpointElementConnectionA (RigidElement *connection_element, double element_connection_strength=1.0) |
|
void | SetEndpointElementConnectionB (RigidElement *connection_element, double element_connection_strength=1.0) |
|
void | SetEndpointElementConnectionA (RigidElement *connection_element, const vec3 &ConnectionVector, double element_connection_strength=1.0) |
|
void | SetEndpointElementConnectionB (RigidElement *connection_element, const vec3 &ConnectionVector, double element_connection_strength=1.0) |
|
vec3 | GetEndpointReactionForceA () |
|
vec3 | GetEndpointA () |
|
vec3 | GetEndpointReactionForceB () |
|
vec3 | GetEndpointB () |
|
vec3 | GetElementConnectionForceA () |
|
vec3 | GetElementConnectionForceB () |
|
DiscreteElement * | GetDiscreteElementA () |
|
DiscreteElement * | GetDiscreteElementB () |
| returns the first active discrete element
|
|
virtual void | XmlInfo (TiXmlElement &xml_node) |
| returns the last active discrete element More...
|
|
virtual void | AddSegment (LineSegment *l) |
|
Public Member Functions inherited from CoRiBoDynamics::Structures::SupergridLineStructure |
virtual void | AddSegment (LineSegment *l) |
|
const std::vector< DiscreteElement * > * | GetDiscreteElements () |
|
const std::vector< ModifiableRigidElement * > * | GetRigidElements () |
|
const std::vector< double > * | GetRigidElementTension () |
|
const std::vector< LineSegment * > * | GetLineSegments () |
|
double | GetLength () |
|
| SupergridLineStructure (ConstraintSolver *solver, ISimObjectCreator *creator, Environment_Interface *environment, int rigid_element_buffer_size, double beta, std::string name) |
|
virtual void | XmlInfo (TiXmlElement &xml_node) |
|
virtual void | ComputeConstraints (const double T, const double *const X) |
|
double | GetBeta () |
| Computes structural connections.
|
|
Environment_Interface * | GetEnvironment () |
|
Public Member Functions inherited from CoRiBoDynamics::JointConstraint |
| JointConstraint (ConstraintSolver *solver) |
|
virtual void | ComputeConstraints (const double T, const double *const X) |
|
void | addBallJointCoupling (int elementA, int elementB, vec3 vectorA, vec3 vectorB, double Beta, double Alpha, double Gamma) |
|
void | addHingeCoupling (int elementA, int elementB, vec3 vectorA, vec3 vectorB, vec3 axisA, vec3 axisB, double Beta, double Alpha, double Gamma, double AlphaFriction, double GammaFriction) |
|
void | addRigidCoupling (int elementA, int elementB, vec3 vectorA, vec3 vectorB, double BetaN, double AlphaN, double GammaN, const Quat &nullAngle, const Quat &BetaM, const Quat &AlphaM, const Quat &GammaM) |
|
int | addExternalBallJointCoupling (int element, vec3 vector, double Beta, double Alpha, double Gamma, const double *Position, const double *Velocity) |
|
void | updateExternalBallJointCoupling (int ballJointCoupling, const double *Position, const double *Velocity) |
|
vec3 | getExternalBallJointCouplingForce (int ballJointCoupling) |
|
int | addExternalRigidCoupling (int element, vec3 vectorExternalObject, vec3 vectorInternalObject, double BetaN, double AlphaN, double GammaN, const Quat &nullAngle, const Quat &BetaM, const Quat &AlphaM, const Quat &GammaM, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity) |
|
void | updateExternalRigidCoupling (int rigidCoupling, const double *Position, const double *Velocity, const double *Orientation, const double *AngularVelocity) |
|
vec6 | getExternalRigidCouplingForce (int rigidCoupling) |
|
vec3 | getExternalBallJointCouplingForce (ExternalBallJointCoupling &Constraint) |
|
vec6 | getExternalRigidCouplingForce (ExternalRigidCoupling &Constraint) |
|
Public Member Functions inherited from CoRiBoDynamics::ConstraintSet |
| ConstraintSet (ConstraintSolver *solver) |
|
virtual void | ComputeConstraints (const double T, const double *const X)=0 |
|
|
double | m_retracted_length |
|
double | m_retraction_speed |
| current set retracted length [m]
|
|
double | m_max_retraction_length |
| current set retraction speed [m/s]
|
|
size_t | m_num_retracted_super |
|
size_t | m_num_retracted_sub |
| current number of retracted super-elements
|
|
size_t | m_sub_super_threshold_ix |
| current number of retracted sub-elements of the first free super-element
|
|
size_t | m_num_free_rigid_elements |
| current index of the last super-element with currently active sub-elements
|
|
size_t | m_minimum_sub_super_treshold |
| current number of inactive rigid elements in the "free tail"
|
|
double | m_sub_super_threshold_strength |
| minimum possible value of the sub-super threshold. no need to apply straightening forces at or below this point
|
|
double | m_residual_length |
| Gamma0 value of the sub-super straightening force.
|
|
double | m_retracted_element_length |
| actual retracted length - discrete retracted length
|
|
RigidElement * | m_connection_elementA |
| discrete retracted length
|
|
RigidElement * | m_connection_elementB |
|
double | m_element_connection_strengthA |
|
double | m_element_connection_strengthB |
|
vec3 | m_connection_vector_elementA |
|
vec3 | m_connection_vector_elementB |
|
double | m_endpoint_connectionA_strength |
|
double | m_endpoint_positionA [3] |
|
double | m_endpoint_velocityA [3] |
|
ExternalBallJointCoupling | m_endpoint_connectionA |
|
double | m_endpoint_connectionB_strength |
|
double | m_endpoint_positionB [3] |
|
double | m_endpoint_velocityB [3] |
|
ExternalBallJointCoupling | m_endpoint_connectionB |
|
RigidCoupling | m_element_connectionA |
|
RigidCoupling | m_element_connectionB |
|
Protected Attributes inherited from CoRiBoDynamics::Structures::SupergridLineStructure |
double | m_length |
|
double | m_beta |
|
Environment_Interface * | m_environment |
|
std::vector< ModifiableRigidElement * > | m_rigid_element_buffer |
|
std::vector< LineSegment * > | m_segment |
|
std::vector< DiscreteElement * > | m_super_element |
|
std::vector< double > | m_rigid_element_tension |
|
std::string | m_name |
|
Protected Attributes inherited from CoRiBoDynamics::JointConstraint |
std::vector< HingeCoupling,Eigen::aligned_allocator< HingeCoupling > > | m_HingeCoupling |
|
std::vector< BallJointCoupling,Eigen::aligned_allocator< BallJointCoupling > > | m_BallJointCoupling |
| BallJoint Coupling.
|
|
std::vector< RigidCoupling,Eigen::aligned_allocator< RigidCoupling > > | m_RigidCoupling |
| BallJoint Coupling.
|
|
std::vector< ExternalBallJointCoupling, Eigen::aligned_allocator< ExternalBallJointCoupling > > | m_ExternalBallJointCoupling |
| Rigid Coupling.
|
|
std::vector< ExternalRigidCoupling, Eigen::aligned_allocator< ExternalRigidCoupling > > | m_ExternalRigidCoupling |
| External Ball Joint Coupling.
|
|
- Author
- Jorgen Haavind Jensen
Implements a SuperGridLineStructure with winch functionality.
Winched elements disappear into the upper endpoint. Elements close to the winch are subdivided if the rigid_element_buffer_size allows for it