3#include <Foundation/SimdMath/SimdBSphere.h>
33 [[deprecated(
"Use MakeInvalid() instead.")]]
void SetInvalid();
117#include <Foundation/SimdMath/Implementation/SimdBBox_inl.h>
void SetFromPoints(const plSimdVec4f *pPoints, plUInt32 uiNumPoints, plUInt32 uiStride=sizeof(plSimdVec4f))
Creates a new bounding-box around the given set of points.
Definition SimdBBox_inl.h:50
plSimdVec4f GetExtents() const
Returns the extents of the box along each axis.
Definition SimdBBox_inl.h:71
static plSimdBBox MakeFromPoints(const plSimdVec4f *pPoints, plUInt32 uiNumPoints, plUInt32 uiStride=sizeof(plSimdVec4f))
Creates a box around the given set of points. If uiNumPoints is zero, the returned box is invalid (sa...
Definition SimdBBox_inl.h:31
void SetInvalid()
Resets the box to an invalid state. ExpandToInclude can then be used to make it into a bounding box f...
Definition SimdBBox_inl.h:38
void SetCenterAndHalfExtents(const plSimdVec4f &vCenter, const plSimdVec4f &vHalfExtents)
Sets the box from a center point and half-extents for each axis.
Definition SimdBBox_inl.h:44
bool Overlaps(const plSimdBBox &rhs) const
Checks whether this box overlaps with the given box.
Definition SimdBBox_inl.h:133
static plSimdBBox MakeZero()
Creates a box that is located at the origin and has zero size. This is a 'valid' box.
Definition SimdBBox_inl.h:11
bool IsNaN() const
Checks whether any component is NaN.
Definition SimdBBox_inl.h:61
static plSimdBBox MakeFromMinMax(const plSimdVec4f &vMin, const plSimdVec4f &vMax)
Creates a box with the given minimum and maximum values.
Definition SimdBBox_inl.h:26
plSimdBBox()
Default constructor does not initialize anything.
plSimdVec4f GetHalfExtents() const
Returns the half extents of the box along each axis.
Definition SimdBBox_inl.h:76
void ExpandToCube()
If the box is not cubic all extents are set to the value of the maximum extent, such that the box bec...
Definition SimdBBox_inl.h:108
bool IsValid() const
Checks whether the box is in an invalid state.
Definition SimdBBox_inl.h:56
void Transform(const plSimdTransform &transform)
Transforms the corners of the box and recomputes the aabb of those transformed points.
Definition SimdBBox_inl.h:156
plSimdVec4f GetClampedPoint(const plSimdVec4f &vPoint) const
The given point is clamped to the volume of the box, i.e. it will be either inside the box or on its ...
Definition SimdBBox_inl.h:175
void ExpandToInclude(const plSimdVec4f &vPoint)
Expands the box such that the given point is inside it.
Definition SimdBBox_inl.h:81
plSimdVec4f GetCenter() const
Returns the center position of the box.
Definition SimdBBox_inl.h:66
static plSimdBBox MakeInvalid()
Creates a box that is in an invalid state. ExpandToInclude can then be used to make it into a boundin...
Definition SimdBBox_inl.h:16
plSimdFloat GetDistanceSquaredTo(const plSimdVec4f &vPoint) const
Returns the squared minimum distance from the box's surface to the point. Zero if the point is inside...
Definition SimdBBox_inl.h:180
bool Contains(const plSimdVec4f &vPoint) const
Checks whether the given point is inside the box.
Definition SimdBBox_inl.h:116
void Translate(const plSimdVec4f &vDiff)
Moves the box by the given vector.
Definition SimdBBox_inl.h:150
static plSimdBBox MakeFromCenterAndHalfExtents(const plSimdVec4f &vCenter, const plSimdVec4f &vHalfExtents)
Creates a box from a center point and half-extents for each axis.
Definition SimdBBox_inl.h:21
void Grow(const plSimdVec4f &vDiff)
Will increase the size of the box in all directions by the given amount (per axis).
Definition SimdBBox_inl.h:144
plSimdFloat GetDistanceTo(const plSimdVec4f &vPoint) const
Returns the minimum distance from the box's surface to the point. Zero if the point is inside the box...
Definition SimdBBox_inl.h:187
Definition SimdBSphere.h:6
A 4x4 matrix class.
Definition SimdMat4f.h:7
A 4-component SIMD vector class.
Definition SimdVec4f.h:8