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
 
CollisionManageroperator= (const CollisionManager &)=delete
 
 CollisionManager (CollisionManager &&)=delete
 
CollisionManageroperator= (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...
 
CollidableGroupgetCollidableGroup (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: