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 TypeMethodDescriptionvoid
Add the specified body to the scene.void
addConstraint
(TwoBodyConstraintSettings constraint, int body1, int body2) Add the specified constraint to the scene.void
addSoftBody
(SoftBodyCreationSettings softBody) Add the specified soft body to the scene.boolean
createBodies
(PhysicsSystem system) Instantiate the bodies in the scene.boolean
Correct any incorrectly scaled shapes in the scene.void
fromPhysicsSystem
(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.void
saveBinaryState
(StreamOut stream, boolean saveShapes, boolean saveGroupFilter) Write the scene to the specified binary stream.long
targetVa()
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, 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:
true
if successful, otherwisefalse
-
fixInvalidScales
public boolean fixInvalidScales()Correct any incorrectly scaled shapes in the scene.- Returns:
true
if 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:
targetVa
in interfaceConstJoltPhysicsObject
- Overrides:
targetVa
in classJoltPhysicsObject
- Returns:
- a virtual address (not zero)
-
toRef
Create another counted reference to the nativePhysicsScene
.
-