Base class for bilateral kinematic constraints between two rigid bodies.
More...
#include <joint_base.hpp>
Base class for bilateral kinematic constraints between two rigid bodies.
Joints are enforced as constraint equations solved each step by an iterative impulse method (sequential impulse / projected Gauss-Seidel style). Each derived joint defines which relative degrees of freedom are permitted and which are constrained.
References: https://box2d.org/files/ErinCatto_SequentialImpulses_GDC2006.pdf https://en.wikipedia.org/wiki/Constraint_(classical_mechanics)
◆ ~JointBase()
| virtual frcsim::JointBase::~JointBase |
( |
| ) |
|
|
virtualdefault |
◆ JointBase()
◆ anchorA()
| const Vector3 & frcsim::JointBase::anchorA |
( |
| ) |
const |
|
inline |
◆ anchorB()
| const Vector3 & frcsim::JointBase::anchorB |
( |
| ) |
const |
|
inline |
◆ bodyA() [1/2]
◆ bodyA() [2/2]
| const RigidBody * frcsim::JointBase::bodyA |
( |
| ) |
const |
|
inline |
◆ bodyB() [1/2]
◆ bodyB() [2/2]
| const RigidBody * frcsim::JointBase::bodyB |
( |
| ) |
const |
|
inline |
◆ breakForceThreshold()
| double frcsim::JointBase::breakForceThreshold |
( |
| ) |
const |
|
inline |
◆ constraintError()
| virtual double frcsim::JointBase::constraintError |
( |
| ) |
const |
|
pure virtual |
◆ isBroken()
| bool frcsim::JointBase::isBroken |
( |
| ) |
const |
|
inline |
◆ isEnabled()
| bool frcsim::JointBase::isEnabled |
( |
| ) |
const |
|
inline |
◆ resetBroken()
| void frcsim::JointBase::resetBroken |
( |
| ) |
|
|
inline |
◆ setAnchorA()
| void frcsim::JointBase::setAnchorA |
( |
const Vector3 & | anchor | ) |
|
|
inline |
◆ setAnchorB()
| void frcsim::JointBase::setAnchorB |
( |
const Vector3 & | anchor | ) |
|
|
inline |
◆ setBreakForceThreshold()
| void frcsim::JointBase::setBreakForceThreshold |
( |
double | force_n | ) |
|
|
inline |
◆ setEnabled()
| void frcsim::JointBase::setEnabled |
( |
bool | enabled | ) |
|
|
inline |
◆ solveConstraint()
| virtual void frcsim::JointBase::solveConstraint |
( |
double | dt_s, |
|
|
int | iterations ) |
|
pure virtual |
◆ type()
◆ warmStart()
| virtual void frcsim::JointBase::warmStart |
( |
| ) |
|
|
inlinevirtual |
◆ anchor_a_
| Vector3 frcsim::JointBase::anchor_a_ {} |
|
protected |
◆ anchor_b_
| Vector3 frcsim::JointBase::anchor_b_ {} |
|
protected |
◆ body_a_
| RigidBody* frcsim::JointBase::body_a_ {nullptr} |
|
protected |
◆ body_b_
| RigidBody* frcsim::JointBase::body_b_ {nullptr} |
|
protected |
◆ break_force_threshold_
| double frcsim::JointBase::break_force_threshold_ {1e6} |
|
protected |
◆ is_broken_
| bool frcsim::JointBase::is_broken_ {false} |
|
protected |
◆ is_enabled_
| bool frcsim::JointBase::is_enabled_ {true} |
|
protected |
◆ type_
The documentation for this class was generated from the following file: