MeshLib C++ Docs
Loading...
Searching...
No Matches
Ray Box Intersection

Classes

struct  MR::RayOrigin< T >

Functions

template<typename T = float>
bool MR::rayBoxIntersect (const Box3< T > &box, const RayOrigin< T > &rayOrigin, T &t0, T &t1, const IntersectionPrecomputes< T > &prec)
template<typename T = float>
bool MR::rayBoxIntersect (const Box3< T > &box, const Line3< T > &line, T t0, T t1)
 finds intersection between the Ray and the Box, which must be valid

Detailed Description

Function Documentation

◆ rayBoxIntersect() [1/2]

template<typename T = float>
bool MR::rayBoxIntersect ( const Box3< T > & box,
const Line3< T > & line,
T t0,
T t1 )

#include <MRMesh/MRRayBoxIntersection.h>

finds intersection between the Ray and the Box, which must be valid

◆ rayBoxIntersect() [2/2]

template<typename T = float>
bool MR::rayBoxIntersect ( const Box3< T > & box,
const RayOrigin< T > & rayOrigin,
T & t0,
T & t1,
const IntersectionPrecomputes< T > & prec )

#include <MRMesh/MRRayBoxIntersection.h>

CPU(X86_64) - AMD64 / Intel64 / x86_64 64-bit finds intersection between the Ray and the Box. The box must be valid, otherwise the result is undefined. Precomputed values could be useful for several calls with the same direction, see "An Efficient and Robust Ray-Box Intersection Algorithm" at https:/// people.csail.mit.edu/amy/papers/box-jgt.pdf

compare and update x-dimension with t0-t1

compare and update y-dimension with t0-t1

compare and update z-dimension with t0-t1