Sly Engine
|
#include <CollidableGroup.h>
Public Types | |
typedef std::list< Collidable * > | CollidableCollection |
Defines an alias representing collection of collidables. More... | |
typedef CollidableCollection::iterator | CollidableCollectionRef |
Defines an alias representing the collidable collection reference. More... | |
Public Member Functions | |
CollidableGroup () | |
Default constructor. More... | |
CollidableGroup (const CollidableGroup &)=delete | |
Copy constructor. More... | |
CollidableGroup (CollidableGroup &&)=delete | |
Move constructor. More... | |
CollidableGroup & | operator= (const CollidableGroup &)=delete |
Assignment operator. More... | |
CollidableGroup & | operator= (CollidableGroup &&)=delete |
Move assignment operator. More... | |
~CollidableGroup () | |
Deconstructor. More... | |
void | Register (Collidable *c, CollidableCollectionRef &ref) |
Registers this. More... | |
void | Deregister (const CollidableCollectionRef &ref) |
Deregisters given collidable. More... | |
const CollidableCollection & | GetColliderCollection () |
Gets collider collection. More... | |
CollisionVolumeAABB & | privGetAABB () |
Gives the stored AABB for the collider group. More... | |
void | UpdateAABB () |
Updates the AABB Collision data (ONCE PER FRAME) More... | |
Private Attributes | |
CollidableCollection | CollideCol |
The collidable collection. More... | |
CollisionVolumeAABB * | groupAABB |
The shared AABB for the group. More... | |
std::list< Collidable * > CollidableGroup::CollidableCollection |
Defines an alias representing collection of collidables.
CollidableCollection::iterator CollidableGroup::CollidableCollectionRef |
Defines an alias representing the collidable collection reference.
CollidableGroup::CollidableGroup | ( | ) |
Default constructor.
|
delete |
Copy constructor.
|
delete |
Move constructor.
CollidableGroup::~CollidableGroup | ( | ) |
Deconstructor.
void CollidableGroup::Deregister | ( | const CollidableCollectionRef & | ref | ) |
Deregisters given collidable.
ref | The reference. |
const CollidableCollection & CollidableGroup::GetColliderCollection | ( | ) |
Gets collider collection.
|
delete |
Move assignment operator.
|
delete |
Assignment operator.
CollisionVolumeAABB & CollidableGroup::privGetAABB | ( | ) |
Gives the stored AABB for the collider group.
void CollidableGroup::Register | ( | Collidable * | c, |
CollidableCollectionRef & | ref | ||
) |
Registers this.
[in,out] | c | If non-null, a Collidable to process. |
[in,out] | ref | The reference to the collidable storage. |
void CollidableGroup::UpdateAABB | ( | ) |
Updates the AABB Collision data (ONCE PER FRAME)
|
private |
The collidable collection.
|
private |
The shared AABB for the group.
To work with Tiered collision, a group AABB was added for cheaper intersection testing with multiple collider volumes.