public static void WriteTestOutputGraphs(List <DGraph2> graphs, string sFilename, SVGWriter.Style lineStyle, SVGWriter.Style vtxStyle, double vtxRadius = 2.5) { Vector2d a = Vector2d.Zero, b = Vector2d.Zero; SVGWriter svg = new SVGWriter(); foreach (DGraph2 graph in graphs) { foreach (int eid in graph.EdgeIndices()) { graph.GetEdgeV(eid, ref a, ref b); svg.AddLine(new Segment2d(a, b), lineStyle); } } if (vtxRadius > 0) { foreach (DGraph2 graph in graphs) { foreach (int vid in graph.VertexIndices()) { a = graph.GetVertex(vid); svg.AddCircle(new Circle2d(a, vtxRadius), vtxStyle); } } } svg.Write(Program.TEST_OUTPUT_PATH + sFilename); }
private static void Window_KeyReleaseEvent(object sender, KeyReleaseEventArgs args) { if (args.Event.Key == Gdk.Key.Up) { if ((args.Event.State & Gdk.ModifierType.ShiftMask) != 0) { View.CurrentLayer = View.CurrentLayer + 10; } else { View.CurrentLayer = View.CurrentLayer + 1; } } else if (args.Event.Key == Gdk.Key.Down) { if ((args.Event.State & Gdk.ModifierType.ShiftMask) != 0) { View.CurrentLayer = View.CurrentLayer - 10; } else { View.CurrentLayer = View.CurrentLayer - 1; } } else if (args.Event.Key == Gdk.Key.n) { if (View.NumberMode == SliceViewCanvas.NumberModes.NoNumbers) { View.NumberMode = SliceViewCanvas.NumberModes.PathNumbers; } else { View.NumberMode = SliceViewCanvas.NumberModes.NoNumbers; } View.QueueDraw(); } else if (args.Event.Key == Gdk.Key.f) { View.ShowFillArea = !View.ShowFillArea; View.QueueDraw(); } else if (args.Event.Key == Gdk.Key.t) { View.ShowTravels = !View.ShowTravels; View.QueueDraw(); } else if (args.Event.Key == Gdk.Key.e) { View.ShowDepositMoves = !View.ShowDepositMoves; View.QueueDraw(); } else if (args.Event.Key == Gdk.Key.p) { View.ShowAllPathPoints = !View.ShowAllPathPoints; View.QueueDraw(); } else if (args.Event.Key == Gdk.Key.b) { View.ShowBelowLayer = !View.ShowBelowLayer; View.QueueDraw(); } else if (args.Event.Key == Gdk.Key.i) { View.ShowIssues = !View.ShowIssues; View.QueueDraw(); } else if (args.Event.Key == Gdk.Key.q) { //SliceViewerTests.TestDGraph2(); //SliceViewerTests.TestFill(); //SliceViewerTests.TestOffset(); if (SliceViewerTests.Active == null) { SliceViewerTests.TestOffsetAnimation(); } else { SliceViewerTests.UpdateOffsetAnimation(); } } else if (args.Event.Key == Gdk.Key.E) { List <PolyLine2d> paths = View.GetPolylinesForLayer(View.CurrentLayer); SVGWriter writer = new SVGWriter(); SVGWriter.Style lineStyle = SVGWriter.Style.Outline("black", 0.2f); foreach (var p in paths) { writer.AddPolyline(p, lineStyle); } writer.Write("c:\\scratch\\__LAST_PATHS.svg"); } }