X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROData%2FHYDROData_ImmersibleZone.h;h=cae0e08b2cdcbdf14a660297bd36288cfa42625a;hb=8d4dba4a45855249f5eb022e9cc7dcff202bce3c;hp=c540574c60123a90957c6b5e3d77b00132c1c81a;hpb=d5ab854432d2b0ec5a504b7f5bbf67d12bec472a;p=modules%2Fhydro.git diff --git a/src/HYDROData/HYDROData_ImmersibleZone.h b/src/HYDROData/HYDROData_ImmersibleZone.h index c540574c..cae0e08b 100644 --- a/src/HYDROData/HYDROData_ImmersibleZone.h +++ b/src/HYDROData/HYDROData_ImmersibleZone.h @@ -1,12 +1,27 @@ +// 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_ImmersibleZone_HeaderFile #define HYDROData_ImmersibleZone_HeaderFile #include -DEFINE_STANDARD_HANDLE(HYDROData_ImmersibleZone, HYDROData_NaturalObject) - -class Handle(HYDROData_Polyline); +class HYDROData_PolylineXY; /**\class HYDROData_ImmersibleZone * \brief @@ -25,7 +40,7 @@ protected: }; public: - DEFINE_STANDARD_RTTI(HYDROData_ImmersibleZone); + DEFINE_STANDARD_RTTIEXT(HYDROData_ImmersibleZone, HYDROData_NaturalObject); /** * Returns the kind of this object. Must be redefined in all objects of known type. @@ -35,12 +50,24 @@ public: /** * Dump object to Python script representation. */ - HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const; + HYDRODATA_EXPORT virtual QStringList DumpToPython( const QString& thePyScriptPath, + MapOfTreatedObjects& theTreatedObjects ) const; + + /** + * Returns the list of all reference objects of this object. + */ + HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetAllReferenceObjects() const; + + /** + * Update the immersible zone object. + * Call this method whenever you made changes for object data. + */ + HYDRODATA_EXPORT virtual void Update(); /** - * Returns the top shape of the object. + * Checks that object has 2D presentation. Reimlemented to retun true. */ - HYDRODATA_EXPORT virtual TopoDS_Shape GetTopShape() const; + HYDRODATA_EXPORT virtual bool IsHas2dPrs() const; /** * Returns the 3d shape of the object. @@ -50,28 +77,38 @@ public: /** * Returns default filling color for new zone. */ - HYDRODATA_EXPORT static QColor DefaultFillingColor(); + HYDRODATA_EXPORT virtual QColor DefaultFillingColor() const; /** * Returns default border color for new zone. */ - HYDRODATA_EXPORT static QColor DefaultBorderColor(); + HYDRODATA_EXPORT virtual QColor DefaultBorderColor() const; /** * Sets reference polyline object for zone. */ - HYDRODATA_EXPORT virtual void SetPolyline( const Handle(HYDROData_Polyline)& thePolyline ); + HYDRODATA_EXPORT virtual void SetPolyline( const Handle(HYDROData_PolylineXY)& thePolyline ); /** * Returns reference polyline object of zone. */ - HYDRODATA_EXPORT virtual Handle(HYDROData_Polyline) GetPolyline() const; + HYDRODATA_EXPORT virtual Handle(HYDROData_PolylineXY) GetPolyline() const; /** * Remove reference polyline object of zone. */ HYDRODATA_EXPORT virtual void RemovePolyline(); + HYDRODATA_EXPORT TopoDS_Shape generateTopShape() const; + HYDRODATA_EXPORT static TopoDS_Shape generateTopShape( const Handle(HYDROData_PolylineXY)& ); + +private: + + /** + * Create all necessary child group objects. + */ + HYDRODATA_EXPORT void createGroupObjects(); + protected: friend class HYDROData_Iterator;