Wraith  0.1.5
Basic 3D game engine in C++
CollisionVolumeBoundingBox Class Referenceabstract

A collision volume base class. More...

#include <CollisionVolumeBoundingBox.h>

Inheritance diagram for CollisionVolumeBoundingBox:
Inheritance graph
Collaboration diagram for CollisionVolumeBoundingBox:
Collaboration graph

Public Member Functions

 CollisionVolumeBoundingBox (const CollisionVolumeBoundingBox &)=default
 
CollisionVolumeBoundingBoxoperator= (const CollisionVolumeBoundingBox &)=default
 
 CollisionVolumeBoundingBox (CollisionVolumeBoundingBox &&)=default
 
CollisionVolumeBoundingBoxoperator= (CollisionVolumeBoundingBox &&)=default
 
virtual void computeData (Model *pModel, const Matrix &worldMatrix)=0
 Calculates the data. More...
 
virtual bool intersectAccept (const CollisionVolumeBoundingBox &CollisionVolumeBoundingBox) const =0
 Accepts a collision volume to perform intersect test. More...
 
virtual bool intersectVisitor (const CollisionVolumeBoundingBoxBSphere &collisionBSphere) const =0
 Visits a collision volume BSphere to perform intersect test. More...
 
virtual bool intersectVisitor (const CollisionVolumeBoundingBoxAABB &AABB) const =0
 Visits a collision volume AABB to perform intersect test. More...
 
virtual bool intersectVisitor (const CollisionVolumeBoundingBoxOBB &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...
 
- Public Member Functions inherited from CollisionVolume
 CollisionVolume (const CollisionVolume &)=default
 
CollisionVolumeoperator= (const CollisionVolume &)=default
 
 CollisionVolume (CollisionVolume &&)=default
 
CollisionVolumeoperator= (CollisionVolume &&)=default
 
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 int getMaxDepth () const =0
 

Private Member Functions

virtual void debugDraw (const Vect &color, int depth) const =0
 Draws it collision volume. More...
 

Detailed Description

A collision volume base class.

Member Function Documentation

◆ computeData()

virtual void CollisionVolumeBoundingBox::computeData ( Model *  pModel,
const Matrix &  worldMatrix 
)
pure virtual

Calculates the data.

Parameters
pModel[in,out] If non-null, the model.
worldMatrixThe world matrix.

Implements CollisionVolume.

◆ debugDraw()

virtual void CollisionVolumeBoundingBox::debugDraw ( const Vect &  color,
int  depth 
) const
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.

Parameters
colorthe color to render the collision volume.
depththe depth to render collision volume.

Implements CollisionVolume.

◆ intersectAccept()

virtual bool CollisionVolumeBoundingBox::intersectAccept ( const CollisionVolumeBoundingBox CollisionVolumeBoundingBox) const
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().

Parameters
CollisionVolumeBoundingBoxa collision volume.

◆ intersectVisitor() [1/4]

virtual bool CollisionVolumeBoundingBox::intersectVisitor ( const CollisionVolumeBoundingBoxAABB &  AABB) const
pure virtual

Visits a collision volume AABB to perform intersect test.

Uses Visitor Pattern. This is the second step of the process.

Parameters
AABBa collision volume AABB.

◆ intersectVisitor() [2/4]

virtual bool CollisionVolumeBoundingBox::intersectVisitor ( const CollisionVolumeBoundingBoxBSphere &  collisionBSphere) const
pure virtual

Visits a collision volume BSphere to perform intersect test.

Uses Visitor Pattern. This is the second step of the process.

Parameters
collisionBSpherea collision volume BSphere.

◆ intersectVisitor() [3/4]

virtual bool CollisionVolumeBoundingBox::intersectVisitor ( const CollisionVolumeBoundingBoxOBB &  OBB) const
pure virtual

Visits a collision volume OBB to perform intersect test.

Uses Visitor Pattern. This is the second step of the process.

Parameters
OBBa collision volume OBB.

◆ intersectVisitor() [4/4]

virtual bool CollisionVolumeBoundingBox::intersectVisitor ( const CollisionVolumeOctree Octree) const
pure virtual

Visits a collision volume Octree to perform intersect test.

Uses Visitor Pattern. This is the second step of the process.

Parameters
Octreea collision volume Octree.

Implements CollisionVolume.


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