Class PhysicsSceneRef

All Implemented Interfaces:
ConstJoltPhysicsObject, AutoCloseable, Comparable<JoltPhysicsObject>

public final class PhysicsSceneRef extends Ref
A counted reference to a PhysicsScene. (native type: Ref<PhysicsScene>)
  • Constructor Details

    • PhysicsSceneRef

      public PhysicsSceneRef()
      Instantiate an empty reference.
  • Method Details

    • addBody

      public void addBody(ConstBodyCreationSettings body)
      Add the specified body to the scene.
      Parameters:
      body - the body settings (not null, unaffected)
    • addConstraint

      public void addConstraint(TwoBodyConstraintSettings constraint, int body1, int body2)
      Add the specified constraint to the scene.
      Parameters:
      constraint - the constraint settings (not null, unaffected)
      body1 - the index of the first body in the bodies list
      body2 - the index of the 2nd body in the bodies list
    • addSoftBody

      public void addSoftBody(SoftBodyCreationSettings softBody)
      Add the specified soft body to the scene.
      Parameters:
      softBody - the soft-body settings (not null, unaffected)
    • createBodies

      public boolean createBodies(PhysicsSystem system)
      Instantiate the bodies in the scene.
      Parameters:
      system - where to add the bodies (not null, modified)
      Returns:
      true if successful, otherwise false
    • fixInvalidScales

      public boolean fixInvalidScales()
      Correct any incorrectly scaled shapes in the scene.
      Returns:
      true if successful, otherwise false
    • fromPhysicsSystem

      public void fromPhysicsSystem(PhysicsSystem system)
      Load the current state of the specified physics system.
      Parameters:
      system - the physics system to load from (not null, unaffected)
    • getBodies

      public BodyCreationSettings[] getBodies()
      Access the body-creation settings as a Java array.
      Returns:
      a new array of new JVM objects with the pre-existing native objects assigned
    • getSoftBodies

      public SoftBodyCreationSettings[] getSoftBodies()
      Access the soft-body creation settings as a Java array.
      Returns:
      a new array of new JVM objects with pre-existing native objects assigned
    • saveBinaryState

      public void saveBinaryState(StreamOut stream, boolean saveShapes, boolean saveGroupFilter)
      Write the scene to the specified binary stream.
      Parameters:
      stream - the stream to write to (not null)
      saveShapes - if true, save the shapes
      saveGroupFilter - if true, save the group filter
    • getPtr

      public PhysicsScene getPtr()
      Temporarily access the referenced PhysicsScene.
      Specified by:
      getPtr in class Ref
      Returns:
      a new JVM object with the pre-existing native object assigned
    • targetVa

      public long targetVa()
      Return the address of the native PhysicsScene. No objects are affected.
      Specified by:
      targetVa in interface ConstJoltPhysicsObject
      Overrides:
      targetVa in class JoltPhysicsObject
      Returns:
      a virtual address (not zero)
    • toRef

      public PhysicsSceneRef toRef()
      Create another counted reference to the native PhysicsScene.
      Specified by:
      toRef in class Ref
      Returns:
      a new JVM object with a new native object assigned