X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_Gen.idl;h=bc6edfb72418dbf02fc75f4913085d9f6b087f13;hp=82136fee136a087e725e24aa94d5f26f7a1e14c9;hb=d0f366c4a3a66a71b0be94f7a6e2d146f80a94c4;hpb=7b70ad87bf8f5c46b2751f94cd196932b9ae7122 diff --git a/idl/SMESH_Gen.idl b/idl/SMESH_Gen.idl index 82136fee1..bc6edfb72 100644 --- a/idl/SMESH_Gen.idl +++ b/idl/SMESH_Gen.idl @@ -31,27 +31,67 @@ #include "SALOMEDS.idl" #include "GEOM_Gen.idl" -#include "GEOM_Shape.idl" #include "SMESH_Mesh.idl" #include "SMESH_Hypothesis.idl" module SMESH { - typedef sequence shape_array; + typedef sequence object_array; + typedef sequence mesh_array; + interface FilterManager; + interface SMESH_Pattern; + + enum AlgoStateErrorName { MISSING_ALGO, MISSING_HYPO, NOT_CONFORM_MESH }; + struct AlgoStateError { + AlgoStateErrorName name; + string algoName; + long algoDim; + boolean isGlobalAlgo; + }; + typedef sequence algo_error_array; + interface SMESH_Gen : Engines::Component, SALOMEDS::Driver { + + FilterManager CreateFilterManager(); + + SMESH_Pattern GetPattern(); + + /*! + Set the current study + */ + void SetCurrentStudy( in SALOMEDS::Study theStudy ); + + /*! + Get the current study + */ + SALOMEDS::Study GetCurrentStudy(); + /*! - * Create an hypothesis that can be shared by differents parts of the mesh. + * Create a hypothesis that can be shared by differents parts of the mesh. * An hypothesis is either: * - a method used to generate or modify a part of the mesh (algorithm). * - a parameter or a law used by an algorithm. * Algorithms are 1D, 2D or 3D. */ - SMESH_Hypothesis CreateHypothesis( in string anHyp, - in long studyId) - raises (SALOME::SALOME_Exception); + SMESH_Hypothesis CreateHypothesis( in string theHypName, + in string theLibName ) + raises ( SALOME::SALOME_Exception ); + + /*! + * Return a hypothesis holding parameter values corresponding to the mesh + * existing on the given geometry. + * The returned hypothesis may be the one existing in a study and used + * to compute the mesh, or a temporary one created just to pass parameter + * values + */ + SMESH_Hypothesis GetHypothesisParameterValues( in string theHypName, + in string theLibName, + in SMESH_Mesh theMesh, + in GEOM::GEOM_Object theGeom) + raises ( SALOME::SALOME_Exception ); /*! * Create a Mesh object, given a geometry shape. @@ -60,57 +100,75 @@ module SMESH * of TopoDS_Shapes and bind CORBA references of shape & subshapes * with TopoDS_Shapes */ - SMESH_Mesh Init(in GEOM::GEOM_Gen geomEngine, - in long studyId, - in GEOM::GEOM_Shape aShape) - raises (SALOME::SALOME_Exception); + SMESH_Mesh CreateMesh( in GEOM::GEOM_Object theObject ) + raises ( SALOME::SALOME_Exception ); + + /*! + * Create Mesh object importing data from given UNV file + */ + SMESH_Mesh CreateMeshesFromUNV( in string theFileName ) + raises ( SALOME::SALOME_Exception ); + + /*! + * Create Mesh object(s) importing data from given MED file + */ + mesh_array CreateMeshesFromMED( in string theFileName, + out SMESH::DriverMED_ReadStatus theStatus ) + raises ( SALOME::SALOME_Exception ); + + /*! + * Create Mesh object importing data from given STL file + */ + SMESH_Mesh CreateMeshesFromSTL( in string theFileName ) + raises ( SALOME::SALOME_Exception ); /*! * Create a Mesh object, without a geometry shape reference */ -// SMESH_Mesh NewEmpty(in GEOM::GEOM_Gen geomEngine, -// in long studyId) -// raises (SALOME::SALOME_Exception); +// SMESH_Mesh NewEmpty() +// raises ( SALOME::SALOME_Exception ); /*! * Mesh a subShape. * First, verify list of hypothesis associated with the subShape, * return NOK if hypothesis are not sufficient */ - boolean Compute(in SMESH_Mesh aMesh, in GEOM::GEOM_Shape aSubShape) - raises (SALOME::SALOME_Exception); + boolean Compute( in SMESH_Mesh theMesh, + in GEOM::GEOM_Object theSubObject ) + raises ( SALOME::SALOME_Exception ); /*! - * + * Return true if hypotheses are defined well */ + boolean IsReadyToCompute( in SMESH_Mesh theMesh, + in GEOM::GEOM_Object theSubObject ) + raises ( SALOME::SALOME_Exception ); - boolean IsReadyToCompute(in SMESH_Mesh aMesh, in GEOM::GEOM_Shape aSubShape) - raises (SALOME::SALOME_Exception); + /*! + * Return errors of hypotheses definintion + * algo_error_array is empty if everything is OK + */ + algo_error_array GetAlgoState( in SMESH_Mesh theMesh, + in GEOM::GEOM_Object theSubObject ) + raises ( SALOME::SALOME_Exception ); /*! * */ - long_array GetSubShapesId(in GEOM::GEOM_Gen geomEngine, - in long studyId, - in GEOM::GEOM_Shape mainShape, - in shape_array listOfSubShape) - raises (SALOME::SALOME_Exception); - + long_array GetSubShapesId( in GEOM::GEOM_Object theMainObject, + in object_array theListOfSubObjects ) + raises ( SALOME::SALOME_Exception ); + /*! - * + * Return geometrical object the given element is built on. + * The returned geometrical object, if not nil, is either found in the + * study or is published by this method with the given name */ - // long_array GetSubMeshesState(in GEOM::GEOM_Gen geomEngine, - // in long studyId, - // in shape_array listOfSubShape) - // raises (SALOME::SALOME_Exception); - - /** - * Import a mesh from a file. - * @param fileName file name to be imported. - * @param fileType Currently it could be either "DAT", "UNV" or "MED". - * @param studyId The id of the current study. - */ - SMESH_Mesh Import(in long studyId, in string fileName, in string fileType); + GEOM::GEOM_Object GetGeometryByMeshElement( in SMESH_Mesh theMesh, + in long theElementID, + in string theGeomName) + raises ( SALOME::SALOME_Exception ); + }; };