Documentation
    Preparing search index...

    Interface JointDescriptorBase

    What every joint descriptor carries, whatever its type (§28, §37).

    anchorA and anchorB are in the local frame of their own body, which is what §37's original descriptor already said and what every solver wants (Rapier's JointData.* anchors are body-local). The user-facing Joint constructors take world-space anchors, because that is where §28's example puts them — the point in the scene where the hinge pin goes — and PhysicsWorld.addJoint converts world to local once, at registration, from each body's pose as the solver holds it at that moment. After that, Joint.setAnchors and the field setters are body-local (PH-22f) and push through SolverJointAccess.setJointAnchors. Descriptors stay pose-independent and replayable (§34).

    An omitted anchor means the body's own origin.

    interface JointDescriptorBase {
        anchorA?: Vector3Input;
        anchorB?: Vector3Input;
        bodyA: PhysicsBodyHandle;
        bodyB: PhysicsBodyHandle;
        breakForce?: number;
        breakTorque?: number;
        collisionEnabled?: boolean;
    }

    Hierarchy (View Summary)

    Index
    anchorA?: Vector3Input

    Attachment point in bodyA's local frame. Defaults to its origin.

    anchorB?: Vector3Input

    Attachment point in bodyB's local frame. Defaults to its origin.

    First constrained body. Must differ from JointDescriptorBase.bodyB.

    Second constrained body.

    breakForce?: number

    Reaction force, in newtons, above which the joint breaks (§28 "break force"). Omitted means the joint never breaks under load.

    Enforced by PhysicsWorld, not by the solver (plan P6-2): the world reads the joint's reaction impulse after every fixed step, divides by the step delta, and destroys the joint when the magnitude exceeds this value — strictly, so a joint sitting exactly at its threshold survives. Requires an adapter that reports reactions (SolverJointAccess.reportsJointReactions); addJoint refuses a breakable joint on an adapter that does not, rather than accepting a threshold it can never enforce.

    breakTorque?: number

    Reaction torque, in newton-metres, above which the joint breaks (§28 "break torque"). See JointDescriptorBase.breakForce; either threshold alone is enough to break the joint.

    collisionEnabled?: boolean

    Whether the two jointed bodies still collide with each other (§28 "collision enable/disable"). Defaults to false, the usual choice for bodies that overlap by construction.