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