8#ifndef model_SegmentSegmentDistance_H_
9#define model_SegmentSegmentDistance_H_
36 static constexpr double tol=100*DBL_EPSILON;
39 static long double limitRange(
const long double&
v);
43 std::pair<long double,long double>
step4U(
const long double& T)
const;
47 std::pair<long double,long double>
step4(
const long double& U)
const;
51 std::pair<long double,long double>
step3(
const long double& T)
const;
55 std::pair<long double,long double>
step2()
const;
59 std::pair<long double,long double>
getTU()
const;
78 const long double den;
80 const std::pair<long double,long double>
tu;
93 const double& degeneracyValue_in=0.0) ;
Eigen::Matrix< long double, dim, 1 > VectorDimLD
const std::pair< long double, long double > tu
IntersectionContainerType intersectionSegment() const
std::pair< long double, long double > step4U(const long double &T) const
const double degeneracyValue
std::tuple< VectorDim, double, double > IntersectionPointType
static long double limitRange(const long double &v)
std::pair< long double, long double > step2() const
bool isIntersecting(const double tolerance=FLT_EPSILON) const
Eigen::Matrix< double, dim, 1 > VectorDim
static constexpr double tol
std::pair< long double, long double > step3(const long double &T) const
std::pair< long double, long double > getTU() const
SegmentSegmentDistance(const VectorDim &A0, const VectorDim &B0, const VectorDim &C0, const VectorDim &D0, const double °eneracyValue_in=0.0)
std::pair< long double, long double > step4(const long double &U) const
std::deque< IntersectionPointType > IntersectionContainerType