## com.bulletphysics.dynamics.constraintsolver Class JacobianEntry

```java.lang.Object com.bulletphysics.dynamics.constraintsolver.JacobianEntry
```

`public class JacobianEntryextends 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`

`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)```