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...
 
CollisionManageroperator= (const CollisionManager &)=delete
 Assignment operator. More...
 
CollisionManageroperator= (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...
 
CollidableGroupGetColGroup (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: