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