Salome HOME
Merge branch 'V8_3_BR' into ngr/python3_dev
[modules/smesh.git] / src / Tools / blocFissure / gmu / sortGeneratrices.py
1 # -*- coding: utf-8 -*-
2
3 import logging
4 from .geomsmesh import geompy
5 from .geomsmesh import geomPublish
6 from .geomsmesh import geomPublishInFather
7 from . import initLog
8
9 # -----------------------------------------------------------------------------
10 # --- tri par longueur des 3 generatrices
11
12 def sortGeneratrices(tore, geners):
13   """
14   tri des 3 edges 'génératrices' selon leur longueur.
15   @param tore
16   @param les edges 'generatrices'
17   @return (genext, genint, gencnt) les 3 edges, de la plus grande à la plus petite
18   """
19   logging.info("start")
20
21   genx = geompy.ExtractShapes(geners[0], geompy.ShapeType["EDGE"], True)
22
23   lenx = []
24   for i in range(len(genx)):
25     props = geompy.BasicProperties(genx[i])
26     lenx.append(props[0])
27     pass
28   minlen = min(lenx)
29   maxlen = max(lenx)
30   genext=None
31   gencnt=None
32   genint=None
33   for i in range(len(genx)):
34     if lenx[i] == minlen:
35       genint = genx[i]
36     elif lenx[i] == maxlen:
37       genext = genx[i]
38     else:
39       gencnt= genx[i]
40     pass
41
42   geomPublishInFather(initLog.debug, tore, genext, 'genext' )
43   geomPublishInFather(initLog.debug, tore, genint, 'genint' )
44   geomPublishInFather(initLog.debug, tore, gencnt, 'gencnt' )
45
46   return genext, genint, gencnt