com.bulletphysics.dynamics.constraintsolver
Class SolverBody

java.lang.Object
  extended by com.bulletphysics.dynamics.constraintsolver.SolverBody

public class SolverBody
extends Object

SolverBody is an internal data structure for the constraint solver. Only necessary data is packed to increase cache coherence/performance.


Field Summary
 float angularFactor
           
 Vector3f angularVelocity
           
 Vector3f centerOfMassPosition
           
 float friction
           
 float invMass
           
 Vector3f linearVelocity
           
 RigidBody originalBody
           
 Vector3f pushVelocity
           
 Vector3f turnVelocity
           
 
Constructor Summary
SolverBody()
           
 
Method Summary
 void getVelocityInLocalPoint(Vector3f rel_pos, Vector3f velocity)
           
 void internalApplyImpulse(Vector3f linearComponent, Vector3f angularComponent, float impulseMagnitude)
          Optimization for the iterative solver: avoid calculating constant terms involving inertia, normal, relative position.
 void internalApplyPushImpulse(Vector3f linearComponent, Vector3f angularComponent, float impulseMagnitude)
           
 void readVelocity()
           
 void writebackVelocity()
           
 void writebackVelocity(float timeStep)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

angularVelocity

public final Vector3f angularVelocity

angularFactor

public float angularFactor

invMass

public float invMass

friction

public float friction

originalBody

public RigidBody originalBody

linearVelocity

public final Vector3f linearVelocity

centerOfMassPosition

public final Vector3f centerOfMassPosition

pushVelocity

public final Vector3f pushVelocity

turnVelocity

public final Vector3f turnVelocity
Constructor Detail

SolverBody

public SolverBody()
Method Detail

getVelocityInLocalPoint

public void getVelocityInLocalPoint(Vector3f rel_pos,
                                    Vector3f velocity)

internalApplyImpulse

public void internalApplyImpulse(Vector3f linearComponent,
                                 Vector3f angularComponent,
                                 float impulseMagnitude)
Optimization for the iterative solver: avoid calculating constant terms involving inertia, normal, relative position.


internalApplyPushImpulse

public void internalApplyPushImpulse(Vector3f linearComponent,
                                     Vector3f angularComponent,
                                     float impulseMagnitude)

writebackVelocity

public void writebackVelocity()

writebackVelocity

public void writebackVelocity(float timeStep)

readVelocity

public void readVelocity()