X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fgmu%2FprolongeVertices.py;fp=src%2FTools%2FblocFissure%2Fgmu%2FprolongeVertices.py;h=e6e6f038acc4425f9410ee8fceb50a20dae771ab;hb=072a73120b6db7bba2389aa7ada0cde20e22ee57;hp=0000000000000000000000000000000000000000;hpb=2cd148d0668de3bfbeeceeb7df1995bb5b39475b;p=modules%2Fsmesh.git diff --git a/src/Tools/blocFissure/gmu/prolongeVertices.py b/src/Tools/blocFissure/gmu/prolongeVertices.py new file mode 100644 index 000000000..e6e6f038a --- /dev/null +++ b/src/Tools/blocFissure/gmu/prolongeVertices.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- + +import logging +from geomsmesh import geompy + +# ----------------------------------------------------------------------------- +# --- prolongation des segments extremité des polylines, pour la découpe + +def prolongeVertices(vertices): + """ + Prolongation des segments extremité d'une polyline définie par un vecteur de points. + Chaque nouvelle extremité est obtenue par symétrie point du voisin de cette ancienne extrémité + (symétrie de centre l'ancienne extrémite) : les segments extremes sont doublés. + @param vertices : liste ordonnée des points (geomObject) de la polyline + @return vertices : liste avec les deux extremités modifiées + """ + logging.info("start") + if len(vertices) < 2: + return vertices + v0 = vertices[0] + v1 = vertices[1] + m0 = geompy.MakeMirrorByPoint(v1, v0) + ve = vertices[-1] + vd = vertices[-2] + m1 = geompy.MakeMirrorByPoint(vd, ve) + vertices[0] = m0 + vertices[-1] = m1 + return vertices