Salome HOME
Merge remote-tracking branch 'origin/BR_DEMO' into BR_2017
[modules/hydro.git] / src / HYDROPy / HYDROData_Document.sip
index 5b2e2e19bbee48164bed296a7f38840d6d88f159..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;
@@ -152,9 +149,9 @@ class HYDROData_Document
         aRes = new HYDROData_ShapesGroup( *dynamic_cast<HYDROData_ShapesGroup*>( theObject ) );
         break;
       }
-      case KIND_SPLITTED_GROUP:
+      case KIND_SPLIT_GROUP:
       {
-        aRes = new HYDROData_SplittedShapesGroup( *dynamic_cast<HYDROData_SplittedShapesGroup*>( theObject ) );
+        aRes = new HYDROData_SplitShapesGroup( *dynamic_cast<HYDROData_SplitShapesGroup*>( theObject ) );
         break;
       }
       case KIND_OBSTACLE_ALTITUDE:
@@ -162,6 +159,21 @@ class HYDROData_Document
         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;
+      }
     }
     
     return aRes;
@@ -188,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;
@@ -262,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;
@@ -275,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.