3 #include <SAHKDTreeFactory.h>
4 #include <SimpleKDTreeGeometricStrategy.h>
70 vector<Primitive *> &primitives,
72 int const assignedThreads
84 vector<Primitive *>
const &primitives,
87 vector<Primitive *> &leftPrimitives,
88 vector<Primitive *> &rightPrimitives,
89 std::shared_ptr<SharedTaskSequencer>
masters
101 vector<Primitive *> &primitives,
Class representing a KDTree node.
Definition: KDTreeNode.h:9
Decorator for any KDTree factory which provides support for multi thread KDTree building.
Definition: MultiThreadKDTreeFactory.h:34
shared_ptr< SharedTaskSequencer > masters
All masters threads (except main thread) are handled by this shared task sequencer.
Definition: MultiThreadKDTreeFactory.h:118
Class providing building methods for k-dimensional trees with surface area heuristic (SAH)
Definition: SAHKDTreeFactory.h:126
Class providing a strategy for geometry-level parallelization of SAH KDTree building....
Definition: SAHKDTreeGeometricStrategy.h:17
SAHKDTreeFactory & sahkdtf
The surface area heuristic KDTree factory to which geometric strategy shall be applied.
Definition: SAHKDTreeGeometricStrategy.h:29
void GEOM_defineSplit(KDTreeNode *node, KDTreeNode *parent, vector< Primitive * > &primitives, int const depth, int const assignedThreads) const override
Geometry-level parallel version of the SAHKDTreeFactory::defineSplit function.
Definition: SAHKDTreeGeometricStrategy.cpp:18
void GEOM_buildChildrenNodes(KDTreeNode *node, KDTreeNode *parent, vector< Primitive * > const &primitives, int const depth, int const index, vector< Primitive * > &leftPrimitives, vector< Primitive * > &rightPrimitives, std::shared_ptr< SharedTaskSequencer > masters) override
Geometry-level parallel version of the SAHKDTreeFactory::buildChildrenNodes.
Definition: SAHKDTreeGeometricStrategy.cpp:159
SimpleKDTreeGeometricStrategy * clone(SimpleKDTreeFactory *kdtf) const override
Create a clone of the SAHKDTreeGeometricStrategy.
Definition: SAHKDTreeGeometricStrategy.cpp:10
SAHKDTreeGeometricStrategy(SAHKDTreeFactory &kdtf)
SAHKDTreeGeometricStrategy default constructor.
Definition: SAHKDTreeGeometricStrategy.h:40
virtual double GEOM_findSplitPositionBySAH(KDTreeNode *node, vector< Primitive * > &primitives, int assignedThreads) const
Geometry-level parallel version of the SAHKDTreeFactory::findSplitPositionBySAH function.
Definition: SAHKDTreeGeometricStrategy.cpp:30
Class providing building methods for simple k-dimensional trees.
Definition: SimpleKDTreeFactory.h:18
Class providing a strategy for geometry-level parallelization of Simple KDTree building....
Definition: SimpleKDTreeGeometricStrategy.h:15
SimpleKDTreeFactory & kdtf
The simple KDTree factory to which geometric strategy shall be applied.
Definition: SimpleKDTreeGeometricStrategy.h:27