OpenVDB
9.0.1
|
A Digital Differential Analyzer. Unlike HDDA (defined above) this DDA uses a fixed step-size defined by the template parameter Dim! More...
#include <nanovdb/util/HDDA.h>
Public Types | |
using | RealType = typename RayT::RealType |
using | RealT = RealType |
using | Vec3Type = typename RayT::Vec3Type |
using | Vec3T = Vec3Type |
using | CoordType = CoordT |
Public Member Functions | |
DDA ()=default | |
Default ctor. More... | |
__hostdev__ | DDA (const RayT &ray) |
ctor from ray and dimension at which the DDA marches More... | |
__hostdev__ void | init (const RayT &ray, RealT startTime, RealT maxTime) |
Re-initializes the DDA. More... | |
__hostdev__ void | init (const RayT &ray) |
Simular to init above except it uses the bounds of the input ray. More... | |
__hostdev__ bool | step () |
Increment the voxel index to next intersected voxel or node and returns true if the step in time does not exceed maxTime. More... | |
__hostdev__ const CoordT & | voxel () const |
Return the index coordinates of the next node or voxel intersected by the ray. If Log2Dim = 0 the return value is the actual signed coordinate of the voxel, else it is the origin of the corresponding VDB tree node or tile. More... | |
__hostdev__ RealType | time () const |
Return the time (parameterized along the Ray) of the first hit of a tree node of size 2^Log2Dim. More... | |
__hostdev__ RealType | maxTime () const |
Return the maximum time (parameterized along the Ray). More... | |
__hostdev__ RealType | next () const |
Return the time (parameterized along the Ray) of the second (i.e. next) hit of a tree node of size 2^Log2Dim. More... | |
__hostdev__ int | nextAxis () const |
A Digital Differential Analyzer. Unlike HDDA (defined above) this DDA uses a fixed step-size defined by the template parameter Dim!
using CoordType = CoordT |
using RealType = typename RayT::RealType |
using Vec3Type = typename RayT::Vec3Type |
|
default |
Default ctor.
|
inline |
ctor from ray and dimension at which the DDA marches
|
inline |
Re-initializes the DDA.
|
inline |
Simular to init above except it uses the bounds of the input ray.
|
inline |
Return the maximum time (parameterized along the Ray).
|
inline |
Return the time (parameterized along the Ray) of the second (i.e. next) hit of a tree node of size 2^Log2Dim.
|
inline |
|
inline |
Increment the voxel index to next intersected voxel or node and returns true if the step in time does not exceed maxTime.
|
inline |
Return the time (parameterized along the Ray) of the first hit of a tree node of size 2^Log2Dim.
This value is initialized to startTime or ray.t0() depending on the constructor used.
|
inline |
Return the index coordinates of the next node or voxel intersected by the ray. If Log2Dim = 0 the return value is the actual signed coordinate of the voxel, else it is the origin of the corresponding VDB tree node or tile.