Salome HOME
refs #1331: automatic test for profiles points in GUI
[modules/hydro.git] / src / HYDROPy / HYDROData_Document.sip
index adfd9acdc101fe70e2a2f713415f7167d369ed2b..882fe167ab7cd1444c472ad7bcc15896a8810877 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
@@ -46,7 +42,8 @@ class HYDROData_Document
 %End
 
 %ConvertToSubClassCode
-    if ( !Handle(HYDROData_Document)::DownCast( sipCpp ).IsNull() )
+    HYDROData_Document* aDoc = dynamic_cast< HYDROData_Document*>( sipCpp );
+    if ( aDoc )
       sipClass = sipClass_HYDROData_Document;
     else
       sipClass = NULL;
@@ -67,29 +64,54 @@ class HYDROData_Document
         aRes = new HYDROData_Image( *dynamic_cast<HYDROData_Image*>( theObject ) );
         break;
       }
+      case KIND_POLYLINE:
+      {
+        aRes = new HYDROData_Polyline3D( *dynamic_cast<HYDROData_Polyline3D*>( theObject ) );
+        break;
+      }
       case KIND_BATHYMETRY:
       {
         aRes = new HYDROData_Bathymetry( *dynamic_cast<HYDROData_Bathymetry*>( theObject ) );
         break;
       }
-/*      case KIND_ALTITUDE:
+      case KIND_ALTITUDE:
       {
         aRes = new HYDROData_AltitudeObject( *dynamic_cast<HYDROData_AltitudeObject*>( theObject ) );
         break;
-      }*/
-      case KIND_OBSTACLE_ALTITUDE:
-      {
-        aRes = new HYDROData_ObstacleAltitude( *dynamic_cast<HYDROData_ObstacleAltitude*>( theObject ) );
-        break;
       }
       case KIND_IMMERSIBLE_ZONE:
       {
         aRes = new HYDROData_ImmersibleZone( *dynamic_cast<HYDROData_ImmersibleZone*>( theObject ) );
         break;
       }
-      case KIND_POLYLINE:
+      case KIND_RIVER:
       {
-        aRes = new HYDROData_Polyline3D( *dynamic_cast<HYDROData_Polyline3D*>( theObject ) );
+        aRes = new HYDROData_River( *dynamic_cast<HYDROData_River*>( theObject ) );
+        break;
+      }
+      case KIND_STREAM:
+      {
+        aRes = new HYDROData_Stream( *dynamic_cast<HYDROData_Stream*>( theObject ) );
+        break;
+      }
+      case KIND_CONFLUENCE:
+      {
+        aRes = new HYDROData_Confluence( *dynamic_cast<HYDROData_Confluence*>( theObject ) );
+        break;
+      }
+      case KIND_CHANNEL:
+      {
+        aRes = new HYDROData_Channel( *dynamic_cast<HYDROData_Channel*>( theObject ) );
+        break;
+      }
+      case KIND_OBSTACLE:
+      {
+        aRes = new HYDROData_Obstacle( *dynamic_cast<HYDROData_Obstacle*>( theObject ) );
+        break;
+      }
+      case KIND_DIGUE:
+      {
+        aRes = new HYDROData_Digue( *dynamic_cast<HYDROData_Digue*>( theObject ) );
         break;
       }
       case KIND_PROFILE:
@@ -112,11 +134,6 @@ class HYDROData_Document
         aRes = new HYDROData_CalculationCase( *dynamic_cast<HYDROData_CalculationCase*>( theObject ) );
         break;
       }
-      case KIND_OBSTACLE:
-      {
-        aRes = new HYDROData_Obstacle( *dynamic_cast<HYDROData_Obstacle*>( theObject ) );
-        break;
-      }
       case KIND_REGION:
       {
         aRes = new HYDROData_Region( *dynamic_cast<HYDROData_Region*>( theObject ) );
@@ -127,19 +144,34 @@ class HYDROData_Document
         aRes = new HYDROData_Zone( *dynamic_cast<HYDROData_Zone*>( theObject ) );
         break;
       }
