From d316b3a6233e6caa41955873025e3e9e554545f5 Mon Sep 17 00:00:00 2001 From: dmv Date: Mon, 11 Jan 2010 15:14:52 +0000 Subject: [PATCH] 0020635: EDF 1223 SMESH: Error message of RadialQuadrangle algorithm not precise --- idl/SMESH_Gen.idl | 3 ++- src/SMESH/SMESH_ComputeError.hxx | 5 ++++- src/SMESHGUI/SMESHGUI_ComputeDlg.cxx | 1 + src/SMESHGUI/SMESH_msg_en.ts | 5 +++++ src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx | 2 +- 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/idl/SMESH_Gen.idl b/idl/SMESH_Gen.idl index 4bec6e9d8..76805579b 100644 --- a/idl/SMESH_Gen.idl +++ b/idl/SMESH_Gen.idl @@ -96,7 +96,8 @@ module SMESH COMPERR_EXCEPTION , // other exception raised COMPERR_MEMORY_PB , // memory allocation problem COMPERR_ALGO_FAILED , // computation failed - COMPERR_BAD_SHAPE // bad geometry + COMPERR_BAD_SHAPE , // bad geometry + COMPERR_BAD_FACE // bad geometry }; struct ComputeError { diff --git a/src/SMESH/SMESH_ComputeError.hxx b/src/SMESH/SMESH_ComputeError.hxx index a764f0a3b..07f45d085 100644 --- a/src/SMESH/SMESH_ComputeError.hxx +++ b/src/SMESH/SMESH_ComputeError.hxx @@ -52,7 +52,8 @@ enum SMESH_ComputeErrorName COMPERR_EXCEPTION = -6, //!< other exception raised COMPERR_MEMORY_PB = -7, //!< std::bad_alloc exception COMPERR_ALGO_FAILED = -8, //!< algo failed for some reason - COMPERR_BAD_SHAPE = -9 //!< bad geometry + COMPERR_BAD_SHAPE = -9, //!< bad geometry + COMPERR_BAD_FACE = -10 //!< incorrect face type (Radial Algorithms) }; // ============================================================= @@ -98,6 +99,8 @@ std::string SMESH_ComputeError::CommonName() const _case2char(COMPERR_EXCEPTION ); _case2char(COMPERR_MEMORY_PB ); _case2char(COMPERR_ALGO_FAILED ); + _case2char(COMPERR_BAD_SHAPE ); + _case2char(COMPERR_BAD_FACE ); default:; } return ""; diff --git a/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx b/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx index 004b18496..f5a901582 100644 --- a/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_ComputeDlg.cxx @@ -343,6 +343,7 @@ namespace SMESH CASE2TEXT( COMPERR_EXCEPTION ); CASE2TEXT( COMPERR_MEMORY_PB ); CASE2TEXT( COMPERR_BAD_SHAPE ); + CASE2TEXT( COMPERR_BAD_FACE ); case SMESH::COMPERR_ALGO_FAILED: if ( strlen(comment) == 0 ) text = QObject::tr("COMPERR_ALGO_FAILED"); diff --git a/src/SMESHGUI/SMESH_msg_en.ts b/src/SMESHGUI/SMESH_msg_en.ts index 6a864d0f5..e64478cbe 100644 --- a/src/SMESHGUI/SMESH_msg_en.ts +++ b/src/SMESHGUI/SMESH_msg_en.ts @@ -61,6 +61,11 @@ COMPERR_BAD_SHAPE Unexpected geometry + + COMPERR_BAD_FACE + The face must be a full circle or a part of circle +(i.e. the number of edges is less or equal to 3 and one of them is a circle curve) + COMPERR_EXCEPTION Unknown exception diff --git a/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx b/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx index 8d21195db..5310f3672 100644 --- a/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx +++ b/src/StdMeshers/StdMeshers_RadialQuadrangle_1D2D.cxx @@ -316,7 +316,7 @@ bool StdMeshers_RadialQuadrangle_1D2D::Compute(SMESH_Mesh& aMesh, TopoDS_Edge CircEdge, LinEdge1, LinEdge2; int nbe = analyseFace( aShape, CircEdge, LinEdge1, LinEdge2 ); if( nbe>3 || nbe < 1 || CircEdge.IsNull() ) - return error(COMPERR_BAD_SHAPE); + return error(COMPERR_BAD_FACE); gp_Pnt P0,P1; // points for rotation -- 2.39.2