Loading...
Searching...
No Matches
HDDA.h File Reference

Hierarchical Digital Differential Analyzers specialized for VDB. More...

`#include <nanovdb/NanoVDB.h>`

Go to the source code of this file.

## Classes

class | HDDA< RayT, CoordT >
| A Digital Differential Analyzer specialized for OpenVDB grids. More...
class | DDA< RayT, CoordT, Dim >
| A Digital Differential Analyzer. Unlike HDDA (defined above) this DDA uses a fixed step-size defined by the template parameter Dim! More...
class | TreeMarcher< NodeT, RayT, AccT, CoordT >
| A Tree Marcher for Generic Grids. More...
class | PointTreeMarcher< AccT, RayT, CoordT >
| A Tree Marcher for Point Grids. More...

## Namespaces

namespace | nanovdb

## Macros

#define | ENFORCE_FORWARD_STEPPING

## Functions

template<typename RayT, typename AccT>
__hostdev__ bool | ZeroCrossing (RayT &ray, AccT &acc, Coord &ijk, typename AccT::ValueType &v, float &t)

returns true if the ray intersects a zero-crossing at the voxel level of the grid in the accessor The empty-space ray-marching is performed at all levels of the tree using an HDDA. If an intersection is detected, then ijk is updated with the index coordinate of the closest voxel after the intersection point, v contains the grid values at ijk, and t is set to the time of the intersection along the ray.

template<typename RayT, typename NodeT>
__hostdev__ bool | ZeroCrossingNode (RayT &ray, const NodeT &node, float v0, nanovdb::Coord &ijk, float &v, float &t)
template<typename RayT, typename AccT>
__hostdev__ bool | firstActive (RayT &ray, AccT &acc, Coord &ijk, float &t)
| returns true if the ray intersects an active value at any level of the grid in the accessor. The empty-space ray-marching is performed at all levels of the tree using an HDDA. If an intersection is detected, then ijk is updated with the index coordinate of the first active voxel or tile, and t is set to the time of its intersection along the ray.

## Detailed Description

Hierarchical Digital Differential Analyzers specialized for VDB.

Author
  Ken Museth

## Macro Definition Documentation

## ENFORCE_FORWARD_STEPPING

#define ENFORCE_FORWARD_STEPPING