nape-js API
    Preparing search index...

    Class AngleJoint

    Constrains the relative angle between two bodies within a range.

    The constraint enforces: jointMin ≤ body2.rotation - ratio * body1.rotation ≤ jointMax

    When jointMin === jointMax the relative angle is fixed exactly. When jointMin < jointMax the joint acts as a rotational limit.

    // Limit the angle between two bodies to ±45 degrees
    const joint = new AngleJoint(
    body1, body2,
    -Math.PI / 4, // jointMin
    Math.PI / 4, // jointMax
    );
    joint.space = space;

    Fully modernized — uses ZPP_AngleJoint directly (extracted to TypeScript).

    Hierarchy (View Summary)

    Index

    Constructors

    • Parameters

      • body1: Body | null

        First body, or null for a static anchor.

      • body2: Body | null

        Second body, or null for a static anchor.

      • jointMin: number

        Minimum allowed relative angle (radians).

      • jointMax: number

        Maximum allowed relative angle (radians).

      • ratio: number = 1.0

        Gear ratio applied to body1's rotation. Default 1.0.

      Returns AngleJoint

    Properties

    debugDraw: boolean = true

    Accessors

    • get isSleeping(): boolean

      Whether the constraint's simulation component is currently sleeping.

      Only valid when the constraint is active and in a space — throws otherwise.

      Returns boolean

    • get maxForce(): number

      Maximum force (in Newtons) the constraint may apply per step.

      When the required force exceeds this value the constraint becomes slack. If breakUnderForce is true the constraint breaks instead. Must be >= 0. Infinity disables the limit.

      Returns number

      Infinity

    • set maxForce(value: number): void

      Parameters

      • value: number

      Returns void

    • get userData(): Record<string, unknown>

      Arbitrary user data attached to this constraint. Lazily initialized to {} on first access.

      Returns Record<string, unknown>

    Methods

    • Returns true when the current relative angle is within [jointMin, jointMax] and no corrective impulse was applied last step.

      Returns boolean

      if either body is null.