Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
shamtree::CLBVHTraverserAccessed< Tmorton, Tvec, dim > Struct Template Reference

Accessed version of CLBVHTraverser. More...

+ Collaboration diagram for shamtree::CLBVHTraverserAccessed< Tmorton, Tvec, dim >:

Public Member Functions

template<class Functor1 , class Functor2 , class Functor3 >
void traverse_tree_base (Functor1 &&traverse_condition, Functor2 &&on_found_leaf, Functor3 &&on_excluded_node) const
 Traverses the tree by calling tree_traverser's stack_based_traversal.
 
template<class Functor1 , class Functor2 , class Functor3 >
void traverse_tree_base (u32 root_node, Functor1 &&traverse_condition, Functor2 &&on_found_leaf, Functor3 &&on_excluded_node) const
 version with root node
 
template<class Functor1 , class Functor2 >
void rtree_for (Functor1 &&traverse_condition_with_aabb, Functor2 &&on_found_leaf) const
 

Public Attributes

KarrasTreeTraverserAccessed tree_traverser
 Tree traverser.
 
const Tvec * aabb_min
 Minimum of the AABB.
 
const Tvec * aabb_max
 Maximum of the AABB.
 

Static Public Attributes

static constexpr u32 tree_depth_max = shamrock::sfc::MortonCodes<Tmorton, 3>::significant_bits + 1
 maximum depth of the tree according to the morton codes
 

Detailed Description

template<class Tmorton, class Tvec, u32 dim>
struct shamtree::CLBVHTraverserAccessed< Tmorton, Tvec, dim >

Accessed version of CLBVHTraverser.

Definition at line 74 of file CLBVHObjectIterator.hpp.

Member Function Documentation

◆ rtree_for()

template<class Tmorton , class Tvec , u32 dim>
template<class Functor1 , class Functor2 >
void shamtree::CLBVHTraverserAccessed< Tmorton, Tvec, dim >::rtree_for ( Functor1 &&  traverse_condition_with_aabb,
Functor2 &&  on_found_leaf 
) const
inline

Definition at line 127 of file CLBVHObjectIterator.hpp.

◆ traverse_tree_base() [1/2]

template<class Tmorton , class Tvec , u32 dim>
template<class Functor1 , class Functor2 , class Functor3 >
void shamtree::CLBVHTraverserAccessed< Tmorton, Tvec, dim >::traverse_tree_base ( Functor1 &&  traverse_condition,
Functor2 &&  on_found_leaf,
Functor3 &&  on_excluded_node 
) const
inline

Traverses the tree by calling tree_traverser's stack_based_traversal.

This function is a convenience wrapper around the stack_based_traversal function of the tree_traverser.

This function is a shorthand to supply the tree depth

Parameters
[in]traverse_conditiona function taking a node_id and returning a boolean indicating whether to traverse the node further or not.
[in]on_found_leafa function taking a node_id and being called when a leaf node is reached.
[in]on_excluded_nodea function taking a node_id and being called when a node is excluded from the traversal.

Definition at line 100 of file CLBVHObjectIterator.hpp.

◆ traverse_tree_base() [2/2]

template<class Tmorton , class Tvec , u32 dim>
template<class Functor1 , class Functor2 , class Functor3 >
void shamtree::CLBVHTraverserAccessed< Tmorton, Tvec, dim >::traverse_tree_base ( u32  root_node,
Functor1 &&  traverse_condition,
Functor2 &&  on_found_leaf,
Functor3 &&  on_excluded_node 
) const
inline

version with root node

Definition at line 113 of file CLBVHObjectIterator.hpp.

Member Data Documentation

◆ aabb_max

template<class Tmorton , class Tvec , u32 dim>
const Tvec* shamtree::CLBVHTraverserAccessed< Tmorton, Tvec, dim >::aabb_max

Maximum of the AABB.

Definition at line 82 of file CLBVHObjectIterator.hpp.

◆ aabb_min

template<class Tmorton , class Tvec , u32 dim>
const Tvec* shamtree::CLBVHTraverserAccessed< Tmorton, Tvec, dim >::aabb_min

Minimum of the AABB.

Definition at line 81 of file CLBVHObjectIterator.hpp.

◆ tree_depth_max

template<class Tmorton , class Tvec , u32 dim>
constexpr u32 shamtree::CLBVHTraverserAccessed< Tmorton, Tvec, dim >::tree_depth_max = shamrock::sfc::MortonCodes<Tmorton, 3>::significant_bits + 1
staticconstexpr

maximum depth of the tree according to the morton codes

Definition at line 77 of file CLBVHObjectIterator.hpp.

◆ tree_traverser

template<class Tmorton , class Tvec , u32 dim>
KarrasTreeTraverserAccessed shamtree::CLBVHTraverserAccessed< Tmorton, Tvec, dim >::tree_traverser

Tree traverser.

Definition at line 80 of file CLBVHObjectIterator.hpp.


The documentation for this struct was generated from the following file: