33#ifndef DVD_CORE_MATH_BOUNDINGVOLUMES_OOBB_H_
34#define DVD_CORE_MATH_BOUNDINGVOLUMES_OOBB_H_
LineSegment edge(U8 edgeIndex) const noexcept
vec3< F32 > size() const noexcept
F32 distance(const vec3< F32 > &point) const noexcept
void transform(const mat3< F32 > &transform)
bool containsPoint(const vec3< F32 > &point) const noexcept
BoundingSphere toEnclosedSphere() const noexcept
vec3< F32 > closestPoint(const vec3< F32 > &point) const noexcept
bool containsBox(const OBB &OBB) const noexcept
RayResult intersect(const Ray &ray, F32 t0In, F32 t1In) const noexcept
vec3< F32 > cornerPoint(U8 cornerIndex) const noexcept
void fromBoundingSphere(const BoundingSphere &sphere) noexcept
void translate(const vec3< F32 > &offset)
std::array< LineSegment, 12 > OOBBEdgeList
bool containsSphere(const BoundingSphere &bSphere) const noexcept
OOBBEdgeList edgeList() const noexcept
void fromBoundingBox(const BoundingBox &aabb) noexcept
BoundingSphere toEnclosingSphere() const noexcept
void scale(const vec3< F32 > ¢erPoint, F32 scaleFactor)
Uniform scaling.
std::array< vec3< F32 >, 3 > OBBAxis
vec3< F32 > halfDiagonal() const noexcept
BoundingBox toBoundingBox() const noexcept
vec3< F32 > diagonal() const noexcept
Handle console commands that start with a forward slash.
static const vec3< F32 > VECTOR3_UNIT
static const vec3< F32 > VECTOR3_ZERO