mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 08:50:35 +05:00
Fix for the issue #19226 : ViscousLayers2D can't be created on a group from SHAPERSTUDY in python
This commit is contained in:
parent
b9ebe1deb0
commit
cc893fddd4
@ -340,9 +340,17 @@ class Mesh_Algorithm:
|
|||||||
if faces and isinstance( faces[0], geomBuilder.GEOM._objref_GEOM_Object ):
|
if faces and isinstance( faces[0], geomBuilder.GEOM._objref_GEOM_Object ):
|
||||||
faceIDs = []
|
faceIDs = []
|
||||||
for shape in faces:
|
for shape in faces:
|
||||||
|
try:
|
||||||
ff = self.mesh.geompyD.SubShapeAll( shape, self.mesh.geompyD.ShapeType["FACE"] )
|
ff = self.mesh.geompyD.SubShapeAll( shape, self.mesh.geompyD.ShapeType["FACE"] )
|
||||||
for f in ff:
|
for f in ff:
|
||||||
faceIDs.append( self.mesh.geompyD.GetSubShapeID(self.mesh.geom, f))
|
faceIDs.append( self.mesh.geompyD.GetSubShapeID(self.mesh.geom, f))
|
||||||
|
except:
|
||||||
|
# try to get the SHAPERSTUDY engine directly, because GetGen does not work because of
|
||||||
|
# simplification of access in geomBuilder: omniORB.registerObjref
|
||||||
|
from SHAPERSTUDY_utils import getEngine
|
||||||
|
gen = getEngine()
|
||||||
|
if gen:
|
||||||
|
faceIDs = gen.GetIShapesOperations().GetAllSubShapesIDs(shape, self.mesh.geompyD.ShapeType["FACE"], False)
|
||||||
faces = faceIDs
|
faces = faceIDs
|
||||||
hyp = self.Hypothesis("ViscousLayers",
|
hyp = self.Hypothesis("ViscousLayers",
|
||||||
[thickness, numberOfLayers, stretchFactor, faces, isFacesToIgnore],
|
[thickness, numberOfLayers, stretchFactor, faces, isFacesToIgnore],
|
||||||
@ -392,9 +400,17 @@ class Mesh_Algorithm:
|
|||||||
if edges and isinstance( edges[0], geomBuilder.GEOM._objref_GEOM_Object ):
|
if edges and isinstance( edges[0], geomBuilder.GEOM._objref_GEOM_Object ):
|
||||||
edgeIDs = []
|
edgeIDs = []
|
||||||
for shape in edges:
|
for shape in edges:
|
||||||
|
try:
|
||||||
ee = self.mesh.geompyD.SubShapeAll( shape, self.mesh.geompyD.ShapeType["EDGE"])
|
ee = self.mesh.geompyD.SubShapeAll( shape, self.mesh.geompyD.ShapeType["EDGE"])
|
||||||
for e in ee:
|
for e in ee:
|
||||||
edgeIDs.append( self.mesh.geompyD.GetSubShapeID( self.mesh.geom, e ))
|
edgeIDs.append( self.mesh.geompyD.GetSubShapeID( self.mesh.geom, e ))
|
||||||
|
except:
|
||||||
|
# try to get the SHAPERSTUDY engine directly, because GetGen does not work because of
|
||||||
|
# simplification of access in geomBuilder: omniORB.registerObjref
|
||||||
|
from SHAPERSTUDY_utils import getEngine
|
||||||
|
gen = getEngine()
|
||||||
|
if gen:
|
||||||
|
edgeIDs = gen.GetIShapesOperations().GetAllSubShapesIDs(shape, self.mesh.geompyD.ShapeType["EDGE"], False)
|
||||||
edges = edgeIDs
|
edges = edgeIDs
|
||||||
hyp = self.Hypothesis("ViscousLayers2D",
|
hyp = self.Hypothesis("ViscousLayers2D",
|
||||||
[thickness, numberOfLayers, stretchFactor, edges, isEdgesToIgnore],
|
[thickness, numberOfLayers, stretchFactor, edges, isEdgesToIgnore],
|
||||||
|
Loading…
Reference in New Issue
Block a user