Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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");
     }
 }