Salome HOME
Copyright update 2022
[modules/smesh.git] / src / Tools / blocFissure / gmu / extractionOrientee.py
index 2ea9e52f952cf2160f7f74fb2d749071205b45a7..e7afb640cb1c6bbfc75a689600a9fe9db9c9cc42 100644 (file)
@@ -1,12 +1,30 @@
 # -*- coding: utf-8 -*-
+# Copyright (C) 2014-2022  EDF R&D
+#
+# 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
+#
+"""Renvoie l'extraction des shapes d'un objet selon leur position par rapport à la face"""
 
 import logging
-from geomsmesh import geompy
 
-from whichSide import whichSide
+from .geomsmesh import geompy
 
-# -----------------------------------------------------------------------------
-# --- renvoie l'extraction des shapes d'un objet selon leur position par rapport à la face.
+from .whichSide import whichSide
+from .extractionOrientee_a import extractionOrientee_a
 
 def extractionOrientee(face, obj, ref, shapeType, tol, prefix=""):
   """
@@ -16,36 +34,22 @@ def extractionOrientee(face, obj, ref, shapeType, tol, prefix=""):
   """
   logging.info('start')
   trace = True
-  sideRef = whichSide(face, ref)
-  logging.debug("ref side %s", sideRef)
-  shapesInside = []
-  shapesOutside = []
-  shapesOnside = []
+  side_ref = whichSide(face, ref)
+  logging.debug("ref side %s", side_ref)
+  shapesInside = list()
+  shapesOutside = list()
+  shapesOnside = list()
   shapes = geompy.ExtractShapes(obj, geompy.ShapeType[shapeType], False)
-  i=0
-  j=0
-  k=0
+
+  i_aux = 0
+  j_aux = 0
+  k_aux = 0
   prefix = prefix + shapeType
   for shape in shapes:
     side = whichSide(face, shape, tol)
-    if side == sideRef:
-      shapesInside.append(shape)
-      if trace:
-        name = prefix + "_Inside%d"%i
-        geompy.addToStudyInFather(obj, shape, name)
-      i+=1
-    elif side == -sideRef:
-      shapesOutside.append(shape)
-      if trace:
-        name = prefix + "_Outside%d"%j
-        geompy.addToStudyInFather(obj, shape, name)
-      j+=1
-    elif side == 0:
-      shapesOnside.append(shape)
-      if trace:
-        name = prefix + "_Onside%d"%k
-        geompy.addToStudyInFather(obj, shape, name)
-      k+=1
-    logging.debug("--- shape was %s", name)
-  return [shapesInside, shapesOutside, shapesOnside]
+    i_aux, j_aux, k_aux = extractionOrientee_a(obj, shape, side, side_ref, \
+                                               shapesInside, shapesOutside, shapesOnside, \
+                                               i_aux, j_aux, k_aux, \
+                                               trace, prefix)
 
+  return [shapesInside, shapesOutside, shapesOnside]