#include "SALOME_Exception.idl"
#include "SALOME_Component.idl"
-#include "SALOMEDS.idl"
module SALOME_FILTER
{
- interface FILTER_Gen : Engines::Component, SALOMEDS::Driver
- {
-// /*!
-// it returns a Corba pointer %MESH on the mesh stored in the .med file
-// <VAR>fileName</VAR> with the name <VAR>meshName</VAR>.
-// */
-// SALOME_FILTER::MESH readMeshInFile(in string fileName, in string studyName,
-// in string meshName)
-// raises(SALOME::SALOME_Exception);
+ struct DT_IT {
+ long dt;
+ long it;
+ };
-// /*!
-// it returns a Corba pointer %FIELD on the field instance with the order
-// <VAR>ordre</VAR> at the iteration <VAR>iter</VAR>, stored in the .med
-// file <VAR>fileName</VAR> with the name <VAR>fieldName</VAR>.
-// */
-// SALOME_FILTER::FIELD readFieldInFile(in string fileName, in string studyName,
-// in string fieldName, in long ordre,
-// in long iter)
-// raises (SALOME::SALOME_Exception);
+ enum rfunc {F_FIELD,F_GRAD};
+ typedef rfunc ref_func;
+ typedef sequence<long> LongSeq;
+ typedef sequence<string> StrSeq;
+ typedef sequence<DT_IT> DTITSeq;
-// /*!
-// it returns a Corba pointer on the %MED object regrouping all objects
-// (%MESH and %FIELD) stored in the file <VAR>fileName</VAR>. All instances
-// of the fields are stored without their type.
-// */
-// SALOME_FILTER::MED readStructFile(in string fileName,
-// in string studyName)
-// raises (SALOME::SALOME_Exception);
+ interface FILTER_Gen : Engines::Component
+ {
+ exception FilterError{
+ string error_msg;
+ };
-// /*!
-// It pushes all Corba pointers (%MED, %MESH, %FIELD) in the study named
-// <VAR>studyName</VAR>. The %MED object regroups all objects
-// (%MESH and %FIELD) stored in the file <VAR>fileName</VAR> and all
-// instances of the fields are stored with their own type.
-// */
-// void readStructFileWithFieldType(in string fileName,
-// in string studyName)
-// raises (SALOME::SALOME_Exception);
+ void loadMED(in string inMEDFile);
+ void unloadMED();
+ StrSeq getMeshNames();
+ StrSeq getFieldNames();
+ long getMeshDimension(in string meshName);
+ long getFieldEntity(in string fieldName,in long dt,in long it);
+ boolean fieldIsOnAllElements(in string fieldName,in long dt,in long it);
+ DTITSeq getFieldIteration(in string fieldName);
+ string getMeshName(in string fieldName,in long dt,in long it);
+ void readReferenceField(in string meshName,in string fieldName,in long ts);
+ void buildGradient() raises(FilterError);
+ void getMinMax(out double min,out double max,in ref_func rf);
+ LongSeq getHistogram(in long size,in ref_func rf);
+ void generateCriteria(in long nbthresh,in double fthresh,in double sthresh,in boolean areaFlag,in ref_func rf) raises(FilterError);
+ void createEnsightInputFiles() raises(FilterError);
+ void filtering() raises(FilterError);
+ void projectFieldsOnDecimateMesh() raises(FilterError);
+ void createMedOutputFile(in string outMedFile);
};
};