OpenVDB
9.0.1
|
Helper class that implements Hierarchical Digital Differential Analyzers for ray intersections against a generic volume. More...
#include <openvdb/math/DDA.h>
Public Types | |
using | ChainT = typename TreeT::RootNodeType::NodeChainType |
using | NodeT = typename ChainT::template Get< ChildNodeLevel > |
using | TimeSpanT = typename RayT::TimeSpan |
Public Member Functions | |
VolumeHDDA () | |
template<typename AccessorT > | |
TimeSpanT | march (RayT &ray, AccessorT &acc) |
template<typename AccessorT , typename ListT > | |
void | hits (RayT &ray, AccessorT &acc, ListT ×) |
Friends | |
class | VolumeHDDA< TreeT, RayT, ChildNodeLevel+1 > |
Helper class that implements Hierarchical Digital Differential Analyzers for ray intersections against a generic volume.
The template argument ChildNodeLevel specifies the entry upper node level used for the hierarchical ray-marching. The final lowest level is always the leaf node level, i.e. not the voxel level!
using ChainT = typename TreeT::RootNodeType::NodeChainType |
using NodeT = typename ChainT::template Get<ChildNodeLevel> |
using TimeSpanT = typename RayT::TimeSpan |
|
inline |
|
inline |
ListType is a list of RayType::TimeSpan and is required to have the two methods: clear() and push_back(). Thus, it could be std::vector<typename RayType::TimeSpan> or std::deque<typename RayType::TimeSpan>.
|
inline |
|
friend |