root (and node!) of a kd-tree This class is expected to be used as the core object for rendering and other CPU-intensive tasks, so it therefore has no virtual methods. More...
#include <kdtree.h>
Classes | |
struct | dynamic_entry_t |
struct | entry_rec_t |
Public Types | |
typedef std::vector< entry_rec_t > | vec_entries_t |
Public Member Functions | |
~Node (void) throw () | |
void | addStaticEntry (IN smart_ptr< Entry > &entry, IN const rect3d_t &r) |
static entries are expensive to add and remove--do so rarely (such as when constructing the tree). | |
void | addDynamicEntry (IN smart_ptr< dynamic_entry_t > &de) |
dynamic entries are fast to add and remove, but are not used for partitioning and are not affected by subdividing. | |
bool | removeStaticEntry (IN Entry *entry) throw () |
smart_ptr< dynamic_entry_t > | popDynamicEntry (void) throw () |
int | getTreeDepth (void) const throw () |
int | getNodeCount (void) const throw () |
int | getStaticEntryCount (void) const throw () |
void | subdivide (IN eStrategy strategy, IN float param) |
here you tell the kd-tree to subdivide (recursively), using the given strategy. | |
eAction | iterateStaticEntries (IN const rect3d_t &r, IN iteration_callback callback, IN void *context) |
client can iterate over all entries in the given rect | |
const Node * | getLeftChild (void) const throw () |
const Node * | getRightChild (void) const throw () |
Node * | getLeftChild (void) throw () |
Node * | getRightChild (void) throw () |
const rect3d_t & | getRect (void) const throw () |
const plane_t & | getSortPlane (void) const throw () |
const vec_entries_t & | getStaticEntries (void) const throw () |
vec_entries_t & | getStaticEntries (void) throw () |
void | setUserPointer (IN void *context) throw () |
void * | getUserPointer (void) const throw () |
Static Public Member Functions | |
static smart_ptr< Node > | create (IN const rect3d_t &bounds) |
when you create a kd-tree node (especially the root!) you had better know the overall boundaries. |
root (and node!) of a kd-tree This class is expected to be used as the core object for rendering and other CPU-intensive tasks, so it therefore has no virtual methods.
Definition at line 160 of file kdtree.h.