Move Vectormath main
C++20 game and graphics mathematics
Loading...
Searching...
No Matches
mv::math::Obb3< T > Class Template Reference

#include <mv/math/geometry/Obb3.hpp>

Public Types

using Component = T
 

Public Member Functions

 Obb3 () noexcept=default
 
const Point3< T > & Center () const noexcept
 
const Vec3< T > & HalfExtents () const noexcept
 
const Rotation3< T > & Orientation () const noexcept
 
Direction3< T > AxisX () const noexcept
 
Direction3< T > AxisY () const noexcept
 
Direction3< T > AxisZ () const noexcept
 
Point3< T > ClosestPoint (const Point3< T > &point) const noexcept
 
bool Contains (const Point3< T > &point, T tolerance=T(0)) const noexcept
 
Point3< T > Support (const Vec3< T > &direction) const noexcept
 
std::array< Point3< T >, 8 > Corners () const noexcept
 

Static Public Member Functions

static std::optional< Obb3 > TryFromCenterHalfExtents (const Point3< T > &center, const Vec3< T > &halfExtents, const Rotation3< T > &orientation=Rotation3< T >::Identity()) noexcept
 

Detailed Description

template<typename T>
requires std::is_floating_point_v<T>
class mv::math::Obb3< T >

Definition at line 20 of file Obb3.hpp.

Member Typedef Documentation

◆ Component

template<typename T >
using mv::math::Obb3< T >::Component = T

Definition at line 23 of file Obb3.hpp.

Constructor & Destructor Documentation

◆ Obb3()

template<typename T >
mv::math::Obb3< T >::Obb3 ( )
defaultnoexcept

Member Function Documentation

◆ AxisX()

template<typename T >
Direction3< T > mv::math::Obb3< T >::AxisX ( ) const
inlinenoexcept

Definition at line 58 of file Obb3.hpp.

◆ AxisY()

template<typename T >
Direction3< T > mv::math::Obb3< T >::AxisY ( ) const
inlinenoexcept

Definition at line 63 of file Obb3.hpp.

◆ AxisZ()

template<typename T >
Direction3< T > mv::math::Obb3< T >::AxisZ ( ) const
inlinenoexcept

Definition at line 68 of file Obb3.hpp.

◆ Center()

template<typename T >
const Point3< T > & mv::math::Obb3< T >::Center ( ) const
inlinenoexcept

Definition at line 43 of file Obb3.hpp.

◆ ClosestPoint()

template<typename T >
Point3< T > mv::math::Obb3< T >::ClosestPoint ( const Point3< T > &  point) const
inlinenoexcept

Definition at line 73 of file Obb3.hpp.

◆ Contains()

template<typename T >
bool mv::math::Obb3< T >::Contains ( const Point3< T > &  point,
T  tolerance = T(0) 
) const
inlinenoexcept

Definition at line 89 of file Obb3.hpp.

◆ Corners()

template<typename T >
std::array< Point3< T >, 8 > mv::math::Obb3< T >::Corners ( ) const
inlinenoexcept

Definition at line 116 of file Obb3.hpp.

◆ HalfExtents()

template<typename T >
const Vec3< T > & mv::math::Obb3< T >::HalfExtents ( ) const
inlinenoexcept

Definition at line 48 of file Obb3.hpp.

◆ Orientation()

template<typename T >
const Rotation3< T > & mv::math::Obb3< T >::Orientation ( ) const
inlinenoexcept

Definition at line 53 of file Obb3.hpp.

◆ Support()

template<typename T >
Point3< T > mv::math::Obb3< T >::Support ( const Vec3< T > &  direction) const
inlinenoexcept

Definition at line 102 of file Obb3.hpp.

◆ TryFromCenterHalfExtents()

template<typename T >
static std::optional< Obb3 > mv::math::Obb3< T >::TryFromCenterHalfExtents ( const Point3< T > &  center,
const Vec3< T > &  halfExtents,
const Rotation3< T > &  orientation = Rotation3<T>::Identity() 
)
inlinestaticnoexcept

Definition at line 27 of file Obb3.hpp.


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