Esempio n. 1
0
        /// <summary>
        /// 重み付き辺のリストを静的に指定します。
        /// </summary>
        /// <param name="edges">辺のリスト。</param>
        /// <param name="directed">有向グラフかどうかを示す値。</param>
        /// <returns>アルゴリズムを実行するためのオブジェクト。</returns>
        public WeightedListMapSpp <TVertex> ForWeightedMap(Edge <TVertex>[] edges, bool directed)
        {
            var map = CreateListMap <Edge <TVertex> >();

            GraphConvert.WeightedEdgesToMap(map, edges, directed);
            return(new WeightedListMapSpp <TVertex>(this, map));
        }
Esempio n. 2
0
        public IActionResult LineGen(YenInputViewmodel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    GraphConvert   r      = new GraphConvert();
                    LineGeneration lg     = new LineGeneration();
                    var            graph  = r.ReadGraphFromString(model.CsvString, model.MirrorArcs);
                    var            paths  = lg.GenerateLines(model.MinimumLength, model.MaximumLength, graph);
                    string         result = r.WriteText(paths);

                    YenInputViewmodel vmResult = new YenInputViewmodel()
                    {
                        MinimumLength = model.MinimumLength,
                        MaximumLength = model.MaximumLength,
                        CsvString     = result
                    };

                    var          stream = new MemoryStream();
                    StreamWriter w      = new StreamWriter(stream);
                    w.Write(vmResult.CsvString);
                    w.Flush();
                    stream.Position = 0;
                    return(File(stream, "text/comma-separated-values", "Lineplanning.csv"));
                }
                catch (Exception ex)
                {
                    ViewBag.ExceptionMessage = ex.Message;
                    return(View("Failed"));
                }
            }
            else
            {
                return(View(model));
            }
        }
Esempio n. 3
0
 public void AddEdges(int[][] edges, bool directed)
 {
     GraphConvert.UnweightedEdgesToMap(map, edges, directed);
 }
Esempio n. 4
0
 public void AddEdges(Edge[] edges, bool directed)
 {
     GraphConvert.WeightedEdgesToMap(map, edges, directed);
 }