Salome HOME
debug
[modules/smesh.git] / src / Tools / blocFissure / gmu / prolongeVertices.py
1 # -*- coding: utf-8 -*-
2
3 import logging
4 from geomsmesh import geompy
5
6 # -----------------------------------------------------------------------------
7 # --- prolongation des segments extremité des polylines, pour la découpe
8
9 def prolongeVertices(vertices):
10   """
11   Prolongation des segments extremité d'une polyline définie par un vecteur de points.
12   Chaque nouvelle extremité est obtenue par symétrie point du voisin de cette ancienne extrémité
13   (symétrie de centre l'ancienne extrémite) : les segments extremes sont doublés.
14   @param vertices : liste ordonnée des points (geomObject) de la polyline
15   @return vertices : liste avec les deux extremités modifiées
16   """
17   logging.info("start")
18   if len(vertices) < 2:
19     return vertices
20   v0 = vertices[0]
21   v1 = vertices[1]
22   m0 = geompy.MakeMirrorByPoint(v1, v0)
23   ve = vertices[-1]
24   vd = vertices[-2]
25   m1 = geompy.MakeMirrorByPoint(vd, ve)
26   vertices[0] = m0
27   vertices[-1] = m1
28   return vertices