Wraith  0.1.5
Basic 3D game engine in C++
CollisionManager Class Reference
Collaboration diagram for CollisionManager:
Collaboration graph

Public Types

typedef int CollisionTypeID
 

Public Member Functions

 CollisionManager (const CollisionManager &)=delete
 
CollisionManager & operator= (const CollisionManager &)=delete
 
 CollisionManager (CollisionManager &&)=delete
 
CollisionManager & operator= (CollisionManager &&)=delete
 
template<class UserClass1 , class UserClass2 >
void setCollisionPair ()
 Sets collision pair test for the current scene More...
 
template<class UserClass >
void setCollisionSelf ()
 Sets collision self test for current scene More...
 
template<class UserClass >
void setCollisionTerrain ()
 Sets collision terrain test for current scene More...
 
template<class UserClass >
CollisionTypeID getCollisionTypeID ()
 Gets collision type identifier. More...
 
CollidableGroup * getCollidableGroup (CollisionTypeID id) const
 Gets collidable group. More...
 
void processCollisions ()
 Process the registered collisions. More...
 

Static Public Attributes

static const CollisionTypeID ID_UNDEFINED = -1
 

Private Types

typedef std::vector< CollidableGroup * > GroupCollection
 
typedef std::list< CollisionTestCommand * > StorageList
 

Private Member Functions

void setGroupForTypeID (CollisionTypeID)
 
void checkAndAdjustForIndex (CollisionTypeID)
 
bool isValidIndex (CollisionTypeID) const
 
void resizeToFit (CollisionTypeID)
 
void deinitializeCollisionGroups ()
 
void deinitializeCollisionTestCommands ()
 

Private Attributes

GroupCollection _collidableGroups
 
StorageList _collisionTestCommands
 

Static Private Attributes

static CollisionTypeID NextCollisionIDNumber = 0
 
static const size_t MAX_GROUP_SIZE = 20
 

Member Function Documentation

◆ getCollidableGroup()

CollidableGroup * CollisionManager::getCollidableGroup ( CollisionTypeID  id) const

Gets collidable group.

Parameters
idThe identifier.
Returns
the collidable group.

◆ getCollisionTypeID()

template<class UserClass >
CollisionTypeID CollisionManager::getCollisionTypeID ( )
inline

Gets collision type identifier.

Template Parameters
UserClassType of the user class.
Returns
The collision type identifier.

◆ processCollisions()

void CollisionManager::processCollisions ( )

Process the registered collisions.

Called only by the current Scene in Scene::Update().

◆ setCollisionPair()

template<class UserClass1 , class UserClass2 >
void CollisionManager::setCollisionPair ( )
inline

Sets collision pair test for the current scene

Template Parameters
UserClass1Type of the user class 1.
UserClass2Type of the user class 2.

◆ setCollisionSelf()

template<class UserClass >
void CollisionManager::setCollisionSelf ( )
inline

Sets collision self test for current scene

Template Parameters
UserClassType of the user class.

◆ setCollisionTerrain()

template<class UserClass >
void CollisionManager::setCollisionTerrain ( )
inline

Sets collision terrain test for current scene

Template Parameters
UserClassType of the user class.

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