A frustum class that can be used for efficient primitive intersection tests. More...
#include <Frustum.h>
| Public Types | |
| enum | PlaneId { Near , Far , Left , Right , Top , Bottom , MAX } | 
| enum class | ReverseDepth { True , False } | 
| enum | CornerIndices { NearTopLeft , NearTopRight , NearBottomLeft , NearBottomRight , FarTopLeft , FarTopRight , FarBottomLeft , FarBottomRight , Count } | 
| using | CornerVertexArray = AZStd::array< AZ::Vector3, CornerIndices::Count > | 
| Static Public Member Functions | |
| static void | Reflect (ReflectContext *context) | 
| static Frustum | CreateFromMatrixRowMajor (const Matrix4x4 &matrix, ReverseDepth reverseDepth=ReverseDepth::False) | 
| static Frustum | CreateFromMatrixColumnMajor (const Matrix4x4 &matrix, ReverseDepth reverseDepth=ReverseDepth::False) | 
| static Frustum | CreateFromMatrixRowMajorSymmetricZ (const Matrix4x4 &matrix, ReverseDepth reverseDepth=ReverseDepth::False) | 
| static Frustum | CreateFromMatrixColumnMajorSymmetricZ (const Matrix4x4 &matrix, ReverseDepth reverseDepth=ReverseDepth::False) | 
A frustum class that can be used for efficient primitive intersection tests.
| 
 | explicit | 
Construct a view frustum from ViewFrustumAttributes.
| viewFrustumAttributes | Attributes to build a Frustum from a view volume. | 
| 
 | static | 
Extract frustum from matrix. Matrix Usage and Z conventions form the matrix of use cases. Symmetric-z (OpenGL convention) implies -w <= z <= w Non-symmetric (DirectX convention) implies 0 <= z <= w RowMajor implies x*M convention ColumnMajor implies M*x convention
| bool AZ::Frustum::GetCorners | ( | CornerVertexArray & | corners | ) | const | 
Fills an array with corner vertices and returns true for valid Frustums.
| corners | The array of corner vertices to fill. | 
| AZ_MATH_INLINE Plane AZ::Frustum::GetPlane | ( | PlaneId | planeId | ) | const | 
Returns the requested plane.
| planeId | the index of the plane to retrieve | 
| AZ_MATH_INLINE IntersectResult AZ::Frustum::IntersectAabb | ( | const Aabb & | aabb | ) | const | 
Intersects an axis-aligned bounding box.
| aabb | the axis-aligned bounding box to test against | 
| AZ_MATH_INLINE IntersectResult AZ::Frustum::IntersectAabb | ( | const Vector3 & | minimum, | 
| const Vector3 & | maximum | ||
| ) | const | 
Intersects an axis-aligned bounding box.
| minimum | the smallest extents of the bounding volume to test against | 
| maximum | the largest extents of the bounding volume to test against | 
| AZ_MATH_INLINE IntersectResult AZ::Frustum::IntersectSphere | ( | const Sphere & | sphere | ) | const | 
Intersects a sphere against the frustum.
| sphere | the sphere to test against | 
| AZ_MATH_INLINE IntersectResult AZ::Frustum::IntersectSphere | ( | const Vector3 & | center, | 
| float | radius | ||
| ) | const | 
Intersects a sphere against the frustum.
| center | the center of the sphere to test against | 
| radius | the radius of the sphere to test against | 
| AZ_MATH_INLINE bool AZ::Frustum::IsClose | ( | const Frustum & | rhs, | 
| float | tolerance = Constants::Tolerance | ||
| ) | const | 
Returns true if the current frustum and provided frustum are close to identical.
| rhs | the frustum to compare against for closeness | 
| 
 | static | 
AzCore Reflection.
| context | reflection context | 
Clones the provided frustum.
| frustum | the frustum instance to clone | 
Sets the requested plane.
| planeId | the index of the plane to set | 
| plane | the new plane value to set to |