Salome HOME
copyrights are updated
[modules/hydro.git] / src / HYDROData / HYDROData_TopoCurve.h
index abafe899c66d5ae0a2b91a4f5de3d4394d30c5fa..8d2bfddda8067dba771a44ba274524a0f1f8c3e6 100644 (file)
@@ -1,8 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015  EDF-R&D
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
@@ -66,9 +62,15 @@ public:
   //! Returns the curve edges.
   const std::list<TopoDS_Edge>& Edges() const {return myEdges;}
 
+  //! Returns the curve edges.
+  std::list<TopoDS_Edge>& Edges() {return myEdges;}
+
   //! Cuts the curve in the given parameter of the given edge and
   //! fills the cut part.
-  HYDRODATA_EXPORT void Cut(
+  //! Returns 'true' if:
+  //! -  the curve is open and was splitted into two parts or
+  //! -  the curve is closed and was cut into an open curve.
+  HYDRODATA_EXPORT bool Cut(
     const std::list<TopoDS_Edge>::iterator& theEdgePosition,
     const double theParameter,
     HYDROData_TopoCurve& theCurve);
@@ -84,7 +86,7 @@ public:
   //! Cuts the curve at the parameters.
   //! Each parameter vector list corresponds to the curve edge and
   //! is ordered in the ascending order.
-  HYDRODATA_EXPORT void Cut(
+  HYDRODATA_EXPORT bool Cut(
     const std::deque<std::list<double> >& theParameters,
     std::deque<HYDROData_TopoCurve>& theCurves) const;
 
@@ -156,13 +158,15 @@ public:
 
   //! Creates a B-spline piecewise curve corresponding to the curve
   //! and using the deflection.
-  HYDRODATA_EXPORT bool BSplinePiecewiseCurve(
+  //! Returns the piece count.
+  //! Returns 0 in the case of any error.
+  HYDRODATA_EXPORT int BSplinePiecewiseCurve(
     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
   //! orientation or has no a B-spline representation.
-  HYDRODATA_EXPORT bool ValuesInKnots(std::deque<gp_XYZ>& theValues) const;
+  HYDRODATA_EXPORT bool ValuesInKnots(std::list<gp_XYZ>& theValues) const;
 
 private:
   //! Transfers the edges of the parameter to this curve end.