Template Class KDTree
Defined in File kdTree.h
Class Documentation
-
template<typename HullType>
class KDTree Public Types
-
using TraversalPredicate = std::function<bool(unsigned int node_index, unsigned int depth)>
-
using TraversalCallback = std::function<void(unsigned int node_index, unsigned int depth)>
-
using TraversalPriorityLess = std::function<bool(std::array<int, 2> const &nodes)>
Public Functions
-
inline KDTree(std::size_t n, unsigned int maxPrimitivesPerLeaf = 1)
-
inline virtual ~KDTree()
-
inline unsigned int entity(unsigned int i) const
-
void construct()
-
void traverse_depth_first(TraversalPredicate pred, TraversalCallback cb, TraversalPriorityLess const &pless = nullptr) const
-
void traverse_breadth_first(TraversalPredicate const &pred, TraversalCallback const &cb, unsigned int start_node = 0, TraversalPriorityLess const &pless = nullptr, TraversalQueue &pending = TraversalQueue()) const
-
void traverse_breadth_first_parallel(TraversalPredicate pred, TraversalCallback cb) const
-
void update()
Protected Functions
-
void construct(unsigned int node, AlignedBox3r const &box, unsigned int b, unsigned int n)
-
void traverse_depth_first(unsigned int node, unsigned int depth, TraversalPredicate pred, TraversalCallback cb, TraversalPriorityLess const &pless) const
-
void traverse_breadth_first(TraversalQueue &pending, TraversalPredicate const &pred, TraversalCallback const &cb, TraversalPriorityLess const &pless = nullptr) const
-
unsigned int add_node(unsigned int b, unsigned int n)
-
virtual Vector3r const &entity_position(unsigned int i) const = 0
-
struct Node
-
struct QueueItem
-
using TraversalPredicate = std::function<bool(unsigned int node_index, unsigned int depth)>