com.bulletphysics.dynamics.constraintsolver
Class JacobianEntry

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

public class JacobianEntry
extends Object

Jacobian entry is an abstraction that allows to describe constraints. It can be used in combination with a constraint solver. Can be used to relate the effect of an impulse to the constraint error.


Field Summary
 float Adiag
           
 Vector3f aJ
           
 Vector3f bJ
           
 Vector3f linearJointAxis
           
 Vector3f m_0MinvJt
           
 Vector3f m_1MinvJt
           
 
Constructor Summary
JacobianEntry()
           
 
Method Summary
 float getDiagonal()
           
 float getNonDiagonal(JacobianEntry jacB, float massInvA)
          For two constraints on the same rigidbody (for example vehicle friction).
 float getNonDiagonal(JacobianEntry jacB, float massInvA, float massInvB)
          For two constraints on sharing two same rigidbodies (for example two contact points between two rigidbodies).
 float getRelativeVelocity(Vector3f linvelA, Vector3f angvelA, Vector3f linvelB, Vector3f angvelB)
           
 void init(Matrix3f world2A, Matrix3f world2B, Vector3f rel_pos1, Vector3f rel_pos2, Vector3f jointAxis, Vector3f inertiaInvA, float massInvA, Vector3f inertiaInvB, float massInvB)
          Constraint between two different rigidbodies.
 void init(Matrix3f world2A, Vector3f rel_pos1, Vector3f rel_pos2, Vector3f jointAxis, Vector3f inertiaInvA, float massInvA)
          Constraint on one rigidbody.
 void init(Vector3f jointAxis, Matrix3f world2A, Matrix3f world2B, Vector3f inertiaInvA, Vector3f inertiaInvB)
          Angular constraint between two different rigidbodies.
 void init(Vector3f axisInA, Vector3f axisInB, Vector3f inertiaInvA, Vector3f inertiaInvB)
          Angular constraint between two different rigidbodies.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

linearJointAxis

public final Vector3f linearJointAxis

aJ

public final Vector3f aJ

bJ

public final Vector3f bJ

m_0MinvJt

public final Vector3f m_0MinvJt

m_1MinvJt

public final Vector3f m_1MinvJt

Adiag

public float Adiag
Constructor Detail

JacobianEntry

public JacobianEntry()
Method Detail

init

public void init(Matrix3f world2A,
                 Matrix3f world2B,
                 Vector3f rel_pos1,
                 Vector3f rel_pos2,
                 Vector3f jointAxis,
                 Vector3f inertiaInvA,
                 float massInvA,
                 Vector3f inertiaInvB,
                 float massInvB)
Constraint between two different rigidbodies.


init

public void init(Vector3f jointAxis,
                 Matrix3f world2A,
                 Matrix3f world2B,
                 Vector3f inertiaInvA,
                 Vector3f inertiaInvB)
Angular constraint between two different rigidbodies.


init

public void init(Vector3f axisInA,
                 Vector3f axisInB,
                 Vector3f inertiaInvA,
                 Vector3f inertiaInvB)
Angular constraint between two different rigidbodies.


init

public void init(Matrix3f world2A,
                 Vector3f rel_pos1,
                 Vector3f rel_pos2,
                 Vector3f jointAxis,
                 Vector3f inertiaInvA,
                 float massInvA)
Constraint on one rigidbody.


getDiagonal

public float getDiagonal()

getNonDiagonal

public float getNonDiagonal(JacobianEntry jacB,
                            float massInvA)
For two constraints on the same rigidbody (for example vehicle friction).


getNonDiagonal

public float getNonDiagonal(JacobianEntry jacB,
                            float massInvA,
                            float massInvB)
For two constraints on sharing two same rigidbodies (for example two contact points between two rigidbodies).


getRelativeVelocity

public float getRelativeVelocity(Vector3f linvelA,
                                 Vector3f angvelA,
                                 Vector3f linvelB,
                                 Vector3f angvelB)