OpenVDB: TreeMarcher< NodeT, RayT, AccT, CoordT > Class Template Reference

OpenVDB 9.0.0

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

## ◆ ChildT

using ChildT = typename NodeT::ChildNodeType

## ◆ CoordType

using CoordType = CoordT

## ◆ RealT

using RealT = RealType

## ◆ RealType

using RealType = typename RayT::RealType

## Constructor & Destructor Documentation

## ◆ TreeMarcher()

__hostdev__ TreeMarcher | ( | AccT & | acc | ) |
| inline

## Member Function Documentation

## ◆ init()

__hostdev__ bool init | ( | const RayT & | indexRay | ) |
| inline

Initialize the TreeMarcher with an index-space ray.

## ◆ ray() [1/2]

__hostdev__ RayT & ray | ( |  | ) |
| inline

## ◆ ray() [2/2]

__hostdev__ const RayT & ray | ( |  | ) | const
| inline

## ◆ step()

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