X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_TopoCurve.h;h=8d2bfddda8067dba771a44ba274524a0f1f8c3e6;hb=545854182f0363f61284d5abe34c3627d4f3b088;hp=abafe899c66d5ae0a2b91a4f5de3d4394d30c5fa;hpb=c9bbaf3e757559646f7b9aefea06ef56fe919f0e;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_TopoCurve.h b/src/HYDROData/HYDROData_TopoCurve.h index abafe899..8d2bfddd 100644 --- a/src/HYDROData/HYDROData_TopoCurve.h +++ b/src/HYDROData/HYDROData_TopoCurve.h @@ -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& Edges() const {return myEdges;} + //! Returns the curve edges. + std::list& 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::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 >& theParameters, std::deque& 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& theValues) const; + HYDRODATA_EXPORT bool ValuesInKnots(std::list& theValues) const; private: //! Transfers the edges of the parameter to this curve end.