Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | Related Pages

ContactNode Class Reference

#include <physics.h>

Collaboration diagram for ContactNode:

Collaboration graph
[legend]
List of all members.

Detailed Description

Node in contact directed acyclic graph.

Author:
Mattias Jansson (mattias@realityrift.com)


Public Types

enum  CONTACTMODE { COLLISION, CONTACT, SHOCKPROPAGATION }

Public Member Functions

 ContactNode (RigidBody *pkBody)
virtual ~ContactNode ()
bool Solve (CONTACTMODE eMode, unsigned int uiPass, unsigned int uiNumPasses)
void ResetVisited ()
void AddContact (ContactNode *pkParent, ContactSet *pkSet)
void Clear ()

Public Attributes

RigidBodym_pkBody
std::vector< ContactNode * > m_vpkParents
std::vector< ContactSet * > m_vpkContactSets
std::vector< Matrix * > m_vpkCollisionMatrix
std::vector< Matrix * > m_vpkInvCollisionMatrix
std::vector< ContactNode * > m_vpkChildren
bool m_bVisited
bool m_bFree


Member Enumeration Documentation

enum CONTACTMODE
 

Contact resolution mode

Enumeration values:
COLLISION  Collisions
CONTACT  Contacts
SHOCKPROPAGATION  Shock propagation


Constructor & Destructor Documentation

ContactNode RigidBody pkBody  ) 
 

Parameters:
pkBody Rigidbody object

virtual ~ContactNode  )  [virtual]
 


Member Function Documentation

bool Solve CONTACTMODE  eMode,
unsigned int  uiPass,
unsigned int  uiNumPasses
 

Sweep the contact DAG and solve contacts

Parameters:
eAction Contact mode
uiPass Current pass
uiNumPasses Number of passes

void ResetVisited  ) 
 

Reset visited flag

void AddContact ContactNode pkParent,
ContactSet pkSet
 

Add a contact

Parameters:
pkParent Parent DAG node
pkSet Contact set

void Clear  ) 
 

Clear all data


Member Data Documentation

RigidBody* m_pkBody
 

Rigid body

std::vector< ContactNode* > m_vpkParents
 

Parent nodes for each contact

std::vector< ContactSet* > m_vpkContactSets
 

Contact sets for each parent contact

std::vector< Matrix* > m_vpkCollisionMatrix
 

Collision matrices for each parent contact's points

std::vector< Matrix* > m_vpkInvCollisionMatrix
 

Inverse collision matrices for each parent contact's points

std::vector< ContactNode* > m_vpkChildren
 

Children

bool m_bVisited
 

Visited flag

bool m_bFree
 

Free (no parent node contact)


The documentation for this class was generated from the following file:
Generated on Wed Jan 21 14:21:13 2004 for NeoEngine by doxygen 1.3.5