X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_Profile.h;h=03339e1f52d851b229697bced5820d9612d6d526;hb=f7c005b67e48ec7bac99c566fb4f34215ec1a4b1;hp=dc62e6fe52d69abdfa57deecaa244ea84439f218;hpb=2d99821157e770385d7af917b2d22d6aa3cacb7e;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_Profile.h b/src/HYDROData/HYDROData_Profile.h index dc62e6fe..03339e1f 100644 --- a/src/HYDROData/HYDROData_Profile.h +++ b/src/HYDROData/HYDROData_Profile.h @@ -1,3 +1,24 @@ +// 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 +// +// 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_Profile_HeaderFile #define HYDROData_Profile_HeaderFile @@ -65,6 +86,8 @@ public: */ HYDRODATA_EXPORT virtual void Update(); + HYDRODATA_EXPORT virtual void UpdateLocalCS( double theDx, double theDy ); + /** * Returns default filling color for new profile. */ @@ -99,27 +122,27 @@ public: * Set first(left) point for profile. * \param thePoint the point */ - HYDRODATA_EXPORT void SetFirstPoint( const gp_XY& thePoint ); + HYDRODATA_EXPORT void SetLeftPoint( const gp_XY& thePoint, bool IsConvertFromGlobal = false ); /** * Returns first(left) point of profile. * \param thePoint[out] profile first point * \return true if point has been set */ - HYDRODATA_EXPORT bool GetFirstPoint( gp_XY& thePoint ) const; + HYDRODATA_EXPORT bool GetLeftPoint( gp_XY& thePoint, bool IsConvertToGlobal = false ) const; /** * Set last(right) point for profile. * \param thePoint the point */ - HYDRODATA_EXPORT void SetLastPoint( const gp_XY& thePoint ); + HYDRODATA_EXPORT void SetRightPoint( const gp_XY& thePoint, bool IsConvertFromGlobal = false ); /** * Returns last(right) point of profile. * \param thePoint[out] profile last point * \return true if point has been set */ - HYDRODATA_EXPORT bool GetLastPoint( gp_XY& thePoint ) const; + HYDRODATA_EXPORT bool GetRightPoint( gp_XY& thePoint, bool IsConvertToGlobal = false ) const; /** @@ -159,16 +182,22 @@ public: * First and last points will be automatically updated. * \param thePoints the list with new profile points */ - HYDRODATA_EXPORT void SetProfilePoints( const ProfilePoints& thePoints ); + HYDRODATA_EXPORT void SetProfilePoints( const ProfilePoints& thePoints, bool IsConvertFromGlobal = true ); /** * Returns profile points. * Empty sequence is returned if first or last point was not set. * \return profile points list */ - HYDRODATA_EXPORT ProfilePoints GetProfilePoints() const; + HYDRODATA_EXPORT ProfilePoints GetProfilePoints( bool IsConvertToGlobal = false ) const; + /** + * Return profile point with minimal Z value. + * \return non-parametric profile point + */ + HYDRODATA_EXPORT ProfilePoint GetBottomPoint() const; + public: // Public methods to work with files. @@ -189,24 +218,29 @@ public: * - georeferenced presentation of profile (3 points in line X,Y,Z) * Create as many objects as many profiles in the file are defined. * \param theFileName the path to file - * \return \c true if file has been successfully read + * \return \c number of successfully imported profiles */ - HYDRODATA_EXPORT static bool ImportFromFile( const Handle(HYDROData_Document)& theDoc, - const TCollection_AsciiString& theFileName ); + HYDRODATA_EXPORT static int ImportFromFile( const Handle(HYDROData_Document)& theDoc, + const TCollection_AsciiString& theFileName, + NCollection_Sequence& theBadProfilesIds ); /** * Imports Profile data from file. * \param theFileName the path to file + * \param theIsRead set to true if at least one non empty string was read from file * \return \c true if file has been successfully read */ - HYDRODATA_EXPORT virtual bool ImportFromFile( const TCollection_AsciiString& theFileName ); + HYDRODATA_EXPORT virtual bool ImportFromFile( const TCollection_AsciiString& theFileName, + bool* theIsRead = 0 ); /** * Imports Profile data from file. * \param theFile file to read + * \param theIsRead set to true if at least one non empty string was read from file * \return \c true if file has been successfully read */ - HYDRODATA_EXPORT virtual bool ImportFromFile( OSD_File& theFile ); + HYDRODATA_EXPORT virtual bool ImportFromFile( OSD_File& theFile, + bool* theIsRead = 0 ); protected: @@ -235,12 +269,12 @@ protected: * Creates new object in the internal data structure. Use higher level objects * to create objects with real content. */ - HYDROData_Profile(); + HYDRODATA_EXPORT HYDROData_Profile(); /** * Destructs properties of the object and object itself, removes it from the document. */ - ~HYDROData_Profile(); + HYDRODATA_EXPORT ~HYDROData_Profile(); }; #endif