|
|
Computes Square distance between Axis aligned bounding boxes
|
| static T | BoxBoxSquareDistance (const BVH_Box< T, N > &theBox1, const BVH_Box< T, N > &theBox2) |
| | Computes Square distance between Axis aligned bounding boxes.
|
| |
| static T | BoxBoxSquareDistance (const BVH_VecNt &theCMin1, const BVH_VecNt &theCMax1, const BVH_VecNt &theCMin2, const BVH_VecNt &theCMax2) |
| | Computes Square distance between Axis aligned bounding boxes.
|
| |
|
Computes square distance between point and bounding box
|
| static T | PointBoxSquareDistance (const BVH_VecNt &thePoint, const BVH_Box< T, N > &theBox) |
| | Computes square distance between point and bounding box.
|
| |
| static T | PointBoxSquareDistance (const BVH_VecNt &thePoint, const BVH_VecNt &theCMin, const BVH_VecNt &theCMax) |
| | Computes square distance between point and bounding box.
|
| |
|
Computes projection of point on bounding box
|
| static BVH_VecNt | PointBoxProjection (const BVH_VecNt &thePoint, const BVH_Box< T, N > &theBox) |
| | Computes projection of point on bounding box.
|
| |
| static BVH_VecNt | PointBoxProjection (const BVH_VecNt &thePoint, const BVH_VecNt &theCMin, const BVH_VecNt &theCMax) |
| | Computes projection of point on bounding box.
|
| |
|
Find nearest point on a triangle for the given point. Uses Voronoi region testing to determine closest feature (vertex, edge, or interior).
|
| static BVH_VecNt | PointTriangleProjection (const BVH_VecNt &thePoint, const BVH_VecNt &theNode0, const BVH_VecNt &theNode1, const BVH_VecNt &theNode2, BVH_PrjStateInTriangle *thePrjState=nullptr, int *theNumberOfFirstNode=nullptr, int *theNumberOfLastNode=nullptr) |
| | Computes square distance between point and triangle.
|
| |
| static T | PointTriangleSquareDistance (const BVH_VecNt &thePoint, const BVH_VecNt &theNode0, const BVH_VecNt &theNode1, const BVH_VecNt &theNode2) |
| | Computes square distance between point and triangle.
|
| |
|
Computes hit time of ray-box intersection. Uses precomputed reciprocal direction from BVH_Ray for optimal performance.
|
| static bool | RayBoxIntersection (const BVH_Ray< T, N > &theRay, const BVH_Box< T, N > &theBox, T &theTimeEnter, T &theTimeLeave) |
| | Computes hit time of ray-box intersection. Uses precomputed reciprocal direction from BVH_Ray for optimal performance. Handles parallel rays (infinite inverse direction) explicitly to avoid NaN from 0*inf when ray origin is exactly on a slab boundary.
|
| |
| static bool | RayBoxIntersection (const BVH_Ray< T, N > &theRay, const BVH_VecNt &theBoxCMin, const BVH_VecNt &theBoxCMax, T &theTimeEnter, T &theTimeLeave) |
| | Computes hit time of ray-box intersection. Uses precomputed reciprocal direction from BVH_Ray for optimal performance. Handles parallel rays (infinite inverse direction) explicitly to avoid NaN from 0*inf when ray origin is exactly on a slab boundary.
|
| |
| static bool | RayBoxIntersection (const BVH_VecNt &theRayOrigin, const BVH_VecNt &theRayDirection, const BVH_Box< T, N > &theBox, T &theTimeEnter, T &theTimeLeave) |
| | Computes hit time of ray-box intersection.
|
| |
| static bool | RayBoxIntersection (const BVH_VecNt &theRayOrigin, const BVH_VecNt &theRayDirection, const BVH_VecNt &theBoxCMin, const BVH_VecNt &theBoxCMax, T &theTimeEnter, T &theTimeLeave) |
| | Computes hit time of ray-box intersection. Uses optimized single-pass algorithm with early exit.
|
| |
template<
class T,
int N>
class BVH_Tools< T, N >
Defines a set of static methods operating with points and bounding boxes.
- Template Parameters
-
| T | Numeric data type |
| N | Vector dimension |