Om
1.0.0
A universal framework for multimedia simulation
|
A class that represents a set of 3D vectors stored in a SIMD-compatible format. More...
#include <omSIMDAABB3D.h>
Public Member Functions | |
SIMDAABB3D () | |
Create a SIMD axis-aligned bounding box that has all components initialized to zero. More... | |
SIMDAABB3D (const AABB3D< T > &aabb) | |
Create a SIMD axis-aligned bounding box from a single bounding box. More... | |
SIMDAABB3D (const AABB3D< T > &aabb1, const AABB3D< T > &aabb2, const AABB3D< T > &aabb3, const AABB3D< T > &aabb4) | |
Create a SIMD axis-aligned bounding box from the four specified bounding boxes. More... | |
const SIMDVector3D< T, 4 > & | getMinMax (Index i) const |
Get either the minimal or maximal vertex of this AABB. More... | |
Static Public Member Functions | |
static Size | getAlignment () |
Return the alignment required for objects of this type. More... | |
static Size | getWidth () |
Get the width of this vector (number of 3D vectors it has). More... | |
Public Attributes | |
SIMDVector3D< T, 4 > | min |
The minimum coordinate vectors for this SIMD axis-aligned bounding box. More... | |
SIMDVector3D< T, 4 > | max |
The maximum coordinate vectors for this SIMD axis-aligned bounding box. More... | |
A class that represents a set of 3D vectors stored in a SIMD-compatible format.
This class is used to store and operate on a set of axis-aligned bounding boxes in a SIMD fashion. The bounding boxes are stored in a structure-of-arrays format that accelerates SIMD operations. Each bounding box is specified by a minimum and maximum vertex coordinate.
|
inline |
Create a SIMD axis-aligned bounding box that has all components initialized to zero.
|
inline |
Create a SIMD axis-aligned bounding box from a single bounding box.
|
inline |
Create a SIMD axis-aligned bounding box from the four specified bounding boxes.
|
inline |
Get either the minimal or maximal vertex of this AABB.
If the index parameter is 0, the minimal vertex is returned, if the index parameter is 1, the maximal vertex is returned. Otherwise the result is undefined.
|
inlinestatic |
Return the alignment required for objects of this type.
For most SIMD types this value will be 16 bytes. If there is no alignment required, 0 is returned.
|
inlinestatic |
Get the width of this vector (number of 3D vectors it has).
SIMDVector3D<T,4> om::math::SIMDAABB3D< T, 4 >::min |
The minimum coordinate vectors for this SIMD axis-aligned bounding box.
SIMDVector3D<T,4> om::math::SIMDAABB3D< T, 4 >::max |
The maximum coordinate vectors for this SIMD axis-aligned bounding box.