ContactListener abstract class
abstract class ContactListener { /** * Called when two fixtures begin to touch. */ void beginContact(Contact contact); /** * Called when two fixtures cease to touch. */ void endContact(Contact contact); /** * This is called after a contact is updated. This allows you to inspect a * contact before it goes to the solver. If you are careful, you can modify * the contact manifold (e.g. disable contact). * A copy of the old manifold is provided so that you can detect changes. * Note: this is called only for awake bodies. * Note: this is called even when the number of contact points is zero. * Note: this is not called for sensors. * Note: if you set the number of contact points to zero, you will not * get an EndContact callback. However, you may get a BeginContact callback * the next step. * Note: the oldManifold parameter is pooled, so it will be the same object * for every callback for each thread. */ void preSolve(Contact contact, Manifold oldManifold); /** * This lets you inspect a contact after the solver is finished. This is * useful for inspecting impulses. * Note: the contact manifold does not include time of impact impulses, * which can be arbitrarily large if the sub-step is small. Hence the impulse * is provided explicitly in a separate data structure. * Note: this is only called for contacts that are touching, solid, and awake. */ void postSolve(Contact contact, ContactImpulse impulse); }
Methods
abstract void postSolve(Contact contact, ContactImpulse impulse) #
This lets you inspect a contact after the solver is finished. This is useful for inspecting impulses. Note: the contact manifold does not include time of impact impulses, which can be arbitrarily large if the sub-step is small. Hence the impulse is provided explicitly in a separate data structure. Note: this is only called for contacts that are touching, solid, and awake.
abstract void preSolve(Contact contact, Manifold oldManifold) #
This is called after a contact is updated. This allows you to inspect a contact before it goes to the solver. If you are careful, you can modify the contact manifold (e.g. disable contact). A copy of the old manifold is provided so that you can detect changes. Note: this is called only for awake bodies. Note: this is called even when the number of contact points is zero. Note: this is not called for sensors. Note: if you set the number of contact points to zero, you will not get an EndContact callback. However, you may get a BeginContact callback the next step. Note: the oldManifold parameter is pooled, so it will be the same object for every callback for each thread.