Salome HOME
Lot 2: change bathy associated to natural object propagated to all cases without...
[modules/hydro.git] / src / HYDROData / HYDROData_Region.h
index f92ae0e11de28c4e0203634126b38c0511b650ca..b9a5314c6ae5febf2442120a457ad5d8fea4550b 100644 (file)
 #include "HYDROData_ShapesGroup.h"
 
 
-DEFINE_STANDARD_HANDLE(HYDROData_Region, HYDROData_Entity)
-
-class Handle(HYDROData_Zone);
-class Handle(HYDROData_Document);
+class HYDROData_Zone;
+class HYDROData_Document;
 class TopoDS_Shape;
 class TopoDS_Face;
 class QStringList;
@@ -35,9 +33,7 @@ class QStringList;
  */
 class HYDROData_Region : public HYDROData_Entity
 {
-
 protected:
-
   /**
    * Enumeration of tags corresponding to the persistent object parameters.
    */
@@ -49,7 +45,7 @@ protected:
   };
 
 public:
-  DEFINE_STANDARD_RTTI(HYDROData_Region);
+  DEFINE_STANDARD_RTTIEXT(HYDROData_Region, HYDROData_Entity);
 
   /**
    * Returns the kind of this object. Must be redefined in all objects of known type.
@@ -60,7 +56,8 @@ public:
    * Dump object to Python script representation.
    */
   HYDRODATA_EXPORT virtual QStringList DumpToPython( const QString& thePyScriptPath,
-                                                     MapOfTreatedObjects& theTreatedObjects ) const;
+                                                     MapOfTreatedObjects& theTreatedObjects,
+                                                     QString defRegName = QString()) const;
 
   /**
    * Returns flag indicating that object is updateble or not.
@@ -99,7 +96,7 @@ public:
   /**
    * Removes reference zone from region.
    */
-  HYDRODATA_EXPORT virtual void RemoveZone( const Handle(HYDROData_Zone)& theZone );
+  HYDRODATA_EXPORT virtual void RemoveZone( const Handle(HYDROData_Zone)& theZone, bool removeRegion = true );
 
   /**
    * Removes all reference zones from region.
@@ -113,12 +110,11 @@ public:
    * - a shell if the zones faces can't be united into one face
    * \return shape as TopoDS_Shape
    */
-  HYDRODATA_EXPORT virtual TopoDS_Shape GetShape( HYDROData_ShapesGroup::SeqOfGroupsDefs* theSeqOfGroups = 0 ) const;
+  HYDRODATA_EXPORT virtual TopoDS_Shape GetShape( HYDROData_ShapesGroup::SeqOfGroupsDefs* theSeqOfGroups = 0, 
+                                                  const TopTools_SequenceOfShape* IntSh = NULL ) const;
 
   HYDRODATA_EXPORT bool IsSubmersible() const;
 
-protected:
-
   /**
    * Create new one reference zone for region on child label.
    * The new zone is added into the list of reference zones.