Sly Engine
CollisionManager Class Reference

#include <CollisionManager.h>

Collaboration diagram for CollisionManager:
Collaboration graph

Public Types

using PWTypeID = int
 Identifier type definition. More...
 

Public Member Functions

 CollisionManager ()
 Default constructor. More...
 
 CollisionManager (const CollisionManager &)=delete
 Copy constructor. More...
 
 CollisionManager (CollisionManager &&)=delete
 Move constructor. More...
 
CollisionManager & operator= (const CollisionManager &)=delete
 Assignment operator. More...
 
CollisionManager & operator= (CollisionManager &&)=delete
 Move assignment operator. More...
 
 ~CollisionManager ()
 Deconstructor. More...
 
template<typename C >
PWTypeID GetTypeID ()
 Gets type identifier. More...
 
template<typename C1 , typename C2 >
void SetCollisionPair ()
 Sets collision pair. More...
 
template<typename C1 >
void SetCollisionSelf ()
 Sets collision self. More...
 
template<typename C1 >
void SetCollisionTerrain ()
 Sets collision terrain. More...
 
CollidableGroup * GetColGroup (PWTypeID id)
 Gets col group. More...
 
void ProcessCollisions ()
 Process the collisions. More...
 
void UpdateGroupVolumes ()
 

Static Public Attributes

static const PWTypeID PWID_UNDEFINED = -1
 The pwid undefined. More...
 

Private Types

typedef std::vector< CollidableGroup * > CollidableGroupCollection
 Defines an alias representing collection of collidable groups. More...
 
typedef std::list< CollisionTestCommandBase * > CollisionTestCommands
 Defines an alias representing the collision test commands. More...
 

Private Member Functions

void SetGroupForTypeID (CollisionManager::PWTypeID ind)
 Sets group for type identifier. More...
 

Private Attributes

const int MAX_COLLISION_GROUP = 20
 Maximum amount of collision groups allowed. More...
 
CollidableGroupCollection ColGroupCollection
 Collection of col groups. More...
 
CollisionTestCommands colTestCommands
 The collision test commands. More...
 

Static Private Attributes

static PWTypeID TypeIDNextNumber = 0
 The type identifier next number. More...
 

Member Typedef Documentation

◆ CollidableGroupCollection

Defines an alias representing collection of collidable groups.

◆ CollisionTestCommands

Defines an alias representing the collision test commands.

◆ PWTypeID

Identifier type definition.

Constructor & Destructor Documentation

◆ CollisionManager() [1/3]

CollisionManager::CollisionManager ( )

Default constructor.

◆ CollisionManager() [2/3]

CollisionManager::CollisionManager ( const CollisionManager &  )
delete

Copy constructor.

◆ CollisionManager() [3/3]

CollisionManager::CollisionManager ( CollisionManager &&  )
delete

Move constructor.

◆ ~CollisionManager()

CollisionManager::~CollisionManager ( )

Deconstructor.

Member Function Documentation

◆ GetColGroup()

CollidableGroup * CollisionManager::GetColGroup ( PWTypeID  id)

Gets col group.

Parameters
idThe identifier.
Returns
Null if it fails, else the collision group identifier.
Here is the caller graph for this function:

◆ GetTypeID()

template<typename C >
template< typename C > PWTypeID CollisionManager::GetTypeID ( )
inline

Gets type identifier.

Template Parameters
CType of the c.
Returns
The type identifier.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

CollisionManager& CollisionManager::operator= ( CollisionManager &&  )
delete

Move assignment operator.

◆ operator=() [2/2]

CollisionManager& CollisionManager::operator= ( const CollisionManager &  )
delete

Assignment operator.

◆ ProcessCollisions()

void CollisionManager::ProcessCollisions ( )

Process the collisions.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetCollisionPair()

template<typename C1 , typename C2 >
template< typename C1, typename C2 > void CollisionManager::SetCollisionPair ( )
inline

Sets collision pair.

Template Parameters
C1Type of the c 1.
C2Type of the c 2.
Here is the caller graph for this function:

◆ SetCollisionSelf()

template<typename C1 >
template< typename C1 > void CollisionManager::SetCollisionSelf ( )
inline

Sets collision self.

Template Parameters
C1Type of the c 1.
Here is the caller graph for this function:

◆ SetCollisionTerrain()

template<typename C1 >
template< typename C1 > void CollisionManager::SetCollisionTerrain ( )
inline

Sets collision terrain.

Template Parameters
C1Type of the c 1.
Here is the caller graph for this function:

◆ SetGroupForTypeID()

void CollisionManager::SetGroupForTypeID ( CollisionManager::PWTypeID  ind)
private

Sets group for type identifier.

Parameters
indThe collection group identifier.
Here is the caller graph for this function:

◆ UpdateGroupVolumes()

void CollisionManager::UpdateGroupVolumes ( )
Here is the caller graph for this function:

Member Data Documentation

◆ ColGroupCollection

CollidableGroupCollection CollisionManager::ColGroupCollection
private

Collection of col groups.

◆ colTestCommands

CollisionTestCommands CollisionManager::colTestCommands
private

The collision test commands.

◆ MAX_COLLISION_GROUP

const int CollisionManager::MAX_COLLISION_GROUP = 20
private

Maximum amount of collision groups allowed.

◆ PWID_UNDEFINED

const PWTypeID CollisionManager::PWID_UNDEFINED = -1
static

The pwid undefined.

◆ TypeIDNextNumber

CollisionManager::PWTypeID CollisionManager::TypeIDNextNumber = 0
staticprivate

The type identifier next number.


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