Пример #1
0
        public void PrintGraph(DrGraph graph)
        {
            using (StreamWriter sw = new StreamWriter(new FileStream("toplogy.txt", FileMode.Create)))
            {
                List <DrStageManager> stages = graph.GetStages();

                foreach (DrStageManager s in stages)
                {
                    List <DrVertex> vertices = s.GetVertexVector();
                    foreach (DrVertex v in vertices)
                    {
                        sw.Write("{0} <= ", v.GetId());

                        DrEdgeHolder eh = v.GetInputs();
                        int          n  = eh.GetNumberOfEdges();

                        if (n == 0)
                        {
                            sw.Write("DSC");
                        }
                        else
                        {
                            for (int i = 0; i < n; i++)
                            {
                                DrVertex vin = eh.GetEdge(i).m_remoteVertex;
                                sw.Write("{0} ", vin.GetId());
                            }
                        }
                        sw.WriteLine();
                    }
                }
            }
        }