OptionalanchorAttachment point in bodyA's local frame. Defaults to its origin.
OptionalanchorAttachment point in bodyB's local frame. Defaults to its origin.
OptionalaxisHinge axis in bodyA's local frame, resolved from the world-space axis
the Joint class was given (see JointDescriptorBase).
Required in a "3d" world — a hinge with no axis is not a hinge. In a
"2d" world the axis must be along ±Z, the plane's only rotational freedom
(§21), and defaults to +Z when omitted.
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.
OptionallimitsAngular travel in radians, or free rotation when omitted (§28 "limits").
OptionalmotorVelocity motor about the axis, or none when omitted (§28 "motors").
A hinge: one rotational degree of freedom about RevoluteJointDescriptor.axis (§28 "revolute/hinge"). Both dimensions.