|
JSim 2026.06.01-p(1)
|
Slider joint that permits translation along one axis and constrains all other relative motion. More...
#include <prismatic_joint.hpp>
Public Member Functions | |
| PrismaticJoint (RigidBody *body_a, RigidBody *body_b, const Vector3 &axis_local) | |
| const Vector3 & | axisLocal () const |
| void | setLimits (double min_displacement_m, double max_displacement_m) |
| bool | hasLimits () const |
| double | minDisplacement () const |
| double | maxDisplacement () const |
| void | setMotorTarget (double target_velocity_mps, double max_force_n) |
| bool | hasMotor () const |
| double | motorTargetVelocity () const |
| double | motorMaxForce () const |
| void | solveConstraint (double dt_s, int iterations) override |
| double | constraintError () const override |
| Public Member Functions inherited from frcsim::JointBase | |
| virtual | ~JointBase ()=default |
| JointType | type () const |
| RigidBody * | bodyA () |
| RigidBody * | bodyB () |
| const RigidBody * | bodyA () const |
| const RigidBody * | bodyB () const |
| const Vector3 & | anchorA () const |
| const Vector3 & | anchorB () const |
| void | setAnchorA (const Vector3 &anchor) |
| void | setAnchorB (const Vector3 &anchor) |
| bool | isEnabled () const |
| void | setEnabled (bool enabled) |
| double | breakForceThreshold () const |
| void | setBreakForceThreshold (double force_n) |
| bool | isBroken () const |
| void | resetBroken () |
| virtual void | warmStart () |
Additional Inherited Members | |
| Protected Member Functions inherited from frcsim::JointBase | |
| JointBase (JointType type, RigidBody *body_a, RigidBody *body_b) | |
| Protected Attributes inherited from frcsim::JointBase | |
| JointType | type_ |
| RigidBody * | body_a_ {nullptr} |
| RigidBody * | body_b_ {nullptr} |
| Vector3 | anchor_a_ {} |
| Vector3 | anchor_b_ {} |
| bool | is_enabled_ {true} |
| bool | is_broken_ {false} |
| double | break_force_threshold_ {1e6} |
Slider joint that permits translation along one axis and constrains all other relative motion.
Physics principle: constrained rigid-body dynamics with one translational degree of freedom. Optional limits and motor targets are enforced with impulse constraints.
Reference: https://en.wikipedia.org/wiki/Slider-crank_linkage
|
inline |
|
inline |
|
overridevirtual |
Implements frcsim::JointBase.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Implements frcsim::JointBase.