Salome HOME
6.12.2013.Fix of HasIntersection method.
[modules/hydro.git] / src / HYDROData / HYDROData_Zone.h
index eddee171d3348cee5d93da139ec63e8a56e6e052..a01db41e835c4b10c06d2ddb0b584bd4fe203f78 100644 (file)
@@ -22,9 +22,10 @@ public:
   // Enumeration of mergin types for conflict bathymetries
   enum MergeBathymetriesType
   {
-    Merge_ZMIN,   // The minimum values
-    Merge_ZMAX,   // The maximum values
-    Merge_Object  // Only one bathymetry will be taken into account
+    Merge_UNKNOWN, // Undefined
+    Merge_ZMIN,    // The minimum values
+    Merge_ZMAX,    // The maximum values
+    Merge_Object   // Only one bathymetry will be taken into account
   };
 
 protected:
@@ -54,6 +55,23 @@ public:
   HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
 
 
+  /**
+   * Returns flag indicating that object is updateble or not.
+   */
+  HYDRODATA_EXPORT virtual bool CanBeUpdated() const;
+
+
+  /**
+   * Returns flag indicating that object can be removed or not.
+   */
+  HYDRODATA_EXPORT virtual bool CanRemove();
+
+  /**
+   * Returns the list of all reference objects of this object.
+   */
+  HYDRODATA_EXPORT virtual HYDROData_SequenceOfObjects GetAllReferenceObjects() const;
+
+
   /**
    * Sets the shape of the zone.
    */
@@ -65,9 +83,15 @@ public:
   HYDRODATA_EXPORT virtual TopoDS_Shape GetShape() const;
 
 
+  /**
+   * Returns true if zone needs merge of bathymetries.
+   */
+  HYDRODATA_EXPORT virtual bool IsMergingNeed() const;
+
+
   /**
    * Sets the merging type for conflict bathymetries.
-   * By default it is set to Merge_ZMIN.
+   * By default it is set to Merge_UNKNOWN.
    */
   HYDRODATA_EXPORT virtual void SetMergeType( const MergeBathymetriesType& theType );
 
@@ -119,12 +143,12 @@ protected:
    * Creates new object in the internal data structure. Use higher level objects 
    * to create objects with real content.
    */
-  HYDROData_Zone();
+  HYDRODATA_EXPORT HYDROData_Zone();
 
   /**
    * Destructs properties of the object and object itself, removes it from the document.
    */
-  ~HYDROData_Zone();
+  HYDRODATA_EXPORT ~HYDROData_Zone();
 
 };