TrinityCore
RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc > Class Template Reference

#include <RegularGrid.h>

+ Inheritance diagram for RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >:

Classes

struct  Cell
 

Public Types

enum  { CELL_NUMBER = 64 }
 
typedef std::unordered_multimap< const T *, Node * > MemberTable
 

Public Member Functions

 RegularGrid2D ()
 
 ~RegularGrid2D ()
 
void insert (const T &value)
 
void remove (const T &value)
 
void balance ()
 
bool contains (const T &value) const
 
bool empty () const
 
Node & getGrid (int x, int y)
 
template<typename RayCallback >
void intersectRay (const G3D::Ray &ray, RayCallback &intersectCallback, float max_dist)
 
template<typename RayCallback >
void intersectRay (const G3D::Ray &ray, RayCallback &intersectCallback, float &max_dist, const G3D::Vector3 &end)
 
template<typename IsectCallback >
void intersectPoint (const G3D::Vector3 &point, IsectCallback &intersectCallback)
 
template<typename RayCallback >
void intersectZAllignedRay (const G3D::Ray &ray, RayCallback &intersectCallback, float &max_dist)
 

Public Attributes

MemberTable memberTable
 
Node * nodes [CELL_NUMBER][CELL_NUMBER]
 

Detailed Description

template<class T, class Node, class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
class RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >

Definition at line 39 of file RegularGrid.h.

Member Typedef Documentation

◆ MemberTable

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
typedef std::unordered_multimap<const T*, Node*> RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::MemberTable

Definition at line 50 of file RegularGrid.h.

Member Enumeration Documentation

◆ anonymous enum

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
anonymous enum
Enumerator
CELL_NUMBER 

Definition at line 43 of file RegularGrid.h.

Constructor & Destructor Documentation

◆ RegularGrid2D()

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::RegularGrid2D ( )
inline

Definition at line 55 of file RegularGrid.h.

◆ ~RegularGrid2D()

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::~RegularGrid2D ( )
inline

Definition at line 60 of file RegularGrid.h.

Member Function Documentation

◆ balance()

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
void RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::balance ( )
inline

Definition at line 92 of file RegularGrid.h.

+ Here is the caller graph for this function:

◆ contains()

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
bool RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::contains ( const T &  value) const
inline

Definition at line 100 of file RegularGrid.h.

+ Here is the caller graph for this function:

◆ empty()

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
bool RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::empty ( ) const
inline

Definition at line 101 of file RegularGrid.h.

+ Here is the caller graph for this function:

◆ getGrid()

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
Node & RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::getGrid ( int  x,
int  y 
)
inline

Definition at line 120 of file RegularGrid.h.

◆ insert()

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
void RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::insert ( const T &  value)
inline

Definition at line 67 of file RegularGrid.h.

+ Here is the caller graph for this function:

◆ intersectPoint()

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
template<typename IsectCallback >
void RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::intersectPoint ( const G3D::Vector3 &  point,
IsectCallback &  intersectCallback 
)
inline

Definition at line 211 of file RegularGrid.h.

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

◆ intersectRay() [1/2]

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
template<typename RayCallback >
void RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::intersectRay ( const G3D::Ray &  ray,
RayCallback &  intersectCallback,
float &  max_dist,
const G3D::Vector3 &  end 
)
inline

Definition at line 135 of file RegularGrid.h.

+ Here is the call graph for this function:

◆ intersectRay() [2/2]

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
template<typename RayCallback >
void RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::intersectRay ( const G3D::Ray &  ray,
RayCallback &  intersectCallback,
float  max_dist 
)
inline

Definition at line 129 of file RegularGrid.h.

+ Here is the caller graph for this function:

◆ intersectZAllignedRay()

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
template<typename RayCallback >
void RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::intersectZAllignedRay ( const G3D::Ray &  ray,
RayCallback &  intersectCallback,
float &  max_dist 
)
inline

Definition at line 222 of file RegularGrid.h.

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

◆ remove()

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
void RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::remove ( const T &  value)
inline

Definition at line 84 of file RegularGrid.h.

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

Member Data Documentation

◆ memberTable

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
MemberTable RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::memberTable

Definition at line 52 of file RegularGrid.h.

◆ nodes

template<class T , class Node , class NodeCreatorFunc = NodeCreator<Node>, class BoundsFunc = BoundsTrait<T>, class PositionFunc = PositionTrait<T>>
Node* RegularGrid2D< T, Node, NodeCreatorFunc, BoundsFunc, PositionFunc >::nodes[CELL_NUMBER][CELL_NUMBER]

Definition at line 53 of file RegularGrid.h.


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