java.lang.Object
com.github.stephengold.joltjni.JoltPhysicsObject
com.github.stephengold.joltjni.template.Ref
com.github.stephengold.joltjni.PhysicsSceneRef
- All Implemented Interfaces:
ConstJoltPhysicsObject,AutoCloseable,Comparable<JoltPhysicsObject>
A counted reference to a
PhysicsScene. (native type:
Ref<PhysicsScene>)-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd the specified body to the scene.voidaddConstraint(TwoBodyConstraintSettings constraint, int body1, int body2) Add the specified constraint to the scene.voidaddSoftBody(SoftBodyCreationSettings softBody) Add the specified soft body to the scene.booleancreateBodies(PhysicsSystem system) Instantiate the bodies in the scene.booleanCorrect any incorrectly scaled shapes in the scene.voidfromPhysicsSystem(PhysicsSystem system) Load the current state of the specified physics system.Access the body-creation settings as a Java array.getPtr()Temporarily access the referencedPhysicsScene.Access the soft-body creation settings as a Java array.voidsaveBinaryState(StreamOut stream, boolean saveShapes, boolean saveGroupFilter) Write the scene to the specified binary stream.longtargetVa()Return the address of the nativePhysicsScene.toRef()Create another counted reference to the nativePhysicsScene.Methods inherited from class com.github.stephengold.joltjni.JoltPhysicsObject
close, compareTo, equals, getContainingObject, hasAssignedNativeObject, hashCode, isCleanerStarted, ownsNativeObject, setVirtualAddress, setVirtualAddress, startCleaner, toString, va
-
Constructor Details
-
PhysicsSceneRef
public PhysicsSceneRef()Instantiate an empty reference.
-
-
Method Details
-
addBody
Add the specified body to the scene.- Parameters:
body- the body settings (not null, unaffected)
-
addConstraint
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 listbody2- the index of the 2nd body in the bodies list
-
addSoftBody
Add the specified soft body to the scene.- Parameters:
softBody- the soft-body settings (not null, unaffected)
-
createBodies
Instantiate the bodies in the scene.- Parameters:
system- where to add the bodies (not null, modified)- Returns:
trueif successful, otherwisefalse
-
fixInvalidScales
public boolean fixInvalidScales()Correct any incorrectly scaled shapes in the scene.- Returns:
trueif successful, otherwisefalse
-
fromPhysicsSystem
Load the current state of the specified physics system.- Parameters:
system- the physics system to load from (not null, unaffected)
-
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
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
Write the scene to the specified binary stream.- Parameters:
stream- the stream to write to (not null)saveShapes- if true, save the shapessaveGroupFilter- if true, save the group filter
-
getPtr
Temporarily access the referencedPhysicsScene. -
targetVa
public long targetVa()Return the address of the nativePhysicsScene. No objects are affected.- Specified by:
targetVain interfaceConstJoltPhysicsObject- Overrides:
targetVain classJoltPhysicsObject- Returns:
- a virtual address (not zero)
-
toRef
Create another counted reference to the nativePhysicsScene.
-