Documentation
    Preparing search index...

    Interface SpringJointDescriptor

    A spring-damper between the two anchors (§28 "spring", "damping"). Both dimensions.

    The restoring force is stiffness * (distance - restLength) opposed by damping * closingSpeed, which is the model every solver here implements; a spring constrains nothing rigidly, so it has neither limits nor a motor.

    interface SpringJointDescriptor {
        anchorA?: Vector3Input;
        anchorB?: Vector3Input;
        bodyA: PhysicsBodyHandle;
        bodyB: PhysicsBodyHandle;
        breakForce?: number;
        breakTorque?: number;
        collisionEnabled?: boolean;
        damping?: number;
        restLength: number;
        stiffness: number;
        type: "spring";
    }

    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.

    damping?: number

    Damping coefficient in newton-seconds per metre. Must be >= 0; 0 by default.

    restLength: number

    Distance at which the spring exerts no force, in metres. Must be >= 0.

    stiffness: number

    Spring constant in newtons per metre. Must be > 0.

    type: "spring"