Show / Hide Table of Contents

Class GraphAugmentorAlgorithmBase<TVertex, TEdge, TGraph>

Base class for all graph augmentor algorithms.

Inheritance
System.Object
AlgorithmBase<TGraph>
GraphAugmentorAlgorithmBase<TVertex, TEdge, TGraph>
AllVerticesGraphAugmentorAlgorithm<TVertex, TEdge>
MultiSourceSinkGraphAugmentorAlgorithm<TVertex, TEdge>
Implements
IAlgorithm<TGraph>
IComputation
IAlgorithmComponent
System.IDisposable
Inherited Members
AlgorithmBase<TGraph>.SyncRoot
AlgorithmBase<TGraph>.State
AlgorithmBase<TGraph>.Compute()
AlgorithmBase<TGraph>.Abort()
AlgorithmBase<TGraph>.StateChanged
AlgorithmBase<TGraph>.OnStateChanged(EventArgs)
AlgorithmBase<TGraph>.Started
AlgorithmBase<TGraph>.OnStarted(EventArgs)
AlgorithmBase<TGraph>.Finished
AlgorithmBase<TGraph>.OnFinished(EventArgs)
AlgorithmBase<TGraph>.Aborted
AlgorithmBase<TGraph>.OnAborted(EventArgs)
AlgorithmBase<TGraph>.VisitedGraph
AlgorithmBase<TGraph>.Services
AlgorithmBase<TGraph>.GetService<T>()
AlgorithmBase<TGraph>.TryGetService<T>(T)
AlgorithmBase<TGraph>.TryGetService(Type, Object)
AlgorithmBase<TGraph>.ThrowIfCancellationRequested()
AlgorithmBase<TGraph>.Initialize()
AlgorithmBase<TGraph>.Clean()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
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 Source

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

visitedGraph is null.

System.ArgumentNullException

vertexFactory is null.

System.ArgumentNullException

edgeFactory is null.

Properties

| Improve this Doc View Source

Augmented

Indicates if the graph has been augmented or not.

Declaration
public bool Augmented { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

AugmentedEdges

Gets the collections of edges added to augment the graph.

Declaration
public TEdge[] AugmentedEdges { get; }
Property Value
Type Description
TEdge[]
| Improve this Doc View Source

EdgeFactory

Edge factory method.

Declaration
public EdgeFactory<TVertex, TEdge> EdgeFactory { get; }
Property Value
Type Description
EdgeFactory<TVertex, TEdge>
| Improve this Doc View Source

SuperSink

Gets the flow sink vertex.

Declaration
public TVertex SuperSink { get; }
Property Value
Type Description
TVertex
| Improve this Doc View Source

SuperSource

Gets the flow source vertex.

Declaration
public TVertex SuperSource { get; }
Property Value
Type Description
TVertex
| Improve this Doc View Source

VertexFactory

Vertex factory method.

Declaration
public VertexFactory<TVertex> VertexFactory { get; }
Property Value
Type Description
VertexFactory<TVertex>

Methods

| Improve this Doc View Source

AddAugmentedEdge(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.

| Improve this Doc View Source

AugmentGraph()

Augments the graph.

Declaration
protected abstract void AugmentGraph()
| Improve this Doc View Source

Dispose()

Declaration
public void Dispose()
| Improve this Doc View Source

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.

| Improve this Doc View Source

InternalCompute()

Algorithm compute step.

Declaration
protected override void InternalCompute()
Overrides
QuikGraph.Algorithms.AlgorithmBase<TGraph>.InternalCompute()
| Improve this Doc View Source

Rollback()

Rollbacks the graph augmentation.

Declaration
public virtual void Rollback()

Events

| Improve this Doc View Source

EdgeAdded

Fired when an edge is added.

Declaration
public event EdgeAction<TVertex, TEdge> EdgeAdded
Event Type
Type Description
EdgeAction<TVertex, TEdge>
| Improve this Doc View Source

SuperSinkAdded

Fired when the super sink vertex is added.

Declaration
public event VertexAction<TVertex> SuperSinkAdded
Event Type
Type Description
VertexAction<TVertex>
| Improve this Doc View Source

SuperSourceAdded

Fired when the super source vertex is added.

Declaration
public event VertexAction<TVertex> SuperSourceAdded
Event Type
Type Description
VertexAction<TVertex>

Implements

IAlgorithm<TGraph>
IComputation
IAlgorithmComponent
System.IDisposable

Extension Methods

GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, String)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, String, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, XmlWriter)
GraphMLExtensions.SerializeToGraphML<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, XmlReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, TextReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeFromGraphML<TVertex, TEdge, TGraph>(TGraph, String, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
GraphMLExtensions.DeserializeAndValidateFromGraphML<TVertex, TEdge, TGraph>(TGraph, TextReader, IdentifiableVertexFactory<TVertex>, IdentifiableEdgeFactory<TVertex, TEdge>)
SerializationExtensions.SerializeToXml<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>, String, String, String, String)
SerializationExtensions.SerializeToXml<TVertex, TEdge, TGraph>(TGraph, XmlWriter, VertexIdentity<TVertex>, EdgeIdentity<TVertex, TEdge>, String, String, String, String, Action<XmlWriter, TGraph>, Action<XmlWriter, TVertex>, Action<XmlWriter, TEdge>)
  • Improve this Doc
  • View Source
In This Article
Back to top QuikGraph