Class GraphAugmentorAlgorithmBase<TVertex, TEdge, TGraph>
Base class for all graph augmentor algorithms.
Inherited Members
Namespace: QuikGraph.Algorithms.MaximumFlow
Assembly: QuikGraph.dll
Syntax
public abstract class GraphAugmentorAlgorithmBase<TVertex, TEdge, TGraph> : AlgorithmBase<TGraph>, IAlgorithm<TGraph>, IComputation, IAlgorithmComponent, IDisposable where TEdge : IEdge<TVertex> where TGraph : IMutableVertexAndEdgeSet<TVertex, TEdge>
  Type Parameters
| Name | Description | 
|---|---|
| TVertex | Vertex type.  | 
      
| TEdge | Edge type.  | 
      
| TGraph | Graph type.  | 
      
Constructors
| Improve this Doc View SourceGraphAugmentorAlgorithmBase(IAlgorithmComponent, TGraph, VertexFactory<TVertex>, EdgeFactory<TVertex, TEdge>)
Initializes a new instance of the GraphAugmentorAlgorithmBase<TVertex, TEdge, TGraph> class.
Declaration
protected GraphAugmentorAlgorithmBase(IAlgorithmComponent host, TGraph visitedGraph, VertexFactory<TVertex> vertexFactory, EdgeFactory<TVertex, TEdge> edgeFactory)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IAlgorithmComponent | host | Host to use if set, otherwise use this reference.  | 
      
| TGraph | visitedGraph | Graph to visit.  | 
      
| VertexFactory<TVertex> | vertexFactory | Vertex factory method.  | 
      
| EdgeFactory<TVertex, TEdge> | edgeFactory | Edge factory method.  | 
      
Exceptions
| Type | Condition | 
|---|---|
| System.ArgumentNullException | 
  | 
      
| System.ArgumentNullException | 
  | 
      
| System.ArgumentNullException | 
  | 
      
Properties
| Improve this Doc View SourceAugmented
Indicates if the graph has been augmented or not.
Declaration
public bool Augmented { get; }
  Property Value
| Type | Description | 
|---|---|
| System.Boolean | 
AugmentedEdges
Gets the collections of edges added to augment the graph.
Declaration
public TEdge[] AugmentedEdges { get; }
  Property Value
| Type | Description | 
|---|---|
| TEdge[] | 
EdgeFactory
Edge factory method.
Declaration
public EdgeFactory<TVertex, TEdge> EdgeFactory { get; }
  Property Value
| Type | Description | 
|---|---|
| EdgeFactory<TVertex, TEdge> | 
SuperSink
Gets the flow sink vertex.
Declaration
public TVertex SuperSink { get; }
  Property Value
| Type | Description | 
|---|---|
| TVertex | 
SuperSource
Gets the flow source vertex.
Declaration
public TVertex SuperSource { get; }
  Property Value
| Type | Description | 
|---|---|
| TVertex | 
VertexFactory
Vertex factory method.
Declaration
public VertexFactory<TVertex> VertexFactory { get; }
  Property Value
| Type | Description | 
|---|---|
| VertexFactory<TVertex> | 
Methods
| Improve this Doc View SourceAddAugmentedEdge(TVertex, TVertex)
Creates and adds an augmented edge between source and target.
Declaration
protected void AddAugmentedEdge(TVertex source, TVertex target)
  Parameters
| Type | Name | Description | 
|---|---|---|
| TVertex | source | Source vertex.  | 
      
| TVertex | target | Target vertex.  | 
      
AugmentGraph()
Augments the graph.
Declaration
protected abstract void AugmentGraph()
  Dispose()
Declaration
public void Dispose()
  Dispose(Boolean)
Called when the object is disposed or finalized.
Declaration
protected virtual void Dispose(bool disposing)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Boolean | disposing | True if called when disposing, otherwise false.  | 
      
InternalCompute()
Algorithm compute step.
Declaration
protected override void InternalCompute()
  Overrides
Rollback()
Rollbacks the graph augmentation.
Declaration
public virtual void Rollback()
  Events
| Improve this Doc View SourceEdgeAdded
Fired when an edge is added.
Declaration
public event EdgeAction<TVertex, TEdge> EdgeAdded
  Event Type
| Type | Description | 
|---|---|
| EdgeAction<TVertex, TEdge> | 
SuperSinkAdded
Fired when the super sink vertex is added.
Declaration
public event VertexAction<TVertex> SuperSinkAdded
  Event Type
| Type | Description | 
|---|---|
| VertexAction<TVertex> | 
SuperSourceAdded
Fired when the super source vertex is added.
Declaration
public event VertexAction<TVertex> SuperSourceAdded
  Event Type
| Type | Description | 
|---|---|
| VertexAction<TVertex> |