Class VehicleConstraint

All Implemented Interfaces:
PhysicsStepListener, ConstConstraint, ConstJoltPhysicsObject, RefTarget, AutoCloseable, Comparable<ConstJoltPhysicsObject>

public class VehicleConstraint extends Constraint implements PhysicsStepListener
A constraint used in vehicle simulation.
  • Constructor Details

    • VehicleConstraint

      public VehicleConstraint(Body body, VehicleConstraintSettings settings)
      Instantiate a constraint using the specified body and settings.
      Parameters:
      body - the body to which the constraint will apply (not null)
      settings - the desired settings (not null, unaffected)
  • Method Details

    • getController

      public VehicleController getController()
      Access the controller for this constraint.
      Returns:
      a new JVM object with the pre-existing native object assigned
    • getVehicleBody

      public Body getVehicleBody()
      Access the vehicle body.
      Returns:
      a new JVM object with the pre-existing native object assigned
    • getVehicleCollisionTester

      public VehicleCollisionTester getVehicleCollisionTester()
      Access the underlying tester, if any.
      Returns:
      the pre-existing instance or null if none
    • getWheel

      public Wheel getWheel(int wheelIndex)
      Access the specified wheel.
      Parameters:
      wheelIndex - the index of the wheel to access (≥0)
      Returns:
      a new JVM object with the pre-existing native object assigned
    • getWheelWorldTransform

      public RMat44 getWheelWorldTransform(int wheelIndex, Vec3Arg right, Vec3Arg up)
      Copy the world transform of the specified wheel.
      Parameters:
      wheelIndex - the index of the wheel to query (≥0)
      right - the wheel's axis of rotation (a unit vector in the wheel's model space)
      up - the "up" direction (a unit vector in the wheel's model space)
      Returns:
      a new coordinate transform matrix
    • setNumStepsBetweenCollisionTestActive

      public void setNumStepsBetweenCollisionTestActive(int numSteps)
      Return the number of simulation steps between wheel collision tests when the vehicle is active.
      Parameters:
      numSteps - the desired number of steps (0=never test, 1=test every step, 2=test every other step, default=1)
    • setNumStepsBetweenCollisionTestInactive

      public void setNumStepsBetweenCollisionTestInactive(int numSteps)
      Return the number of simulation steps between wheel collision tests when the vehicle is inactive.
      Parameters:
      numSteps - the desired number of steps (0=never, 1=every step, 2=every other step, default=1)
    • setVehicleCollisionTester

      public void setVehicleCollisionTester(VehicleCollisionTester tester)
      Replace the collision tester.
      Parameters:
      tester - the desired tester (not null, alias created)
    • onStep

      public void onStep(long contextVa)
      Callback invoked (by native code) each time the system is stepped.
      Specified by:
      onStep in interface PhysicsStepListener
      Parameters:
      contextVa - the virtual address of a PhysicsStepListenerContext PhysicsStepListenerContext (not zero)