JSim 2026.06.01-p(1)
Loading...
Searching...
No Matches
frcsim::FixedJoint Class Reference

Rigidly locks two bodies together (no relative translation or rotation). More...

#include <fixed_joint.hpp>

Inheritance diagram for frcsim::FixedJoint:
frcsim::JointBase

Public Member Functions

 FixedJoint (RigidBody *body_a, RigidBody *body_b)
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
RigidBodybodyA ()
RigidBodybodyB ()
const RigidBodybodyA () const
const RigidBodybodyB () const
const Vector3anchorA () const
const Vector3anchorB () 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_
RigidBodybody_a_ {nullptr}
RigidBodybody_b_ {nullptr}
Vector3 anchor_a_ {}
Vector3 anchor_b_ {}
bool is_enabled_ {true}
bool is_broken_ {false}
double break_force_threshold_ {1e6}

Detailed Description

Rigidly locks two bodies together (no relative translation or rotation).

Physics principle: holonomic rigid constraint. The solver applies impulses to keep the relative transform constant, modeling an infinitely stiff weld in the idealized limit.

Reference: https://en.wikipedia.org/wiki/Holonomic_constraints

Constructor & Destructor Documentation

◆ FixedJoint()

frcsim::FixedJoint::FixedJoint ( RigidBody * body_a,
RigidBody * body_b )
inline

Member Function Documentation

◆ constraintError()

double frcsim::FixedJoint::constraintError ( ) const
overridevirtual

Implements frcsim::JointBase.

◆ solveConstraint()

void frcsim::FixedJoint::solveConstraint ( double dt_s,
int iterations )
overridevirtual

Implements frcsim::JointBase.


The documentation for this class was generated from the following file: