LeviLamina
Loading...
Searching...
No Matches
AABB Class Reference
+ Inheritance diagram for AABB:

Public Types

using first_type
 
using size_type
 

Public Member Functions

constexpr AABB (class AABB const &k) noexcept
 
constexpr AABB (class Vec3 const &min, class Vec3 const &max) noexcept
 
AABBmerge (AABB const &a) noexcept
 
AABBmerge (Vec3 const &a) noexcept
 
template<typename T , size_t N>
constexpr T & get () noexcept
 
template<typename T , size_t N>
constexpr T const & get () const noexcept
 
constexpr bool contains (Vec3 const &a) const noexcept
 
constexpr bool contains (AABB const &a) const noexcept
 
LLAPI operator BoundingBox () const
 
LLAPI bool intersects (::AABB const &c) const
 
constexpr Vec3 center () const noexcept
 
constexpr AABBshrink (float f) noexcept
 
MCAPI::AABBHitResult clip (::Vec3 const &a, ::Vec3 const &b) const
 
MCAPI::AABB cloneAndExpandAlongDirection (::Vec3 const &direction) const
 
MCAPI::AABB cloneAndFloor (float offsetMin, float offsetMax) const
 
MCAPI::AABB cloneAndFloorMinAndCeilingMax () const
 
MCAPI::AABB cloneAndGrow (::Vec3 const &distance) const
 
MCAPI::AABB cloneAndShrink (::Vec3 const &offset) const
 
MCAPI::AABB cloneAndTransformByMatrix (::Matrix const &transform) const
 
MCAPI float distanceTo (::Vec3 const &pos) const
 
MCAPI float distanceToSqr (::AABB const &aabb) const
 
MCAPI bool intersectSegment (::Vec3 const &segmentBegin, ::Vec3 const &segmentEnd, ::Vec3 &intersectPoint, ::Vec3 &intersectNorm) const
 
MCAPI bool intersects (::Vec3 const &segmentBegin, ::Vec3 const &segmentEnd) const
 
MCAPI bool intersectsInner (::AABB const &c) const
 
constexpr AABBoperator+= (AABB const &b) noexcept
 
constexpr AABBoperator+= (V const &b) noexcept
 
constexpr AABBoperator-= (AABB const &b) noexcept
 
constexpr AABBoperator-= (V const &b) noexcept
 
constexpr AABB operator+ (AABB const &b) const noexcept
 
constexpr AABB operator+ (V const &b) const noexcept
 
constexpr AABB operator- (AABB const &b) const noexcept
 
constexpr AABB operator- (V const &b) const noexcept
 
constexpr AABB add (AABB const &b) const noexcept
 
constexpr AABB add (V const &b) const noexcept
 
constexpr AABB sub (AABB const &b) const noexcept
 
constexpr AABB sub (V const &b) const noexcept
 
constexpr std::string toString () const noexcept
 
constexpr bool operator== (AABB const &b) const noexcept
 
constexpr bool operator!= (AABB const &b) const noexcept
 
constexpr first_type & operator[] (size_t index) noexcept
 
constexpr first_type const & operator[] (size_t index) const noexcept
 
constexpr size_t hash () const noexcept
 
constexpr V as () const noexcept
 
constexpr class boolN< sizeof...(Components)> eq (AABB const &b) const noexcept
 
constexpr class boolN< sizeof...(Components)> ne (AABB const &b) const noexcept
 

Static Public Member Functions

static MCAPI ::ClipCollideResult clipCollide (::AABB const &stationary, ::AABB const &moving, ::Vec3 const &velocity)
 
static MCAPI ::AABB fromPoints (::Vec3 const &A, ::Vec3 const &B)
 
static MCAPI ::AABB const & BLOCK_SHAPE ()
 
static MCAPI ::AABB const & BOX_AT_ORIGIN_WITH_NO_VOLUME ()
 
static consteval size_t size () noexcept
 
static constexpr void forEachComponent (F &&func) noexcept
 

Public Attributes

union { 
 
   Vec3   min 
 
   Vec3   x 
 
   Vec3   r 
 
   Vec3   s 
 
};  
 
union { 
 
   Vec3   max 
 
   Vec3   y 
 
   Vec3   g 
 
   Vec3   t 
 
   Vec3   z 
 
   Vec3   b 
 
   Vec3   p 
 
};  
 

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