HDK
|
This class provides the public API for intersecting a ray with a narrow-band level set. More...
#include <RayIntersector.h>
Public Types | |
using | GridType = GridT |
using | RayType = RayT |
using | RealType = typename RayT::RealType |
using | Vec3Type = typename RayT::Vec3T |
using | ValueT = typename GridT::ValueType |
using | TreeT = typename GridT::TreeType |
Public Member Functions | |
LevelSetRayIntersector (const GridT &grid, const ValueT &isoValue=zeroVal< ValueT >()) | |
Constructor. More... | |
const ValueT & | getIsoValue () const |
Return the iso-value used for ray-intersections. More... | |
bool | intersectsIS (const RayType &iRay) const |
Return true if the index-space ray intersects the level set. More... | |
bool | intersectsIS (const RayType &iRay, RealType &iTime) const |
Return true if the index-space ray intersects the level set. More... | |
bool | intersectsIS (const RayType &iRay, Vec3Type &xyz) const |
Return true if the index-space ray intersects the level set. More... | |
bool | intersectsIS (const RayType &iRay, Vec3Type &xyz, RealType &iTime) const |
Return true if the index-space ray intersects the level set. More... | |
bool | intersectsWS (const RayType &wRay) const |
Return true if the world-space ray intersects the level set. More... | |
bool | intersectsWS (const RayType &wRay, RealType &wTime) const |
Return true if the world-space ray intersects the level set. More... | |
bool | intersectsWS (const RayType &wRay, Vec3Type &world) const |
Return true if the world-space ray intersects the level set. More... | |
bool | intersectsWS (const RayType &wRay, Vec3Type &world, RealType &wTime) const |
Return true if the world-space ray intersects the level set. More... | |
bool | intersectsWS (const RayType &wRay, Vec3Type &world, Vec3Type &normal) const |
Return true if the world-space ray intersects the level set. More... | |
bool | intersectsWS (const RayType &wRay, Vec3Type &world, Vec3Type &normal, RealType &wTime) const |
Return true if the world-space ray intersects the level set. More... | |
This class provides the public API for intersecting a ray with a narrow-band level set.
It wraps a SearchImplT with a simple public API and performs the actual hierarchical tree node and voxel traversal.
Definition at line 82 of file RayIntersector.h.
using openvdb::OPENVDB_VERSION_NAME::tools::LevelSetRayIntersector< GridT, SearchImplT, NodeLevel, RayT >::GridType = GridT |
Definition at line 85 of file RayIntersector.h.
using openvdb::OPENVDB_VERSION_NAME::tools::LevelSetRayIntersector< GridT, SearchImplT, NodeLevel, RayT >::RayType = RayT |
Definition at line 86 of file RayIntersector.h.
using openvdb::OPENVDB_VERSION_NAME::tools::LevelSetRayIntersector< GridT, SearchImplT, NodeLevel, RayT >::RealType = typename RayT::RealType |
Definition at line 87 of file RayIntersector.h.
using openvdb::OPENVDB_VERSION_NAME::tools::LevelSetRayIntersector< GridT, SearchImplT, NodeLevel, RayT >::TreeT = typename GridT::TreeType |
Definition at line 90 of file RayIntersector.h.
using openvdb::OPENVDB_VERSION_NAME::tools::LevelSetRayIntersector< GridT, SearchImplT, NodeLevel, RayT >::ValueT = typename GridT::ValueType |
Definition at line 89 of file RayIntersector.h.
using openvdb::OPENVDB_VERSION_NAME::tools::LevelSetRayIntersector< GridT, SearchImplT, NodeLevel, RayT >::Vec3Type = typename RayT::Vec3T |
Definition at line 88 of file RayIntersector.h.
|
inline |
Constructor.
grid | level set grid to intersect rays against. |
isoValue | optional iso-value for the ray-intersection. |
Definition at line 99 of file RayIntersector.h.
|
inline |
Return the iso-value used for ray-intersections.
Definition at line 114 of file RayIntersector.h.
|
inline |
Return true
if the index-space ray intersects the level set.
iRay | ray represented in index space. |
Definition at line 118 of file RayIntersector.h.
|
inline |
Return true
if the index-space ray intersects the level set.
iRay | ray represented in index space. |
iTime | if an intersection was found it is assigned the time of the intersection along the index ray. |
Definition at line 128 of file RayIntersector.h.
|
inline |
Return true
if the index-space ray intersects the level set.
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. |
Definition at line 139 of file RayIntersector.h.
|
inline |
Return true
if the index-space ray intersects the level set.
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. |
Definition at line 153 of file RayIntersector.h.
|
inline |
Return true
if the world-space ray intersects the level set.
wRay | ray represented in world space. |
Definition at line 164 of file RayIntersector.h.
|
inline |
Return true
if the world-space ray intersects the level set.
wRay | ray represented in world space. |
wTime | if an intersection was found it is assigned the time of the intersection along the world ray. |
Definition at line 174 of file RayIntersector.h.
|
inline |
Return true
if the world-space ray intersects the level set.
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 |
Definition at line 185 of file RayIntersector.h.
|
inline |
Return true
if the world-space ray intersects the level set.
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. |
Definition at line 199 of file RayIntersector.h.
|
inline |
Return true
if the world-space ray intersects the level set.
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. |
Definition at line 214 of file RayIntersector.h.
|
inline |
Return true
if the world-space ray intersects the level set.
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. |
Definition at line 230 of file RayIntersector.h.