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())]); } } }