Functions | |
| template<typename T > | |
| std::optional< Line3< T > > | MR::intersection (const Plane3< T > &plane1, const Plane3< T > &plane2, T errorLimit=std::numeric_limits< T >::epsilon() *T(20)) |
| template<typename T > | |
| std::optional< Vector3< T > > | MR::intersection (const Plane3< T > &plane, const Line3< T > &line, T errorLimit=std::numeric_limits< T >::epsilon() *T(20)) |
| template<typename T > | |
| std::optional< Vector3< T > > | MR::intersection (const Line3< T > &line1, const Line3< T > &line2, T errorLimit=std::numeric_limits< T >::epsilon() *T(20)) |
| std::optional< Vector2f > | MR::intersection (const LineSegm2f &segm1, const LineSegm2f &segm2) |
| template<typename T > | |
| std::optional< T > | MR::distanceSq (const Plane3< T > &plane1, const Plane3< T > &plane2, T errorLimit=std::numeric_limits< T >::epsilon() *T(20)) |
| template<typename T > | |
| std::optional< T > | MR::distance (const Plane3< T > &plane1, const Plane3< T > &plane2, T errorLimit=std::numeric_limits< T >::epsilon() *T(20)) |
| template<typename T > | |
| std::optional< T > | MR::distance (const Plane3< T > &plane, const Line3< T > &line, T errorLimit=std::numeric_limits< T >::epsilon() *T(20)) |
| template<typename T > | |
| LineSegm3< T > | MR::closestPoints (const Line3< T > &line1, const Line3< T > &line2) |
| template<typename T > | |
| LineSegm3< T > | MR::closestPoints (const Line3< T > &ln, const LineSegm3< T > &ls) |
| template<typename T > | |
| LineSegm3< T > | MR::closestPoints (const Line3< T > &line, const Box3< T > &box) |
| finds the closest points between a line and a box wireframe (not solid) in 3D | |
| template<typename V > | |
| auto | MR::intersection (const Line< V > &line, const Sphere< V > &sphere) |
| LineSegm3< T > MR::closestPoints | ( | const Line3< T > & | line, |
| const Box3< T > & | box ) |
#include <MRIntersection.h>
finds the closest points between a line and a box wireframe (not solid) in 3D
consider box edges parallel to unit vector #iDir
line is parallel to box edge
t is line parameter: 0 - line.p, 1 - line.p + line.d
u is box edge parameter, find the point closest to line(t)
| LineSegm3< T > MR::closestPoints | ( | const Line3< T > & | line1, |
| const Line3< T > & | line2 ) |
#include <MRIntersection.h>
finds the closest points between two lines in 3D; for parallel lines the selection is arbitrary;
lines are parallel
| LineSegm3< T > MR::closestPoints | ( | const Line3< T > & | ln, |
| const LineSegm3< T > & | ls ) |
#include <MRIntersection.h>
finds the closest points between an infinite line and finite line segment in 3D; for parallel lines the selection is arbitrary;
lines are parallel
| std::optional< T > MR::distance | ( | const Plane3< T > & | plane, |
| const Line3< T > & | line, | ||
| T | errorLimit = std::numeric_limits<T>::epsilon() * T( 20 ) ) |
#include <MRIntersection.h>
finds distance between a plane and a line;
| std::optional< T > MR::distance | ( | const Plane3< T > & | plane1, |
| const Plane3< T > & | plane2, | ||
| T | errorLimit = std::numeric_limits<T>::epsilon() * T( 20 ) ) |
#include <MRIntersection.h>
finds distance between a plane1 and a plane2
| std::optional< T > MR::distanceSq | ( | const Plane3< T > & | plane1, |
| const Plane3< T > & | plane2, | ||
| T | errorLimit = std::numeric_limits<T>::epsilon() * T( 20 ) ) |
#include <MRIntersection.h>
finds squared distance between a plane1 and a plane2
| std::optional< Vector3< T > > MR::intersection | ( | const Line3< T > & | line1, |
| const Line3< T > & | line2, | ||
| T | errorLimit = std::numeric_limits<T>::epsilon() * T( 20 ) ) |
#include <MRIntersection.h>
finds an intersection between a line1 and a line2
| line1,line2 | should be normalized for check parallelism |
check for calculation
#include <MRIntersection.h>
finds intersection points between a line and a sphere; if found then returns parameters on the line
|
inline |
#include <MRIntersection.h>
finds an intersection between a segm1 and a segm2
| std::optional< Vector3< T > > MR::intersection | ( | const Plane3< T > & | plane, |
| const Line3< T > & | line, | ||
| T | errorLimit = std::numeric_limits<T>::epsilon() * T( 20 ) ) |
#include <MRIntersection.h>
finds an intersection between a plane and a line
| plane,line | should be normalized for check parallelism |
| std::optional< Line3< T > > MR::intersection | ( | const Plane3< T > & | plane1, |
| const Plane3< T > & | plane2, | ||
| T | errorLimit = std::numeric_limits<T>::epsilon() * T( 20 ) ) |
#include <MRIntersection.h>
finds an intersection between a plane1 and a plane2
| plane1,plane2 | should be normalized for check parallelism |