| Box2D 2.2.1 A 2D Physics Engine for Games

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends
b2Contact Class Reference

`#include <b2Contact.h>`

Inheritance diagram for b2Contact:

List of all members.

## Public Member Functions

b2Manifold * | GetManifold ()
const b2Manifold * | GetManifold () const
void | GetWorldManifold (b2WorldManifold *worldManifold) const
| Get the world manifold.
bool | IsTouching () const
| Is this contact touching?
void | SetEnabled (bool flag)
bool | IsEnabled () const
| Has this contact been disabled?
b2Contact * | GetNext ()
| Get the next contact in the world's contact list.
const b2Contact * | GetNext () const
b2Fixture * | GetFixtureA ()
| Get fixture A in this contact.
const b2Fixture * | GetFixtureA () const
int32 | GetChildIndexA () const
| Get the child primitive index for fixture A.
b2Fixture * | GetFixtureB ()
| Get fixture B in this contact.
const b2Fixture * | GetFixtureB () const
int32 | GetChildIndexB () const
| Get the child primitive index for fixture B.
void | SetFriction (float32 friction)
float32 | GetFriction () const
| Get the friction.
void | ResetFriction ()
| Reset the friction mixture to the default value.
void | SetRestitution (float32 restitution)
float32 | GetRestitution () const
| Get the restitution.
void | ResetRestitution ()
| Reset the restitution to the default value.
virtual void | Evaluate (b2Manifold *manifold, const b2Transform &xfA, const b2Transform &xfB)=0
| Evaluate this contact with your own manifold and transforms.

## Protected Types

enum | { e_islandFlag = 0x0001, e_touchingFlag = 0x0002, e_enabledFlag = 0x0004, e_filterFlag = 0x0008, e_bulletHitFlag = 0x0010, e_toiFlag = 0x0020 }

## Protected Member Functions

void | FlagForFiltering ()
| Flag this contact for filtering. Filtering will occur the next time step.
| b2Contact (b2Fixture *fixtureA, int32 indexA, b2Fixture *fixtureB, int32 indexB)
void | Update (b2ContactListener *listener)

## Static Protected Member Functions

static void | AddType (b2ContactCreateFcn *createFcn, b2ContactDestroyFcn *destroyFcn, b2Shape::Type typeA, b2Shape::Type typeB)
static void | InitializeRegisters ()
static b2Contact * | Create (b2Fixture *fixtureA, int32 indexA, b2Fixture *fixtureB, int32 indexB, b2BlockAllocator *allocator)
static void | Destroy (b2Contact *contact, b2Shape::Type typeA, b2Shape::Type typeB, b2BlockAllocator *allocator)
static void | Destroy (b2Contact *contact, b2BlockAllocator *allocator)

## Protected Attributes

uint32 | m_flags
b2Contact * | m_prev
b2Contact * | m_next
b2ContactEdge | m_nodeA
b2ContactEdge | m_nodeB
b2Fixture * | m_fixtureA
b2Fixture * | m_fixtureB
int32 | m_indexA
int32 | m_indexB
b2Manifold | m_manifold
int32 | m_toiCount
float32 | m_toi
float32 | m_friction
float32 | m_restitution

## Static Protected Attributes

static b2ContactRegister | s_registers [b2Shape::e_typeCount][b2Shape::e_typeCount]
static bool | s_initialized = false

## Friends

class | b2ContactManager
class | b2World
class | b2ContactSolver
class | b2Body
class | b2Fixture

## Detailed Description

The class manages contact between two shapes. A contact exists for each overlapping AABB in the broad-phase (except if filtered). Therefore a contact object may exist that has no contact points.

## Member Function Documentation

b2Manifold * b2Contact::GetManifold | ( |  | ) | `[inline]`

Get the contact manifold. Do not modify the manifold unless you understand the internals of Box2D.

void b2Contact::SetEnabled | ( | bool | flag | ) | `[inline]`

Enable/disable this contact. This can be used inside the pre-solve contact listener. The contact is only disabled for the current time step (or sub-step in continuous collisions).

void b2Contact::SetFriction | ( | float32 | friction | ) | `[inline]`

Override the default friction mixture. You can call this in b2ContactListener::PreSolve. This value persists until set or reset.

void b2Contact::SetRestitution | ( | float32 | restitution | ) | `[inline]`

Override the default restitution mixture. You can call this in b2ContactListener::PreSolve. The value persists until you set or reset.

The documentation for this class was generated from the following files:

- b2Contact.h
- b2Contact.cpp

All Classes Files Functions Variables Enumerations Enumerator Defines