ezEngine  Release 25.03
ezSimdBBoxSphere Class Reference

Public Member Functions

 EZ_DECLARE_POD_TYPE ()
 
 ezSimdBBoxSphere ()
 Default constructor does not initialize anything.
 
 ezSimdBBoxSphere (const ezSimdVec4f &vCenter, const ezSimdVec4f &vBoxHalfExtents, const ezSimdFloat &fSphereRadius)
 Constructs the bounds from the center position, the box half extends and the sphere radius.
 
 ezSimdBBoxSphere (const ezSimdBBox &box, const ezSimdBSphere &sphere)
 Constructs the bounds from the given box and sphere.
 
 ezSimdBBoxSphere (const ezSimdBBox &box)
 Constructs the bounds from the given box. The sphere radius is calculated from the box extends.
 
 ezSimdBBoxSphere (const ezSimdBSphere &sphere)
 Constructs the bounds from the given sphere. The box extends are calculated from the sphere radius.
 
void SetInvalid ()
 Resets the bounds to an invalid state.
 
bool IsValid () const
 Checks whether the bounds is in an invalid state.
 
bool IsNaN () const
 Checks whether any component is NaN.
 
void SetFromPoints (const ezSimdVec4f *pPoints, ezUInt32 uiNumPoints, ezUInt32 uiStride=sizeof(ezSimdVec4f))
 Calculates the bounds from given set of points.
 
ezSimdBBox GetBox () const
 Returns the bounding box.
 
ezSimdBSphere GetSphere () const
 Returns the bounding sphere.
 
void ExpandToInclude (const ezSimdBBoxSphere &rhs)
 Expands the bounds such that the given bounds are inside it.
 
void Transform (const ezSimdTransform &t)
 Transforms the bounds in its local space.
 
void Transform (const ezSimdMat4f &mMat)
 Transforms the bounds in its local space.
 
bool operator== (const ezSimdBBoxSphere &rhs) const
 
bool operator!= (const ezSimdBBoxSphere &rhs) const
 

Static Public Member Functions

static ezSimdBBoxSphere MakeZero ()
 Creates an object with all zero values. These are valid bounds around the origin with no volume.
 
static ezSimdBBoxSphere MakeInvalid ()
 Creates an 'invalid' object, ie one with negative extents/radius. Invalid objects can be made valid through ExpandToInclude().
 
static ezSimdBBoxSphere MakeFromCenterExtents (const ezSimdVec4f &vCenter, const ezSimdVec4f &vBoxHalfExtents, const ezSimdFloat &fSphereRadius)
 Creates an object from the given center point and extents.
 
static ezSimdBBoxSphere MakeFromPoints (const ezSimdVec4f *pPoints, ezUInt32 uiNumPoints, ezUInt32 uiStride=sizeof(ezSimdVec4f))
 Creates an object that contains all the provided points.
 
static ezSimdBBoxSphere MakeFromBox (const ezSimdBBox &box)
 Creates an object from another bounding box.
 
static ezSimdBBoxSphere MakeFromSphere (const ezSimdBSphere &sphere)
 Creates an object from another bounding sphere.
 
static ezSimdBBoxSphere MakeFromBoxAndSphere (const ezSimdBBox &box, const ezSimdBSphere &sphere)
 Creates an object from another bounding box and a sphere.
 

Public Attributes

ezSimdVec4f m_CenterAndRadius
 
ezSimdVec4f m_BoxHalfExtents
 

The documentation for this class was generated from the following files: