diff --git a/src/Mod/Part/App/Geometry.cpp b/src/Mod/Part/App/Geometry.cpp index 1d1d67d4f0..bc26e1f52b 100644 --- a/src/Mod/Part/App/Geometry.cpp +++ b/src/Mod/Part/App/Geometry.cpp @@ -634,6 +634,15 @@ bool GeomCurve::tangent(double u, Base::Vector3d& dir) const return false; } +Base::Vector3d GeomCurve::value(double u) const +{ + Handle(Geom_Curve) c = Handle(Geom_Curve)::DownCast(handle()); + + const gp_Pnt &point = c->Value(u); + + return Base::Vector3d(point.X(),point.Y(),point.Z()); +} + Base::Vector3d GeomCurve::pointAtParameter(double u) const { Handle(Geom_Curve) c = Handle(Geom_Curve)::DownCast(handle()); diff --git a/src/Mod/Part/App/Geometry.h b/src/Mod/Part/App/Geometry.h index 4cbd45c540..1dd2210dee 100644 --- a/src/Mod/Part/App/Geometry.h +++ b/src/Mod/Part/App/Geometry.h @@ -203,6 +203,8 @@ public: void reverse(void); + Base::Vector3d value(double u) const; + protected: static bool intersect(const Handle(Geom_Curve) c, const Handle(Geom_Curve) c2, std::vector>& points,