From 7ea0dd579bf0a606078faeb71b733c3746cff7bb Mon Sep 17 00:00:00 2001 From: eap Date: Tue, 10 Apr 2007 13:55:23 +0000 Subject: [PATCH] PLA13330( When mesh generation does not success, trace where ) Add structures and a method to get compute error descriptions --- idl/SMESH_Gen.idl | 46 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/idl/SMESH_Gen.idl b/idl/SMESH_Gen.idl index 1e3c193c0..92270813b 100644 --- a/idl/SMESH_Gen.idl +++ b/idl/SMESH_Gen.idl @@ -38,20 +38,48 @@ module SMESH { typedef sequence object_array; - typedef sequence mesh_array; + typedef sequence mesh_array; interface FilterManager; interface SMESH_Pattern; - enum AlgoStateErrorName { MISSING_ALGO, MISSING_HYPO, NOT_CONFORM_MESH, BAD_PARAM_VALUE }; - struct AlgoStateError { - AlgoStateErrorName name; + /*! + * Hypothesis definintion error + */ + struct AlgoStateError + { + Hypothesis_Status state; string algoName; long algoDim; boolean isGlobalAlgo; }; typedef sequence 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 compute_error_array; + + interface SMESH_Gen : Engines::Component, SALOMEDS::Driver { @@ -169,6 +197,14 @@ module SMESH in GEOM::GEOM_Object theSubObject ) 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 * within theMainObject -- 2.39.2