public final class RigidBody extends CollisionObject
CollisionShape
objects whenever possible.
There are 3 types of rigid bodies:
Deactivated (sleeping) rigid bodies don't take any processing time, except a minor broadphase collision detection impact (to allow active objects to activate/wake up sleeping objects).
CollisionObject.ActivationState| Modifier and Type | Method and Description |
|---|---|
void |
applyCentralForce(Vec3 force) |
void |
applyCentralImpulse(Vec3 impulse) |
void |
applyForce(Vec3 force,
Vec3 relPos) |
void |
applyImpulse(Vec3 impulse,
Vec3 relPos) |
void |
applyTorque(Vec3 torque) |
void |
applyTorqueImpulse(Vec3 torque) |
void |
clearForces() |
void |
destroy()
Must call
CollisionObject.nSetUserPointer(long, CollisionObject) and destroy native objects |
float |
getAngularDamping() |
void |
getAngularFactor(Vec3 dst) |
Vec3 |
getAngularVelocity(Vec3 dst) |
Constraint[] |
getConstraints() |
Vec3 |
getGravity(Vec3 dst) |
float |
getLinearDamping() |
void |
getLinearFactor(Vec3 dst) |
Vec3 |
getLinearVelocity(Vec3 dst) |
float |
getMass() |
int |
getNumConstraints() |
void |
getTotalForce(Vec3 dst) |
void |
getTotalTorque(Vec3 dst) |
void |
setAngularDamping(float angularDamping)
Damping is similar to friction but also applies when the body is not touching any other surface.
|
void |
setAngularFactor(Vec3 angularFactor)
Angular factor is used to attenuate/reduce body rotation (0 to block rotation).
|
void |
setAngularVelocity(Vec3 angularVelocity) |
void |
setCollisionShape(CollisionShape shape) |
void |
setGravity(Vec3 gravity)
Override gravity force of
PhysicWorld to this RigidBody. |
void |
setKinematic(boolean kinematic) |
void |
setLinearDamping(float linearDamping)
Damping is similar to friction but also applies when the body is not touching any other surface.
|
void |
setLinearFactor(Vec3 linearFactor)
Linear factor is used to attenuate/reduce body translation (0 to block translation).
|
void |
setLinearVelocity(Vec3 linearVelocity) |
void |
setMass(float mass) |
void |
setMass(float mass,
boolean inertia) |
void |
setTransformAndStop(Transform t)
|
void |
stop()
Stop this
RigidBodyThis is equivalent to: setLinearVelocity(Vec3.zero); |
activate, getActivationState, getCollisionShape, getFriction, getRestitution, getRollingFriction, getTransform, getUserObject, getWorldTransform, hasContactResponse, isActive, isKinematicObject, isStaticObject, setActivationState, setContactResponse, setFriction, setRestitution, setRollingFriction, setTransform, setTransform, setUserObject, setWorldTransform, setWorldTransformpublic void destroy()
CollisionObjectCollisionObject.nSetUserPointer(long, CollisionObject) and destroy native objectsdestroy in interface INativedestroy in class CollisionObjectCollisionObject.nSetUserPointer(long, CollisionObject)public void setCollisionShape(CollisionShape shape) throws java.lang.IllegalStateException
setCollisionShape in class CollisionObjectshape - new CollisionShape for this RigidBodyjava.lang.IllegalStateException - when getNumConstraints() is not 0public final float getMass()
public final void setMass(float mass)
the - new masspublic final void setMass(float mass,
boolean inertia)
public final void setKinematic(boolean kinematic)
kinematic - true to set this RigidBody a kinematic objectCollisionObject.isKinematicObject()public final Vec3 getGravity(Vec3 dst)
dst - destination to store the gravity force applied to this RigidBody.PhysicWorld gravity force which is equals to the earth gravity.public final void setTransformAndStop(Transform t)
public final void stop()
RigidBodysetLinearVelocity(Vec3.zero);
setAngularVelocity(Vec3.zero);public final void setGravity(Vec3 gravity)
PhysicWorld to this RigidBody.PhysicWorld#addRigidBody(RigidBody) has been calledpublic final Vec3 getLinearVelocity(Vec3 dst)
dst - destination to store the linear ('translation') velocity of this RigidBody.public final void setLinearVelocity(Vec3 linearVelocity)
angularVelocity - new linear velocity for this RigidBodypublic final Vec3 getAngularVelocity(Vec3 dst)
dst - destination to store the angular ('rotation') velocity of this RigidBody.public final void setAngularVelocity(Vec3 angularVelocity)
angularVelocity - new angular velocity for this RigidBodypublic final float getLinearDamping()
public final void setLinearDamping(float linearDamping)
public final float getAngularDamping()
public final void setAngularDamping(float angularDamping)
public final void getLinearFactor(Vec3 dst)
public final void setLinearFactor(Vec3 linearFactor)
public final void getAngularFactor(Vec3 dst)
public final void setAngularFactor(Vec3 angularFactor)
public final int getNumConstraints()
Constraint applied to this RigidBodypublic final Constraint[] getConstraints()
public final void applyTorque(Vec3 torque)
public final void applyCentralImpulse(Vec3 impulse)
public final void applyTorqueImpulse(Vec3 torque)
public final void applyCentralForce(Vec3 force)
public final void clearForces()
public final void getTotalForce(Vec3 dst)
public final void getTotalTorque(Vec3 dst)
Bonzai 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