Search in sources :

Example 1 with WorldManifold

use of org.jbox2d.collision.WorldManifold in project opennars by opennars.

the class ParticleVelocityQueryCallback method preSolve.

public void preSolve(Contact contact, Manifold oldManifold) {
    Manifold manifold = contact.getManifold();
    if (manifold.pointCount == 0) {
        return;
    }
    Fixture fixtureA = contact.getFixtureA();
    Fixture fixtureB = contact.getFixtureB();
    Collision.getPointStates(state1, state2, oldManifold, manifold);
    contact.getWorldManifold(worldManifold);
    for (int i = 0; i < manifold.pointCount && pointCount < MAX_CONTACT_POINTS; i++) {
        ContactPoint cp = points[pointCount];
        cp.fixtureA = fixtureA;
        cp.fixtureB = fixtureB;
        cp.position.set(worldManifold.points[i]);
        cp.normal.set(worldManifold.normal);
        cp.state = state2[i];
        cp.normalImpulse = manifold.points[i].normalImpulse;
        cp.tangentImpulse = manifold.points[i].tangentImpulse;
        cp.separation = worldManifold.separations[i];
        ++pointCount;
    }
}
Also used : ContactPoint(nars.lab.narclear.jbox2d.ContactPoint) WorldManifold(org.jbox2d.collision.WorldManifold) Manifold(org.jbox2d.collision.Manifold) Fixture(org.jbox2d.dynamics.Fixture) ContactPoint(nars.lab.narclear.jbox2d.ContactPoint) MouseJoint(org.jbox2d.dynamics.joints.MouseJoint)

Aggregations

ContactPoint (nars.lab.narclear.jbox2d.ContactPoint)1 Manifold (org.jbox2d.collision.Manifold)1 WorldManifold (org.jbox2d.collision.WorldManifold)1 Fixture (org.jbox2d.dynamics.Fixture)1 MouseJoint (org.jbox2d.dynamics.joints.MouseJoint)1