Helper class that implements Hierarchical Digital Differential Analyzers for ray intersections against a generic volume.
More...
template<typename TreeT, typename RayT, int ChildNodeLevel>
class openvdb::v10_0::math::VolumeHDDA< TreeT, RayT, ChildNodeLevel >
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!
template<typename TreeT , typename RayT , int ChildNodeLevel>
template<typename AccessorT , typename ListT >
void hits |
( |
RayT & |
ray, |
|
|
AccessorT & |
acc, |
|
|
ListT & |
times |
|
) |
| |
|
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>.