fixed const correctness and added point-segment distance on Segment2
This commit is contained in:
parent
dd8c26474d
commit
fb40a0f78a
|
|
@ -142,7 +142,7 @@ typedef Segment2<float> Segment2f;
|
||||||
typedef Segment2<double> Segment2d;
|
typedef Segment2<double> Segment2d;
|
||||||
|
|
||||||
template <class ScalarType>
|
template <class ScalarType>
|
||||||
Point2<ScalarType> ClosestPoint( Segment2<ScalarType> s, const Point2<ScalarType> & p)
|
Point2<ScalarType> ClosestPoint(const Segment2<ScalarType> & s, const Point2<ScalarType> & p)
|
||||||
{
|
{
|
||||||
vcg::Line2<ScalarType, true> l;
|
vcg::Line2<ScalarType, true> l;
|
||||||
l.Set(s.P0(),s.P1()-s.P0());
|
l.Set(s.P0(),s.P1()-s.P0());
|
||||||
|
|
@ -157,6 +157,12 @@ Point2<ScalarType> ClosestPoint( Segment2<ScalarType> s, const Point2<ScalarType
|
||||||
return clos;
|
return clos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <class ScalarType>
|
||||||
|
ScalarType Distance(const Segment2<ScalarType> & s, const Point2<ScalarType> & p) {
|
||||||
|
const Point2<ScalarType> c = ClosestPoint(s, p);
|
||||||
|
return (c - p).Norm();
|
||||||
|
}
|
||||||
|
|
||||||
template <class S>
|
template <class S>
|
||||||
class PointSegment2DEPFunctor {
|
class PointSegment2DEPFunctor {
|
||||||
public:
|
public:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue