// Interface of the %MULTIPR component used to manage partition/decimation
//*************************************************************************
-interface MULTIPR_Obj
+interface MULTIPR_Obj : SALOME::GenericObj
{
//---------------------------------------------------------------------
// Basic accessors/mutators
//--------------------------------------------------------------------
+ /*!
+ * Reset the object.
+ */
+ void reset();
+
/*!
* Return true iff this obj represents a valid sequential MED file.
*/
/*!
* Return the list of fields contained in the current mesh of the associated MED file.
*/
- string_array getFields()
+ string_array getFields(in string pPartList)
raises (SALOME::SALOME_Exception);
/*!
* Return the number of iterations for a given field.
*/
- long getTimeStamps(in string fieldName)
+ long getTimeStamps(in string pPartList, in string fieldName)
raises (SALOME::SALOME_Exception);
+ /*!
+ * Get the minimum and maximum value of a part's field.
+ */
+ void getFieldMinMax(in string pPartName, in string pFieldName, inout float pMin, inout float pMax)
+ raises (SALOME::SALOME_Exception);
+
/*!
* Return the name of all partitions.
* Assume this object encapsulates a distributed MED file.
//--------------------------------------------------------------------
/*!
- * Create a distributed MED file (v2.3) by extracting all the groups from the current mesh of the current MED sequential MED file.
+ * Create a distributed MED file (v2.3) by extracting all the groups from the
+ * current mesh of the current MED sequential MED file.
* Assume:
* - the file is in MED format and can be read using MED file v2.3.
* - the file is sequential (not a distributed MED).
raises (SALOME::SALOME_Exception);
/*!
- * Create a distributed MED file (V2.3) by splitting a group of a MED file previously created by partitionneDomaine.
+ * Create a distributed MED file (V2.3) by splitting a group of a MED file
+ * previously created by partitionneDomaine.
* Assume:
* - the file is a distributed MED file, previously created by partitionneDomaine()
* (=> each part only contain 1 mesh, TETRA10 elements only)
* - partitionner METIS=0 or SCOTCH=1
* \return the name of each part.
*/
- string_array partitionneGrain(
+ string_array partitionneGroupe(
in string partName,
in long nbParts,
in long partitionner)
/*!
* Create 3 resolutions of the given part of a distributed MED file (V2.3).
* Assume:
- * - the file is a distributed MED file, previously created by partitionneDomaine() or partitionneGrain()
+ * - the file is a distributed MED file, previously created by
+ * partitionneDomaine() or partitionneGrain()
* (=> each part only contain 1 mesh, TETRA10 elements only)
*/
string_array decimePartition(
in string fieldName,
in long fieldIt,
in string filterName,
- in double tmed,
- in double tlow,
- in double radius)
+ in string filterParams)
raises (SALOME::SALOME_Exception);
/*!
/*!
* Remove all the parts starting with the given prefix from the distributed MED file.
- * Example: if prefixPartName="PART_4" => remove "PART_4" and all sub-parts "PART_4_*", but not "PART41".
+ * Example: if prefixPartName="PART_4" => remove "PART_4" and all sub-parts "PART_4_*",
+ * but not "PART41".
* Assume this object encapsulates a distributed MED file.
*/
void removeParts(in string prefixPartName)
raises (SALOME::SALOME_Exception);
+ /*!
+ * Get mesh statistics.
+ */
+ string getMEDInfo(
+ in string partName)
+ raises (SALOME::SALOME_Exception);
+
//---------------------------------------------------------------------
// i/o
//--------------------------------------------------------------------
void save(in string path)
raises (SALOME::SALOME_Exception);
+ /*!
+ * Check save progress.
+ * \return current save progress in percents.
+ */
+ long getSaveProgress();
+
+ /*!
+ * Reset save progress to zero.
+ */
+ void resetSaveProgress();
+
}; // interface MULTIPR_Obj
// Interface of the %MULTIPR component; used to create MULTIPR_Obj object
// and to define high level API.
//*************************************************************************
-interface MULTIPR_Gen : Engines::Component
+interface MULTIPR_Gen : Engines::Component, SALOMEDS::Driver
{
/*!
* Return the version of the MULTIPR library.
//------------------------------------------------------------------------
/*!
- * Create a distributed MED file (v2.3) by extracting all the groups from the mesh of a sequential MED file.
+ * Create a distributed MED file (v2.3) by extracting all the groups from the
+ * mesh of a sequential MED file.
* High level function.
*/
void partitionneDomaine(
raises (SALOME::SALOME_Exception);
/*!
- * Create a distributed MED file (V2.3) by splitting a group of a MED file previously created by partitionneDomaine().
+ * Create a distributed MED file (V2.3) by splitting a group of a MED file
+ * previously created by partitionneDomaine().
* High level function.
*/
- void partitionneGrain(
+ void partitionneGroupe(
in string medFilename,
in string partName,
in long nbParts,
in string fieldName,
in long fieldIt,
in string filterName,
- in double tmed,
- in double tlow,
- in double radius,
- in long boxing)
+ in string filterParams)
raises (SALOME::SALOME_Exception);
//------------------------------------------------------------------------
MULTIPR_Obj getObject(in string medFilename)
raises (SALOME::SALOME_Exception);
+ //------------------------------------------------------------------------
+ // Engine API
+ // Methods to correctly serve Persistence and Dump Python.
+ //------------------------------------------------------------------------
+
+ /*!
+ * Set the current study
+ */
+ void SetCurrentStudy (in SALOMEDS::Study theStudy);
+
+ /*!
+ * Get the current study
+ */
+ SALOMEDS::Study GetCurrentStudy();
+
+
}; // interface MULTIPR_Gen