OptionalanchorAttachment point in bodyA's local frame. Defaults to its origin.
OptionalanchorAttachment point in bodyB's local frame. Defaults to its origin.
First constrained body. Must differ from JointDescriptorBase.bodyB.
Second constrained body.
OptionalbreakReaction 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.
OptionalbreakReaction torque, in newton-metres, above which the joint breaks (§28 "break torque"). See JointDescriptorBase.breakForce; either threshold alone is enough to break the joint.
OptionalcollisionWhether 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.
OptionaldampingDamping coefficient in newton-seconds per metre. Must be >= 0; 0 by default.
Distance at which the spring exerts no force, in metres. Must be >= 0.
Spring constant in newtons per metre. Must be > 0.
A spring-damper between the two anchors (§28 "spring", "damping"). Both dimensions.
The restoring force is
stiffness * (distance - restLength)opposed bydamping * closingSpeed, which is the model every solver here implements; a spring constrains nothing rigidly, so it has neither limits nor a motor.