Salome HOME
[bos #40653][CEA] New mesh import export formats with meshio.
[modules/smesh.git] / src / Tools / blocFissure / gmu / substractSubShapes.py
index 7abb8b564a0775e3e6464cc0513ca8e164bafd5d..71df5ad60afe5f297fedb478a603146c7703e766 100644 (file)
@@ -1,23 +1,41 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2014-2024  EDF
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+"""Substract a list of subShapes from another"""
 
 import logging
-from .geomsmesh import geompy
 
-# -----------------------------------------------------------------------------
-# --- substract a list of subShapes from another
+from .geomsmesh import geompy
 
 def substractSubShapes(obj, subs, toRemove):
-  """
-  liste de subshapes par difference
-  """
+  """liste de subshapes par difference"""
   logging.info("start")
-  idToremove = {}
-  subList = []
-  for s in toRemove:
-    idToremove[geompy.GetSubShapeID(obj, s)] = s
-  for s in subs:
-    idsub = geompy.GetSubShapeID(obj, s)
-    if idsub not in list(idToremove.keys()):
-      subList.append(s)
+  idToremove = dict()
+  for shape in toRemove:
+    idToremove[geompy.GetSubShapeID(obj, shape)] = shape
+
+  subList = list()
+  for shape in subs:
+    idsub = geompy.GetSubShapeID(obj, shape)
+    if ( idsub not in idToremove ):
+      subList.append(shape)
+
   logging.debug("subList=%s", subList)
+
   return subList