Salome HOME
bug #278: forced update is implemented
[modules/hydro.git] / src / HYDROPy / HYDROData_Document.sip
index 9c4779fff7f9a0a7a0b30540b8b180ac75ed450a..37bd970f7f72dc08b7a7a144d6b1d781b50d8e7a 100644 (file)
@@ -25,9 +25,9 @@
 %End
 
 %ModuleHeaderCode
-HYDROData_Object* copyObject( HYDROData_Object* theObject );
-Handle(HYDROData_Object) createHandle( HYDROData_Object* theObject );
-HYDROData_Object* createPointer( const Handle(HYDROData_Object)& theObject );
+HYDROData_Entity* copyObject( HYDROData_Entity* theObject );
+Handle(HYDROData_Entity) createHandle( HYDROData_Entity* theObject );
+HYDROData_Entity* createPointer( const Handle(HYDROData_Entity)& theObject );
 %End
 
 enum Data_DocError {
@@ -39,7 +39,7 @@ enum Data_DocError {
   DocError_UnknownProblem ///< problem has unknown nature
 };
 
-class HYDROData_Document
+class HYDROData_Document 
 {
 %TypeHeaderCode
 #include <HYDROData_Document.h>
@@ -54,22 +54,52 @@ class HYDROData_Document
 
 %TypeCode
 
-  HYDROData_Object* copyObject( HYDROData_Object* theObject )
+  HYDROData_Entity* copyObject( HYDROData_Entity* theObject )
   {
-    HYDROData_Object* aRes = NULL;
+    HYDROData_Entity* aRes = NULL;
     if ( theObject == NULL )
       return aRes;
 
     switch( theObject->GetKind() )
     {
+      case KIND_IMAGE:
+      {
+        aRes = new HYDROData_Image( *dynamic_cast<HYDROData_Image*>( theObject ) );
+        break;
+      }
       case KIND_BATHYMETRY:
       {
         aRes = new HYDROData_Bathymetry( *dynamic_cast<HYDROData_Bathymetry*>( theObject ) );
         break;
       }
-      case KIND_IMAGE:
+      case KIND_IMMERSIBLE_ZONE:
       {
-        aRes = new HYDROData_Image( *dynamic_cast<HYDROData_Image*>( theObject ) );
+        aRes = new HYDROData_ImmersibleZone( *dynamic_cast<HYDROData_ImmersibleZone*>( theObject ) );
+        break;
+      }
+      case KIND_PROFILEUZ:
+      {
+        aRes = new HYDROData_ProfileUZ( *dynamic_cast<HYDROData_ProfileUZ*>( theObject ) );
+        break;
+      }
+      case KIND_POLYLINEXY:
+      {
+        aRes = new HYDROData_PolylineXY( *dynamic_cast<HYDROData_PolylineXY*>( theObject ) );
+        break;
+      }
+      case KIND_CALCULATION:
+      {
+        aRes = new HYDROData_CalculationCase( *dynamic_cast<HYDROData_CalculationCase*>( theObject ) );
+        break;
+      }
+      case KIND_REGION:
+      {
+        aRes = new HYDROData_Region( *dynamic_cast<HYDROData_Region*>( theObject ) );
+        break;
+      }
+      case KIND_ZONE:
+      {
+        aRes = new HYDROData_Zone( *dynamic_cast<HYDROData_Zone*>( theObject ) );
         break;
       }
     }
@@ -77,15 +107,15 @@ class HYDROData_Document
     return aRes;
   }
   
-  Handle(HYDROData_Object) createHandle( HYDROData_Object* theObject )
+  Handle(HYDROData_Entity) createHandle( HYDROData_Entity* theObject )
   {
-    Handle(HYDROData_Object) aRes = copyObject( theObject );
+    Handle(HYDROData_Entity) aRes = copyObject( theObject );
     return aRes;
   }
   
-  HYDROData_Object* createPointer( const Handle(HYDROData_Object)& theObject )
+  HYDROData_Entity* createPointer( const Handle(HYDROData_Entity)& theObject )
   {
-    HYDROData_Object* aRes = NULL;
+    HYDROData_Entity* aRes = NULL;
     
     if ( !theObject.IsNull() )
       aRes = copyObject( theObject.operator->() );
@@ -172,10 +202,10 @@ public:
   //! Creates and locates in the document a new object
   //! \param theKind kind of the created object, can not be UNKNOWN
   //! \returns the created object
-  HYDROData_Object CreateObject( const ObjectKind theKind ) [Handle_HYDROData_Object (const ObjectKind)] ;
+  HYDROData_Entity CreateObject( const ObjectKind theKind ) [Handle_HYDROData_Entity (const ObjectKind)] ;
   %MethodCode
 
-    Handle(HYDROData_Object) anObject;
+    Handle(HYDROData_Entity) anObject;
     Py_BEGIN_ALLOW_THREADS
     anObject =  sipSelfWasArg ? sipCpp->HYDROData_Document::CreateObject( a0 ) :
                                 sipCpp->CreateObject( a0 );