Loading...
Searching...
No Matches
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 >:

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