flimEngine
CollisionVolumeBoundingBoxBase Class Referenceabstract

#include <CollisionVolumeBoundingBoxBase.h>

Inheritance diagram for CollisionVolumeBoundingBoxBase:
Inheritance graph
Collaboration diagram for CollisionVolumeBoundingBoxBase:
Collaboration graph

Public Member Functions

 CollisionVolumeBoundingBoxBase ()=default
 
virtual ~CollisionVolumeBoundingBoxBase ()
 
 CollisionVolumeBoundingBoxBase (const CollisionVolumeBoundingBoxBase &)=default
 
CollisionVolumeBoundingBoxBaseoperator= (const CollisionVolumeBoundingBoxBase &)=default
 
virtual errcode ComputeData (Model *, Matrix &) override=0
 Calculates the collision data based on a model and its world matrix. More...
 
virtual bool Intersect (const CollisionVolume &) const override=0
 
virtual bool Intersect (const CollisionVolumeAABB &) const =0
 
virtual bool Intersect (const CollisionVolumeOBB &) const =0
 Intersects the given other. More...
 
virtual bool Intersect (const CollisionVolumeBSphere &) const =0
 
virtual bool Intersect (const CollisionVolumeOcclusionLine &) const =0
 Intersects the given parameter 1. More...
 
errcode DebugView (const Vect &) const override=0
 Debug view. More...
 
const Vect & getMin () const
 
const Vect & getMax () const
 
const Matrix & getWorld () const
 
const Vect & getHalfDiagonal () const
 
float getScaleSquared () const
 
const Vect & getCenter () const
 
- Public Member Functions inherited from CollisionVolume
 CollisionVolume ()=default
 
virtual ~CollisionVolume ()
 
 CollisionVolume (const CollisionVolume &)=default
 
CollisionVolumeoperator= (const CollisionVolume &)=default
 

Protected Attributes

Vect max
 
Vect min
 
Matrix world
 
Vect center
 
Vect halfDiagonal
 
float scale
 

Constructor & Destructor Documentation

◆ CollisionVolumeBoundingBoxBase() [1/2]

CollisionVolumeBoundingBoxBase::CollisionVolumeBoundingBoxBase ( )
default

◆ ~CollisionVolumeBoundingBoxBase()

virtual CollisionVolumeBoundingBoxBase::~CollisionVolumeBoundingBoxBase ( )
inlinevirtual

◆ CollisionVolumeBoundingBoxBase() [2/2]

CollisionVolumeBoundingBoxBase::CollisionVolumeBoundingBoxBase ( const CollisionVolumeBoundingBoxBase )
default

Member Function Documentation

◆ ComputeData()

virtual errcode CollisionVolumeBoundingBoxBase::ComputeData ( Model *  mod,
Matrix &  mat 
)
overridepure virtual

Calculates the collision data based on a model and its world matrix.

Author
Jack Campbell
Date
3/5/2017
Parameters
[in,out]modIf non-null, the modifier.
[in,out]matThe matrix.
Returns
The calculated data.

Implements CollisionVolume.

Implemented in CollisionVolumeAABB, and CollisionVolumeOBB.

◆ DebugView()

errcode CollisionVolumeBoundingBoxBase::DebugView ( const Vect &  col) const
overridepure virtual

Debug view.

Author
Jack Campbell
Date
4/7/2017
Parameters
colThe col.
Returns
An errcode.

Implements CollisionVolume.

Implemented in CollisionVolumeAABB, and CollisionVolumeOBB.

◆ getCenter()

const Vect& CollisionVolumeBoundingBoxBase::getCenter ( ) const
inline

◆ getHalfDiagonal()

const Vect& CollisionVolumeBoundingBoxBase::getHalfDiagonal ( ) const
inline

◆ getMax()

const Vect& CollisionVolumeBoundingBoxBase::getMax ( ) const
inline

◆ getMin()

const Vect& CollisionVolumeBoundingBoxBase::getMin ( ) const
inline

◆ getScaleSquared()

float CollisionVolumeBoundingBoxBase::getScaleSquared ( ) const
inline

◆ getWorld()

const Matrix& CollisionVolumeBoundingBoxBase::getWorld ( ) const
inline

◆ Intersect() [1/5]

virtual bool CollisionVolumeBoundingBoxBase::Intersect ( const CollisionVolume ) const
overridepure virtual

Implements CollisionVolume.

Implemented in CollisionVolumeAABB, and CollisionVolumeOBB.

◆ Intersect() [2/5]

virtual bool CollisionVolumeBoundingBoxBase::Intersect ( const CollisionVolumeAABB ) const
pure virtual

Implements CollisionVolume.

Implemented in CollisionVolumeAABB, and CollisionVolumeOBB.

◆ Intersect() [3/5]

virtual bool CollisionVolumeBoundingBoxBase::Intersect ( const CollisionVolumeOBB other) const
pure virtual

Intersects the given other.

Author
Jack Campbell
Date
4/15/2017
Parameters
otherThe other.
Returns
True if it succeeds, false if it fails.

Implements CollisionVolume.

Implemented in CollisionVolumeAABB, and CollisionVolumeOBB.

◆ Intersect() [4/5]

virtual bool CollisionVolumeBoundingBoxBase::Intersect ( const CollisionVolumeBSphere ) const
pure virtual

Implements CollisionVolume.

Implemented in CollisionVolumeAABB, and CollisionVolumeOBB.

◆ Intersect() [5/5]

virtual bool CollisionVolumeBoundingBoxBase::Intersect ( const CollisionVolumeOcclusionLine ) const
pure virtual

Intersects the given parameter 1.

Author
Jack Campbell
Date
5/3/2017
Parameters
parameter1The first parameter.
Returns
True if it succeeds, false if it fails.

Implements CollisionVolume.

Implemented in CollisionVolumeAABB, and CollisionVolumeOBB.

◆ operator=()

CollisionVolumeBoundingBoxBase& CollisionVolumeBoundingBoxBase::operator= ( const CollisionVolumeBoundingBoxBase )
default

Member Data Documentation

◆ center

Vect CollisionVolumeBoundingBoxBase::center
protected

◆ halfDiagonal

Vect CollisionVolumeBoundingBoxBase::halfDiagonal
protected

◆ max

Vect CollisionVolumeBoundingBoxBase::max
protected

◆ min

Vect CollisionVolumeBoundingBoxBase::min
protected

◆ scale

float CollisionVolumeBoundingBoxBase::scale
protected

◆ world

Matrix CollisionVolumeBoundingBoxBase::world
protected

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