Class LayoutAlgorithmBase<TVertex, TEdge, TGraph, TVertexInfo, TEdgeInfo>
Base class for all ILayoutAlgorithm<TVertex, TEdge, TGraph, TVertexInfo, TEdgeInfo> implementations.
Inheritance
Implements
Inherited Members
Namespace: GraphShape.Algorithms.Layout
Assembly: GraphShape.dll
Syntax
public abstract class LayoutAlgorithmBase<TVertex, TEdge, TGraph, TVertexInfo, TEdgeInfo> : LayoutAlgorithmBase<TVertex, TEdge, TGraph>, IAlgorithm, ILayoutAlgorithm<TVertex, TEdge, TGraph, TVertexInfo, TEdgeInfo>, ILayoutAlgorithm<TVertex, TEdge, TGraph>, IAlgorithm<TGraph>, IComputation where TEdge : IEdge<TVertex> where TGraph : IVertexAndEdgeListGraph<TVertex, TEdge>
Type Parameters
| Name | Description |
|---|---|
| TVertex | Vertex type. |
| TEdge | Edge type. |
| TGraph | Graph type. |
| TVertexInfo | Vertex information type. |
| TEdgeInfo | Edge information type. |
Constructors
| Improve this Doc View SourceLayoutAlgorithmBase(TGraph)
Initializes a new instance of the LayoutAlgorithmBase<TVertex, TEdge, TGraph, TVertexInfo, TEdgeInfo> class.
Declaration
protected LayoutAlgorithmBase(TGraph visitedGraph)
Parameters
| Type | Name | Description |
|---|---|---|
| TGraph | visitedGraph | Graph to layout. |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException |
|
LayoutAlgorithmBase(TGraph, IDictionary<TVertex, Point>)
Initializes a new instance of the LayoutAlgorithmBase<TVertex, TEdge, TGraph, TVertexInfo, TEdgeInfo> class.
Declaration
protected LayoutAlgorithmBase(TGraph visitedGraph, IDictionary<TVertex, Point> verticesPositions)
Parameters
| Type | Name | Description |
|---|---|---|
| TGraph | visitedGraph | Graph to layout. |
| System.Collections.Generic.IDictionary<TVertex, Point> | verticesPositions | Vertices positions. |
Exceptions
| Type | Condition |
|---|---|
| System.ArgumentNullException |
|
Properties
| Improve this Doc View SourceEdgesInfos
Extra edges information, calculated by the layout.
Declaration
public IDictionary<TEdge, TEdgeInfo> EdgesInfos { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IDictionary<TEdge, TEdgeInfo> |
ReportOnIterationEndNeeded
Indicates if there is any watcher on iterations ends.
Declaration
public override bool ReportOnIterationEndNeeded { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Overrides
VerticesInfos
Extra vertices information, calculated by the layout.
Declaration
public IDictionary<TVertex, TVertexInfo> VerticesInfos { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IDictionary<TVertex, TVertexInfo> |
Methods
| Improve this Doc View SourceGetEdgeInfo(TEdge)
Returns the extra layout information of the edge (or null).
Declaration
public override object GetEdgeInfo(TEdge edge)
Parameters
| Type | Name | Description |
|---|---|---|
| TEdge | edge |
Returns
| Type | Description |
|---|---|
| System.Object |
Overrides
GetVertexInfo(TVertex)
Returns the extra layout information of the vertex (or null).
Declaration
public override object GetVertexInfo(TVertex vertex)
Parameters
| Type | Name | Description |
|---|---|---|
| TVertex | vertex |
Returns
| Type | Description |
|---|---|
| System.Object |
Overrides
Events
| Improve this Doc View SourceInfoIterationEnded
Fired when a layout iteration has been done (with more detailed information).
Declaration
public event LayoutIterationEndedEventHandler<TVertex, TEdge, TVertexInfo, TEdgeInfo> InfoIterationEnded
Event Type
| Type | Description |
|---|---|
| LayoutIterationEndedEventHandler<TVertex, TEdge, TVertexInfo, TEdgeInfo> |