| MULTIBODY SIMULATION SOFTWARE - API documentation |
#include <CHlinkLock.h>


Public Member Functions | |
| virtual void | Copy (ChLinkLock *source) |
| virtual ChLink * | new_Duplicate () |
| void | BuildLinkType (int link_type) |
| void | ChangeLinkType (int new_link_type) |
| void | Set2Dmode (int mode) |
| virtual int | GetType () |
| virtual void | UpdateTime (double mytime) |
| virtual void | UpdateRelMarkerCoords () |
| virtual void | UpdateState () |
| virtual void | UpdateForces (double mytime) |
| Coordsys | GetRelC () |
| Coordsys | GetRelC_dt () |
| Coordsys | GetRelC_dtdt () |
| Coordsys | GetDeltaC () |
| Coordsys | GetDeltaC_dt () |
| Coordsys | GetDeltaC_dtdt () |
| void | SetDeltaC (Coordsys mc) |
| void | SetDeltaC_dt (Coordsys mc) |
| void | SetDeltaC_dtdt (Coordsys mc) |
| ChFunction * | GetMotion_X () |
| ChFunction * | GetMotion_Y () |
| ChFunction * | GetMotion_Z () |
| ChFunction * | GetMotion_ang () |
| ChFunction * | GetMotion_ang2 () |
| ChFunction * | GetMotion_ang3 () |
| Vector | GetMotion_axis () |
| void | SetMotion_X (ChFunction *m_funct) |
| void | SetMotion_Y (ChFunction *m_funct) |
| void | SetMotion_Z (ChFunction *m_funct) |
| void | SetMotion_ang (ChFunction *m_funct) |
| void | SetMotion_ang2 (ChFunction *m_funct) |
| void | SetMotion_ang3 (ChFunction *m_funct) |
| void | SetMotion_axis (Vector m_axis) |
| int | Get_angleset () |
| void | Set_angleset (int mset) |
| ChLinkLimit * | GetLimit_X () |
| ChLinkLimit * | GetLimit_Y () |
| ChLinkLimit * | GetLimit_Z () |
| ChLinkLimit * | GetLimit_Rx () |
| ChLinkLimit * | GetLimit_Ry () |
| ChLinkLimit * | GetLimit_Rz () |
| ChLinkLimit * | GetLimit_Rp () |
| ChLinkLimit * | GetLimit_D () |
| void | SetLimit_X (ChLinkLimit *m_limit_X) |
| void | SetLimit_Y (ChLinkLimit *m_limit_Y) |
| void | SetLimit_Z (ChLinkLimit *m_limit_Z) |
| void | SetLimit_Rx (ChLinkLimit *m_limit_Rx) |
| void | SetLimit_Ry (ChLinkLimit *m_limit_Ry) |
| void | SetLimit_Rz (ChLinkLimit *m_limit_Rz) |
| void | SetLimit_Rp (ChLinkLimit *m_limit_Rp) |
| void | SetLimit_D (ChLinkLimit *m_limit_D) |
| virtual void | InjectConstraints (ChLcpSystemDescriptor &mdescriptor) |
| virtual void | ConstraintsBiReset () |
| virtual void | ConstraintsBiLoad_C (double factor=1., double recovery_clamp=0.1, bool do_clamp=false) |
| virtual void | ConstraintsBiLoad_Ct (double factor=1.) |
| virtual void | ConstraintsBiLoad_Qc (double factor=1.) |
| virtual void | ConstraintsLoadJacobians () |
| virtual void | ConstraintsFetch_react (double factor=1.) |
| virtual void | StreamIN (ChStreamInBinary &mstream) |
| virtual void | StreamOUT (ChStreamOutBinary &mstream) |
Protected Attributes | |
| Coordsys | relC |
| Coordsys | relC_dt |
| Coordsys | relC_dtdt |
| Coordsys | deltaC |
| Coordsys | deltaC_dt |
| Coordsys | deltaC_dtdt |
| ChMatrix * | Cq1_temp |
| ChMatrix * | Cq2_temp |
| ChMatrix * | Qc_temp |
| Coordsys | Ct_temp |
| Vector | PQw |
| Vector | PQw_dt |
| Vector | PQw_dtdt |
| Quaternion | q_AD |
| Quaternion | q_BC |
| Quaternion | q_8 |
| Vector | q_4 |
| ChFunction * | motion_X |
| ChFunction * | motion_Y |
| ChFunction * | motion_Z |
| ChFunction * | motion_ang |
| ChFunction * | motion_ang2 |
| ChFunction * | motion_ang3 |
| Vector | motion_axis |
| int | angleset |
| ChLinkLimit * | limit_X |
| ChLinkLimit * | limit_Y |
| ChLinkLimit * | limit_Z |
| ChLinkLimit * | limit_Rx |
| ChLinkLimit * | limit_Ry |
| ChLinkLimit * | limit_Rz |
| ChLinkLimit * | limit_Rp |
| ChLinkLimit * | limit_D |
| int | type |
ChLinkLock class. This class implements lot of sub types like the revolute joint, the linear guide, the spherical joint, etc. using the 'lock formulation'. Also, it optionally allows the adoption of 'limits' over upper-lower motions on all the 6 degrees of freedom, thank to the ChLinkLimit objects.
| void chrono::ChLinkLock::ConstraintsBiLoad_C | ( | double | factor = 1., |
| double | recovery_clamp = 0.1, |
||
| bool | do_clamp = false |
||
| ) | [virtual] |
Adds the current C (constraint violation) to the known term (b_i) of encapsulated ChLcpConstraints
Reimplemented from chrono::ChLinkMasked.
Reimplemented in chrono::ChLinkEngine.
| void chrono::ChLinkLock::ConstraintsBiLoad_Ct | ( | double | factor = 1. | ) | [virtual] |
Adds the current Ct (partial t-derivative, as in C_dt=0-> [Cq]*q_dt=-Ct) to the known term (b_i) of encapsulated ChLcpConstraints
Reimplemented from chrono::ChLinkMasked.
Reimplemented in chrono::ChLinkEngine.
| void chrono::ChLinkLock::ConstraintsBiLoad_Qc | ( | double | factor = 1. | ) | [virtual] |
Adds the current Qc (the vector of C_dtdt=0 -> [Cq]*q_dtdt=Qc ) to the known term (b_i) of encapsulated ChLcpConstraints
Reimplemented from chrono::ChLinkMasked.
| void chrono::ChLinkLock::ConstraintsFetch_react | ( | double | factor = 1. | ) | [virtual] |
Fetches the reactions from the lagrangian multiplier (l_i) of encapsulated ChLcpConstraints. Mostly used after the LCP provided the solution in ChLcpConstraints. Also, should convert the reactions obtained from dynamical simulation, from link space to intuitive react_force and react_torque.
Reimplemented from chrono::ChLinkMasked.
Reimplemented in chrono::ChLinkEngine.
| void chrono::ChLinkLock::InjectConstraints | ( | ChLcpSystemDescriptor & | mdescriptor | ) | [virtual] |
LCP SYSTEM FUNCTIONS
Reimplemented from chrono::ChLinkMasked.
Reimplemented in chrono::ChLinkEngine.
| void chrono::ChLinkLock::Set2Dmode | ( | int | mode | ) | [virtual] |
Reimplemented from chrono::ChLink.
| void chrono::ChLinkLock::StreamIN | ( | ChStreamInBinary & | mstream | ) | [virtual] |
Method to allow deserializing a persistent binary archive (ex: a file) into transient data.
Reimplemented from chrono::ChLinkMasked.
Reimplemented in chrono::ChLinkEngine, chrono::ChLinkWheel, chrono::ChLinkGear, chrono::ChLinkPulley, chrono::ChLinkPneumaticActuator, chrono::ChLinkLinActuator, chrono::ChLinkClearance, chrono::ChLinkTrajectory, chrono::ChLinkBrake, chrono::ChLinkPointSpline, and chrono::ChLinkScrew.
| void chrono::ChLinkLock::StreamOUT | ( | ChStreamOutBinary & | mstream | ) | [virtual] |
Method to allow serializing transient data into a persistent binary archive (ex: a file).
Reimplemented from chrono::ChLinkMasked.
Reimplemented in chrono::ChLinkEngine, chrono::ChLinkWheel, chrono::ChLinkGear, chrono::ChLinkPulley, chrono::ChLinkPneumaticActuator, chrono::ChLinkLinActuator, chrono::ChLinkClearance, chrono::ChLinkTrajectory, chrono::ChLinkBrake, chrono::ChLinkPointSpline, and chrono::ChLinkScrew.
| void chrono::ChLinkLock::UpdateForces | ( | double | mytime | ) | [virtual] |
Inherits, and updates the C_force and C_torque 'intuitive' forces, adding the effects of the contained ChLinkForce objects. (Default: inherits parent UpdateForces(), then C_force and C_torque are incremented with the Link::ChLinkForces objects)
Reimplemented from chrono::ChLinkMasked.
Reimplemented in chrono::ChLinkWheel, chrono::ChLinkEngine, chrono::ChLinkPneumaticActuator, chrono::ChLinkBrake, and chrono::ChLinkClearance.
| void chrono::ChLinkLock::UpdateRelMarkerCoords | ( | ) | [virtual] |
Updates auxiliary vars relM, relM_dt, relM_dtdt, dist, dist_dt et similia.
UPDATING PROCEDURES
Reimplemented from chrono::ChLinkMarkers.
| void chrono::ChLinkLock::UpdateState | ( | ) | [virtual] |
This is expected to update the values in C, C_dt, C_dtdt, in jacobians Cq1 and Cq2, in Qc and in Ct. By default, this does NOTHING, so it is up to the inherited classes to fill these vectors/matrices depending on how they describe the constraint equations.
Reimplemented from chrono::ChLinkMasked.
Reimplemented in chrono::ChLinkScrew.
| void chrono::ChLinkLock::UpdateTime | ( | double | time | ) | [virtual] |
UPDATING PROCEDURES
Reimplemented from chrono::ChLink.
Reimplemented in chrono::ChLinkWheel, chrono::ChLinkEngine, chrono::ChLinkTrajectory, chrono::ChLinkPulley, chrono::ChLinkGear, chrono::ChLinkPneumaticActuator, chrono::ChLinkLinActuator, chrono::ChLinkPointSpline, chrono::ChLinkBrake, and chrono::ChLinkClearance.
CHRONO::ENGINE