This class provides the public API for intersecting a ray with a narrowband level set.
More...
#include <RayIntersector.h>

 LevelSetRayIntersector (const GridT &grid, const ValueT &isoValue=zeroVal< ValueT >()) 
 Constructor. More...


const ValueT &  getIsoValue () const 
 Return the isovalue used for rayintersections. More...


bool  intersectsIS (const RayType &iRay) const 
 Return true if the indexspace ray intersects the level set. More...


bool  intersectsIS (const RayType &iRay, RealType &iTime) const 
 Return true if the indexspace ray intersects the level set. More...


bool  intersectsIS (const RayType &iRay, Vec3Type &xyz) const 
 Return true if the indexspace ray intersects the level set. More...


bool  intersectsIS (const RayType &iRay, Vec3Type &xyz, RealType &iTime) const 
 Return true if the indexspace ray intersects the level set. More...


bool  intersectsWS (const RayType &wRay) const 
 Return true if the worldspace ray intersects the level set. More...


bool  intersectsWS (const RayType &wRay, RealType &wTime) const 
 Return true if the worldspace ray intersects the level set. More...


bool  intersectsWS (const RayType &wRay, Vec3Type &world) const 
 Return true if the worldspace ray intersects the level set. More...


bool  intersectsWS (const RayType &wRay, Vec3Type &world, RealType &wTime) const 
 Return true if the worldspace ray intersects the level set. More...


bool  intersectsWS (const RayType &wRay, Vec3Type &world, Vec3Type &normal) const 
 Return true if the worldspace ray intersects the level set. More...


bool  intersectsWS (const RayType &wRay, Vec3Type &world, Vec3Type &normal, RealType &wTime) const 
 Return true if the worldspace ray intersects the level set. More...


template<typename GridT, typename SearchImplT = LinearSearchImpl<GridT>, int NodeLevel = GridT::TreeType::RootNodeType::ChildNodeType::LEVEL, typename RayT = math::Ray<Real>>
class openvdb::v6_2::tools::LevelSetRayIntersector< GridT, SearchImplT, NodeLevel, RayT >
This class provides the public API for intersecting a ray with a narrowband level set.
It wraps a SearchImplT with a simple public API and performs the actual hierarchical tree node and voxel traversal.
 Warning
 Use the (default) copyconstructor to make sure each computational thread has their own instance of this class. This is important since the SearchImplT contains a ValueAccessor that is not threadsafe. However copying is very efficient.
 See also
 tools/RayTracer.h for examples of intended usage.
using RealType = typename RayT::RealType 
using TreeT = typename GridT::TreeType 
using ValueT = typename GridT::ValueType 
Constructor.
 Parameters

grid  level set grid to intersect rays against. 
isoValue  optional isovalue for the rayintersection. 
const ValueT& getIsoValue 
( 
 ) 
const 

inline 
Return the isovalue used for rayintersections.
bool intersectsIS 
( 
const RayType & 
iRay  ) 
const 

inline 
Return true
if the indexspace ray intersects the level set.
 Parameters

iRay  ray represented in index space. 
Return true
if the indexspace ray intersects the level set.
 Parameters

iRay  ray represented in index space. 
iTime  if an intersection was found it is assigned the time of the intersection along the index ray. 
Return true
if the indexspace ray intersects the level set.
 Parameters

iRay  ray represented in index space. 
xyz  if an intersection was found it is assigned the intersection point in index space, otherwise it is unchanged. 
Return true
if the indexspace ray intersects the level set.
 Parameters

iRay  ray represented in index space. 
xyz  if an intersection was found it is assigned the intersection point in index space, otherwise it is unchanged. 
iTime  if an intersection was found it is assigned the time of the intersection along the index ray. 
bool intersectsWS 
( 
const RayType & 
wRay  ) 
const 

inline 
Return true
if the worldspace ray intersects the level set.
 Parameters

wRay  ray represented in world space. 
Return true
if the worldspace ray intersects the level set.
 Parameters

wRay  ray represented in world space. 
wTime  if an intersection was found it is assigned the time of the intersection along the world ray. 
Return true
if the worldspace ray intersects the level set.
 Parameters

wRay  ray represented in world space. 
world  if an intersection was found it is assigned the intersection point in world space, otherwise it is unchanged 
Return true
if the worldspace ray intersects the level set.
 Parameters

wRay  ray represented in world space. 
world  if an intersection was found it is assigned the intersection point in world space, otherwise it is unchanged. 
wTime  if an intersection was found it is assigned the time of the intersection along the world ray. 
Return true
if the worldspace ray intersects the level set.
 Parameters

wRay  ray represented in world space. 
world  if an intersection was found it is assigned the intersection point in world space, otherwise it is unchanged. 
normal  if an intersection was found it is assigned the normal of the level set surface in world space, otherwise it is unchanged. 
Return true
if the worldspace ray intersects the level set.
 Parameters

wRay  ray represented in world space. 
world  if an intersection was found it is assigned the intersection point in world space, otherwise it is unchanged. 
normal  if an intersection was found it is assigned the normal of the level set surface in world space, otherwise it is unchanged. 
wTime  if an intersection was found it is assigned the time of the intersection along the world ray. 
The documentation for this class was generated from the following file: