/// <summary> /// displays the database /// </summary> /// <param name="db"></param> /// <param name="curves"></param> static public void ShowDataBase(Database db, params Splines.ICurve[] curves) { Microsoft.Msagl.Drawing.Graph g = new Microsoft.Msagl.Drawing.Graph(""); AllocateDebugCurves(g); Microsoft.Msagl.Splines.Rectangle graphBox = new Microsoft.Msagl.Splines.Rectangle(db.Anchors[0].LeftTop); List <ICurve> cl = new List <ICurve>(curves); foreach (Anchor a in db.Anchors) { graphBox.Add(a.LeftTop); graphBox.Add(a.RightBottom); cl.Add(a.PolygonalBoundary); } AddCurvesToGraph(cl, g); Microsoft.Msagl.Point del = (graphBox.LeftBottom - graphBox.RightTop) / 10; graphBox.Add(graphBox.LeftBottom + del); graphBox.Add(graphBox.RightTop - del); GeometryGraph gg = new GeometryGraph(); gg.BoundingBox = graphBox; g.DataBase = db; g.GeometryGraph = gg; DisplayGraph(g); db.nodesToShow = null; }
private static void ShowCurvesWithColorsSet(IEnumerable <Microsoft.Msagl.Splines.ICurve> curves, Microsoft.Msagl.Drawing.Graph g) { AllocateDebugCurves(g); // g.ShowControlPoints = true; Microsoft.Msagl.Splines.Rectangle graphBox = new Microsoft.Msagl.Splines.Rectangle(); AddCurvesToGraph(curves, g); bool firstTime = true; foreach (Microsoft.Msagl.Splines.ICurve c0 in curves) { if (c0 != null) { Microsoft.Msagl.Splines.Parallelogram b = c0.ParallelogramNodeOverICurve.Parallelogram; for (int i = 0; i < 4; i++) { if (firstTime) { firstTime = false; graphBox = new Rectangle(b.Vertex((VertexId)i)); } graphBox.Add(b.Vertex((VertexId)i)); } } } Microsoft.Msagl.Point del = (graphBox.LeftBottom - graphBox.RightTop) / 10; graphBox.Add(graphBox.LeftBottom + del); graphBox.Add(graphBox.RightTop - del); GeometryGraph gg = new GeometryGraph(); gg.BoundingBox = graphBox; g.GeometryGraph = gg; try { DisplayGraph(g); } catch (Exception e) { Console.WriteLine(e); } }