15 AABB(
const V3& center, glm::float32_t radius);
27 NODISCARD bool IsNull()
const {
return m_Min.x > m_Max.x || m_Min.y > m_Max.y || m_Min.z > m_Max.z; }
30 void Extend(glm::float32_t val);
39 void Extend(
const V3& center, glm::float32_t radius);
44 void Extend(
const V3* pointsArray,
int numCount);
50 glm::float32_t radius);
62 void Scale(
const V3& scale,
const V3& origin);
#define NODISCARD
Definition Common.h:80
NODISCARD bool IsNull() const
Returns true if AABB is NULL (not set).
Definition AABB.h:27
NODISCARD V3 GetMin() const
Retrieves the AABB's minimum point.
Definition AABB.h:80
IntersectionType
Type returned from call to intersect.
Definition AABB.h:90
@ INTERSECT
Definition AABB.h:90
@ INSIDE
Definition AABB.h:90
@ OUTSIDE
Definition AABB.h:90
NODISCARD glm::float32_t GetShortestEdge() const
Definition AABB.cpp:111
void Scale(const V3 &scale)
Definition AABB.cpp:136
NODISCARD V3 GetMax() const
Retrieves the AABB's maximum point.
Definition AABB.h:83
NODISCARD IntersectionType Intersect(const AABB &bb) const
Definition AABB.cpp:175
NODISCARD V3 GetExtent() const
Definition AABB.cpp:226
NODISCARD V3 GetDiagonal() const
Definition AABB.cpp:97
NODISCARD V3 HalfSize() const
[similarOverload: Size]
Definition AABB.cpp:221
NODISCARD bool IsSimilarTo(const AABB &b, glm::float32_t diff=0.5) const
Definition AABB.cpp:198
NODISCARD bool Overlaps(const AABB &bb) const
Definition AABB.cpp:160
NODISCARD glm::float32_t GetLongestEdge() const
Definition AABB.cpp:106
AABB()
Builds a null AABB.
Definition AABB.cpp:6
NODISCARD V3 Size() const
Returns the side lengths of this AABB in x, y and z directions.
Definition AABB.cpp:216
void ExtendDisk(const V3 ¢er, const V3 &normal, glm::float32_t radius)
Definition AABB.cpp:86
void Extend(glm::float32_t val)
Extend the bounding box on all sides by val.
Definition AABB.cpp:31
void Translate(const V3 &v)
Translates AABB by vector v.
Definition AABB.cpp:127
void SetNull()
Set the AABB as NULL (not set).
Definition AABB.h:24
NODISCARD V3 GetCenter() const
Retrieves the center of the AABB.
Definition AABB.cpp:116
glm::vec3 V3
3D Vector; 32 bit floating point components
Definition MathTypes.h:47