![]() |
MAGE
v0.171.0
Matthias Advanced Game Engine
|
#include <bounding_volume.hpp>
Public Member Functions | |
BoundingFrustum (CXMMATRIX transform) noexcept | |
BoundingFrustum (const BoundingFrustum &frustum) noexcept=default | |
BoundingFrustum (BoundingFrustum &&frustum) noexcept=default | |
~BoundingFrustum ()=default | |
BoundingFrustum & | operator= (const BoundingFrustum &frustum) noexcept=default |
BoundingFrustum & | operator= (BoundingFrustum &&frustum) noexcept=default |
bool | Encloses (const Point3 &point) const noexcept |
bool | EnclosesStrict (const Point3 &point) const noexcept |
bool XM_CALLCONV | Encloses (FXMVECTOR point) const noexcept |
bool XM_CALLCONV | EnclosesStrict (FXMVECTOR point) const noexcept |
bool | Encloses (const AABB &aabb) const noexcept |
bool | EnclosesStrict (const AABB &aabb) const noexcept |
bool | Encloses (const BoundingSphere &sphere) const noexcept |
bool | EnclosesStrict (const BoundingSphere &sphere) const noexcept |
bool | Overlaps (const AABB &aabb) const noexcept |
bool | OverlapsStrict (const AABB &aabb) const noexcept |
bool | Overlaps (const BoundingSphere &sphere) const noexcept |
bool | OverlapsStrict (const BoundingSphere &sphere) const noexcept |
bool | operator== (const BoundingFrustum &frustum) const noexcept |
bool | operator!= (const BoundingFrustum &frustum) const noexcept |
Static Public Member Functions | |
template<typename BoundingVolumeT > | |
static bool XM_CALLCONV | Cull (FXMMATRIX object_to_projection, const BoundingVolumeT &volume) noexcept |
Private Attributes | |
union { | |
struct { | |
XMVECTOR m_left_plane | |
XMVECTOR m_right_plane | |
XMVECTOR m_bottom_plane | |
XMVECTOR m_top_plane | |
XMVECTOR m_near_plane | |
XMVECTOR m_far_plane | |
} | |
XMVECTOR m_planes [6] | |
}; | |
A class of bounding frustums.
|
explicitnoexcept |
Constructs a bounding frustum from the given transform.
If the given transform represents the view-to-projection transformation matrix, the planes of the bounding frustum are represented by view space coordinates.
If the given transform represents the world-(to-view)-to-projection transformation matrix, the planes of the bounding frustum are represented by world space coordinates.
If the given transform represents the object-(to-world-to-view)-to-projection transformation matrix, the planes of the bounding frustum are represented by object space coordinates.
[in] | transform | The transform. |
|
defaultnoexcept |
Constructs a bounding frustum from the given bounding frustum.
[in] | frustum | A reference to the bounding frustum to copy. |
|
defaultnoexcept |
Constructs a bounding frustum by moving the given bounding frustum.
[in] | frustum | A reference to the bounding frustum to move. |
|
default |
Destructs this bounding frustum.
|
staticnoexcept |
Checks if the given bounding volume is culled by the bounding frustum constructed from the given object-to-projection transformation matrix.
BoundingVolumeT | The bounding volume type. |
[in] | object_to_projection | The object-to-projection transformation matrix. |
[in] | volume | A reference to the bounding volume. |
true
if the given bounding volume is culled by the bounding frustum constructed from the given object-to-projection transformation matrix. false
otherwise.
|
noexcept |
Checks whether this bounding frustum completely encloses the given point.
[in] | point | A reference to the point. |
true
if this bounding frustum completely encloses point. false
otherwise.
|
noexcept |
Checks whether this bounding frustum completely encloses the given point.
[in] | point | The point. |
true
if this bounding frustum completely encloses point. false
otherwise.
|
noexcept |
|
noexcept |
Checks whether this bounding frustum completely encloses the given bounding sphere.
[in] | sphere | A reference to the bounding sphere. |
true
if this bounding frustum completely encloses sphere. false
otherwise.
|
noexcept |
Checks whether this bounding frustum completely, strictly encloses the given point.
[in] | point | A reference to the point. |
true
if this bounding frustum completely, strictly encloses point. false
otherwise.
|
noexcept |
Checks whether this bounding frustum completely, strictly encloses the given point.
[in] | point | The point. |
true
if this bounding frustum completely, strictly encloses point. false
otherwise.
|
noexcept |
|
noexcept |
Checks whether this bounding frustum completely, strictly encloses the given bounding sphere.
[in] | sphere | A reference to the bounding sphere. |
true
if this bounding frustum completely, strictly encloses sphere. false
otherwise.
|
noexcept |
Checks whether the given bounding frustum is not equal to this bounding frustum.
[in] | frustum | A reference to the bounding frustum. |
true
if the given bounding frustum is equal to this bounding frustum. false
otherwise.
|
defaultnoexcept |
Copies the given bounding frustum to this bounding frustum.
[in] | frustum | A reference to the bounding frustum to copy. |
|
defaultnoexcept |
Moves the given bounding frustum to this bounding frustum.
[in] | frustum | A reference to the bounding frustum to move. |
|
noexcept |
Checks whether the given bounding frustum is equal to this bounding frustum.
[in] | frustum | A reference to the bounding frustum. |
true
if the given bounding frustum is equal to this bounding frustum. false
otherwise.
|
noexcept |
|
noexcept |
Checks whether this bounding frustum overlaps the given bounding sphere.
[in] | sphere | A reference to the bounding sphere. |
true
if this bounding frustum overlaps sphere. false
otherwise.
|
noexcept |
|
noexcept |
Checks whether this bounding frustum strictly overlaps the given bounding sphere.
[in] | sphere | A reference to the bounding sphere. |
true
if this bounding frustum strictly overlaps sphere. false
otherwise. union { ... } |
XMVECTOR mage::BoundingFrustum::m_bottom_plane |
The bottom plane of this bounding frustum.
XMVECTOR mage::BoundingFrustum::m_far_plane |
The far plane of this bounding frustum.
XMVECTOR mage::BoundingFrustum::m_left_plane |
The left plane of this bounding frustum.
XMVECTOR mage::BoundingFrustum::m_near_plane |
The near plane of this bounding frustum.
XMVECTOR mage::BoundingFrustum::m_planes[6] |
The six planes of this bounding frustum.
XMVECTOR mage::BoundingFrustum::m_right_plane |
The right plane of this bounding frustum.
XMVECTOR mage::BoundingFrustum::m_top_plane |
The top plane of this bounding frustum.