|
HDK
|
Implements linear iterative search for an iso-value of the level set along the direction of the ray. More...
#include <RayIntersector.h>
Public Types | |
| using | RayT = math::Ray< RealT > |
| using | VecT = math::Vec3< RealT > |
| using | ValueT = typename GridT::ValueType |
| using | AccessorT = typename GridT::ConstAccessor |
| using | StencilT = math::BoxStencil< GridT > |
Public Member Functions | |
| LinearSearchImpl (const GridT &grid, const ValueT &isoValue=zeroVal< ValueT >()) | |
| Constructor from a grid. More... | |
| const ValueT & | getIsoValue () const |
| Return the iso-value used for ray-intersections. More... | |
| bool | setIndexRay (const RayT &iRay) |
Return false if the ray misses the bbox of the grid. More... | |
| bool | setWorldRay (const RayT &wRay) |
Return false if the ray misses the bbox of the grid. More... | |
| void | getIndexPos (VecT &xyz) const |
| Get the intersection point in index space. More... | |
| void | getWorldPos (VecT &xyz) const |
| Get the intersection point in world space. More... | |
| void | getWorldPosAndNml (VecT &xyz, VecT &nml) |
| Get the intersection point and normal in world space. More... | |
| RealT | getIndexTime () const |
| Return the time of intersection along the index ray. More... | |
| RealT | getWorldTime () const |
| Return the time of intersection along the world ray. More... | |
Friends | |
| template<typename , int > | |
| struct | math::LevelSetHDDA |
Implements linear iterative search for an iso-value of the level set along the direction of the ray.
It is approximate due to the limited number of iterations which can can be defined with a template parameter. However the default value has proven surprisingly accurate and fast. In fact more iterations are not guaranteed to give significantly better results.
Definition at line 56 of file RayIntersector.h.
| using openvdb::OPENVDB_VERSION_NAME::tools::LinearSearchImpl< GridT, Iterations, RealT >::AccessorT = typename GridT::ConstAccessor |
Definition at line 521 of file RayIntersector.h.
| using openvdb::OPENVDB_VERSION_NAME::tools::LinearSearchImpl< GridT, Iterations, RealT >::RayT = math::Ray<RealT> |
Definition at line 518 of file RayIntersector.h.
| using openvdb::OPENVDB_VERSION_NAME::tools::LinearSearchImpl< GridT, Iterations, RealT >::StencilT = math::BoxStencil<GridT> |
Definition at line 522 of file RayIntersector.h.
| using openvdb::OPENVDB_VERSION_NAME::tools::LinearSearchImpl< GridT, Iterations, RealT >::ValueT = typename GridT::ValueType |
Definition at line 520 of file RayIntersector.h.
| using openvdb::OPENVDB_VERSION_NAME::tools::LinearSearchImpl< GridT, Iterations, RealT >::VecT = math::Vec3<RealT> |
Definition at line 519 of file RayIntersector.h.
|
inline |
Constructor from a grid.
| RunTimeError | if the grid is empty. |
| ValueError | if the isoValue is not inside the narrow-band. |
Definition at line 527 of file RayIntersector.h.
|
inline |
Get the intersection point in index space.
| xyz | The position in index space of the intersection. |
Definition at line 566 of file RayIntersector.h.
|
inline |
Return the time of intersection along the index ray.
Definition at line 585 of file RayIntersector.h.
|
inline |
Return the iso-value used for ray-intersections.
Definition at line 544 of file RayIntersector.h.
|
inline |
Get the intersection point in world space.
| xyz | The position in world space of the intersection. |
Definition at line 570 of file RayIntersector.h.
|
inline |
Get the intersection point and normal in world space.
| xyz | The position in world space of the intersection. |
| nml | The surface normal in world space of the intersection. |
Definition at line 575 of file RayIntersector.h.
|
inline |
Return the time of intersection along the world ray.
Definition at line 588 of file RayIntersector.h.
|
inline |
Return false if the ray misses the bbox of the grid.
| iRay | Ray represented in index space. |
Definition at line 549 of file RayIntersector.h.
|
inline |
Return false if the ray misses the bbox of the grid.
| wRay | Ray represented in world space. |
Definition at line 558 of file RayIntersector.h.
|
friend |
Definition at line 659 of file RayIntersector.h.