New to Telerik UI for WPFStart a free 30-day trial

Default implementation/inheritance of the GraphBase<TNode, TLink> class in function of analysis and layout.

Definition

Namespace:Telerik.Windows.Diagrams.Core

Assembly:Telerik.Windows.Diagrams.Core.dll

Type Parameters:

TNodeData

TLinkData

Syntax:

C#
public class Graph<TNodeData, TLinkData> : GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>> where TNodeData : new() where TLinkData : new()

Inheritance: objectGraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>Graph<TNodeData, TLinkData>

Derived Classes: HyperTree<TNodeData, TLinkData>

Inherited Members GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.AddLink(Node<TNodeData, TLinkData>, Node<TNodeData, TLinkData>)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.AddLink(Edge<TNodeData, TLinkData>)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.AddNode(Node<TNodeData, TLinkData>)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.AddNodes(params Node<TNodeData, TLinkData>[])GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.AreConnected(Node<TNodeData, TLinkData>, Node<TNodeData, TLinkData>, bool)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.AreConnected(int, int, bool)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.AssignIdentifiers()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.Clone()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.FindEdge(int, int, bool)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.FindNode(int)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.FindTreeRoot()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.GetBoundingRectangle<TNodeData, TLinkData>(bool)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.GetConnectedComponents()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.GetNextIdInNodes(int)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.HaveUniqueIdentifiers()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.EnsureUniqueIdentifiers()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.NumberOfComponents()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.NumberOfComponents(out Dictionary<int, int>)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.RemoveAllLinksFrom(Node<TNodeData, TLinkData>)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.RemoveLink(Edge<TNodeData, TLinkData>)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.RemoveNode(Node<TNodeData, TLinkData>)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.RenumberNodes(int)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.ToLinkListString()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.ToLinksList()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.ToString()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.TopologicalSort(bool)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.ShortestPaths()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.AreInSameComponent(int, int)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.DijkstraShortestPath(int, int)GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.FindLongestPath()GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.IsConnectedGraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.IsAcyclicGraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.IsHamiltonianGraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.LinksGraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.IsDirectedGraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>.Nodes...

Constructors

Initializes a new instance of the Graph<TNodeData, TLinkData> class.

C#
public Graph()

Initializes a new instance of the Graph<TNodeData, TLinkData> class.

C#
public Graph(GraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>> graphBase)
Parameters:graphBaseGraphBase<Node<TNodeData, TLinkData>, Edge<TNodeData, TLinkData>>

The graph base.

Remarks:

Use this constructor e.g. when converting a spanning tree to this structure.

Initializes a new instance of the Graph class.

C#
public Graph(IGraph diagramControl, bool full = true, GraphAnalysisSettings settings = null)
Parameters:diagramControlIGraph

The diagram Control.

fullbool

Transfers the full incidence structure to the Graph<TNodeData, TLinkData>.

settingsGraphAnalysisSettings

The setting used during translation from control to graph. If set to null the default settings will be used.

Properties

Gets DiagramControl.

C#
public IGraph DiagramControl { get; }

Gets or sets ignored connections.

C#
public IEnumerable<IConnection> IgnoredConnections { get; set; }
Remarks:

These are the connections which have been ignored due to multi-edges or multiple connections between containers.

Root

Node<TNodeData, TLinkData>

Gets the root Node of this Graph (assuming that the Graph is tree). If there is no root Node, returns null.

C#
public Node<TNodeData, TLinkData> Root { get; set; }