Salome HOME
first part of the porting on OCCT 7.0
[modules/hydro.git] / src / HYDROData / HYDROData_TopoCurve.h
index 1f1025d962d18ed73b574800265e116c4614285a..5bba3b28faa2ecee23acdb9e8920ee7dbddb3953 100644 (file)
 #define HYDRODATA_TOPOCURVE_H
 
 #include <deque>
-#include <Handle_Geom_BSplineCurve.hxx>
+#include <Geom_BSplineCurve.hxx>
 #include <HYDROData.h>
 #include <list>
 #include <TopExp.hxx>
 #include <TopoDS_Edge.hxx>
 #include <TopoDS_Vertex.hxx>
+#include <gp_XYZ.hxx>
+#include <Adaptor3d_Curve.hxx>
 
 class TopoDS_Wire;
 
-//! The type represents a 1 monifold connected topo curve
+//! Get the parameter of the projected point on the curve, and return the distance of the original point
+double ProjectPointToCurve(const gp_XYZ& thePoint,
+                           const Adaptor3d_Curve& theCurve,
+                           double& theParameter);
+
+//! The type represents a 1 manifold connected topo curve
 //! with forward orientation.
 class HYDROData_TopoCurve
 {
@@ -41,7 +48,7 @@ public:
   HYDROData_TopoCurve(const TopoDS_Edge& theEdge) {myEdges.push_back(theEdge);}
 
   //! Initializes the curve by the wire.
-  //! Returns 'false' if the wire is not 1 monifold or
+  //! Returns 'false' if the wire is not 1 manifold or
   //! is disconnected or is empty.
   HYDRODATA_EXPORT bool Initialize(const TopoDS_Wire& theWire);
 
@@ -164,7 +171,7 @@ public:
     const double theDeflection, HYDROData_TopoCurve& theCurve) const;
 
   //! Calculates the values of the curve in its knots.
-  //! Returns 'false' if a curve edge has a nonidentity location or a nonforward
+  //! Returns 'false' if a curve edge has a non-identity location or a non-forward
   //! orientation or has no a B-spline representation.
   HYDRODATA_EXPORT bool ValuesInKnots(std::list<gp_XYZ>& theValues) const;