From 5ce2c158cc99a4f2b922fcd2112af355cc0be10e Mon Sep 17 00:00:00 2001 From: jfa Date: Thu, 29 Nov 2007 13:20:35 +0000 Subject: [PATCH] NPAL18017: EDF GEOM V3.2.9rc1 : Exception raised when getShapeOn... function return empty list. --- src/GEOM/GEOM_IOperations.hxx | 1 + src/GEOMImpl/GEOMImpl_IShapesOperations.cxx | 17 +++++++++++------ src/GEOM_SWIG/geompyDC.py | 3 ++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/GEOM/GEOM_IOperations.hxx b/src/GEOM/GEOM_IOperations.hxx index 2544b1e1a..67781992d 100644 --- a/src/GEOM/GEOM_IOperations.hxx +++ b/src/GEOM/GEOM_IOperations.hxx @@ -29,6 +29,7 @@ #define OK "PAL_NO_ERROR" #define KO "PAL_NOT_DONE_ERROR" +#define NOT_FOUND_ANY "NOT_FOUND_ANY" #define ALREADY_PRESENT "PAL_ELEMENT_ALREADY_PRESENT" #define NOT_EXISTS "PAL_ELEMENT_DOES_NOT_EXISTS" #define INVALID_TYPE "INVALID_TYPE_OF_ELEMENT" diff --git a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx index 0eb5716c5..a9c54b647 100644 --- a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx @@ -780,7 +780,8 @@ Handle(TColStd_HSequenceOfTransient) GEOMImpl_IShapesOperations::MakeExplode } if (listShape.IsEmpty()) { - SetErrorCode("The given shape has no sub-shapes of the requested type"); + //SetErrorCode("The given shape has no sub-shapes of the requested type"); + SetErrorCode(NOT_FOUND_ANY); // NPAL18017 return aSeq; } @@ -825,7 +826,7 @@ Handle(TColStd_HSequenceOfTransient) GEOMImpl_IShapesOperations::MakeExplode //============================================================================= /*! - * GetSubShapeAllIDs + * SubShapeAllIDs */ //============================================================================= Handle(TColStd_HSequenceOfInteger) GEOMImpl_IShapesOperations::SubShapeAllIDs @@ -864,7 +865,8 @@ Handle(TColStd_HSequenceOfInteger) GEOMImpl_IShapesOperations::SubShapeAllIDs } if (listShape.IsEmpty()) { - SetErrorCode("The given shape has no sub-shapes of the requested type"); + //SetErrorCode("The given shape has no sub-shapes of the requested type"); + SetErrorCode(NOT_FOUND_ANY); // NPAL18017 return aSeq; } @@ -1480,7 +1482,8 @@ Handle(TColStd_HSequenceOfInteger) const TopTools_ListOfShape& listSS = aFinder.Shapes(); // the result if (listSS.Extent() < 1) { - SetErrorCode("Not a single sub-shape of the requested type found on the given surface"); + //SetErrorCode("Not a single sub-shape of the requested type found on the given surface"); + SetErrorCode(NOT_FOUND_ANY); // NPAL18017 return aSeqOfIDs; } @@ -1654,7 +1657,8 @@ Handle(TColStd_HSequenceOfInteger) const TopTools_ListOfShape& listSS = aFinder.Shapes(); // the result if (listSS.Extent() < 1) { - SetErrorCode("Not a single sub-shape of the requested type found on the given surface"); + //SetErrorCode("Not a single sub-shape of the requested type found on the given surface"); + SetErrorCode(NOT_FOUND_ANY); // NPAL18017 return aSeqOfIDs; } @@ -2281,7 +2285,8 @@ Handle(TColStd_HSequenceOfInteger) const TopTools_ListOfShape& listSS = aFinder.Shapes(); // the result if (listSS.Extent() < 1) { - SetErrorCode("Not a single sub-shape of the requested type found on the given surface"); + //SetErrorCode("Not a single sub-shape of the requested type found on the given surface"); + SetErrorCode(NOT_FOUND_ANY); // NPAL18017 return aSeqOfIDs; } diff --git a/src/GEOM_SWIG/geompyDC.py b/src/GEOM_SWIG/geompyDC.py index 4114786cf..d5704858f 100644 --- a/src/GEOM_SWIG/geompyDC.py +++ b/src/GEOM_SWIG/geompyDC.py @@ -46,7 +46,8 @@ ShapeType = {"COMPOUND":0, "COMPSOLID":1, "SOLID":2, "SHELL":3, "FACE":4, "WIRE" # Raise an Error Function if Operation is Failed # ----------------------------------------------------------------------------- def RaiseIfFailed (Method_name, Operation): - if Operation.IsDone() == 0: + #NPAL18017#if Operation.IsDone() == 0: + if operation.IsDone() == 0 and operation.GetErrorCode() != "NOT_FOUND_ANY": raise RuntimeError, Method_name + " : " + Operation.GetErrorCode() # ----------------------------------------------------------------------------- -- 2.39.2