-      case KIND_DIGUE:
+      case KIND_SHAPES_GROUP:
       {
-        aRes = new HYDROData_Digue( *dynamic_cast<HYDROData_Digue*>( theObject ) );
+        aRes = new HYDROData_ShapesGroup( *dynamic_cast<HYDROData_ShapesGroup*>( theObject ) );
         break;
       }
-      case KIND_CHANNEL:
+      case KIND_SPLIT_GROUP:
       {
-        aRes = new HYDROData_Channel( *dynamic_cast<HYDROData_Channel*>( theObject ) );
+        aRes = new HYDROData_SplitShapesGroup( *dynamic_cast<HYDROData_SplitShapesGroup*>( theObject ) );
         break;
       }
-      case KIND_STREAM:
+      case KIND_OBSTACLE_ALTITUDE:
       {
-        aRes = new HYDROData_Stream( *dynamic_cast<HYDROData_Stream*>( theObject ) );
+        aRes = new HYDROData_ObstacleAltitude( *dynamic_cast<HYDROData_ObstacleAltitude*>( theObject ) );
+        break;
+      }
+      case KIND_STREAM_ALTITUDE:
+      {
+        aRes = new HYDROData_StreamAltitude( *dynamic_cast<HYDROData_StreamAltitude*>( theObject ) );
+        break;
+      }
+      case KIND_STRICKLER_TABLE:
+      {
+        aRes = new HYDROData_StricklerTable( *dynamic_cast<HYDROData_StricklerTable*>( theObject ) );
+        break;
+      }
+      case KIND_LAND_COVER_MAP:
+      {
+        aRes = new HYDROData_LandCoverMap( *dynamic_cast<HYDROData_LandCoverMap*>( theObject ) );
         break;
       }
     }
@@ -168,7 +200,7 @@ class HYDROData_Document
 public:
 
   //! Returns the existing document or creates new if it is not exist
-  static HYDROData_Document Document( const int theStudyID ) [Handle_HYDROData_Document (const int)] ;
+  static HYDROData_Document Document( const int theStudyID ) [opencascade::handle<HYDROData_Document> (const int)] ;
   %MethodCode
 
     Handle(HYDROData_Document) aDocument;
@@ -242,7 +274,7 @@ 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_Entity CreateObject( const ObjectKind theKind ) [Handle_HYDROData_Entity (const ObjectKind)] ;
+  HYDROData_Entity CreateObject( const ObjectKind theKind ) [opencascade::handle<HYDROData_Entity> (const ObjectKind)] ;
   %MethodCode
 
     Handle(HYDROData_Entity) anObject;
@@ -255,6 +287,32 @@ public:
     
   %End
 
+  HYDROData_Entity FindObjectByName( const QString&   theName,
+                                     const ObjectKind theKind = KIND_UNKNOWN ) 
+  [opencascade::handle<HYDROData_Entity> (const QString&, const ObjectKind)] ;
+  %MethodCode
+
+    Handle(HYDROData_Entity) anObject;
+    Py_BEGIN_ALLOW_THREADS
+    anObject =  sipSelfWasArg ? sipCpp->HYDROData_Document::FindObjectByName( *a0, a1 ) :
+                                sipCpp->FindObjectByName( *a0, a1 );
+    Py_END_ALLOW_THREADS
+
+    sipRes = createPointer( anObject );
+    
+  %End
+
+  HYDROData_SequenceOfObjects FindObjectsByNames( const QStringList& theNames,
+                                                  const ObjectKind   theKind = KIND_UNKNOWN );
+
+  void SetLocalCS( double, double );
+
+  //! Get the appropriate interpolator by the name.
+  HYDROData_IProfilesInterpolator* GetInterpolator( const TCollection_AsciiString& theName ) const;
+
+  //! Get list of registered interpolator names.
+  NCollection_Sequence<TCollection_AsciiString> GetInterpolatorNames() const;
+
 protected:
 
   //! Creates new document: private because "Document" method must be used instead of direct creation.