PLA13330( When mesh generation does not success, trace where )

Add structures and a method to get compute error descriptions
This commit is contained in:
eap 2007-04-10 13:55:23 +00:00
parent 5121254a04
commit 7ea0dd579b

View File

@ -38,20 +38,48 @@
module SMESH module SMESH
{ {
typedef sequence<GEOM::GEOM_Object> object_array; typedef sequence<GEOM::GEOM_Object> object_array;
typedef sequence<SMESH_Mesh> mesh_array; typedef sequence<SMESH_Mesh> mesh_array;
interface FilterManager; interface FilterManager;
interface SMESH_Pattern; interface SMESH_Pattern;
enum AlgoStateErrorName { MISSING_ALGO, MISSING_HYPO, NOT_CONFORM_MESH, BAD_PARAM_VALUE }; /*!
struct AlgoStateError { * Hypothesis definintion error
AlgoStateErrorName name; */
struct AlgoStateError
{
Hypothesis_Status state;
string algoName; string algoName;
long algoDim; long algoDim;
boolean isGlobalAlgo; boolean isGlobalAlgo;
}; };
typedef sequence<AlgoStateError> algo_error_array; typedef sequence<AlgoStateError> algo_error_array;
/*!
* Mesh computation error
*/
enum ComputeErrorName
{
COMPERR_OK ,
COMPERR_BAD_INPUT_MESH, // wrong mesh on lower submesh
COMPERR_STD_EXCEPTION , // some std exception raised
COMPERR_OCC_EXCEPTION , // OCC exception raised
COMPERR_SLM_EXCEPTION , // SALOME exception raised
COMPERR_EXCEPTION , // other exception raised
COMPERR_MEMORY_PB , // memory allocation problem
COMPERR_ALGO_FAILED , // computation failed
COMPERR_BAD_SHAPE // bad geometry
};
struct ComputeError
{
short code; // ComputeErrorName or, if negative, algo specific code
string comment; // textual problem description
string algoName;
short subShapeID; // id of subshape of a shape to mesh
};
typedef sequence<ComputeError> compute_error_array;
interface SMESH_Gen : Engines::Component, SALOMEDS::Driver interface SMESH_Gen : Engines::Component, SALOMEDS::Driver
{ {
@ -169,6 +197,14 @@ module SMESH
in GEOM::GEOM_Object theSubObject ) in GEOM::GEOM_Object theSubObject )
raises ( SALOME::SALOME_Exception ); raises ( SALOME::SALOME_Exception );
/*!
* Return errors of mesh computation
* compute_error_array is empty if everything is OK
*/
compute_error_array GetComputeErrors( in SMESH_Mesh theMesh,
in GEOM::GEOM_Object theSubObject )
raises ( SALOME::SALOME_Exception );
/*! /*!
* Return indeces of faces, edges and vertices of given subshapes * Return indeces of faces, edges and vertices of given subshapes
* within theMainObject * within theMainObject