|
| LinearBVH ()=default |
| Disallowed. Use the full constructor please.
|
|
| LinearBVH (const LinearBVH &)=default |
| Copy constructor.
|
|
| LinearBVH (const std::vector< std::shared_ptr< const LinearNodeT< T, P, BV, K >>> &a_linearNodes, const std::vector< std::shared_ptr< const P >> &a_primitives) |
| Full constructor. Associates the nodes and primitives. More...
|
|
| LinearBVH (const std::vector< std::shared_ptr< LinearNodeT< T, P, BV, K >>> &a_linearNodes, const std::vector< std::shared_ptr< const P >> &a_primitives) |
| Full constructor. Associates the nodes and primitives. More...
|
|
virtual | ~LinearBVH () |
| Destructor. Does nothing.
|
|
const BV & | getBoundingVolume () const noexcept |
| Get the bounding volume for this BVH.
|
|
template<class Meta > |
void | traverse (const BVH::Updater< P > &a_updater, const BVH::Visiter< LinearNode, Meta > &a_visiter, const BVH::Sorter< LinearNode, Meta, K > &a_sorter, const BVH::MetaUpdater< LinearNode, Meta > &a_metaUpdater) const noexcept |
| Recursion-less BVH traversal algorithm. The user inputs the update rule, a pruning criterion, and a criterion of who to visit first. More...
|
|
template<class T, class P, class BV, size_t K>
class BVH::LinearBVH< T, P, BV, K >
Forward declare linear BVH class.
Linear root node for BVH hierarchy.
T is the precision used in the BVH computations, P is the enclosing primitive and BV is the bounding volume used in the BVH. K is the tree degree.