TrinityCore
Loading...
Searching...
No Matches
BIHWrap< T, BoundsFunc > Class Template Reference

#include <BoundingIntervalHierarchyWrapper.h>

Classes

struct  MDLCallback
 

Public Member Functions

 BIHWrap ()
 
void insert (T const &obj)
 
void remove (T const &obj)
 
void balance ()
 
template<typename RayCallback >
void intersectRay (G3D::Ray const &ray, RayCallback &intersectCallback, float &maxDist)
 
template<typename IsectCallback >
void intersectPoint (G3D::Vector3 const &point, IsectCallback &intersectCallback)
 
std::span< T const *const > getObjects () const
 

Private Attributes

BIH m_tree
 
std::vector< T const * > m_objects
 
std::unordered_map< T const *, std::size_t > m_obj2Idx
 
int unbalanced_times
 

Detailed Description

template<class T, class BoundsFunc = BoundsTrait<T>>
class BIHWrap< T, BoundsFunc >

Definition at line 26 of file BoundingIntervalHierarchyWrapper.h.

Constructor & Destructor Documentation

◆ BIHWrap()

template<class T , class BoundsFunc = BoundsTrait<T>>
BIHWrap< T, BoundsFunc >::BIHWrap ( )
inline

Definition at line 63 of file BoundingIntervalHierarchyWrapper.h.

Member Function Documentation

◆ balance()

template<class T , class BoundsFunc = BoundsTrait<T>>
void BIHWrap< T, BoundsFunc >::balance ( )
inline

Definition at line 95 of file BoundingIntervalHierarchyWrapper.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getObjects()

template<class T , class BoundsFunc = BoundsTrait<T>>
std::span< T const *const > BIHWrap< T, BoundsFunc >::getObjects ( ) const
inline

Definition at line 120 of file BoundingIntervalHierarchyWrapper.h.

◆ insert()

template<class T , class BoundsFunc = BoundsTrait<T>>
void BIHWrap< T, BoundsFunc >::insert ( T const &  obj)
inline

Definition at line 65 of file BoundingIntervalHierarchyWrapper.h.

◆ intersectPoint()

template<class T , class BoundsFunc = BoundsTrait<T>>
template<typename IsectCallback >
void BIHWrap< T, BoundsFunc >::intersectPoint ( G3D::Vector3 const &  point,
IsectCallback &  intersectCallback 
)
inline

Definition at line 113 of file BoundingIntervalHierarchyWrapper.h.

+ Here is the call graph for this function:

◆ intersectRay()

template<class T , class BoundsFunc = BoundsTrait<T>>
template<typename RayCallback >
void BIHWrap< T, BoundsFunc >::intersectRay ( G3D::Ray const &  ray,
RayCallback &  intersectCallback,
float &  maxDist 
)
inline

Definition at line 105 of file BoundingIntervalHierarchyWrapper.h.

+ Here is the call graph for this function:

◆ remove()

template<class T , class BoundsFunc = BoundsTrait<T>>
void BIHWrap< T, BoundsFunc >::remove ( T const &  obj)
inline

Definition at line 75 of file BoundingIntervalHierarchyWrapper.h.

Member Data Documentation

◆ m_obj2Idx

template<class T , class BoundsFunc = BoundsTrait<T>>
std::unordered_map<T const*, std::size_t> BIHWrap< T, BoundsFunc >::m_obj2Idx
private

Definition at line 59 of file BoundingIntervalHierarchyWrapper.h.

◆ m_objects

template<class T , class BoundsFunc = BoundsTrait<T>>
std::vector<T const*> BIHWrap< T, BoundsFunc >::m_objects
private

Definition at line 58 of file BoundingIntervalHierarchyWrapper.h.

◆ m_tree

template<class T , class BoundsFunc = BoundsTrait<T>>
BIH BIHWrap< T, BoundsFunc >::m_tree
private

Definition at line 57 of file BoundingIntervalHierarchyWrapper.h.

◆ unbalanced_times

template<class T , class BoundsFunc = BoundsTrait<T>>
int BIHWrap< T, BoundsFunc >::unbalanced_times
private

Definition at line 60 of file BoundingIntervalHierarchyWrapper.h.


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