Beispiel #1
0
        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();
        }
Beispiel #2
0
        /// <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);
 }