--- /dev/null
+# -*- coding: utf-8 -*-
+
+import logging
+from geomsmesh import geompy
+
+# -----------------------------------------------------------------------------
+# --- prolongation d'un wire par deux segments tangents
+
+def prolongeWire(aWire, extrem, norms, long):
+ """
+ """
+ logging.info("start")
+ if geompy.NumberOfEdges(aWire) > 1:
+ edges = geompy.ExtractShapes(aWire, geompy.ShapeType["EDGE"])
+ else:
+ edges = [aWire]
+ for i, v1 in enumerate(extrem):
+ exts = [geompy.MakeTranslationVectorDistance(v1, norms[i], l) for l in (-long, long)]
+ dists = [(geompy.MinDistance(v, aWire), i , v) for i, v in enumerate(exts)]
+ dists.sort()
+ v2 = dists[-1][-1]
+ #v2 = geompy.MakeTranslationVectorDistance(v1, norms[i], long)
+ edge = geompy.MakeEdge(v1, v2)
+ edges.append(edge)
+ name = "extrem%d"%i
+ #geompy.addToStudy(edge,name)
+ wireProlonge = geompy.MakeWire(edges)
+ geompy.addToStudy(wireProlonge, "wireProlonge")
+ return wireProlonge