3 #include <MDThreadPool.h>
4 #include <KDTreeBuildType.h>
Build type to wrap data required for recursive building of KDTree nodes when using a KDTreeFactory ba...
Definition: KDTreeBuildType.h:11
KDTreeNode * parent
The parent node.
Definition: KDTreeBuildType.h:19
vector< Primitive * > primitives
Primitives to build KDTree node from.
Definition: KDTreeBuildType.h:30
int index
Index of node at current depth.
Definition: KDTreeBuildType.h:40
bool left
True if given node is a left child, false otherwise. Notice root node is not left nor right,...
Definition: KDTreeBuildType.h:25
int depth
Depth of node.
Definition: KDTreeBuildType.h:35
Class implementing a thread pool to deal with multi thread KDTree building process.
Definition: KDTreeFactoryThreadPool.h:24
KDTreeFactoryThreadPool(std::size_t const _pool_size)
KDTree factory thread pool constructor.
Definition: KDTreeFactoryThreadPool.h:32
void do_md_task(boost::function< void(KDTreeNode *, bool const, vector< Primitive * > &, int const, int const)> &task, KDTreeBuildType *data) override
Do a recursive build of KDTree node task.
Definition: KDTreeFactoryThreadPool.h:59
KDTreeFactoryThreadPool()
KDTree factory thread pool constructor which uses concurrent threads supported by the system as the d...
Definition: KDTreeFactoryThreadPool.h:47
Class representing a KDTree node.
Definition: KDTreeNode.h:9
Abstract class extending basic thread pool implementation to provide a basis layer to handle tasks wi...
Definition: MDThreadPool.h:22
Abstract class defining the common behavior for all primitives.
Definition: Primitive.h:24