Public Member Functions | Public Attributes | List of all members
ion::SBoundingBox3< T, Vector > Class Template Reference

3D axis-aligned bounding box More...

#include <SBoundingBox3.h>

Public Member Functions

 SBoundingBox3 ()
 
 SBoundingBox3 (Vector const &min, Vector const &max)
 
 SBoundingBox3 (Vector const &v)
 
Vector GetExtent () const
 
Vector GetHalfExtent () const
 
Vector GetCenter () const
 
bool IsPointInside (Vector const &p) const
 
bool Intersects (Type const &r) const
 
void AddInternalPoint (Vector const &v)
 
void AddInternalBox (Type const &bb)
 
bool IntersectsWithRay (vec3f const &Origin, vec3f const &Direction, vec3f &coord) const
 
T const GetMaximumRadius (Vector const Scale) const
 
Vector const GetCorner (int const i) const
 
void MoveTo (Vector const &Center)
 
void Move (Vector const &Offset)
 
void Resize (Vector const &Size)
 
void Reset (Vector const &Point)
 
void Transform (glm::mat4 const &Transformation)
 

Public Attributes

Vector MinCorner
 
Vector MaxCorner
 

Detailed Description

template<typename T, typename Vector = vec3<T>>
class ion::SBoundingBox3< T, Vector >

3D axis-aligned bounding box

Constructor & Destructor Documentation

template<typename T, typename Vector = vec3<T>>
ion::SBoundingBox3< T, Vector >::SBoundingBox3 ( )
inline
template<typename T, typename Vector = vec3<T>>
ion::SBoundingBox3< T, Vector >::SBoundingBox3 ( Vector const &  min,
Vector const &  max 
)
inline
template<typename T, typename Vector = vec3<T>>
ion::SBoundingBox3< T, Vector >::SBoundingBox3 ( Vector const &  v)
inlineexplicit

Member Function Documentation

template<typename T, typename Vector = vec3<T>>
void ion::SBoundingBox3< T, Vector >::AddInternalBox ( Type const &  bb)
inline
template<typename T, typename Vector = vec3<T>>
void ion::SBoundingBox3< T, Vector >::AddInternalPoint ( Vector const &  v)
inline
template<typename T, typename Vector = vec3<T>>
Vector ion::SBoundingBox3< T, Vector >::GetCenter ( ) const
inline
template<typename T, typename Vector = vec3<T>>
Vector const ion::SBoundingBox3< T, Vector >::GetCorner ( int const  i) const
inline
template<typename T, typename Vector = vec3<T>>
Vector ion::SBoundingBox3< T, Vector >::GetExtent ( ) const
inline
template<typename T, typename Vector = vec3<T>>
Vector ion::SBoundingBox3< T, Vector >::GetHalfExtent ( ) const
inline
template<typename T, typename Vector = vec3<T>>
T const ion::SBoundingBox3< T, Vector >::GetMaximumRadius ( Vector const  Scale) const
inline
template<typename T, typename Vector = vec3<T>>
bool ion::SBoundingBox3< T, Vector >::Intersects ( Type const &  r) const
inline
template<typename T, typename Vector = vec3<T>>
bool ion::SBoundingBox3< T, Vector >::IntersectsWithRay ( vec3f const &  Origin,
vec3f const &  Direction,
vec3f coord 
) const
inline
template<typename T, typename Vector = vec3<T>>
bool ion::SBoundingBox3< T, Vector >::IsPointInside ( Vector const &  p) const
inline
template<typename T, typename Vector = vec3<T>>
void ion::SBoundingBox3< T, Vector >::Move ( Vector const &  Offset)
inline
template<typename T, typename Vector = vec3<T>>
void ion::SBoundingBox3< T, Vector >::MoveTo ( Vector const &  Center)
inline
template<typename T, typename Vector = vec3<T>>
void ion::SBoundingBox3< T, Vector >::Reset ( Vector const &  Point)
inline
template<typename T, typename Vector = vec3<T>>
void ion::SBoundingBox3< T, Vector >::Resize ( Vector const &  Size)
inline
template<typename T, typename Vector = vec3<T>>
void ion::SBoundingBox3< T, Vector >::Transform ( glm::mat4 const &  Transformation)
inline

Member Data Documentation

template<typename T, typename Vector = vec3<T>>
Vector ion::SBoundingBox3< T, Vector >::MaxCorner
template<typename T, typename Vector = vec3<T>>
Vector ion::SBoundingBox3< T, Vector >::MinCorner

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