From e1c960b46a013496c9142593a9baae56b257e91c Mon Sep 17 00:00:00 2001 From: jfa <jfa@opencascade.com> Date: Fri, 19 Feb 2010 12:16:11 +0000 Subject: [PATCH] Mantis issue 0020685: GetShapesOnShape: correct argument theCheckShape description. --- doc/salome/gui/GEOM/input/shapesonshape.doc | 8 ++++++-- idl/GEOM_Gen.idl | 6 +++--- src/GEOMGUI/GEOM_msg_en.ts | 2 +- src/GEOMImpl/GEOMImpl_IShapesOperations.cxx | 17 +++++++++++++---- src/GEOM_SWIG/geompyDC.py | 2 +- 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/doc/salome/gui/GEOM/input/shapesonshape.doc b/doc/salome/gui/GEOM/input/shapesonshape.doc index b0caaa396..114553c69 100755 --- a/doc/salome/gui/GEOM/input/shapesonshape.doc +++ b/doc/salome/gui/GEOM/input/shapesonshape.doc @@ -2,7 +2,10 @@ \page shapesonshape_page Get Shapes on Shape -This operation is a special case of <b>Explode</b> operation. It produces a group of sub-shapes of the exploded shape, which are located in a definite way relatively another reference shape. +This operation is a special case of <b>Explode</b> operation. It +produces a group of sub-shapes of the exploded shape, which are +located in a definite way relatively another reference shape. The +reference shape should be a solid. To use this operation, select in the Main Menu <b>Operations -> Get Shapes on Shape.</b> The following dialog box will appear. @@ -11,7 +14,8 @@ To use this operation, select in the Main Menu <b>Operations -> Get Shapes on Sh <ul> <li> <b>Name</b> is the name of the resulting group of shapes; </li> <li> <b>Shape for exploding</b> is the shape that will be exploded; </li> -<li> <b>Shape for checking</b> is the reference shape; </li> +<li> <b>Solid for checking</b> is the reference shape, which should be +a solid; </li> <li> <b>Reconstruction Limit</b> is the type of created sub-shapes: solid, shell, face, wire, edge, vertex; </li> <li> <b>State</b> is the position of the created sub-shapes relatively the reference shapes: diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl index 62a229e4a..158aa220e 100644 --- a/idl/GEOM_Gen.idl +++ b/idl/GEOM_Gen.idl @@ -1719,7 +1719,7 @@ module GEOM /*! * \brief Find subshapes complying with given status - * \param theCheckShape - the shape to check state of subshapes against + * \param theCheckShape - the shape to check state of subshapes against. It must be a solid. * \param theShape - the shape to explore * \param theShapeType - type of subshape of theShape * \param theState - required state @@ -1732,7 +1732,7 @@ module GEOM /*! * \brief Find subshapes complying with given status - * \param theCheckShape - the shape to check state of subshapes against + * \param theCheckShape - the shape to check state of subshapes against. It must be a solid. * \param theShape - the shape to explore * \param theShapeType - type of subshape of theShape * \param theState - required state @@ -1745,7 +1745,7 @@ module GEOM /*! * \brief Find subshapes complying with given status - * \param theCheckShape - the shape to check state of subshapes against + * \param theCheckShape - the shape to check state of subshapes against. It must be a solid. * \param theShape - the shape to explore * \param theShapeType - type of subshape of theShape * \param theState - required state diff --git a/src/GEOMGUI/GEOM_msg_en.ts b/src/GEOMGUI/GEOM_msg_en.ts index 91ead8895..e1d1debce 100644 --- a/src/GEOMGUI/GEOM_msg_en.ts +++ b/src/GEOMGUI/GEOM_msg_en.ts @@ -3745,7 +3745,7 @@ Please, select face, shell or solid and try again</translation> </message> <message> <source>GEOM_SHAPES_ON_SHAPE_CSHAPE</source> - <translation>Shape for checking</translation> + <translation>Solid for checking</translation> </message> <message> <source>GEOM_SHAPES_ON_SHAPE_STATE</source> diff --git a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx index 7e247e126..d180b5e94 100644 --- a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx @@ -1738,10 +1738,15 @@ Handle(TColStd_HSequenceOfInteger) Standard_Integer iErr = aFinder.ErrorStatus(); // the detailed description of error codes is in GEOMAlgo_FinderShapeOn1.cxx if (iErr) { - MESSAGE(" iErr : " << iErr); - TCollection_AsciiString aMsg (" iErr : "); - aMsg += TCollection_AsciiString(iErr); - SetErrorCode(aMsg); + if (iErr == 41) { + SetErrorCode("theCheckShape must be a solid"); + } + else { + MESSAGE(" iErr : " << iErr); + TCollection_AsciiString aMsg (" iErr : "); + aMsg += TCollection_AsciiString(iErr); + SetErrorCode(aMsg); + } return aSeqOfIDs; } Standard_Integer iWrn = aFinder.WarningStatus(); @@ -3177,6 +3182,10 @@ Handle(GEOM_Object) GEOMImpl_IShapesOperations::GetInPlace (Handle(GEOM_Object) if (Tol_2D < Precision::Confusion()) Tol_2D = Precision::Confusion(); if (Tol_3D < Precision::Confusion()) Tol_3D = Precision::Confusion(); + //if (Tol_1D > 1.0) Tol_1D = 1.0; + //if (Tol_2D > 1.0) Tol_2D = 1.0; + //if (Tol_3D > 1.0) Tol_3D = 1.0; + Tol_Mass = Tol_3D; if ( iType == TopAbs_EDGE ) Tol_Mass = Tol_1D; else if ( iType == TopAbs_FACE ) Tol_Mass = Tol_2D; diff --git a/src/GEOM_SWIG/geompyDC.py b/src/GEOM_SWIG/geompyDC.py index d118084b9..2375d54c3 100644 --- a/src/GEOM_SWIG/geompyDC.py +++ b/src/GEOM_SWIG/geompyDC.py @@ -1891,7 +1891,7 @@ class geompyDC(GEOM._objref_GEOM_Gen): ## Find in \a theShape all sub-shapes of type \a theShapeType, # situated relatively the specified \a theCheckShape by the # certain way, defined through \a theState parameter. - # @param theCheckShape Shape for relative comparing. + # @param theCheckShape Shape for relative comparing. It must be a solid. # @param theShape Shape to find sub-shapes of. # @param theShapeType Type of sub-shapes to be retrieved. # @param theState The state of the subshapes to find. It can be one of