OpenVDB 10.0.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
TreeMarcher< NodeT, RayT, AccT, CoordT > Class Template Reference

A Tree Marcher for Generic Grids. More...

#include <nanovdb/util/HDDA.h>

Inheritance diagram for TreeMarcher< NodeT, RayT, AccT, CoordT >:
PointTreeMarcher< AccT, RayT, CoordT >

Public Types

using ChildT = typename NodeT::ChildNodeType
 
using RealType = typename RayT::RealType
 
using RealT = RealType
 
using CoordType = CoordT
 

Public Member Functions

__hostdev__ TreeMarcher (AccT &acc)
 
__hostdev__ bool init (const RayT &indexRay)
 Initialize the TreeMarcher with an index-space ray.
 
__hostdev__ bool step (const NodeT **node, float &t0, float &t1)
 step the ray through the tree. If the ray hits a node then populate t0 & t1, and the node.
 
__hostdev__ const RayT & ray () const
 
__hostdev__ RayT & ray ()
 

Detailed Description

template<typename NodeT, typename RayT, typename AccT, typename CoordT = Coord>
class nanovdb::TreeMarcher< NodeT, RayT, AccT, CoordT >

A Tree Marcher for Generic Grids.

Member Typedef Documentation

◆ ChildT

template<typename NodeT , typename RayT , typename AccT , typename CoordT = Coord>
using ChildT = typename NodeT::ChildNodeType

◆ CoordType

template<typename NodeT , typename RayT , typename AccT , typename CoordT = Coord>
using CoordType = CoordT

◆ RealT

template<typename NodeT , typename RayT , typename AccT , typename CoordT = Coord>
using RealT = RealType

◆ RealType

template<typename NodeT , typename RayT , typename AccT , typename CoordT = Coord>
using RealType = typename RayT::RealType

Constructor & Destructor Documentation

◆ TreeMarcher()

template<typename NodeT , typename RayT , typename AccT , typename CoordT = Coord>
__hostdev__ TreeMarcher ( AccT &  acc)
inline

Member Function Documentation

◆ init()

template<typename NodeT , typename RayT , typename AccT , typename CoordT = Coord>
__hostdev__ bool init ( const RayT &  indexRay)
inline

Initialize the TreeMarcher with an index-space ray.

◆ ray() [1/2]

template<typename NodeT , typename RayT , typename AccT , typename CoordT = Coord>
__hostdev__ RayT & ray ( )
inline

◆ ray() [2/2]

template<typename NodeT , typename RayT , typename AccT , typename CoordT = Coord>
__hostdev__ const RayT & ray ( ) const
inline

◆ step()

template<typename NodeT , typename RayT , typename AccT , typename CoordT = Coord>
__hostdev__ bool step ( const NodeT **  node,
float t0,
float t1 
)
inline

step the ray through the tree. If the ray hits a node then populate t0 & t1, and the node.

Returns
true when a node of type NodeT is intersected, false otherwise.