Salome HOME
Merge branch 'BR_LAND_COVER_MAP' of ssh://git.salome-platform.org/modules/hydro into...
[modules/hydro.git] / src / HYDROPy / HYDROData_Region.sip
index 3199acc2e8fa46f1861e406fe646c7553d2180c5..f3af2f810e820b21ad8acf03d1930f5de3bcc334 100644 (file)
@@ -1,12 +1,8 @@
-// Copyright (C) 2007-2013  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
-//
+// 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.
+// 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
 #include <HYDROData_Region.h>
 %End
 
-class HYDROData_Region : HYDROData_Domain
+class HYDROData_Region : public HYDROData_Entity
 {
 
+%ConvertToSubClassCode
+    switch ( sipCpp->GetKind() )
+    {
+      case KIND_REGION:
+        sipClass = sipClass_HYDROData_Region;
+        break;
+
+      default:
+        // We don't recognise the type.
+        sipClass = NULL;
+    }
+%End
+
 %TypeHeaderCode
 #include <HYDROData_Region.h>
 %End
 
-%ConvertToSubClassCode
-    if ( !Handle(HYDROData_Region)::DownCast( sipCpp ).IsNull() )
-      sipClass = sipClass_HYDROData_Region;
-    else
-      sipClass = NULL;
-%End
+public:      
+
+  /**
+   * Add new one reference zone for region.
+   */
+  void AddZone( HYDROData_Zone theZone ) [void (const Handle_HYDROData_Zone&)];
+  %MethodCode
+
+    Handle(HYDROData_Zone) aZone =
+      Handle(HYDROData_Zone)::DownCast( createHandle( a0 ) );
+    if ( !aZone.IsNull() )
+    {
+      Py_BEGIN_ALLOW_THREADS
+      sipSelfWasArg ? sipCpp->HYDROData_Region::AddZone( aZone ) : 
+                      sipCpp->AddZone( aZone );
+      Py_END_ALLOW_THREADS
+    }
 
-public:
+  %End
+
+  /**
+   * Returns all reference zone of region.
+   */
+  HYDROData_SequenceOfObjects GetZones() const;
+
+  /**
+   * Removes reference zone from region.
+   */
+  void RemoveZone( HYDROData_Zone theZone ) [void (const Handle_HYDROData_Zone&)];
+  %MethodCode
+
+    Handle(HYDROData_Zone) aZone =
+      Handle(HYDROData_Zone)::DownCast( createHandle( a0 ) );
+    if ( !aZone.IsNull() )
+    {
+      Py_BEGIN_ALLOW_THREADS
+      sipSelfWasArg ? sipCpp->HYDROData_Region::RemoveZone( aZone ) : 
+                      sipCpp->RemoveZone( aZone );
+      Py_END_ALLOW_THREADS
+    }
+
+  %End
+
+  /**
+   * Removes all reference zones from region.
+   */
+  void RemoveZones();
 
-  const ObjectKind          GetKind() const;
 
 protected: