public class SoftBody extends CollisionObject
CollisionObject.ActivationState| Modifier and Type | Field and Description |
|---|---|
static int |
CL_RS
Cluster vs convex rigid vs soft
|
static int |
CL_SELF
Cluster soft body self collision
|
static int |
CL_SS
Cluster vs cluster soft vs soft handling
|
static int |
RVSmask
Rigid versus soft mask
|
static int |
SDF_RS
SDF based rigid vs soft
|
static int |
SVSmask
Soft versus soft mask
|
static int |
VF_SS
Vertex vs face soft vs soft handling
|
| Modifier and Type | Method and Description |
|---|---|
void |
addForce(Vec3 force)
Add force (or gravity) to the entire body
|
void |
addVelocity(Vec3 velocity)
Add velocity to the entire body
|
void |
appendAnchor(int node,
RigidBody body,
Vec3 localPivot,
boolean disableCollisionBetweenLinkedBodies,
float influence) |
void |
appendAngularJoint(Vec3 axis,
float erp,
float cfm,
float split,
SoftBody body) |
void |
appendLinearJoint(Vec3 position,
float erp,
float cfm,
float split,
SoftBody body) |
void |
destroy()
Must call
CollisionObject.nSetUserPointer(long, CollisionObject) and destroy native objects |
void |
generateBendingConstraints(int distance)
Generate bending constraints based on distance in the adjency graph
|
void |
generateClusters(int k)
Generate clusters (K-mean)
generateClusters with k=0 will create a convex cluster for each tetrahedron or triangle otherwise an approximation will be used (better performance) |
float |
getAnchorHardness() |
float |
getAngularStiffness(int material) |
int |
getCollisionInteractionFlags() |
float |
getDamping() |
float |
getDrag() |
float |
getDynamicFriction() |
float |
getKineticContactHardness() |
float |
getLift() |
float |
getLinearStiffness(int material) |
float |
getMaxVolumeRatio() |
ModelInstance |
getModelInstance() |
int |
getNumSolverClusterIterations() |
int |
getNumSolverDriftIterations() |
int |
getNumSolverPositionIterations() |
int |
getNumSolverVelocityIterations() |
float |
getPoseMatching() |
float |
getPressure() |
float |
getRigidContactHardness() |
float |
getSoftContactHardness() |
float |
getSoftKineticClusterHardness() |
float |
getSoftKineticClusterImpulseSplit() |
float |
getSoftRigidClusterHardness() |
float |
getSoftRigidClusterImpulseSplit() |
float |
getSoftSoftClusterHardness() |
float |
getSoftSoftClusterImpulseSplit() |
float |
getTimeScale() |
float |
getTotalMass() |
float |
getVelocityCorrection() |
float |
getVolume() |
float |
getVolumeConversation() |
float |
getVolumeStiffness(int material) |
Vec3 |
getWindVelocity(Vec3 dst) |
boolean |
isAutoUpdate() |
void |
randomizeConstraints()
Generate bending constraints based on distance in the adjency graph
|
void |
setAnchorHardness(float anchorHardness)
Anchors hardness [0,1].
|
void |
setAngularStiffness(int material,
float angularStiffness)
Area/Angular stiffness coefficient [0,1].
|
void |
setAutoUpdate(boolean autoUpdate) |
void |
setCollisionInteractionFlags(int collisionInteractionFlags)
Collisions flags
|
void |
setCollisionShape(CollisionShape shape) |
void |
setDamping(float damping)
Damping coefficient [0,1].
|
void |
setDrag(float drag)
Drag coefficient [0,+inf].
|
void |
setDynamicFriction(float dynamicFriction)
Dynamic friction coefficient [0,1].
|
void |
setKineticContactHardness(float kineticContactHardness)
Kinetic contacts hardness [0,1].
|
void |
setLift(float lift)
Lift coefficient [0,+inf].
|
void |
setLinearStiffness(int material,
float linearStiffness)
Linear stiffness coefficient [0,1].
|
void |
setMaxVolumeRatio(float maxVolumeRatio)
Maximum volume ratio for pose
|
void |
setNumSolverClusterIterations(int numSolverClusterIterations)
Cluster solver iterations.
|
void |
setNumSolverDriftIterations(int numSolverDriftIterations)
Drift solver iterations.
|
void |
setNumSolverPositionIterations(int numSolverPositionIterations)
Positions solver iterations.
|
void |
setNumSolverVelocityIterations(int numSolverVelocityIterations)
Velocities solver iterations.
|
void |
setPose(boolean bvolume,
boolean bframe)
Set current state as pose
|
void |
setPoseMatching(float poseMatching)
Pose matching coefficient [0,1].
|
void |
setPressure(float pressure)
Pressure coefficient [-inf,+inf].
|
void |
setRigidContactHardness(float rigidContactHardness)
Rigid contacts hardness [0,1].
|
void |
setSoftContactHardness(float softContactHardness)
Soft contacts hardness [0,1].
|
void |
setSoftKineticClusterHardness(float softKineticClusterHardness)
Soft vs kinetic hardness [0,1] (cluster only).
|
void |
setSoftKineticClusterImpulseSplit(float softKineticClusterImpulseSplit)
Soft vs kinetic impulse split [0,1] (cluster only).
|
void |
setSoftRigidClusterHardness(float softRigidClusterHardness)
Soft vs rigid hardness [0,1] (cluster only).
|
void |
setSoftRigidClusterImpulseSplit(float softRigidClusterImpulseSplit)
Soft vs rigid impulse split [0,1] (cluster only).
|
void |
setSoftSoftClusterHardness(float softSoftClusterHardness)
Soft vs soft hardness [0,1] (cluster only).
|
void |
setSoftSoftClusterImpulseSplit(float softSoftClusterImpulseSplit)
Soft vs soft impulse split [0,1] (cluster only).
|
void |
setTimeScale(float timeScale)
Time scale
|
void |
setTotalDensity(float density)
Set total density
|
void |
setTotalMass(float mass,
boolean fromFaces)
Set total mass (weighted by previous masses)
|
void |
setUpdateMode(boolean updateTangents,
boolean smoothTangents) |
void |
setVelocity(Vec3 velocity)
Set velocity for the entire body
|
void |
setVelocityCorrection(float velocityCorrection)
Velocities correction factor (Baumgarte).
|
void |
setVolumeConversation(float volumeConversation)
Volume conversation coefficient [0,+inf].
|
void |
setVolumeStiffness(int material,
float volumeStiffness)
Volume stiffness coefficient [0,1].
|
void |
setWindVelocity(Vec3 velocity) |
void |
transform(Transform transform) |
void |
update(long timePassedMs) |
activate, getActivationState, getCollisionShape, getFriction, getRestitution, getRollingFriction, getTransform, getUserObject, getWorldTransform, hasContactResponse, isActive, isKinematicObject, isStaticObject, setActivationState, setContactResponse, setFriction, setRestitution, setRollingFriction, setTransform, setTransform, setUserObject, setWorldTransform, setWorldTransformpublic static final int RVSmask
public static final int SDF_RS
public static final int CL_RS
public static final int SVSmask
public static final int VF_SS
public static final int CL_SS
public static final int CL_SELF
public final void destroy()
CollisionObjectCollisionObject.nSetUserPointer(long, CollisionObject) and destroy native objectsdestroy in interface INativedestroy in class CollisionObjectCollisionObject.nSetUserPointer(long, CollisionObject)public final boolean isAutoUpdate()
PhysicWorld update the ModelInstance for this SoftBody
inside PhysicWorld.update(long). Default value: truepublic final void setAutoUpdate(boolean autoUpdate)
isAutoUpdate()public final void setUpdateMode(boolean updateTangents,
boolean smoothTangents)
updateTangents - Update ModelInstance tangents. Default value: truesmoothTangents - Smooth tangents during update. Default value: truepublic final void update(long timePassedMs)
public final ModelInstance getModelInstance()
public void setCollisionShape(CollisionShape shape)
setCollisionShape in class CollisionObjectshape - new CollisionShape for this RigidBodypublic void randomizeConstraints()
public void generateBendingConstraints(int distance)
public void generateClusters(int k)
public void setPose(boolean bvolume,
boolean bframe)
public float getVolume()
public float getTotalMass()
public void setTotalMass(float mass,
boolean fromFaces)
fromFaces - default value: falsepublic void setTotalDensity(float density)
public void transform(Transform transform)
public void addForce(Vec3 force)
public void addVelocity(Vec3 velocity)
public void setVelocity(Vec3 velocity)
public Vec3 getWindVelocity(Vec3 dst)
public void setWindVelocity(Vec3 velocity)
public float getLinearStiffness(int material)
public void setLinearStiffness(int material,
float linearStiffness)
public float getVolumeStiffness(int material)
public void setVolumeStiffness(int material,
float volumeStiffness)
public float getAngularStiffness(int material)
public void setAngularStiffness(int material,
float angularStiffness)
public float getVelocityCorrection()
public void setVelocityCorrection(float velocityCorrection)
public float getDamping()
public void setDamping(float damping)
public float getDrag()
public void setDrag(float drag)
public float getLift()
public void setLift(float lift)
public float getPressure()
public void setPressure(float pressure)
public float getVolumeConversation()
public void setVolumeConversation(float volumeConversation)
public float getDynamicFriction()
public void setDynamicFriction(float dynamicFriction)
public float getPoseMatching()
public void setPoseMatching(float poseMatching)
public float getRigidContactHardness()
public void setRigidContactHardness(float rigidContactHardness)
public float getKineticContactHardness()
public void setKineticContactHardness(float kineticContactHardness)
public float getSoftContactHardness()
public void setSoftContactHardness(float softContactHardness)
public float getAnchorHardness()
public void setAnchorHardness(float anchorHardness)
public int getNumSolverVelocityIterations()
public void setNumSolverVelocityIterations(int numSolverVelocityIterations)
public int getNumSolverPositionIterations()
public void setNumSolverPositionIterations(int numSolverPositionIterations)
public int getNumSolverDriftIterations()
public void setNumSolverDriftIterations(int numSolverDriftIterations)
public int getNumSolverClusterIterations()
public void setNumSolverClusterIterations(int numSolverClusterIterations)
public float getSoftRigidClusterHardness()
public void setSoftRigidClusterHardness(float softRigidClusterHardness)
public float getSoftKineticClusterHardness()
public void setSoftKineticClusterHardness(float softKineticClusterHardness)
public float getSoftSoftClusterHardness()
public void setSoftSoftClusterHardness(float softSoftClusterHardness)
public float getSoftRigidClusterImpulseSplit()
public void setSoftRigidClusterImpulseSplit(float softRigidClusterImpulseSplit)
public float getSoftKineticClusterImpulseSplit()
public void setSoftKineticClusterImpulseSplit(float softKineticClusterImpulseSplit)
public float getSoftSoftClusterImpulseSplit()
public void setSoftSoftClusterImpulseSplit(float softSoftClusterImpulseSplit)
public int getCollisionInteractionFlags()
public void setCollisionInteractionFlags(int collisionInteractionFlags)
public float getTimeScale()
public void setTimeScale(float timeScale)
public float getMaxVolumeRatio()
public void setMaxVolumeRatio(float maxVolumeRatio)
public void appendAnchor(int node,
RigidBody body,
Vec3 localPivot,
boolean disableCollisionBetweenLinkedBodies,
float influence)
influence - default value 1public void appendLinearJoint(Vec3 position, float erp, float cfm, float split, SoftBody body)
erp - default value 1cfm - default value 1split - default value 1Bonzai Engine 1.3.4 11/12/2015 - A Java OpenGL engine and tools for Windows/Mac/Linux/Android
Copyright © 2007-2015 Jérôme Jouvie bonzaiengine.com contact@bonzaiengine.com