ContactDetector#

class do_dpc.environments.legacy_coco_rocket.rocketlander.ContactDetector(env)[source]#

Bases: b2ContactListener

Callback class for making/braking contact in the environment

Methods#

BeginContact#

do_dpc.environments.legacy_coco_rocket.rocketlander.ContactDetector.BeginContact(self, contact)#

Called when contact between two bodies begins in the environment

EndContact#

do_dpc.environments.legacy_coco_rocket.rocketlander.ContactDetector.EndContact(self, contact)#

Called when contact betwene two bodies ends in the environment

PostSolve#

do_dpc.environments.legacy_coco_rocket.rocketlander.ContactDetector.PostSolve(b2ContactListener self, b2Contact contact, b2ContactImpulse 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.

PreSolve#

do_dpc.environments.legacy_coco_rocket.rocketlander.ContactDetector.PreSolve(b2ContactListener self, b2Contact contact, b2Manifold 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.

Attributes#

thisown#

ContactDetector.thisown#

The membership flag