Salome HOME
Merge branch 'OCCT780'
[modules/smesh.git] / src / Tools / blocFissure / gmu / getCentreFondFiss.py
index 4a18ba8fee6601cf8a69a1b87ed954ac8eeba1ab..0125206582dd0ab15497848c751bb7b41ae0f916 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2014-2019  CEA/DEN, EDF R&D
+# 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
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+"""Identification du centre de fond de fissure,"""
 
 import logging
+import bisect
+
+from . import initLog
+
 from .geomsmesh import geompy
 from .geomsmesh import geomPublish
 from .geomsmesh import geomPublishInFather
-from . import initLog
-import bisect
 
 publie = False
 
 def getCentreFondFiss(shapesFissure):
-  """
-  identification du centre de fond de fissure,
+  """Identification du centre de fond de fissure,
+
   transformation fond de fissure en edge unique (seulement pour la procédure construitFissureGenerale).
   On distingue le cas d'utilisation de la procédure insereFissureLongue par le nombre d'éléments de shapesFissure.
   """
   global publie
   logging.debug("start")
-  
+
   fondFiss          = shapesFissure[4] # groupe d'edges de fond de fissure
   if len(shapesFissure) == 6:          # procédure construitFissureGenerale, et edge fond de fissure fournie explicitement
     edgeFondExt     = shapesFissure[5]
   else:
     edgeFondExt     = None
-  
+
   if len(shapesFissure) > 6:           # procédure insereFissureLongue (fissure plane, plusieurs edges sur le fond de fissure)
     centreFondFiss = shapesFissure[1]
     tgtCentre = None
@@ -57,7 +60,7 @@ def getCentreFondFiss(shapesFissure):
       aWire = geompy.MakeWire([fondFiss], 1e-07)
     if not publie:
       geomPublish(initLog.debug, aWire, "wireFondFissExt")
-        
+
     lgWire = geompy.BasicProperties(aWire)[0]
     edges = geompy.ExtractShapes(aWire, geompy.ShapeType["EDGE"], True)
     lgEdges = [geompy.BasicProperties(ed)[0] for ed in edges]
@@ -71,7 +74,7 @@ def getCentreFondFiss(shapesFissure):
     logging.debug("lgsumEdges %s", lgSumEd)
     logging.debug("id edge: %s, lgOnEdge: %s, lgEdge: %s",iedr, lgOnEdge, lgEdges[iedr])
     if iedr > 0: # il y a une edge avant celle du milieu
-      if geompy.MinDistance(edges[iedr-1], geompy.MakeVertexOnCurve(edges[iedr], 0.0 )) < 1.e-3: # edge orientée croissante 
+      if geompy.MinDistance(edges[iedr-1], geompy.MakeVertexOnCurve(edges[iedr], 0.0 )) < 1.e-3: # edge orientée croissante
         centreFondFiss = geompy.MakeVertexOnCurve(edges[iedr], lgOnEdge/lgEdges[iedr])
       else:
         centreFondFiss = geompy.MakeVertexOnCurve(edges[iedr], 1.0 - lgOnEdge/lgEdges[iedr])
@@ -84,7 +87,7 @@ def getCentreFondFiss(shapesFissure):
       centreFondFiss = geompy.MakeVertexOnCurve(edges[iedr], lgOnEdge/lgEdges[iedr])
     geomPublishInFather(initLog.debug,aWire, centreFondFiss, "centreFondFiss")
     tgtCentre = geompy.MakeTangentOnCurve(edges[iedr], lgOnEdge/ lgEdges[iedr])
-    
+
     if edgeFondExt is None: # fond de fissure non fourni explicitement sous forme d'edge
       try:
         edgeFondExt = geompy.MakeEdgeWire(aWire, 0.0005, 1e-07)
@@ -93,6 +96,7 @@ def getCentreFondFiss(shapesFissure):
         edgeFondExt = None
     if not publie and edgeFondExt is not None:
       geomPublish(initLog.debug, edgeFondExt, "edgeFondExt")
-  
+
   publie = True
+
   return edgeFondExt, centreFondFiss, tgtCentre