X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH_SWIG%2Fsmesh_algorithm.py;h=e9867dc4e3d9ba6ebe0c079f8fe6e2a1efff931d;hb=HEAD;hp=8ee3718a3839b43650811b5842125d84af7bfed3;hpb=a18dd5f05c809336926702c6e157386a48966b75;p=modules%2Fsmesh.git diff --git a/src/SMESH_SWIG/smesh_algorithm.py b/src/SMESH_SWIG/smesh_algorithm.py index 8ee3718a3..934b1235c 100644 --- a/src/SMESH_SWIG/smesh_algorithm.py +++ b/src/SMESH_SWIG/smesh_algorithm.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -372,7 +372,7 @@ class Mesh_Algorithm: """ Defines "ViscousLayers2D" hypothesis to give parameters of layers of quadrilateral elements to build near mesh boundary. This hypothesis can be used by several 2D algorithms: - NETGEN 2D, NETGEN 1D-2D, Quadrangle (mapping), MEFISTO, MG-CADSurf + NETGEN 2D, NETGEN 1D-2D, Quadrangle (mapping), MG-CADSurf Parameters: thickness: total thickness of layers of quadrilaterals @@ -440,6 +440,18 @@ class Mesh_Algorithm: for i in reverseList: if isinstance( i, int ): s = geompy.GetSubShape(self.mesh.geom, [i]) + + #bos #20082 begin: + if s is None and type(self.geom) != geomBuilder.GEOM._objref_GEOM_Object: + # try to get the SHAPERSTUDY engine directly, as GetGen does not work because of + # simplification of access in geomBuilder: omniORB.registerObjref + from SHAPERSTUDY_utils import getEngine + gen = getEngine() + if gen: + aShapeOp = gen.GetIShapesOperations() + s = aShapeOp.GetSubShape(self.mesh.geom, i) + #bos #20082 end + if s.GetShapeType() != geomBuilder.GEOM.EDGE: raise TypeError("Not EDGE index given") resList.append( i )