rldurham.bipedal_walker.ContactDetector

class rldurham.bipedal_walker.ContactDetector(env)[source]

Bases: b2ContactListener

Public Data Attributes:

Inherited from b2ContactListener

thisown

The membership flag

Public Methods:

__init__(env)

BeginContact(b2ContactListener self, ...)

Called when two fixtures begin to touch.

EndContact(b2ContactListener self, ...)

Called when two fixtures cease to touch.

Inherited from b2ContactListener

__repr__()

Return repr(self).

BeginContact(b2ContactListener self, ...)

Called when two fixtures begin to touch.

EndContact(b2ContactListener self, ...)

Called when two fixtures cease to touch.

PreSolve(b2ContactListener self, ...)

This is called after a contact is updated.

PostSolve(b2ContactListener self, ...)

This lets you inspect a contact after the solver is finished.

__dir__()

Using introspection, mimic dir() by adding up all of the __dicts__ for the current class and all base classes (type(self).__mro__ returns all of the classes that make it up) Basically filters by: __x__ OK __x bad _classname bad

__hash__(b2ContactListener self)

__init__(**kwargs)

__disown__()


BeginContact(b2ContactListener self, b2Contact contact)[source]

Called when two fixtures begin to touch.

EndContact(b2ContactListener self, b2Contact contact)[source]

Called when two fixtures cease to touch.

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(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.

__annotations__ = {}
__dict__ = mappingproxy({'__module__': 'rldurham.bipedal_walker', '__init__': <function ContactDetector.__init__>, 'BeginContact': <function ContactDetector.BeginContact>, 'EndContact': <function ContactDetector.EndContact>, '__doc__': None, '__annotations__': {}})
__dir__()

Using introspection, mimic dir() by adding up all of the __dicts__ for the current class and all base classes (type(self).__mro__ returns all of the classes that make it up) Basically filters by:

__x__ OK __x bad _classname bad

__disown__()
__hash__(b2ContactListener self) long
__init__(env)[source]
__module__ = 'rldurham.bipedal_walker'
__repr__()

Return repr(self).

__swig_destroy__()

delete_b2ContactListener(b2ContactListener self)

__weakref__

list of weak references to the object

property thisown

The membership flag