Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
BIHWrap< T, BoundsFunc > Class Template Reference

#include <BoundingIntervalHierarchyWrapper.h>

Collaboration diagram for BIHWrap< T, BoundsFunc >:

Classes

struct  MDLCallback

Public Member Functions

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

Private Types

typedef G3D::Array< const T * > ObjArray

Private Attributes

G3D::Table< const T *, uint32m_obj2Idx
ObjArray m_objects
G3D::Set< const T * > m_objects_to_push
BIH m_tree
int unbalanced_times

Detailed Description

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

Definition at line 16 of file BoundingIntervalHierarchyWrapper.h.

Member Typedef Documentation

◆ ObjArray

template<class T, class BoundsFunc = BoundsTrait<T>>
typedef G3D::Array<const T*> BIHWrap< T, BoundsFunc >::ObjArray
private

Definition at line 47 of file BoundingIntervalHierarchyWrapper.h.

Constructor & Destructor Documentation

◆ BIHWrap()

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

Definition at line 56 of file BoundingIntervalHierarchyWrapper.h.

References unbalanced_times.

Member Function Documentation

◆ balance()

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

◆ insert()

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

Definition at line 58 of file BoundingIntervalHierarchyWrapper.h.

References m_objects_to_push, and unbalanced_times.

◆ intersectPoint()

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

Definition at line 98 of file BoundingIntervalHierarchyWrapper.h.

References balance(), m_objects, and m_tree.

◆ intersectRay()

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

Definition at line 90 of file BoundingIntervalHierarchyWrapper.h.

References balance(), m_objects, and m_tree.

◆ remove()

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

Member Data Documentation

◆ m_obj2Idx

template<class T, class BoundsFunc = BoundsTrait<T>>
G3D::Table<const T*, uint32> BIHWrap< T, BoundsFunc >::m_obj2Idx
private

Definition at line 51 of file BoundingIntervalHierarchyWrapper.h.

Referenced by balance(), and remove().

◆ m_objects

template<class T, class BoundsFunc = BoundsTrait<T>>
ObjArray BIHWrap< T, BoundsFunc >::m_objects
private

Definition at line 50 of file BoundingIntervalHierarchyWrapper.h.

Referenced by balance(), intersectPoint(), intersectRay(), and remove().

◆ m_objects_to_push

template<class T, class BoundsFunc = BoundsTrait<T>>
G3D::Set<const T*> BIHWrap< T, BoundsFunc >::m_objects_to_push
private

Definition at line 52 of file BoundingIntervalHierarchyWrapper.h.

Referenced by balance(), insert(), and remove().

◆ m_tree

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

Definition at line 49 of file BoundingIntervalHierarchyWrapper.h.

Referenced by balance(), intersectPoint(), and intersectRay().

◆ unbalanced_times

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

Definition at line 53 of file BoundingIntervalHierarchyWrapper.h.

Referenced by balance(), BIHWrap(), insert(), and remove().


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