![]() |
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.