#include "common/common.h"
#include "geometry/geometry_3d.h"
#include "threadsafe/smart_ptr.h"
Go to the source code of this file.
Classes | |
struct | kdtree::plane_t |
a kdtree plane is always axis-aligned More... | |
class | kdtree::Entry |
base class for kd-tree entries. Clients can inherit from this. More... | |
class | kdtree::Node |
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... | |
struct | kdtree::Node::entry_rec_t |
struct | kdtree::Node::dynamic_entry_t |
Namespaces | |
namespace | kdtree |
Typedefs | |
typedef eAction(* | kdtree::iteration_callback )(IN void *context, IN Entry *entry, IN const rect3d_t &entry_rect) |
Enumerations | |
enum | kdtree::eSort { kdtree::eSort_Left = 1, kdtree::eSort_Right = 2, kdtree::eSort_Straddle = 3, kdtree::eSort_Invalid = 0 } |
enum | kdtree::eAxis { kdtree::eAxis_X = 1, kdtree::eAxis_Y = 2, kdtree::eAxis_Z = 3, kdtree::eAxis_Invalid = 0 } |
enum | kdtree::eAction { kdtree::eAction_Continue = 0x001, kdtree::eAction_Halt = 0x002, kdtree::eAction_Remove = 0x010, kdtree::eAction_Invalid = 0 } |
enum | kdtree::eStrategy { kdtree::eStrategy_Naive = 1, kdtree::eStrategy_Balance = 2, kdtree::eStrategy_Invalid = 0 } |
strategies used for space partitioning More... | |
Functions | |
eSort | kdtree::sortPoint (IN const plane_t &plane, IN const point3d_t &point) throw () |
say which side of a given sort plane the provided test point is on | |
eSort | kdtree::sortRect (IN const plane_t &plane, IN const rect3d_t &rect) throw () |
say how the given rectangle sorts against the given sorting plane |