Helios++
Helios software for LiDAR simulations
FastSAHKDTreeGeometricStrategy.h
1 #pragma once
2 
3 #include <SAHKDTreeGeometricStrategy.h>
4 #include <FastSAHKDTreeFactory.h>
5 
18  // *** FRIENDS *** //
19  // ***************** //
20  friend class MultiThreadKDTreeFactory;
21 
22 protected:
23  // *** ATTRIBUTES *** //
24  // ******************** //
30 
31 public:
32  // *** CONSTRUCTION / DESTRUCTION *** //
33  // ************************************ //
42  fsahkdtf(kdtf)
43  {}
44  virtual ~FastSAHKDTreeGeometricStrategy() = default;
45 
46  // *** CLONE *** //
47  // *************** //
55  ) const override;
56 
57  // *** GEOMETRY LEVEL BUILDING *** //
58  // ********************************* //
68  KDTreeNode *node,
69  vector<Primitive *> &primitives,
70  int assignedThreads
71  ) const override;
72 };
Class providing building methods for k-dimensional trees with a fast strategy to approximate Surface ...
Definition: FastSAHKDTreeFactory.h:42
Class providing a strategy for geometry-level parallelization of Fast SAH KDTree building....
Definition: FastSAHKDTreeGeometricStrategy.h:17
FastSAHKDTreeGeometricStrategy(FastSAHKDTreeFactory &kdtf)
FastSAHKDTreeGeometricStrategy default constructor.
Definition: FastSAHKDTreeGeometricStrategy.h:40
double GEOM_findSplitPositionBySAH(KDTreeNode *node, vector< Primitive * > &primitives, int assignedThreads) const override
Geometry-level parallel version of the FastSAHKDTreeFactory::findSplitPositionBySAH function.
Definition: FastSAHKDTreeGeometricStrategy.cpp:14
SimpleKDTreeGeometricStrategy * clone(SimpleKDTreeFactory *kdtf) const override
Create a clone of the FastSAHKDTreeGeometricStrategy.
Definition: FastSAHKDTreeGeometricStrategy.cpp:6
FastSAHKDTreeFactory & fsahkdtf
The fast surface area heuristic KDTree factory to which geometric strategy shall be applied.
Definition: FastSAHKDTreeGeometricStrategy.h:29
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
Class providing a strategy for geometry-level parallelization of SAH KDTree building....
Definition: SAHKDTreeGeometricStrategy.h:17
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