8#ifndef model_LineSegmentIntersection_CPP_
9#define model_LineSegmentIntersection_CPP_
58 return SolutionType(PARALLEL,A0,0.5*(P0+P1),0.0,0.5);
64 return SolutionType(COINCIDENT,A0,0.5*(P0+P1),0.0,0.5);
70 if(lli.u1>=0.0 && lli.u1<=1.0)
72 return SolutionType(INCIDENT,lli.x0,lli.x1,lli.u0,lli.u1);
76 return SolutionType(
OUTSIDE,lli.x0,P0,lli.u0,0.0);
80 return SolutionType(
OUTSIDE,lli.x0,P1,lli.u0,1.0);
87 return SolutionType(SKEW,A0,0.5*(P0+P1),0.0,0.5);
100 sol(findIntersections(A0,D0,P0,P1))
101 ,
type(std::get<0>(sol))
102 ,
x0(std::get<1>(sol))
103 ,
x1(std::get<2>(sol))
104 ,
u0(std::get<3>(sol))
105 ,
u1(std::get<4>(sol))
LineSegmentIntersection(const VectorDimD &A0, const VectorDimD &D0, const VectorDimD &P0, const VectorDimD &P1)
Eigen::Matrix< double, dim, 1 > VectorDimD
const IntersectionType & type
std::tuple< IntersectionType, VectorDimD, VectorDimD, double, double > SolutionType