X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_BSplineOperation.h;h=cd82a54b4e9e99cb8621f680d83f4a5006a864a2;hb=bd81def133c235351f4c18834c6660450f16b9ee;hp=96be8d0983a97ac28430075d3c370143e3d5ba2a;hpb=84f8b4a57d3cdad820bc1333a5066699cd1c8ae3;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_BSplineOperation.h b/src/HYDROData/HYDROData_BSplineOperation.h index 96be8d09..cd82a54b 100644 --- a/src/HYDROData/HYDROData_BSplineOperation.h +++ b/src/HYDROData/HYDROData_BSplineOperation.h @@ -1,11 +1,33 @@ +// 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 +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + #ifndef HYDROData_BSplineOperation_HeaderFile #define HYDROData_BSplineOperation_HeaderFile #include -#include -#include + #include +#include + +class QPainterPath; +class gp_XYZ; + /**\class HYDROData_BSplineOperation * * \brief Allows to work with splines: create, convert to Qt ToolPath. @@ -17,24 +39,14 @@ class HYDRODATA_EXPORT HYDROData_BSplineOperation { public: + static Handle(Geom_BSplineCurve) ComputeCurve( + const NCollection_Sequence& thePoints, + const bool theIsClosed, + const double theTolerance ); - //! Creates a spline by list of coordinates: pairs X and Y - //! \param thePoints coordinates in format X1, Y1, X2, Y2, etc. must be even number of elements - //! \param theZValue constant value of the spline Z coordinate - //! \param theIsClosed flag indicating that the result spline should be closed - HYDROData_BSplineOperation(const QList& thePoints, - const double theZValue, - const bool theIsClosed); - - //! Returns the BSpline curve passing through the points - //! \returns Null if Computation of BSpline was failed - Handle(Geom_BSplineCurve) Curve() const {return myCurve;} - //! Performs conversion from BSpline curve to QPainterPath made from Bezier curves //! \returns computed PainterPath, not stored in this class, so calling of this method is not fast - QPainterPath ComputePath() const; -private: - Handle(Geom_BSplineCurve) myCurve; ///< resulting BSpline, null if something is wrong + static void ComputePath( const Handle(Geom_BSplineCurve)& theCurve, QPainterPath& thePath ); }; #endif