Package com.jme3.bullet
Class PhysicsSoftSpace
java.lang.Object
com.jme3.bullet.NativePhysicsObject
com.jme3.bullet.CollisionSpace
com.jme3.bullet.PhysicsSpace
com.jme3.bullet.PhysicsSoftSpace
- All Implemented Interfaces:
ContactListener,Comparable<NativePhysicsObject>
A PhysicsSpace that supports soft bodies, with its own
btSoftRigidDynamicsWorld.-
Nested Class Summary
Nested classes/interfaces inherited from class com.jme3.bullet.PhysicsSpace
PhysicsSpace.BroadphaseType -
Field Summary
FieldsFields inherited from class com.jme3.bullet.CollisionSpace
loggerCFields inherited from class com.jme3.bullet.NativePhysicsObject
loggerN -
Constructor Summary
ConstructorsConstructorDescriptionPhysicsSoftSpace(PhysicsSpace.BroadphaseType broadphaseType) Instantiate a PhysicsSoftSpace with a sequential-impulse solver.PhysicsSoftSpace(com.jme3.math.Vector3f worldMin, com.jme3.math.Vector3f worldMax, PhysicsSpace.BroadphaseType broadphaseType) Instantiate a PhysicsSoftSpace with a sequential-impulse solver.PhysicsSoftSpace(com.jme3.math.Vector3f worldMin, com.jme3.math.Vector3f worldMax, PhysicsSpace.BroadphaseType broadphaseType, CollisionConfiguration configuration) Instantiate a PhysicsSoftSpace with a sequential-impulse solver. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd the specified collision object to this space.booleanTest whether the specified collision object is added to this space.intCount the joints in this space, including anchors and soft-body joints.intCount the soft bodies in this space.protected voidcreate()Must be invoked on the designated physics thread.voiddestroy()Remove all collision objects and physics joints.Enumerate collision objects that have been added to this space and not yet removed.Enumerate soft bodies that have been added to this space and not yet removed.static PhysicsSoftSpaceAccess the PhysicsSoftSpace running on this thread.Access the parameters applied when soft bodies are added to this space.booleanisEmpty()Test whether this space is empty.voidRemove the specified collision object from this space.voidsetGravity(com.jme3.math.Vector3f gravity) Alter the gravitational acceleration acting on newly-added bodies.Methods inherited from class com.jme3.bullet.PhysicsSpace
activateAll, add, addAll, addCollisionListener, addContactListener, addContactListener, addJoint, addOngoingCollisionListener, addTickListener, contains, countCollisionListeners, countManifolds, countRigidBodies, countTickListeners, distributeEvents, enqueue, enqueueOnThisThread, getAccuracy, getCharacterList, getContactManager, getGravity, getJointList, getJointMap, getPhysicsSpace, getRigidBodyList, getSolverInfo, getSolverNumIterations, getSolverType, getVehicleList, getWorldType, initSolverInfo, isCcdWithStaticOnly, isUsingScr, listManifoldIds, maxSubSteps, maxTimeStep, onContactEnded, onContactProcessed, onContactStarted, remove, removeAll, removeCollisionListener, removeContactListener, removeJoint, removeOngoingCollisionListener, removeTickListener, setAccuracy, setCcdWithStaticOnly, setContactManager, setMaxSubSteps, setMaxTimeStep, setSolverNumIterations, update, update, update, updateSolver, useScrMethods inherited from class com.jme3.bullet.CollisionSpace
addCollisionGroupListener, contactTest, countCollisionGroupListeners, countCollisionObjects, countSolvers, getBroadphaseType, getCollisionSpace, getConfiguration, getGhostObjectList, getRayTestFlags, getWorldMax, getWorldMin, hasClosest, hasContact, initThread, isForceUpdateAllAabbs, isUsingDeterministicDispatch, jniEnvId, needsCollision, pairTest, rayTest, rayTest, rayTestDp, rayTestRaw, rayTestRaw, removeCollisionGroupListener, setForceUpdateAllAabbs, setLocalThreadPhysicsSpace, setRayTestFlags, sweepTest, sweepTest, sweepTest, useDeterministicDispatchMethods inherited from class com.jme3.bullet.NativePhysicsObject
compareTo, countTrackers, dumpTrackers, equals, freeUnusedObjects, hasAssignedNativeObject, hashCode, nativeId, reassignNativeId, setNativeId, setNativeIdNotTracked, toString, unassignNativeObject
-
Field Details
-
logger2
message logger for this class
-
-
Constructor Details
-
PhysicsSoftSpace
Instantiate a PhysicsSoftSpace with a sequential-impulse solver. Must be invoked on the designated physics thread.- Parameters:
broadphaseType- which broadphase accelerator to use (not null)
-
PhysicsSoftSpace
public PhysicsSoftSpace(com.jme3.math.Vector3f worldMin, com.jme3.math.Vector3f worldMax, PhysicsSpace.BroadphaseType broadphaseType) Instantiate a PhysicsSoftSpace with a sequential-impulse solver. Must be invoked on the designated physics thread.- Parameters:
worldMin- the desired minimum coordinate value for each axis (not null, unaffected, default=(-10k,-10k,-10k))worldMax- the desired maximum coordinate value for each axis (not null, unaffected, default=(10k,10k,10k))broadphaseType- which broadphase accelerator to use (not null)
-
PhysicsSoftSpace
public PhysicsSoftSpace(com.jme3.math.Vector3f worldMin, com.jme3.math.Vector3f worldMax, PhysicsSpace.BroadphaseType broadphaseType, CollisionConfiguration configuration) Instantiate a PhysicsSoftSpace with a sequential-impulse solver. Must be invoked on the designated physics thread.- Parameters:
worldMin- the desired minimum coordinate value for each axis (not null, unaffected, default=(-10k,-10k,-10k))worldMax- the desired maximum coordinate value for each axis (not null, unaffected, default=(10k,10k,10k))broadphaseType- which broadphase accelerator to use (not null)configuration- the desired configuration (not null)
-
-
Method Details
-
countSoftBodies
public int countSoftBodies()Count the soft bodies in this space.- Returns:
- the count (≥0)
-
getSoftBodyList
Enumerate soft bodies that have been added to this space and not yet removed.- Returns:
- a new unmodifiable collection of pre-existing instances (not null)
-
getSoftSpace
Access the PhysicsSoftSpace running on this thread. For parallel physics, this may be invoked from the OpenGL thread.- Returns:
- the pre-existing PhysicsSoftSpace running on this thread
-
getWorldInfo
Access the parameters applied when soft bodies are added to this space.- Returns:
- the pre-existing instance (not null)
-
addCollisionObject
Add the specified collision object to this space.- Overrides:
addCollisionObjectin classPhysicsSpace- Parameters:
pco- the collision object to add (not null)
-
contains
Test whether the specified collision object is added to this space.- Overrides:
containsin classPhysicsSpace- Parameters:
pco- the object to test (not null, unaffected)- Returns:
- true if currently added, otherwise false
-
countJoints
public int countJoints()Count the joints in this space, including anchors and soft-body joints.- Overrides:
countJointsin classPhysicsSpace- Returns:
- the count (≥0)
-
create
protected void create()Must be invoked on the designated physics thread.- Overrides:
createin classPhysicsSpace
-
destroy
public void destroy()Remove all collision objects and physics joints.- Overrides:
destroyin classPhysicsSpace
-
getPcoList
Enumerate collision objects that have been added to this space and not yet removed.- Overrides:
getPcoListin classPhysicsSpace- Returns:
- a new modifiable collection of pre-existing instances (not null)
-
isEmpty
public boolean isEmpty()Test whether this space is empty.- Overrides:
isEmptyin classPhysicsSpace- Returns:
- true if empty, otherwise false
-
removeCollisionObject
Remove the specified collision object from this space.- Overrides:
removeCollisionObjectin classPhysicsSpace- Parameters:
pco- the collision object to remove (not null)
-
setGravity
public void setGravity(com.jme3.math.Vector3f gravity) Alter the gravitational acceleration acting on newly-added bodies.Typically, when a body is added to a space, the body's gravity gets set to that of the space. Thus, it is preferable to set the space's gravity before adding any bodies to the space.
- Overrides:
setGravityin classPhysicsSpace- Parameters:
gravity- the desired acceleration vector (not null, unaffected, default=(0,-9.81,0))
-