Salome HOME
Maybe
[modules/med.git] / idl / MEDDataManager.idl
index ce12020183c42c7354c25da547ed31a1f8f3381f..8d88928483024e6245e2679deaac865d43e89bf9 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
@@ -28,7 +28,7 @@
 #include "SALOME_GenericObj.idl"
 #include "SALOME_Exception.idl"
 
-module MEDOP
+module MEDCALC
 {
   struct DatasourceHandler {
     long id;
@@ -50,7 +50,7 @@ module MEDOP
    * point that aggregate a list of fields that relie on the same mesh
    * with the same type (the fields in a timeseries differ by their
    * time step).
-   * 
+   *
    * Then you could have a field with no fieldseries associated but
    * directly associated to a mesh. That is typically the case of
    * fields created by MED operations: if you operate tow fields
@@ -84,7 +84,7 @@ module MEDOP
   };
   typedef sequence<FieldseriesHandler> FieldseriesHandlerList;
 
-  // The FieldHandler structure is a lightweigth data structure that
+  // The FieldHandler structure is a lightweight data structure that
   // represents a single field (as understood in MEDCoupling model).
   struct FieldHandler {
     long   id;
@@ -101,20 +101,31 @@ module MEDOP
   typedef sequence<FieldHandler> FieldHandlerList;
   typedef sequence<long> FieldIdList;
 
+  struct InterpolationParameters {
+    double precision;
+    double defaultValue;
+    boolean reverse;
+    string method;
+    string nature;
+    string intersectionType;
+  };
+
   interface MEDDataManager: SALOME::GenericObj
   {
-    
+
     //==========================================================
     // Datasource management
     //==========================================================
-    DatasourceHandler addDatasource(in string filepath);
+    DatasourceHandler loadDatasource(in string filepath);
+    DatasourceHandler getDatasourceHandler(in string filepath);
+    DatasourceHandler getDatasourceHandlerFromID(in long sourceid);
 
     //==========================================================
     // Mesh data management
     //==========================================================
-    
-    MeshHandler     getMesh(in long meshId) raises (SALOME::SALOME_Exception);
-    MeshHandlerList getMeshList(in long datasourceId);
+
+    MeshHandler     getMeshHandler(in long meshId) raises (SALOME::SALOME_Exception);
+    MeshHandlerList getMeshHandlerList(in long datasourceId);
 
     //==========================================================
     // Field data management
@@ -124,7 +135,7 @@ module MEDOP
 
     FieldHandler     getFieldHandler(in long fieldHandlerId);
     FieldHandlerList getFieldHandlerList();
-    // __GBO__ Maybe it could be usefull to define a getFieldHandlerList with a datasourceId in argument
+    // __GBO__ Maybe it could be useful to define a getFieldHandlerList with a datasourceId in argument
     string           getFieldRepresentation(in long fieldHandlerId);
 
     // Persistency management
@@ -136,16 +147,19 @@ module MEDOP
 
 
     void updateFieldMetadata(in long   fieldHandlerId,
-                            in string fieldname,
-                            in long   iteration,
-                            in long   order,
-                            in string source);
+                             in string fieldname,
+                             in long   iteration,
+                             in long   order,
+                             in string source);
 
     //void saveFields(in FieldHandlerList fieldHandlerList, in string filepath);
 
     void changeUnderlyingMesh(in long fieldHandlerId, in long meshHandlerId)
       raises (SALOME::SALOME_Exception);
-    
+
+    FieldHandler interpolateField(in long fieldHandlerId, in long meshHandlerId, in InterpolationParameters params)
+      raises (SALOME::SALOME_Exception);
+
     //==========================================================
     // General purpose data management
     //==========================================================
@@ -154,6 +168,8 @@ module MEDOP
 
     // Print out server data
     void serverlog();
+
+    void cleanUp() raises (SALOME::SALOME_Exception);
   };
 };