|
| void | SetTimeStep (Time step) noexcept |
| | Sets the time step for this trackjoint.
|
| Time | GetTimeStep () const noexcept |
|
bool | SetMovingBody (const spat::Frame< Valtype > &bodyFrame) noexcept |
| | Set the global pose of the body moving along the track.
|
| const spat::Frame< Valtype > & | GetMovingBody () const noexcept |
|
void | SetMovingBodyCOM (const spat::Frame< Valtype > &localCom) noexcept |
| | Set the moving bodie's center of mass relative to the bodie's pose.
|
|
bool | SetTrackBody (const spat::Frame< Valtype > &bodyFrame) noexcept |
| | Set the global pose of the body moving the track system.
|
| const spat::Frame< Valtype > & | GetTrackBody () const noexcept |
|
void | SetTrackBodyCOM (const spat::Frame< Valtype > &localCom) noexcept |
| | Set the track bodie's center of mass relative to the track bodie's pose.
|
| void | Anchor (const spat::Frame< Valtype > &anchor) noexcept |
| | Sets the anchor on the moving body that is to be aligned with a track position on the track body.
|
| const spat::Frame< Valtype > & | Anchor () const noexcept |
| const spat::Frame< Valtype > & | GlobalAnchor () const noexcept |
| void | ThresholdP (Valtype threshold) noexcept |
| | Sets the threshold to switch off the joint when violated.
|
| void | ThresholdT (Valtype threshold) noexcept |
| | Sets the threshold to switch off the joint when violated.
|
| void | ThresholdN (Valtype threshold) noexcept |
| | Sets the threshold to switch off the joint when violated.
|
| void | ThresholdB (Valtype threshold) noexcept |
| | Sets the threshold to switch off the joint when violated.
|
| void | Flange (Valtype flange) noexcept |
| | If there is no holding force in binormal direction (BinormalForceLimitMin >= 0) the flange height will be used to switch off the joint's effect if the anchor levitates more than by flange height.
|
| void | ErrorReductionParameter (Valtype erp) noexcept |
| | Sets the error reduction parameter for the track joint.
|
| Valtype | ErrorReductionParameter () const noexcept |
| void | SetDerailed (bool bDerailed=true) noexcept |
| | Sets the status of the track joint to derailed.
|
| bool | IsDerailed () const noexcept |
| spat::Vector< Valtype > | MovingBodyGlobalCOM2AnchorOffset () const noexcept |
|
void | Precalculate (const spat::Frame< Valtype > &bodyFrame) noexcept |
| | Set the global pose of the body moving along the track and precalculates internal values like the global anchor.
|
|
virtual bool | IsMovableBodySleeping () const noexcept=0 |
|
virtual void | WakeUp () const =0 |
|
virtual void | UpdateBodies ()=0 |
|
virtual void | UpdateTrackBody (std::shared_ptr< const struct Body > pToBody)=0 |
|
virtual void | release ()=0 |
Specifies the maximal forces to be applied by the physics engine to maintain the constraints that hold the movable object on the track.
- Parameters
-
| min | Minimum force or torque to be applied at the movable body, min <= max. |
| max | Maximum force or torque to be applied at the movable body, min <= max. |
| targetVelocity | Target velocity of the movable object to be maintained by the engine. |
- Returns
- The respective values returned by the getter methods.
|
|
void | NormalForceLimits (Valtype min, Valtype max) |
| | Sets the limits for the normal force to be applied at the anchor point.
|
|
void | BinormalForceLimits (Valtype min, Valtype max) |
| | Sets the limits for the binormal force to be applied at the anchor point.
|
|
void | NormalTorqueLimit (Valtype max) |
| | Sets the limit for the normal torque to be applied at the anchor point [-max,max].
|
|
void | TorqueLimit (Valtype max) |
| | Sets the limit for the tangent and binormal torque to be applied at the anchor point [-max,max].
|
|
void | MotorTarget (Valtype targetVelocity) noexcept |
| | Sets the target velocity of the movable object to be maintained by the engine.
|
|
void | MotorForceLimits (Valtype min, Valtype max) |
| | Sets the limits for the motor force to be applied at the anchor point.
|
|
void | MotorForceMax (Valtype max) |
| | Sets the maximum motor force to be applied in order to reach target velocity at the anchor point.
|
|
void | MotorForceMin (Valtype min) |
| | Sets the minimum motor force to be applied in order to reach target velocity at the anchor point.
|
| Valtype | MotorTarget () const noexcept |
| Valtype | MotorForceMax () const noexcept |
| Valtype | MotorForceMin () const noexcept |
The track joint assembles a set of different constraints to keep the anchor aligned with a track.
- Parameters
-
| dim | index for the constraint 0 < dim < DimensionsTotal(). This is the ordinal number of the constraint minus one. |
|
| unsigned short | DimensionsTotal () const noexcept |
| bool | IsAngularConstraint (unsigned short dim) const noexcept |
| bool | IsDriveConstraint (unsigned short dim) const noexcept |
| bool | IsConstraintLimited (unsigned short dim) const noexcept |
|
void | Jacobian (unsigned short dim, spat::Vector< Valtype > &Jm, spat::Vector< Valtype > &Rm, spat::Vector< Valtype > &Jt, spat::Vector< Valtype > &Rt, Valtype &VTarget, Valtype &E, Valtype &fmin, Valtype &fmax) const noexcept |
| | Fills the matrix values for a specific constraint.
|
|
| TrackData (const TrackData &)=default |
|
| TrackData (TrackData &&)=default |
|
| TrackData (spat::Frame< Valtype > _F, spat::Frame< Valtype > _wF, Valtype _c, Valtype _t) |
|
TrackData & | operator= (const TrackData &)=default |
|
TrackData & | operator= (TrackData &&)=default |
|
template<typename Valtype2> |
| TrackData & | operator= (const TrackData< Valtype2 > &) |
|
void | Init () noexcept |
| | Initializes all values.
|
| virtual bool | SetValues (const TrackData &td) noexcept |
| | Sets the curve values for calculating the contraint.
|
|
template<typename Valtype2> |
| TrackData< Valtype > & | operator= (const TrackData< Valtype2 > &td) |
template<typename Valtype>
class trax::TrackJoint< Valtype >
Physics engine agnostic part of track joint logic.
Implemented are the case for static tracks as well as the case were the track system is attached to a moving body. E.g. turn tables and the like.