private static void ThreadOnTriangle(Point start, Point end, CdtTriangle t) { var threader = new CdtThreader(t, start, end); while (threader.MoveNext()) { } }
static List <DebugCurve> ThreadOnTriangle(Point start, Point end, CdtTriangle t) { var l = new List <DebugCurve> { new DebugCurve(10, "red", new LineSegment(start, end)) }; AddTriangleToListOfDebugCurves(l, t, 100, 3, "brown"); var threader = new CdtThreader(t, start, end); foreach (var triangle in threader.Triangles()) { AddTriangleToListOfDebugCurves(l, triangle, 100, 3, "black"); // CdtSweeper.ShowFront(trs, null, new ICurve[] { new LineSegment(start, end), new Polyline(triangle.Sites.Select(s => s.Point)) { Closed = true } }, new []{new LineSegment(threader.CurrentPiercedEdge.lowerSite.Point,threader.CurrentPiercedEdge.upperSite.Point) }); } return(l); }