Show / Hide Table of Contents

Class HierarchicalGraph<TVertex, TEdge>

Hierarchical graph.

Inheritance
System.Object
QuikGraph.BidirectionalGraph<TVertex, TEdge>
HierarchicalGraph<TVertex, TEdge>
SoftMutableHierarchicalGraph<TVertex, TEdge>
Implements
QuikGraph.IEdgeListAndIncidenceGraph<TVertex, TEdge>
QuikGraph.IMutableBidirectionalGraph<TVertex, TEdge>
QuikGraph.IMutableVertexAndEdgeListGraph<TVertex, TEdge>
QuikGraph.IMutableVertexListGraph<TVertex, TEdge>
QuikGraph.IMutableIncidenceGraph<TVertex, TEdge>
QuikGraph.IMutableVertexAndEdgeSet<TVertex, TEdge>
QuikGraph.IMutableVertexSet<TVertex>
QuikGraph.IMutableEdgeListGraph<TVertex, TEdge>
QuikGraph.IMutableGraph<TVertex, TEdge>
System.ICloneable
IHierarchicalBidirectionalGraph<TVertex, TEdge>
QuikGraph.IBidirectionalGraph<TVertex, TEdge>
QuikGraph.IVertexAndEdgeListGraph<TVertex, TEdge>
QuikGraph.IVertexListGraph<TVertex, TEdge>
QuikGraph.IEdgeListGraph<TVertex, TEdge>
QuikGraph.IVertexSet<TVertex>
QuikGraph.IEdgeSet<TVertex, TEdge>
QuikGraph.IBidirectionalIncidenceGraph<TVertex, TEdge>
QuikGraph.IIncidenceGraph<TVertex, TEdge>
QuikGraph.IImplicitGraph<TVertex, TEdge>
QuikGraph.IGraph<TVertex, TEdge>
QuikGraph.IImplicitVertexSet<TVertex>
Inherited Members
QuikGraph.BidirectionalGraph<TVertex, TEdge>.ContainsVertex(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.ContainsEdge(TEdge)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.ContainsEdge(TVertex, TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.IsOutEdgesEmpty(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.OutDegree(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.OutEdges(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.TryGetOutEdges(TVertex, System.Collections.Generic.IEnumerable<TEdge>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.OutEdge(TVertex, System.Int32)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.TryGetEdge(TVertex, TVertex, TEdge)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.TryGetEdges(TVertex, TVertex, System.Collections.Generic.IEnumerable<TEdge>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.IsInEdgesEmpty(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.InDegree(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.InEdges(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.TryGetInEdges(TVertex, System.Collections.Generic.IEnumerable<TEdge>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.InEdge(TVertex, System.Int32)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.Degree(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.Clear()
QuikGraph.BidirectionalGraph<TVertex, TEdge>.AddVertex(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.AddVertexRange(System.Collections.Generic.IEnumerable<TVertex>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.OnVertexAdded(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.RemoveVertex(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.OnVertexRemoved(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.RemoveVertexIf(QuikGraph.VertexPredicate<TVertex>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.AddEdge(TEdge)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.AddEdgeRange(System.Collections.Generic.IEnumerable<TEdge>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.OnEdgeAdded(TEdge)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.RemoveEdge(TEdge)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.OnEdgeRemoved(TEdge)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.RemoveEdgeIf(QuikGraph.EdgePredicate<TVertex, TEdge>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.AddVerticesAndEdge(TEdge)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.AddVerticesAndEdgeRange(System.Collections.Generic.IEnumerable<TEdge>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.RemoveOutEdgeIf(TVertex, QuikGraph.EdgePredicate<TVertex, TEdge>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.ClearOutEdges(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.TrimEdgeExcess()
QuikGraph.BidirectionalGraph<TVertex, TEdge>.RemoveInEdgeIf(TVertex, QuikGraph.EdgePredicate<TVertex, TEdge>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.ClearInEdges(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.ClearEdges(TVertex)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.MergeVertex(TVertex, QuikGraph.EdgeFactory<TVertex, TEdge>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.MergeVerticesIf(QuikGraph.VertexPredicate<TVertex>, QuikGraph.EdgeFactory<TVertex, TEdge>)
QuikGraph.BidirectionalGraph<TVertex, TEdge>.Clone()
QuikGraph.BidirectionalGraph<TVertex, TEdge>.System.ICloneable.Clone()
QuikGraph.BidirectionalGraph<TVertex, TEdge>.EdgeCapacity
QuikGraph.BidirectionalGraph<TVertex, TEdge>.VertexType
QuikGraph.BidirectionalGraph<TVertex, TEdge>.EdgeType
QuikGraph.BidirectionalGraph<TVertex, TEdge>.IsDirected
QuikGraph.BidirectionalGraph<TVertex, TEdge>.AllowParallelEdges
QuikGraph.BidirectionalGraph<TVertex, TEdge>.IsVerticesEmpty
QuikGraph.BidirectionalGraph<TVertex, TEdge>.VertexCount
QuikGraph.BidirectionalGraph<TVertex, TEdge>.Vertices
QuikGraph.BidirectionalGraph<TVertex, TEdge>.IsEdgesEmpty
QuikGraph.BidirectionalGraph<TVertex, TEdge>.EdgeCount
QuikGraph.BidirectionalGraph<TVertex, TEdge>.Edges
QuikGraph.BidirectionalGraph<TVertex, TEdge>.VertexAdded
QuikGraph.BidirectionalGraph<TVertex, TEdge>.VertexRemoved
QuikGraph.BidirectionalGraph<TVertex, TEdge>.EdgeAdded
QuikGraph.BidirectionalGraph<TVertex, TEdge>.EdgeRemoved
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: GraphShape
Assembly: GraphShape.dll
Syntax
[Serializable]
public class HierarchicalGraph<TVertex, TEdge> : BidirectionalGraph<TVertex, TEdge>, IEdgeListAndIncidenceGraph<TVertex, TEdge>, IMutableBidirectionalGraph<TVertex, TEdge>, IMutableVertexAndEdgeListGraph<TVertex, TEdge>, IMutableVertexListGraph<TVertex, TEdge>, IMutableIncidenceGraph<TVertex, TEdge>, IMutableVertexAndEdgeSet<TVertex, TEdge>, IMutableVertexSet<TVertex>, IMutableEdgeListGraph<TVertex, TEdge>, IMutableGraph<TVertex, TEdge>, ICloneable, IHierarchicalBidirectionalGraph<TVertex, TEdge>, IBidirectionalGraph<TVertex, TEdge>, IVertexAndEdgeListGraph<TVertex, TEdge>, IVertexListGraph<TVertex, TEdge>, IEdgeListGraph<TVertex, TEdge>, IVertexSet<TVertex>, IEdgeSet<TVertex, TEdge>, IBidirectionalIncidenceGraph<TVertex, TEdge>, IIncidenceGraph<TVertex, TEdge>, IImplicitGraph<TVertex, TEdge>, IGraph<TVertex, TEdge>, IImplicitVertexSet<TVertex> where TEdge : TypedEdge<TVertex>
Type Parameters
Name Description
TVertex

Vertex type.

TEdge

Edge type.

Constructors

| Improve this Doc View Source

HierarchicalGraph()

Initializes a new instance of the HierarchicalGraph<TVertex, TEdge> class.

Declaration
public HierarchicalGraph()
| Improve this Doc View Source

HierarchicalGraph(Boolean)

Initializes a new instance of the HierarchicalGraph<TVertex, TEdge> class.

Declaration
public HierarchicalGraph(bool allowParallelEdges)
Parameters
Type Name Description
System.Boolean allowParallelEdges

Indicates if parallel edges are allowed.

| Improve this Doc View Source

HierarchicalGraph(Boolean, Int32)

Initializes a new instance of the HierarchicalGraph<TVertex, TEdge> class.

Declaration
public HierarchicalGraph(bool allowParallelEdges, int capacity)
Parameters
Type Name Description
System.Boolean allowParallelEdges

Indicates if parallel edges are allowed.

System.Int32 capacity

Vertex capacity.

Properties

| Improve this Doc View Source

GeneralEdgeCount

Gets the number of general edges.

Declaration
public int GeneralEdgeCount { get; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

GeneralEdges

Gets the set of general edges.

Declaration
public IEnumerable<TEdge> GeneralEdges { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<TEdge>
| Improve this Doc View Source

HierarchicalEdgeCount

Gets the number of hierarchical edges.

Declaration
public int HierarchicalEdgeCount { get; }
Property Value
Type Description
System.Int32
| Improve this Doc View Source

HierarchicalEdges

Gets the set of hierarchical edges.

Declaration
public IEnumerable<TEdge> HierarchicalEdges { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<TEdge>

Methods

| Improve this Doc View Source

AddEdge(TEdge)

Declaration
public override bool AddEdge(TEdge edge)
Parameters
Type Name Description
TEdge edge
Returns
Type Description
System.Boolean
Overrides
QuikGraph.BidirectionalGraph<TVertex, TEdge>.AddEdge(TEdge)
| Improve this Doc View Source

AddVertex(TVertex)

Declaration
public override bool AddVertex(TVertex vertex)
Parameters
Type Name Description
TVertex vertex
Returns
Type Description
System.Boolean
Overrides
QuikGraph.BidirectionalGraph<TVertex, TEdge>.AddVertex(TVertex)
| Improve this Doc View Source

GeneralEdgeCountFor(TVertex)

Gets the number of general edges for the given vertex.

Declaration
public int GeneralEdgeCountFor(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get general edges.

Returns
Type Description
System.Int32

General edges count.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

GeneralEdgesFor(TVertex)

Gets the set of general edges for the given vertex.

Declaration
public IEnumerable<TEdge> GeneralEdgesFor(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get general edges.

Returns
Type Description
System.Collections.Generic.IEnumerable<TEdge>

General edges.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

HierarchicalEdgeCountFor(TVertex)

Gets the number of hierarchical edges for the given vertex.

Declaration
public int HierarchicalEdgeCountFor(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get hierarchical edges.

Returns
Type Description
System.Int32

Hierarchical edges count.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

HierarchicalEdgesFor(TVertex)

Gets the set of hierarchical edges for the given vertex.

Declaration
public IEnumerable<TEdge> HierarchicalEdgesFor(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get hierarchical edges.

Returns
Type Description
System.Collections.Generic.IEnumerable<TEdge>

Hierarchical edges.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

InGeneralEdgeCount(TVertex)

Gets the number of general in-edges for the given vertex.

Declaration
public int InGeneralEdgeCount(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get general in-edges.

Returns
Type Description
System.Int32

General in-edges count.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

InGeneralEdges(TVertex)

Gets the set of general in-edges for the given vertex.

Declaration
public IEnumerable<TEdge> InGeneralEdges(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get general in-edges.

Returns
Type Description
System.Collections.Generic.IEnumerable<TEdge>

General in-edges.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

InHierarchicalEdgeCount(TVertex)

Gets the number of hierarchical in-edges for the given vertex.

Declaration
public int InHierarchicalEdgeCount(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get hierarchical in-edges.

Returns
Type Description
System.Int32

Hierarchical in-edges count.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

InHierarchicalEdges(TVertex)

Gets the set of hierarchical in-edges for the given vertex.

Declaration
public IEnumerable<TEdge> InHierarchicalEdges(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get hierarchical in-edges.

Returns
Type Description
System.Collections.Generic.IEnumerable<TEdge>

Hierarchical in-edges.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

OutGeneralEdgeCount(TVertex)

Gets the number of general out-edges for the given vertex.

Declaration
public int OutGeneralEdgeCount(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get general out-edges.

Returns
Type Description
System.Int32

General out-edges count.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

OutGeneralEdges(TVertex)

Gets the set of general out-edges for the given vertex.

Declaration
public IEnumerable<TEdge> OutGeneralEdges(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get general out-edges.

Returns
Type Description
System.Collections.Generic.IEnumerable<TEdge>

General out-edges.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

OutHierarchicalEdgeCount(TVertex)

Gets the number of hierarchical out-edges for the given vertex.

Declaration
public int OutHierarchicalEdgeCount(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get hierarchical out-edges.

Returns
Type Description
System.Int32

Hierarchical out-edges count.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

OutHierarchicalEdges(TVertex)

Gets the set of hierarchical out-edges for the given vertex.

Declaration
public IEnumerable<TEdge> OutHierarchicalEdges(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

Vertex to get hierarchical out-edges.

Returns
Type Description
System.Collections.Generic.IEnumerable<TEdge>

Hierarchical out-edges.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

QuikGraph.VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

RemoveEdge(TEdge)

Declaration
public override bool RemoveEdge(TEdge edge)
Parameters
Type Name Description
TEdge edge
Returns
Type Description
System.Boolean
Overrides
QuikGraph.BidirectionalGraph<TVertex, TEdge>.RemoveEdge(TEdge)
| Improve this Doc View Source

RemoveVertex(TVertex)

Declaration
public override bool RemoveVertex(TVertex vertex)
Parameters
Type Name Description
TVertex vertex
Returns
Type Description
System.Boolean
Overrides
QuikGraph.BidirectionalGraph<TVertex, TEdge>.RemoveVertex(TVertex)

Implements

QuikGraph.IEdgeListAndIncidenceGraph<TVertex, TEdge>
QuikGraph.IMutableBidirectionalGraph<TVertex, TEdge>
QuikGraph.IMutableVertexAndEdgeListGraph<TVertex, TEdge>
QuikGraph.IMutableVertexListGraph<TVertex, TEdge>
QuikGraph.IMutableIncidenceGraph<TVertex, TEdge>
QuikGraph.IMutableVertexAndEdgeSet<TVertex, TEdge>
QuikGraph.IMutableVertexSet<TVertex>
QuikGraph.IMutableEdgeListGraph<TVertex, TEdge>
QuikGraph.IMutableGraph<TVertex, TEdge>
System.ICloneable
IHierarchicalBidirectionalGraph<TVertex, TEdge>
QuikGraph.IBidirectionalGraph<TVertex, TEdge>
QuikGraph.IVertexAndEdgeListGraph<TVertex, TEdge>
QuikGraph.IVertexListGraph<TVertex, TEdge>
QuikGraph.IEdgeListGraph<TVertex, TEdge>
QuikGraph.IVertexSet<TVertex>
QuikGraph.IEdgeSet<TVertex, TEdge>
QuikGraph.IBidirectionalIncidenceGraph<TVertex, TEdge>
QuikGraph.IIncidenceGraph<TVertex, TEdge>
QuikGraph.IImplicitGraph<TVertex, TEdge>
QuikGraph.IGraph<TVertex, TEdge>
QuikGraph.IImplicitVertexSet<TVertex>

Extension Methods

GraphHelpers.GetNeighbors<TVertex, TEdge>(IBidirectionalGraph<TVertex, TEdge>, TVertex)
GraphHelpers.GetOutNeighbors<TVertex, TEdge>(IVertexAndEdgeListGraph<TVertex, TEdge>, TVertex)
GraphHelpers.GetEdgesBetween<TVertex, TEdge>(IVertexAndEdgeListGraph<TVertex, TEdge>, TVertex[], TVertex[])
GraphHelpers.GetDistances<TVertex, TEdge, TGraph>(TGraph)
GraphHelpers.GetDiameter<TVertex, TEdge, TGraph>(TGraph)
GraphHelpers.GetDiameter<TVertex, TEdge, TGraph>(TGraph, out Double[,])
GraphHelpers.Convert<TOldVertex, TOldEdge, TNewVertex, TNewEdge, TNewGraph>(IVertexAndEdgeListGraph<TOldVertex, TOldEdge>, TNewGraph, Func<TOldVertex, TNewVertex>, Func<TOldEdge, TNewEdge>)
GraphHelpers.Convert<TVertex, TOldEdge, TNewEdge, TNewGraph>(IVertexAndEdgeListGraph<TVertex, TOldEdge>, TNewGraph, Func<TOldEdge, TNewEdge>)
GraphHelpers.Convert<TVertex, TEdge, TNewGraph>(IVertexAndEdgeListGraph<TVertex, TEdge>, TNewGraph)
GraphHelpers.Convert<TOldVertex, TOldEdge, TNewVertex, TNewEdge>(IVertexAndEdgeListGraph<TOldVertex, TOldEdge>, Func<TOldVertex, TNewVertex>, Func<TOldEdge, TNewEdge>)
GraphHelpers.Convert<TVertex, TOldEdge, TNewEdge>(IVertexAndEdgeListGraph<TVertex, TOldEdge>, Func<TOldEdge, TNewEdge>)
GraphHelpers.CopyToBidirectionalGraph<TVertex, TEdge>(IVertexAndEdgeListGraph<TVertex, TEdge>)
  • Improve this Doc
  • View Source
In This Article
Back to top GraphShape