]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
The merging type of conflict bathymetries has been added for calculation region.
authoradv <adv@opencascade.com>
Fri, 25 Oct 2013 05:55:55 +0000 (05:55 +0000)
committeradv <adv@opencascade.com>
Fri, 25 Oct 2013 05:55:55 +0000 (05:55 +0000)
src/HYDROData/HYDROData_Region.cxx
src/HYDROData/HYDROData_Region.h
src/HYDROPy/HYDROData_Region.sip

index 3a1c59acfcf819ef7f0666576b45d9c4fe20640e..7f4fae7a41224cdc8258ca42ce07eb77c5c95faf 100644 (file)
@@ -7,6 +7,8 @@
 
 #include <QStringList>
 
+#include <TDataStd_Integer.hxx>
+
 #define PYTHON_REGION_ID "KIND_REGION"
 
 IMPLEMENT_STANDARD_HANDLE(HYDROData_Region, HYDROData_Entity)
@@ -14,7 +16,9 @@ IMPLEMENT_STANDARD_RTTIEXT(HYDROData_Region, HYDROData_Entity)
 
 
 HYDROData_Region::HYDROData_Region()
+ : HYDROData_Entity()
 {
+  SetMergeType( Merge_ZMIN );
 }
 
 HYDROData_Region::~HYDROData_Region()
@@ -65,6 +69,25 @@ void HYDROData_Region::RemoveChildZones()
   myLab.FindChild( ChildTag_Zone ).ForgetAllAttributes( true );
 }
 
+void HYDROData_Region::SetMergeType( const MergeBathymetriesType& theType )
+{
+  Handle(TDataStd_Integer) anInt;
+  if ( !myLab.FindChild( DataTag_MergeType ).FindAttribute( TDataStd_Integer::GetID(), anInt ) )
+    anInt = TDataStd_Integer::Set( myLab, 0 );
+  anInt->Set( (int)theType );
+}
+
+HYDROData_Region::MergeBathymetriesType HYDROData_Region::GetMergeType() const
+{
+  MergeBathymetriesType aMergeType = Merge_ZMIN;
+  
+  Handle(TDataStd_Integer) anInt;
+  if ( myLab.FindChild( DataTag_MergeType ).FindAttribute( TDataStd_Integer::GetID(), anInt ) )
+    aMergeType = (MergeBathymetriesType)anInt->Get();
+
+  return aMergeType;
+}
+
 int HYDROData_Region::NbZones() const
 {
   return NbReferenceObjects( DataTag_Zone );
index 1579be6ccc93834093a6612d9add305a0330de56..e79f93943e1a2521756b6e44d66363e73cb4c5d4 100644 (file)
@@ -15,6 +15,15 @@ class Handle(HYDROData_Zone);
 class HYDROData_Region : public HYDROData_Entity
 {
 
+public:
+
+  // Enumeration of mergin types for conflict bathymetries
+  enum MergeBathymetriesType
+  {
+    Merge_ZMIN,
+    Merge_ZMAX
+  };
+
 protected:
 
   /**
@@ -23,7 +32,8 @@ protected:
   enum DataTag
   {
     DataTag_First = HYDROData_Entity::DataTag_First + 100, ///< first tag, to reserve
-    DataTag_Zone    ///< reference zones
+    DataTag_Zone,         ///< reference zones
+    DataTag_MergeType,    ///< mergin type of conflict bathymetries
   };
 
   /**
@@ -61,6 +71,19 @@ public:
   HYDRODATA_EXPORT virtual void RemoveChildZones();
 
 
+  /**
+   * Sets the merging type for conflict bathymetries.
+   * By default it is set to Merge_ZMIN.
+   */
+  HYDRODATA_EXPORT virtual void SetMergeType( const MergeBathymetriesType& theType );
+
+  /**
+   * Returns the merging type for conflict bathymetries.
+   */
+  HYDRODATA_EXPORT virtual MergeBathymetriesType GetMergeType() const;
+
+
+
   /**
    * Returns number of reference zones of region.
    */
index 44be2e0bf2690da36be130a68b414d6c2ff7a891..5566811be15b0ddc4f2ff5fc0955284e95e26dd7 100644 (file)
@@ -44,6 +44,15 @@ class HYDROData_Region : HYDROData_Entity
     }
 %End
 
+public:
+
+  // Enumeration of mergin types for conflict bathymetries
+  enum MergeBathymetriesType
+  {
+    Merge_ZMIN,
+    Merge_ZMAX
+  };
+
 public:      
 
   /**
@@ -70,6 +79,18 @@ public:
   void RemoveChildZones();
 
 
+  /**
+   * Sets the merging type for conflict bathymetries.
+   * By default it is set to Merge_ZMIN.
+   */
+  void SetMergeType( const MergeBathymetriesType& theType );
+
+  /**
+   * Returns the merging type for conflict bathymetries.
+   */
+  MergeBathymetriesType GetMergeType() const;
+
+
   /**
    * Returns number of reference zones of region.
    */