crashcat docs
    Preparing search index...

    Type Alias SliderConstraint

    SliderConstraint: ConstraintBase & {
        d: number;
        hasLimits: boolean;
        invInitialOrientation: Quat;
        limitsMax: number;
        limitsMin: number;
        limitsSpringSettings: springSettings.SpringSettings;
        localSpaceNormalA: Vec3;
        localSpaceNormalB: Vec3;
        localSpacePositionA: Vec3;
        localSpacePositionB: Vec3;
        localSpaceSliderAxisA: Vec3;
        maxFrictionForce: number;
        motorConstraintPart: AxisConstraintPart;
        motorSettings: motorSettings.MotorSettings;
        motorState: motorSettings.MotorState;
        n1: Vec3;
        n2: Vec3;
        positionConstraintPart: DualAxisConstraintPart;
        positionLimitsConstraintPart: AxisConstraintPart;
        r1: Vec3;
        r2: Vec3;
        rotationConstraintPart: RotationEulerConstraintPart;
        targetPosition: number;
        targetVelocity: number;
        u: Vec3;
        worldSpaceSliderAxis: Vec3;
    }

    Slider constraint (prismatic) removes 5 DOF (2 translation perpendicular to slider + 3 rotation). Allows movement only along a single axis, like a piston or rail.

    Type Declaration

    • d: number

      current distance along slider axis (d = u · sliderAxis)

    • hasLimits: boolean

      whether position limits are enabled

    • invInitialOrientation: Quat

      inverse of initial relative orientation, for rotation constraint

    • limitsMax: number

      maximum position limit (≥ 0)

    • limitsMin: number

      minimum position limit (≤ 0)

    • limitsSpringSettings: springSettings.SpringSettings

      spring settings for soft limits

    • localSpaceNormalA: Vec3

      normal axis perpendicular to slider on body a (for frame definition)

    • localSpaceNormalB: Vec3

      second normal axis (slider × normal1)

    • localSpacePositionA: Vec3

      attachment point on body a in local space

    • localSpacePositionB: Vec3

      attachment point on body b in local space

    • localSpaceSliderAxisA: Vec3

      slider axis on body a in local space (normalized) - direction of allowed movement

    • maxFrictionForce: number

      maximum friction force when motor is off

    • motorConstraintPart: AxisConstraintPart

      motor constraint along slider axis

    • motorSettings: motorSettings.MotorSettings

      motor settings (spring + force limits)

    • motorState: motorSettings.MotorState

      motor state

    • n1: Vec3

      world space normal axis 1 for position constraint

    • n2: Vec3

      world space normal axis 2 for position constraint

    • positionConstraintPart: DualAxisConstraintPart

      position constraint for 2 DOF perpendicular to slider

    • positionLimitsConstraintPart: AxisConstraintPart

      position limits constraint along slider axis

    • r1: Vec3

      r1 = rotation1 × localSpacePosition1 (world space offset from COM to attachment)

    • r2: Vec3

      r2 = rotation2 × localSpacePosition2 (world space offset from COM to attachment)

    • rotationConstraintPart: RotationEulerConstraintPart

      rotation constraint for 3 DOF (locks all rotation)

    • targetPosition: number

      target position for position mode

    • targetVelocity: number

      target velocity (m/s) for velocity mode

    • u: Vec3

      u = x2 + r2 - x1 - r1 = p2 - p1 (separation vector in world space)

    • worldSpaceSliderAxis: Vec3

      world space slider axis