void InitOnPrecomputedLgData() { lgNodeHierarchy = RectangleNode <LgNodeInfo> .CreateRectangleNodeOnEnumeration( lgData.GeometryNodesToLgNodeInfos.Values.Where(n => !(n.GeometryNode is Cluster)).Select( lginfo => new RectangleNode <LgNodeInfo>(lginfo, lginfo.BoundingBox))); railGraph = new RailGraph(); }
/// <summary> /// does the initialization /// </summary> public void Initialize() { if (_initFromPrecomputedLgData) { InitOnPrecomputedLgData(); return; } #if DEBUG && TEST_MSAGL mainGeometryGraph.SetDebugIds(); #endif CreateConnectedComponentsAndLayoutTheWholeGraph(); #if (!SILVERLIGHT && !SHARPKIT) Timer timer = new Timer(); timer.Start(); #endif LevelCalculator.SetNodeZoomLevelsAndRouteEdgesOnLevels(lgData, mainGeometryGraph, lgLayoutSettings); TestZoomLevels(); // CalculateEdgeZoomLevels(); // Console.WriteLine("nodes {0} edges {1}", MainGeometryGraph.Nodes.Count(), MainGeometryGraph.Edges.Count()); lgNodeHierarchy = RectangleNode <LgNodeInfo> .CreateRectangleNodeOnEnumeration( lgData.GeometryNodesToLgNodeInfos.Values.Where(n => !(n.GeometryNode is Cluster)).Select( lginfo => new RectangleNode <LgNodeInfo>(lginfo, lginfo.BoundingBox))); railGraph = new RailGraph(); #if (!SILVERLIGHT && !SHARPKIT) timer.Stop(); Console.WriteLine("levels calculated for {0}", timer.Duration); if (lgLayoutSettings.ExitAfterInit) { Environment.Exit(0); } #endif }
void RemoveNoLongerVisibleRails(RailGraph oGraph) { var railsToRemove = new List<Rail>(); foreach (var rail in _visibleRailsToFrameworkElems.Keys) if (!oGraph.Rails.Contains(rail)) railsToRemove.Add(rail); RemoveRustyRails(railsToRemove); }
void CreateOrInvalidateFrameworksElementForVisibleRails(RailGraph railGraph) { foreach (var rail in railGraph.Rails) CreateOrInvalidateFrameworksElementForVisibleRailWithoutChangingGeometry(rail); }