public void FinishVertex(object sender, VertexEventArgs args)
 {
     if (this.VisitedGraph.OutEdgesEmpty(args.get_Vertex()))
     {
         this.sinks.Add(args.get_Vertex());
     }
 }
 public void FinishVertex(object sender, VertexEventArgs args)
 {
     IDictionaryEnumerator enumerator = this.Predecessors.GetEnumerator();
     while (enumerator.MoveNext())
     {
         DictionaryEntry current = (DictionaryEntry) enumerator.Current;
         IEdge edge = (IEdge) current.Value;
         if (edge.get_Source() == args.get_Vertex())
         {
             return;
         }
     }
     this.EndPathVertices.Add(args.get_Vertex());
 }
 private void FinishVertex(object sender, VertexEventArgs args)
 {
     IVertex vertex = args.get_Vertex();
     IEdgeEnumerator enumerator = this.VisitedGraph.OutEdges(vertex).GetEnumerator();
     while (enumerator.MoveNext())
     {
         IVertex vertex2 = enumerator.get_Current().get_Target();
         if (this.Components.get_Item(vertex2) == 0x7fffffff)
         {
             this.Roots.set_Item(vertex, this.MinDiscoverTime(this.Roots.get_Item(vertex), this.Roots.get_Item(vertex2)));
         }
     }
     if (this.Roots.get_Item(vertex) == vertex)
     {
         IVertex vertex3 = null;
         do
         {
             vertex3 = (IVertex) this.stack.Peek();
             this.stack.Pop();
             this.Components.set_Item(vertex3, this.count);
         }
         while (vertex3 != vertex);
         this.count++;
     }
 }
 private void DiscoverVertex(object sender, VertexEventArgs args)
 {
     IVertex vertex = args.get_Vertex();
     this.Roots.set_Item(vertex, vertex);
     this.Components.set_Item(vertex, 0x7fffffff);
     this.DiscoverTimes.set_Item(vertex, this.dfsTime++);
     this.stack.Push(vertex);
 }
 private void DiscoverVertex(object sender, VertexEventArgs args)
 {
     this.Components.set_Item(args.get_Vertex(), this.count);
 }
 public void FinishVertex(object sender, VertexEventArgs args)
 {
     this.m_FinishTimes.set_Item(args.get_Vertex(), this.m_Time++);
 }
 public void DiscoverVertex(object sender, VertexEventArgs args)
 {
     this.m_DiscoverTimes.set_Item(args.get_Vertex(), this.m_Time++);
 }
 public void RecordVertex(object sender, VertexEventArgs args)
 {
     this.vertices.Add(args.get_Vertex());
 }
 public void StartVertex(object sender, VertexEventArgs e)
 {
     this.graph.AddVertex(e.get_Vertex());
 }
 public void FinishVertex(object sender, VertexEventArgs args)
 {
     this.m_Vertices.Insert(0, args.get_Vertex());
 }
 public void InitializeVertex(object sender, VertexEventArgs args)
 {
     this.Successors.Remove(args.get_Vertex());
 }
 public void ClearTreeVertex(object sender, VertexEventArgs args)
 {
     this.Successors.Remove(args.get_Vertex());
 }
 private void GlobalDistanceUpdateHelper(object sender, VertexEventArgs e)
 {
     if (e.get_Vertex() != this.sink)
     {
         this.current.set_Item(e.get_Vertex(), 0);
         this.maxDistance = Math.Max(this.distances.get_Item(e.get_Vertex()), this.maxDistance);
         if (this.excessFlow.get_Item(e.get_Vertex()) > 0.0)
         {
             this.AddToActiveList(e.get_Vertex(), this.layers[this.distances.get_Item(e.get_Vertex())]);
         }
         else
         {
             this.AddToInactiveList(e.get_Vertex(), this.layers[this.distances.get_Item(e.get_Vertex())]);
         }
     }
 }