Wraith
0.1.5
Basic 3D game engine in C++
|
A collision volume base class. More...
#include <CollisionVolume.h>
Public Member Functions | |
CollisionVolume (const CollisionVolume &)=default | |
CollisionVolume & | operator= (const CollisionVolume &)=default |
CollisionVolume (CollisionVolume &&)=default | |
CollisionVolume & | operator= (CollisionVolume &&)=default |
virtual void | computeData (Model *pModel, const Matrix &worldMatrix)=0 |
Calculates the data. More... | |
virtual bool | intersectAccept (const CollisionVolume &collisionVolume) const =0 |
Accepts a collision volume to perform intersect test. More... | |
virtual bool | intersectVisitor (const CollisionVolumeBSphere &collisionBSphere) const =0 |
Visits a collision volume BSphere to perform intersect test. More... | |
virtual bool | intersectVisitor (const CollisionVolumeAABB &AABB) const =0 |
Visits a collision volume AABB to perform intersect test. More... | |
virtual bool | intersectVisitor (const CollisionVolumeOBB &OBB) const =0 |
Visits a collision volume OBB to perform intersect test. More... | |
virtual bool | intersectVisitor (const CollisionVolumeOctree &Octree) const =0 |
Visits a collision volume Octree to perform intersect test. More... | |
virtual int | getMaxDepth () const =0 |
Private Member Functions | |
virtual void | debugDraw (const Vect &color, int depth) const =0 |
Draws it collision volume. More... | |
Friends | |
class | CollisionVolumeAttorney |
A collision volume base class.
|
pure virtual |
Calculates the data.
pModel | [in,out] If non-null, the model. |
worldMatrix | The world matrix. |
Implemented in CollisionVolumeBoundingBox, CollisionVolumeOctree, CollisionVolumeOBB, CollisionVolumeBSphere, and CollisionVolumeAABB.
|
privatepure virtual |
Draws it collision volume.
Used for debuggin purposes. Depth value is used only for Octree collision value. All other collision volumes ignore it.
color | the color to render the collision volume. |
depth | the depth to render collision volume. |
Implemented in CollisionVolumeOctree, CollisionVolumeOBB, CollisionVolumeBSphere, CollisionVolumeAABB, and CollisionVolumeBoundingBox.
|
pure virtual |
Accepts a collision volume to perform intersect test.
Uses Visitor Pattern. This is the first step of the process. Then calls on intersectVisitor().
collisionVolume | a collision volume. |
Implemented in CollisionVolumeOctree, CollisionVolumeOBB, CollisionVolumeBSphere, and CollisionVolumeAABB.
|
pure virtual |
Visits a collision volume AABB to perform intersect test.
Uses Visitor Pattern. This is the second step of the process.
AABB | a collision volume AABB. |
Implemented in CollisionVolumeOctree, CollisionVolumeOBB, CollisionVolumeBSphere, and CollisionVolumeAABB.
|
pure virtual |
Visits a collision volume BSphere to perform intersect test.
Uses Visitor Pattern. This is the second step of the process.
collisionBSphere | a collision volume BSphere. |
Implemented in CollisionVolumeOctree, CollisionVolumeOBB, CollisionVolumeBSphere, and CollisionVolumeAABB.
|
pure virtual |
Visits a collision volume OBB to perform intersect test.
Uses Visitor Pattern. This is the second step of the process.
OBB | a collision volume OBB. |
Implemented in CollisionVolumeOctree, CollisionVolumeOBB, CollisionVolumeBSphere, and CollisionVolumeAABB.
|
pure virtual |
Visits a collision volume Octree to perform intersect test.
Uses Visitor Pattern. This is the second step of the process.
Octree | a collision volume Octree. |
Implemented in CollisionVolumeOBB, CollisionVolumeBoundingBox, CollisionVolumeOctree, CollisionVolumeBSphere, and CollisionVolumeAABB.