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:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void Evaluate (b2Manifold *manifold, const b2Transform &xfA, const b2Transform &xfB)=0
 Evaluate this contact with your own manifold and transforms.
int32 GetChildIndexA () const
 Get the child primitive index for fixture A.
int32 GetChildIndexB () const
 Get the child primitive index for fixture B.
b2FixtureGetFixtureA ()
 Get fixture A in this contact.
const b2FixtureGetFixtureA () const
b2FixtureGetFixtureB ()
 Get fixture B in this contact.
const b2FixtureGetFixtureB () const
float32 GetFriction () const
 Get the friction.
b2ManifoldGetManifold ()
const b2ManifoldGetManifold () const
b2ContactGetNext ()
 Get the next contact in the world's contact list.
const b2ContactGetNext () const
float32 GetRestitution () const
 Get the restitution.
float32 GetTangentSpeed () const
 Get the desired tangent speed. In meters per second.
void GetWorldManifold (b2WorldManifold *worldManifold) const
 Get the world manifold.
bool IsEnabled () const
 Has this contact been disabled?
bool IsTouching () const
 Is this contact touching?
void ResetFriction ()
 Reset the friction mixture to the default value.
void ResetRestitution ()
 Reset the restitution to the default value.
void SetEnabled (bool flag)
void SetFriction (float32 friction)
void SetRestitution (float32 restitution)
void SetTangentSpeed (float32 speed)
 Set the desired tangent speed for a conveyor belt behavior. In meters per second.

Protected Types

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

Protected Member Functions

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

Static Protected Member Functions

static void AddType (b2ContactCreateFcn *createFcn, b2ContactDestroyFcn *destroyFcn, b2Shape::Type typeA, b2Shape::Type typeB)
static b2ContactCreate (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)
static void InitializeRegisters ()

Protected Attributes

b2Fixturem_fixtureA
b2Fixturem_fixtureB
uint32 m_flags
float32 m_friction
int32 m_indexA
int32 m_indexB
b2Manifold m_manifold
b2Contactm_next
b2ContactEdge m_nodeA
b2ContactEdge m_nodeB
b2Contactm_prev
float32 m_restitution
float32 m_tangentSpeed
float32 m_toi
int32 m_toiCount

Static Protected Attributes

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

Friends

class b2Body
class b2ContactManager
class b2ContactSolver
class b2Fixture
class b2World

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.

Definition at line 77 of file b2Contact.h.


Member Enumeration Documentation

anonymous enum [protected]
Enumerator:
e_islandFlag 
e_touchingFlag 
e_enabledFlag 
e_filterFlag 
e_bulletHitFlag 
e_toiFlag 

Definition at line 155 of file b2Contact.h.


Constructor & Destructor Documentation

b2Contact::b2Contact ( ) [inline, protected]

Definition at line 186 of file b2Contact.h.

b2Contact::b2Contact ( b2Fixture fixtureA,
int32  indexA,
b2Fixture fixtureB,
int32  indexB 
) [protected]

Definition at line 126 of file b2Contact.cpp.

virtual b2Contact::~b2Contact ( ) [inline, protected, virtual]

Definition at line 188 of file b2Contact.h.


Member Function Documentation

void b2Contact::AddType ( b2ContactCreateFcn createFcn,
b2ContactDestroyFcn destroyFcn,
b2Shape::Type  typeA,
b2Shape::Type  typeB 
) [static, protected]

Definition at line 51 of file b2Contact.cpp.

b2Contact * b2Contact::Create ( b2Fixture fixtureA,
int32  indexA,
b2Fixture fixtureB,
int32  indexB,
b2BlockAllocator allocator 
) [static, protected]
static void b2Contact::Destroy ( b2Contact contact,
b2Shape::Type  typeA,
b2Shape::Type  typeB,
b2BlockAllocator allocator 
) [static, protected]
void b2Contact::Destroy ( b2Contact contact,
b2BlockAllocator allocator 
) [static, protected]
virtual void b2Contact::Evaluate ( b2Manifold manifold,
const b2Transform xfA,
const b2Transform xfB 
) [pure virtual]
void b2Contact::FlagForFiltering ( ) [inline, protected]

Flag this contact for filtering. Filtering will occur the next time step.

Definition at line 304 of file b2Contact.h.

