28 const double dNorm(
d.norm());
29 if((dNorm-1.0)>std::numeric_limits<double>::epsilon())
31 std::cout<<
"dNorm="<<dNorm<<std::endl;
32 throw std::runtime_error(
"Line has non-unit direction");
39 return P+(P0-
P).dot(
d)*
d;
53 return (P0-
snap(P0)).norm();
double distanceToPoint(const VectorDim &P0) const
VectorDim snap(const VectorDim &P0) const
Line(const VectorDim &P_in, const VectorDim &d_in)
Eigen::Matrix< double, dim, 1 > VectorDim
bool contains(const VectorDim &P0, const double &tol=std::numeric_limits< float >::epsilon()) const