Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::BoundingSphere Class Reference

#include <BoundingSphere.h>

Public Member Functions

 BoundingSphere () noexcept
 
 BoundingSphere (vec3< F32 > center, F32 radius) noexcept
 
 BoundingSphere (const vector< vec3< F32 > > &points) noexcept
 
 BoundingSphere (const std::array< vec3< F32 >, 8 > &points) noexcept
 
void fromBoundingBox (const BoundingBox &bBox) noexcept
 
void fromOBB (const OBB &box) noexcept
 
void fromBoundingSphere (const BoundingSphere &bSphere) noexcept
 
bool containsPoint (const vec3< F32 > &point) const noexcept
 
bool containsBoundingBox (const BoundingBox &AABB) const noexcept
 
void add (const BoundingSphere &bSphere) noexcept
 
void add (const vec3< F32 > &point) noexcept
 
void addRadius (const BoundingSphere &bSphere) noexcept
 
void addRadius (const vec3< F32 > &point) noexcept
 
void createFromPoints (const vector< vec3< F32 > > &points) noexcept
 
void createFromPoints (const std::array< vec3< F32 >, 8 > &points) noexcept
 
void setRadius (F32 radius) noexcept
 
void setCenter (const vec3< F32 > &center) noexcept
 
const vec3< F32 > & getCenter () const noexcept
 
F32 getRadius () const noexcept
 
F32 getDiameter () const noexcept
 
F32 getDistanceFromPoint (const vec3< F32 > &point) const noexcept
 
F32 getDistanceSQFromPoint (const vec3< F32 > &point) const noexcept
 
void reset () noexcept
 
vec4< F32asVec4 () const noexcept
 
bool collision (const BoundingSphere &sphere2) const noexcept
 
RayResult intersect (const Ray &r, F32 tMin, F32 tMax) const noexcept
 

Private Attributes

vec3< F32_center
 
F32 _radius
 

Friends

class Attorney::BoundingSphereEditor
 

Detailed Description

Definition at line 45 of file BoundingSphere.h.

Constructor & Destructor Documentation

◆ BoundingSphere() [1/4]

Divide::BoundingSphere::BoundingSphere ( )
noexcept

Definition at line 7 of file BoundingSphere.cpp.

◆ BoundingSphere() [2/4]

Divide::BoundingSphere::BoundingSphere ( vec3< F32 center,
F32  radius 
)
explicitnoexcept

Definition at line 13 of file BoundingSphere.cpp.

◆ BoundingSphere() [3/4]

Divide::BoundingSphere::BoundingSphere ( const vector< vec3< F32 > > &  points)
explicitnoexcept

Definition at line 19 of file BoundingSphere.cpp.

◆ BoundingSphere() [4/4]

Divide::BoundingSphere::BoundingSphere ( const std::array< vec3< F32 >, 8 > &  points)
explicitnoexcept

Definition at line 25 of file BoundingSphere.cpp.

Member Function Documentation

◆ add() [1/2]

void Divide::BoundingSphere::add ( const BoundingSphere bSphere)
inlinenoexcept

Definition at line 48 of file BoundingSphere.inl.

◆ add() [2/2]

void Divide::BoundingSphere::add ( const vec3< F32 > &  point)
inlinenoexcept

Definition at line 76 of file BoundingSphere.inl.

◆ addRadius() [1/2]

void Divide::BoundingSphere::addRadius ( const BoundingSphere bSphere)
inlinenoexcept

Definition at line 69 of file BoundingSphere.inl.

◆ addRadius() [2/2]

void Divide::BoundingSphere::addRadius ( const vec3< F32 > &  point)
inlinenoexcept

Definition at line 86 of file BoundingSphere.inl.

◆ asVec4()

vec4< F32 > Divide::BoundingSphere::asVec4 ( ) const
inlinenoexcept

Definition at line 154 of file BoundingSphere.inl.

◆ collision()

bool Divide::BoundingSphere::collision ( const BoundingSphere sphere2) const
noexcept

Definition at line 52 of file BoundingSphere.cpp.

◆ containsBoundingBox()

bool Divide::BoundingSphere::containsBoundingBox ( const BoundingBox AABB) const
noexcept

Definition at line 31 of file BoundingSphere.cpp.

◆ containsPoint()

bool Divide::BoundingSphere::containsPoint ( const vec3< F32 > &  point) const
noexcept

Definition at line 47 of file BoundingSphere.cpp.

◆ createFromPoints() [1/2]

void Divide::BoundingSphere::createFromPoints ( const std::array< vec3< F32 >, 8 > &  points)
inlinenoexcept

Definition at line 110 of file BoundingSphere.inl.

◆ createFromPoints() [2/2]

void Divide::BoundingSphere::createFromPoints ( const vector< vec3< F32 > > &  points)
inlinenoexcept

Definition at line 93 of file BoundingSphere.inl.

◆ fromBoundingBox()

void Divide::BoundingSphere::fromBoundingBox ( const BoundingBox bBox)
inlinenoexcept

Definition at line 37 of file BoundingSphere.inl.

◆ fromBoundingSphere()

void Divide::BoundingSphere::fromBoundingSphere ( const BoundingSphere bSphere)
inlinenoexcept

Definition at line 42 of file BoundingSphere.inl.

◆ fromOBB()

void Divide::BoundingSphere::fromOBB ( const OBB box)
noexcept

Definition at line 91 of file BoundingSphere.cpp.

◆ getCenter()

const vec3< F32 > & Divide::BoundingSphere::getCenter ( ) const
inlinenoexcept

Definition at line 139 of file BoundingSphere.inl.

◆ getDiameter()

F32 Divide::BoundingSphere::getDiameter ( ) const
inlinenoexcept

Definition at line 143 of file BoundingSphere.inl.

◆ getDistanceFromPoint()

F32 Divide::BoundingSphere::getDistanceFromPoint ( const vec3< F32 > &  point) const
inlinenoexcept

Definition at line 145 of file BoundingSphere.inl.

◆ getDistanceSQFromPoint()

F32 Divide::BoundingSphere::getDistanceSQFromPoint ( const vec3< F32 > &  point) const
inlinenoexcept

Definition at line 149 of file BoundingSphere.inl.

◆ getRadius()

F32 Divide::BoundingSphere::getRadius ( ) const
inlinenoexcept

Definition at line 141 of file BoundingSphere.inl.

◆ intersect()

RayResult Divide::BoundingSphere::intersect ( const Ray r,
F32  tMin,
F32  tMax 
) const
noexcept

Definition at line 58 of file BoundingSphere.cpp.

◆ reset()

void Divide::BoundingSphere::reset ( )
inlinenoexcept

Definition at line 126 of file BoundingSphere.inl.

◆ setCenter()

void Divide::BoundingSphere::setCenter ( const vec3< F32 > &  center)
inlinenoexcept

Definition at line 135 of file BoundingSphere.inl.

◆ setRadius()

void Divide::BoundingSphere::setRadius ( F32  radius)
inlinenoexcept

Definition at line 131 of file BoundingSphere.inl.

Friends And Related Function Documentation

◆ Attorney::BoundingSphereEditor

friend class Attorney::BoundingSphereEditor
friend

Definition at line 46 of file BoundingSphere.h.

Member Data Documentation

◆ _center

vec3<F32> Divide::BoundingSphere::_center
private

Definition at line 88 of file BoundingSphere.h.

◆ _radius

F32 Divide::BoundingSphere::_radius
private

Definition at line 89 of file BoundingSphere.h.


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