Sly Engine
|
#include <CollisionVolumeAABB.h>
Public Member Functions | |
CollisionVolumeAABB () | |
Default constructor. More... | |
CollisionVolumeAABB (const CollisionVolumeAABB &)=delete | |
Copy constructor. More... | |
CollisionVolumeAABB (CollisionVolumeAABB &&)=delete | |
Move constructor. More... | |
CollisionVolumeAABB & | operator= (const CollisionVolumeAABB &)=delete |
Assignment operator. More... | |
CollisionVolumeAABB & | operator= (CollisionVolumeAABB &&)=delete |
Move assignment operator. More... | |
virtual | ~CollisionVolumeAABB ()=default |
Deconstructor. More... | |
CollisionVolumeAABB (Model *pModel) | |
virtual void | DebugView (const Vect &col) const override |
Call to visualize the internal AABB from a generic CollisionVolume type. More... | |
virtual void | ComputeData (Model *pModel, const Matrix &mat) override |
Calculates the data that is required for the AABB to know. More... | |
virtual void | ComputeData (Vect &min, Vect &max) |
virtual bool | IntersectAccept (const CollisionVolume &otherVolume) const override |
Intersect accept for a generic collision volume. More... | |
virtual bool | IntersectVisit (const CollisionVolumeBSphere &other) const override |
Intersect visit for another collision volume of type BSphere. More... | |
virtual bool | IntersectVisit (const CollisionVolumeAABB &other) const override |
Intersect visit for another collision volume of similar type (AABB). More... | |
virtual bool | IntersectVisit (const CollisionVolumeOBB &other) const override |
Intersect visit for another collision volume of type OBB. More... | |
Vect | GetCenter () const |
Gets the center of the AABB and returns it. More... | |
Vect | GetMin () const |
Gets the minimum of the AABB (calculated through ComputeData) and returns it. More... | |
Vect | GetMax () const |
Gets the maximum of the AABB (calculated through ComputeData) and returns it. More... | |
Vect | GetHalfDiagonal () const |
Gets half diagonal. More... | |
float | GetScale () const |
Gets the scale. More... | |
Matrix | GetWorld () const |
Gets the world matrix. More... | |
Matrix | GetOriginalWorld () const |
void | SetMinMax (Vect &min, Vect &max) |
Sets minimum and maximum corners of the AABB, no additional computation. More... | |
Public Member Functions inherited from CollisionVolume | |
CollisionVolume ()=default | |
Default constructor. More... | |
CollisionVolume (const CollisionVolume &)=delete | |
Copy constructor. More... | |
CollisionVolume (CollisionVolume &&)=delete | |
Move constructor. More... | |
CollisionVolume & | operator= (const CollisionVolume &)=default |
Assignment operator. More... | |
CollisionVolume & | operator= (CollisionVolume &&)=delete |
Move assignment operator. More... | |
virtual | ~CollisionVolume ()=default |
Deconstructor. More... | |
Private Attributes | |
Matrix | world |
Matrix | originalWorld |
Vect | center |
Stored Center from ComputeData. More... | |
Vect | minCorner |
Stored minimum corner from ComputeData. More... | |
Vect | maxCorner |
Stored maximum corner from ComputeData. More... | |
Vect | halfDiagonal |
float | scaleSquared |
CollisionVolumeAABB::CollisionVolumeAABB | ( | ) |
Default constructor.
|
delete |
Copy constructor.
|
delete |
Move constructor.
|
virtualdefault |
Deconstructor.
CollisionVolumeAABB::CollisionVolumeAABB | ( | Model * | pModel | ) |
|
overridevirtual |
Calculates the data that is required for the AABB to know.
[in,out] | pModel | If non-null, the model. |
mat | The world matrix. |
Implements CollisionVolume.
|
virtual |
|
overridevirtual |
Call to visualize the internal AABB from a generic CollisionVolume type.
col | The color. |
Implements CollisionVolume.
Vect CollisionVolumeAABB::GetCenter | ( | ) | const |
Gets the center of the AABB and returns it.
Vect CollisionVolumeAABB::GetHalfDiagonal | ( | ) | const |
Gets half diagonal.
Vect CollisionVolumeAABB::GetMax | ( | ) | const |
Gets the maximum of the AABB (calculated through ComputeData) and returns it.
Vect CollisionVolumeAABB::GetMin | ( | ) | const |
Gets the minimum of the AABB (calculated through ComputeData) and returns it.
Matrix CollisionVolumeAABB::GetOriginalWorld | ( | ) | const |
float CollisionVolumeAABB::GetScale | ( | ) | const |
Gets the scale.
Matrix CollisionVolumeAABB::GetWorld | ( | ) | const |
Gets the world matrix.
|
overridevirtual |
Intersect accept for a generic collision volume.
otherVolume | The other volume. |
Implements CollisionVolume.
|
overridevirtual |
Intersect visit for another collision volume of similar type (AABB).
other | The other collision volume. |
Implements CollisionVolume.
|
overridevirtual |
Intersect visit for another collision volume of type BSphere.
other | The other BSphere. |
Implements CollisionVolume.
|
overridevirtual |
Intersect visit for another collision volume of type OBB.
other | The other collision volume. |
Implements CollisionVolume.
|
delete |
Move assignment operator.
|
delete |
Assignment operator.
void CollisionVolumeAABB::SetMinMax | ( | Vect & | min, |
Vect & | max | ||
) |
Sets minimum and maximum corners of the AABB, no additional computation.
[in,out] | min | The minimum. |
[in,out] | max | The maximum. |
|
private |
Stored Center from ComputeData.
|
private |
|
private |
Stored maximum corner from ComputeData.
|
private |
Stored minimum corner from ComputeData.
|
private |
|
private |
|
private |