Example #1
0
        private void CalcBundling()
        {
            //perform edge routing
            IExternalEdgeRouting<DataVertex, DataEdge> era = null;
            IEdgeRoutingParameters prms = null;
            switch ((EdgeRoutingAlgorithmTypeEnum)erg_eralgo.SelectedItem)
            {
                case EdgeRoutingAlgorithmTypeEnum.Bundling:
                    prms = erg_BundleEdgeRoutingParameters;
                    era = new BundleEdgeRouting<DataVertex, DataEdge, GraphExample>(erg_Area.ContentSize, erg_Area.LogicCore.Graph as GraphExample, erg_Area.GetVertexPositions(), erg_Area.GetVertexSizeRectangles(), prms);
                    break;
                /*case EdgeRoutingAlgorithmTypeEnum.SimpleER:
                    prms = erg_SimpleERParameters;
                    era = new SimpleEdgeRouting<DataVertex, DataEdge, GraphExample>(graph, VertexPositions, erg_Area.GetVertexSizeRectangles(VertexPositions), prms);
                    break;*/
                case EdgeRoutingAlgorithmTypeEnum.None:
                    break;

            }
            if (era != null)
            {
                era.Compute();
                foreach (var item in erg_Area.LogicCore.Graph.Edges)
                {
                    if (era.EdgeRoutes.ContainsKey(item))
                        item.RoutingPoints = era.EdgeRoutes[item];
                }
            }
        }
Example #2
0
        private void CalcBundling()
        {
            //perform edge routing
            IExternalEdgeRouting <DataVertex, DataEdge> era = null;
            IEdgeRoutingParameters prms = null;

            switch ((EdgeRoutingAlgorithmTypeEnum)erg_eralgo.SelectedItem)
            {
            case EdgeRoutingAlgorithmTypeEnum.Bundling:
                prms = erg_BundleEdgeRoutingParameters;
                era  = new BundleEdgeRouting <DataVertex, DataEdge, GraphExample>(erg_Area.ContentSize, erg_Area.LogicCore.Graph as GraphExample, erg_Area.GetVertexPositions(), erg_Area.GetVertexSizeRectangles(), prms);
                break;

            /*case EdgeRoutingAlgorithmTypeEnum.SimpleER:
             *  prms = erg_SimpleERParameters;
             *  era = new SimpleEdgeRouting<DataVertex, DataEdge, GraphExample>(graph, VertexPositions, erg_Area.GetVertexSizeRectangles(VertexPositions), prms);
             *  break;*/
            case EdgeRoutingAlgorithmTypeEnum.None:
                break;
            }
            if (era != null)
            {
                era.Compute();
                foreach (var item in erg_Area.LogicCore.Graph.Edges)
                {
                    if (era.EdgeRoutes.ContainsKey(item))
                    {
                        item.RoutingPoints = era.EdgeRoutes[item];
                    }
                }
            }
        }