flimEngine
Collidable Class Reference

A collidable. More...

#include <Collidable.h>

Inheritance diagram for Collidable:
Inheritance graph
Collaboration diagram for Collidable:
Collaboration graph

Public Member Functions

 Collidable ()
 
virtual ~Collidable ()
 
 Collidable (const Collidable &)=delete
 
const Collidableoperator= (const Collidable &)=delete
 
virtual errcode Collision (Collidable *)
 Collision callback. More...
 
virtual errcode CollisionEnter (Collidable *)
 Collision enter. More...
 
virtual errcode CollisionExit ()
 Collision exit. More...
 
virtual errcode CollisionTerrain (const CollisionVolumeAABB &)
 Collision terrain. More...
 
template<typename C >
errcode SubmitCollisionRegistration (C *c)
 Submit collision registration of your type. More...
 
template<typename C >
errcode SubmitCollisionDeregistration (C *c)
 Submit collision deregistration for your type. More...
 
const CollisionVolumeGetCollisionVolume () const
 
errcode SetColliderModel (Model *mod, VolumeType vol)
 Sets collider model. More...
 
errcode UpdateCollisionData (Matrix &mat)
 Updates the collision data described by matrix. More...
 
std::list< Collidable * >::iterator GetDeletionIter ()
 
errcode SetDeletionIter (std::list< Collidable *>::iterator in)
 
bool getColliding () const
 
void setColliding (bool coll)
 
const CollisionVolumeBSpheregetBSphere () const
 

Private Attributes

RegistrationState regState
 
SceneRegistrationCommandregCommand
 
SceneDeregistrationCommandderegCommand
 
CollisionVolumecollVolume
 
CollisionVolumeBSpheredefaultBS
 
Model * pColModel
 
std::list< Collidable * >::iterator deleteIter
 
bool colliding
 

Friends

template<typename C >
class CollisionRegistrationCommand
 
template<typename C >
class CollisionDeregistrationCommand
 
template<typename C1 , typename C2 >
class CollisionTestPairCommand
 
template<typename C >
class CollisionTestSelfCommand
 

Detailed Description

A collidable.

Author
Jack Campbell
Date
3/5/2017

Constructor & Destructor Documentation

◆ Collidable() [1/2]

Collidable::Collidable ( )

◆ ~Collidable()

Collidable::~Collidable ( )
virtual

◆ Collidable() [2/2]

Collidable::Collidable ( const Collidable )
delete

Member Function Documentation

◆ getBSphere()

const CollisionVolumeBSphere& Collidable::getBSphere ( ) const
inline

◆ getColliding()

bool Collidable::getColliding ( ) const
inline

◆ GetCollisionVolume()

const CollisionVolume & Collidable::GetCollisionVolume ( ) const

◆ GetDeletionIter()

std::list< Collidable * >::iterator Collidable::GetDeletionIter ( )

◆ operator=()

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

◆ setColliding()

void Collidable::setColliding ( bool  coll)
inline

◆ SetDeletionIter()

errcode Collidable::SetDeletionIter ( std::list< Collidable *>::iterator  in)

Friends And Related Function Documentation

◆ CollisionDeregistrationCommand

template<typename C >
friend class CollisionDeregistrationCommand
friend

◆ CollisionRegistrationCommand

template<typename C >
friend class CollisionRegistrationCommand
friend

◆ CollisionTestPairCommand

template<typename C1 , typename C2 >
friend class CollisionTestPairCommand
friend

◆ CollisionTestSelfCommand

template<typename C >
friend class CollisionTestSelfCommand
friend

Member Data Documentation

◆ colliding

bool Collidable::colliding
private

◆ collVolume

CollisionVolume* Collidable::collVolume
private

◆ defaultBS

CollisionVolumeBSphere* Collidable::defaultBS
private

◆ deleteIter

std::list<Collidable*>::iterator Collidable::deleteIter
private

◆ deregCommand

SceneDeregistrationCommand* Collidable::deregCommand
private

◆ pColModel

Model* Collidable::pColModel
private

◆ regCommand

SceneRegistrationCommand* Collidable::regCommand
private

◆ regState

RegistrationState Collidable::regState
private

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