Ejemplo n.º 1
0
        void dfs_FinishVertex(object sender, VertexEventArgs e)
        {
            TypeVertex v = (TypeVertex)e.Vertex;

            List <TypeVertex> pes = PendingEdges.Pop();

            foreach (TypeVertex target in pes)
            {
                IVertex srcv    = VertexReassignmentMap[v];
                IVertex targetv = VertexReassignmentMap[target];
                if (srcv != targetv && !destcg.ContainsEdge(srcv, targetv))
                {
                    destcg.AddEdge(srcv, targetv);
                }
            }

            Trace.Unindent();
            Trace.WriteLine("F: " + v.Name);
        }