X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_ProfileUZ.h;h=aa9ebbc938b8c1886b26948b5d6ecc82c6463ea2;hb=d398a8be8e0b0259b476b358d53d234ce4c82379;hp=9b86029f1c83e6ad8be86cc7caee0109b506c361;hpb=8749815cc2069167555bf5e823190727b7004a35;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_ProfileUZ.h b/src/HYDROData/HYDROData_ProfileUZ.h index 9b86029f..aa9ebbc9 100644 --- a/src/HYDROData/HYDROData_ProfileUZ.h +++ b/src/HYDROData/HYDROData_ProfileUZ.h @@ -1,3 +1,20 @@ +// 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_ProfileUZ_HeaderFile #define HYDROData_ProfileUZ_HeaderFile @@ -6,6 +23,9 @@ DEFINE_STANDARD_HANDLE(HYDROData_ProfileUZ, HYDROData_IPolyline) +class gp_XYZ; +class Handle_HYDROData_PolylineXY; + /**\class HYDROData_ProfileUZ * \brief Class that stores/retreives information about the * parametric profile points. @@ -35,7 +55,13 @@ public: /** * Returns the 3D presentation of all points. */ - HYDRODATA_EXPORT virtual TopoDS_Wire GetWire() const; + HYDRODATA_EXPORT virtual TopoDS_Shape GetShape() const; + + /** + * Returns the depth for given distance. + */ + HYDRODATA_EXPORT static double GetDepthFromDistance( const PointsList& thePoints, + const double& theDistance ); /** @@ -45,9 +71,41 @@ public: /** * Adds new one section. - * \param theIsClosed flag indicates type of polyline + * \param theSectName name of the section + * \param theSectionType type of section + * \param theIsClosed flag indicates closures of section + */ + HYDRODATA_EXPORT virtual void AddSection( const TCollection_AsciiString& theSectName, + const SectionType theSectionType, + const bool theIsClosed ); + + /** + * Returns name of section with given index. + * \param theSectionIndex index of section + */ + HYDRODATA_EXPORT virtual TCollection_AsciiString GetSectionName( const int theSectionIndex ) const; + + /** + * Set name for section with given index. + * \param theSectionIndex index of section + * \param theSectionName new section name + */ + HYDRODATA_EXPORT virtual void SetSectionName( const int theSectionIndex, + const TCollection_AsciiString& theSectionName ); + + /** + * Returns type of section with given index. + * \param theSectionIndex index of section */ - HYDRODATA_EXPORT virtual void AddSection( const bool theIsClosed ); + HYDRODATA_EXPORT virtual SectionType GetSectionType( const int theSectionIndex ) const; + + /** + * Set type for section with given index. + * \param theSectionIndex index of section + * \param theSectionType new section type + */ + HYDRODATA_EXPORT virtual void SetSectionType( const int theSectionIndex, + const SectionType theSectionType ); /** * Returns true if section with given index is closed. @@ -55,6 +113,14 @@ public: */ HYDRODATA_EXPORT virtual bool IsClosedSection( const int theSectionIndex ) const; + /** + * Set closed flag for section with given index. + * \param theSectionIndex index of section + * \param theIsClosed new closures state + */ + HYDRODATA_EXPORT virtual void SetSectionClosed( const int theSectionIndex, + const bool theIsClosed ); + /** * Removes section with given index. * \param theSectionIndex index of section @@ -80,12 +146,12 @@ public: /** * Replaces point for section with index "theSectionIndex". * \param theSectionIndex index of section - * \param thePointIndex index of point to replace * \param thePoint new point + * \param thePointIndex index of point to replace */ HYDRODATA_EXPORT virtual void SetPoint( const int theSectionIndex, - const int thePointIndex, - const Point& thePoint ); + const Point& thePoint, + const int thePointIndex ); /** * Removes point from section with index "theSectionIndex". @@ -102,7 +168,9 @@ public: * only for section with this index * \return list of points */ - HYDRODATA_EXPORT virtual PointsList GetPoints( const int theSectionIndex = -1 ) const; + HYDRODATA_EXPORT virtual PointsList GetPoints( const int theSectionIndex = -1, bool IsConvertToGlobal = false ) const; + + HYDRODATA_EXPORT virtual void CalculateAndAddPoints(const NCollection_Sequence& theXYZPoints, Handle_HYDROData_PolylineXY& thePolylineXY); protected: @@ -112,12 +180,12 @@ protected: * Creates new object in the internal data structure. Use higher level objects * to create objects with real content. */ - HYDROData_ProfileUZ(); + HYDRODATA_EXPORT HYDROData_ProfileUZ(); /** * Destructs properties of the object and object itself, removes it from the document. */ - ~HYDROData_ProfileUZ(); + HYDRODATA_EXPORT ~HYDROData_ProfileUZ(); }; #endif