OpenVDB
9.0.1
|
#include <openvdb/math/Ray.h>
Classes | |
struct | TimeSpan |
Public Types | |
using | RealType = RealT |
using | Vec3Type = Vec3< RealT > |
using | Vec3T = Vec3Type |
Public Member Functions | |
Ray (const Vec3Type &eye=Vec3Type(0, 0, 0), const Vec3Type &direction=Vec3Type(1, 0, 0), RealT t0=math::Delta< RealT >::value(), RealT t1=std::numeric_limits< RealT >::max()) | |
void | setEye (const Vec3Type &eye) |
void | setDir (const Vec3Type &dir) |
void | setMinTime (RealT t0) |
void | setMaxTime (RealT t1) |
void | setTimes (RealT t0=math::Delta< RealT >::value(), RealT t1=std::numeric_limits< RealT >::max()) |
void | scaleTimes (RealT scale) |
void | reset (const Vec3Type &eye, const Vec3Type &direction, RealT t0=math::Delta< RealT >::value(), RealT t1=std::numeric_limits< RealT >::max()) |
const Vec3T & | eye () const |
const Vec3T & | dir () const |
const Vec3T & | invDir () const |
RealT | t0 () const |
RealT | t1 () const |
Vec3R | operator() (RealT time) const |
Return the position along the ray at the specified time. More... | |
Vec3R | start () const |
Return the starting point of the ray. More... | |
Vec3R | end () const |
Return the endpoint of the ray. More... | |
Vec3R | mid () const |
Return the midpoint of the ray. More... | |
bool | valid (RealT eps=math::Delta< float >::value()) const |
Return true if t1 is larger than t0 by at least eps. More... | |
bool | test (RealT time) const |
Return true if time is within t0 and t1, both inclusive. More... | |
template<typename MapType > | |
Ray | applyMap (const MapType &map) const |
Return a new Ray that is transformed with the specified map. More... | |
template<typename MapType > | |
Ray | applyInverseMap (const MapType &map) const |
Return a new Ray that is transformed with the inverse of the specified map. More... | |
template<typename GridType > | |
Ray | indexToWorld (const GridType &grid) const |
Return a new ray in world space, assuming the existing ray is represented in the index space of the specified grid. More... | |
template<typename GridType > | |
Ray | worldToIndex (const GridType &grid) const |
Return a new ray in the index space of the specified grid, assuming the existing ray is represented in world space. More... | |
bool | intersects (const Vec3T ¢er, RealT radius, RealT &t0, RealT &t1) const |
Return true if this ray intersects the specified sphere. More... | |
bool | intersects (const Vec3T ¢er, RealT radius) const |
Return true if this ray intersects the specified sphere. More... | |
bool | clip (const Vec3T ¢er, RealT radius) |
Return true if this ray intersects the specified sphere. More... | |
template<typename BBoxT > | |
bool | intersects (const BBoxT &bbox, RealT &t0, RealT &t1) const |
Return true if the Ray intersects the specified axisaligned bounding box. More... | |
template<typename BBoxT > | |
bool | intersects (const BBoxT &bbox) const |
Return true if this ray intersects the specified bounding box. More... | |
template<typename BBoxT > | |
bool | clip (const BBoxT &bbox) |
Return true if this ray intersects the specified bounding box. More... | |
bool | intersects (const Vec3T &normal, RealT distance, RealT &t) const |
Return true if the Ray intersects the plane specified by a normal and distance from the origin. More... | |
bool | intersects (const Vec3T &normal, const Vec3T &point, RealT &t) const |
Return true if the Ray intersects the plane specified by a normal and point. More... | |
using RealType = RealT |
|
inline |
|
inline |
Return a new Ray that is transformed with the inverse of the specified map.
map | the map from which to construct the new Ray by inverse mapping. |
The requirement that the direction is normalized follows from the transformation of t0 and t1 - and that fact that we want applyMap and applyInverseMap to be inverse operations.
|
inline |
Return a new Ray that is transformed with the specified map.
map | the map from which to construct the new Ray. |
The requirement that the direction is normalized follows from the transformation of t0 and t1 - and that fact that we want applyMap and applyInverseMap to be inverse operations.
|
inline |
Return true if this ray intersects the specified sphere.
center | The center of the sphere in the same space as this ray. |
radius | The radius of the sphere in the same units as this ray. |
|
inline |
Return true if this ray intersects the specified bounding box.
bbox | Axis-aligned bounding box in the same space as this ray. |
|
inline |
|
inline |
Return the endpoint of the ray.
|
inline |
|
inline |
Return a new ray in world space, assuming the existing ray is represented in the index space of the specified grid.
|
inline |
Return true if this ray intersects the specified sphere.
center | The center of the sphere in the same space as this ray. |
radius | The radius of the sphere in the same units as this ray. |
t0 | The first intersection point if an intersection exists. |
t1 | The second intersection point if an intersection exists. |
|
inline |
Return true if this ray intersects the specified sphere.
center | The center of the sphere in the same space as this ray. |
radius | The radius of the sphere in the same units as this ray. |
|
inline |
Return true if the Ray intersects the specified axisaligned bounding box.
bbox | Axis-aligned bounding box in the same space as the Ray. |
t0 | If an intersection is detected this is assigned the time for the first intersection point. |
t1 | If an intersection is detected this is assigned the time for the second intersection point. |
|
inline |
Return true if this ray intersects the specified bounding box.
bbox | Axis-aligned bounding box in the same space as this ray. |
|
inline |
Return true if the Ray intersects the plane specified by a normal and distance from the origin.
normal | Normal of the plane. |
distance | Distance of the plane to the origin. |
t | Time of intersection, if one exists. |
Return true if the Ray intersects the plane specified by a normal and point.
normal | Normal of the plane. |
point | Point in the plane. |
t | Time of intersection, if one exists. |
|
inline |
|
inline |
Return the midpoint of the ray.
|
inline |
Return the position along the ray at the specified time.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Return the starting point of the ray.
|
inline |
|
inline |
|
inline |
Return true
if time is within t0 and t1, both inclusive.
|
inline |
Return true
if t1 is larger than t0 by at least eps.
|
inline |
Return a new ray in the index space of the specified grid, assuming the existing ray is represented in world space.