OpenVDB  9.0.1
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>

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. More...
 
__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. More...
 
__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

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

Constructor & Destructor Documentation

__hostdev__ TreeMarcher ( AccT &  acc)
inline

Member Function Documentation

__hostdev__ bool init ( const RayT &  indexRay)
inline

Initialize the TreeMarcher with an index-space ray.

__hostdev__ const RayT& ray ( ) const
inline
__hostdev__ RayT& ray ( )
inline
__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.