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> |