int32 b2Contact::GetChildIndexA ( ) const [inline]

Get the child primitive index for fixture A.

Definition at line 289 of file b2Contact.h.

int32 b2Contact::GetChildIndexB ( ) const [inline]

Get the child primitive index for fixture B.

Definition at line 299 of file b2Contact.h.

Get fixture A in this contact.

Definition at line 274 of file b2Contact.h.

const b2Fixture * b2Contact::GetFixtureA ( ) const [inline]

Definition at line 279 of file b2Contact.h.

Get fixture B in this contact.

Definition at line 284 of file b2Contact.h.

const b2Fixture * b2Contact::GetFixtureB ( ) const [inline]

Definition at line 294 of file b2Contact.h.

float32 b2Contact::GetFriction ( ) const [inline]

Get the friction.

Definition at line 314 of file b2Contact.h.

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

Definition at line 222 of file b2Contact.h.

const b2Manifold * b2Contact::GetManifold ( ) const [inline]

Definition at line 227 of file b2Contact.h.

b2Contact * b2Contact::GetNext ( ) [inline]

Get the next contact in the world's contact list.

Definition at line 264 of file b2Contact.h.

const b2Contact * b2Contact::GetNext ( ) const [inline]

Definition at line 269 of file b2Contact.h.

float32 b2Contact::GetRestitution ( ) const [inline]

Get the restitution.

Definition at line 329 of file b2Contact.h.

float32 b2Contact::GetTangentSpeed ( ) const [inline]

Get the desired tangent speed. In meters per second.

Definition at line 344 of file b2Contact.h.

void b2Contact::GetWorldManifold ( b2WorldManifold worldManifold) const [inline]

Get the world manifold.

Definition at line 232 of file b2Contact.h.

void b2Contact::InitializeRegisters ( ) [static, protected]

Definition at line 40 of file b2Contact.cpp.

bool b2Contact::IsEnabled ( ) const [inline]

Has this contact been disabled?

Definition at line 254 of file b2Contact.h.

bool b2Contact::IsTouching ( ) const [inline]

Is this contact touching?

Definition at line 259 of file b2Contact.h.

void b2Contact::ResetFriction ( ) [inline]

Reset the friction mixture to the default value.

Definition at line 319 of file b2Contact.h.

void b2Contact::ResetRestitution ( ) [inline]

Reset the restitution to the default value.

Definition at line 334 of file b2Contact.h.

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

Definition at line 242 of file b2Contact.h.

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.

Definition at line 309 of file b2Contact.h.

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.

Definition at line 324 of file b2Contact.h.

void b2Contact::SetTangentSpeed ( float32  speed) [inline]

Set the desired tangent speed for a conveyor belt behavior. In meters per second.

Definition at line 339 of file b2Contact.h.

void b2Contact::Update ( b2ContactListener listener) [protected]

Definition at line 161 of file b2Contact.cpp.


Friends And Related Function Documentation

friend class b2Body [friend]

Definition at line 151 of file b2Contact.h.

friend class b2ContactManager [friend]

Definition at line 148 of file b2Contact.h.

friend class b2ContactSolver [friend]

Definition at line 150 of file b2Contact.h.

friend class b2Fixture [friend]

Definition at line 152 of file b2Contact.h.

friend class b2World [friend]

Definition at line 149 of file b2Contact.h.


Member Data Documentation

Definition at line 205 of file b2Contact.h.

Definition at line 206 of file b2Contact.h.

Definition at line 195 of file b2Contact.h.

Definition at line 216 of file b2Contact.h.

Definition at line 208 of file b2Contact.h.

Definition at line 209 of file b2Contact.h.

Definition at line 211 of file b2Contact.h.

Definition at line 199 of file b2Contact.h.

Definition at line 202 of file b2Contact.h.

Definition at line 203 of file b2Contact.h.

Definition at line 198 of file b2Contact.h.

Definition at line 217 of file b2Contact.h.

Definition at line 219 of file b2Contact.h.

Definition at line 214 of file b2Contact.h.

Definition at line 213 of file b2Contact.h.

bool b2Contact::s_initialized = false [static, protected]

Definition at line 193 of file b2Contact.h.

Definition at line 192 of file b2Contact.h.


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


mvsim
Author(s):
autogenerated on Thu Jun 6 2019 22:08:35