]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
[EDF31315] : Fix mix of cell types including polyhedra. master
authorAnthony Geay <anthony.geay@edf.fr>
Fri, 15 Nov 2024 11:58:22 +0000 (12:58 +0100)
committerAnthony Geay <anthony.geay@edf.fr>
Fri, 15 Nov 2024 11:58:22 +0000 (12:58 +0100)
src/MEDCoupling_Swig/vtk2medcoupling.py

index 022e301055ee89f4625f267cf0c16709c42326b3..65debb1928a0acc9df054a9a43d93348e0b8e5f1 100644 (file)
@@ -34,7 +34,8 @@ def patchForPolyedra(polyhedCellIds, ug, mesh):
     :param in-out mesh: mc.MEDCouplingUMesh. 3D Mesh whose polyedra cells connectivity will be modified
     """
     facesLoc = mc.DataArrayInt( numpy_support.vtk_to_numpy( ug.GetFaceLocations() ) )
     :param in-out mesh: mc.MEDCouplingUMesh. 3D Mesh whose polyedra cells connectivity will be modified
     """
     facesLoc = mc.DataArrayInt( numpy_support.vtk_to_numpy( ug.GetFaceLocations() ) )
-    faces = mc.DataArrayInt( numpy_support.vtk_to_numpy( ug.GetFaces() ) ) 
+    faces = mc.DataArrayInt( numpy_support.vtk_to_numpy( ug.GetFaces() ) )
+    facesLoc = facesLoc[ polyhedCellIds ]
     facesLoc = mc.DataArrayInt.Aggregate( [ facesLoc, mc.DataArrayInt([ len(faces) ]) ] )
     connForPoly, facesLoc = mc.DataArrayInt.FromVTKInternalReprOfPolyedra(faces,facesLoc)
     meshPoly = mc.MEDCoupling1DGTUMesh(mesh.getName(),mc.NORM_POLYHED) ; meshPoly.setCoords( mesh.getCoords() ) ; meshPoly.setNodalConnectivity(connForPoly,facesLoc)
     facesLoc = mc.DataArrayInt.Aggregate( [ facesLoc, mc.DataArrayInt([ len(faces) ]) ] )
     connForPoly, facesLoc = mc.DataArrayInt.FromVTKInternalReprOfPolyedra(faces,facesLoc)
     meshPoly = mc.MEDCoupling1DGTUMesh(mesh.getName(),mc.NORM_POLYHED) ; meshPoly.setCoords( mesh.getCoords() ) ; meshPoly.setNodalConnectivity(connForPoly,facesLoc)