|
|
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