-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// 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 "SALOME_GenericObj.idl"
#include "SALOME_Exception.idl"
-module MEDOP
+module MEDCALC
{
struct DatasourceHandler {
long id;
typedef sequence<MeshHandler> MeshHandlerList;
/**
- * The Fieldseries is a virtal object that does not exist in the MED
+ * The Fieldseries is a virtual object that does not exist in the MED
* data model (at least in the MEDCoupling data model). It is just a
- * point that aggregate a list of fields that relie on the same mesh
+ * point that aggregates a list of fields that rely 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
+ * fields created by MED operations: if you operate two fields
* coming from 2 different timeseries (and relying on the same
- * mesh), you obtain a field that can not be associate to the
+ * mesh), you obtain a field that can not be associated to the
* original timeseries. Then this new created field must be directly
* associated to its underlying mesh (as defined in the MEDCoupling
* data model).
};
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;
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
FieldseriesHandlerList getFieldseriesListOnMesh(in long meshId);
FieldHandlerList getFieldListInFieldseries(in long fieldseriesId);
+ long getFieldIdAtTimestamp(in long fieldseriesId, in double timestamp);
+
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
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);
+ double getFieldTimestamp(in long fieldHandlerId);
+
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
//==========================================================
// Print out server data
void serverlog();
+
+ void cleanUp() raises (SALOME::SALOME_Exception);
};
};