Show / Hide Table of Contents

Interface IBidirectionalIncidenceGraph<TVertex, TEdge>

A incident directed graph with vertices of type TVertex and edges of type TEdge, that is efficient to traverse both in and out edges.

Inherited Members
IIncidenceGraph<TVertex, TEdge>.ContainsEdge(TVertex, TVertex)
IIncidenceGraph<TVertex, TEdge>.TryGetEdge(TVertex, TVertex, TEdge)
IIncidenceGraph<TVertex, TEdge>.TryGetEdges(TVertex, TVertex, IEnumerable<TEdge>)
IImplicitGraph<TVertex, TEdge>.IsOutEdgesEmpty(TVertex)
IImplicitGraph<TVertex, TEdge>.OutDegree(TVertex)
IImplicitGraph<TVertex, TEdge>.OutEdges(TVertex)
IImplicitGraph<TVertex, TEdge>.TryGetOutEdges(TVertex, IEnumerable<TEdge>)
IImplicitGraph<TVertex, TEdge>.OutEdge(TVertex, Int32)
IGraph<TVertex, TEdge>.IsDirected
IGraph<TVertex, TEdge>.AllowParallelEdges
IImplicitVertexSet<TVertex>.ContainsVertex(TVertex)
Namespace: QuikGraph
Assembly: QuikGraph.dll
Syntax
public interface IBidirectionalIncidenceGraph<TVertex, TEdge> : IIncidenceGraph<TVertex, TEdge>, IImplicitGraph<TVertex, TEdge>, IGraph<TVertex, TEdge>, IImplicitVertexSet<TVertex> where TEdge : IEdge<TVertex>
Type Parameters
Name Description
TVertex

Vertex type.

TEdge

Edge type.

Methods

| Improve this Doc View Source

Degree(TVertex)

Gets the degree of vertex, i.e. the sum of the out-degree and in-degree of vertex.

Declaration
int Degree(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

The vertex.

Returns
Type Description
System.Int32

The sum of OutDegree and InDegree of vertex.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

InDegree(TVertex)

Gets the number of in-edges of vertex.

Declaration
int InDegree(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

The vertex.

Returns
Type Description
System.Int32

The number of in-edges pointing towards vertex.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

InEdge(TVertex, Int32)

Gets the in-edge at location index.

Declaration
TEdge InEdge(TVertex vertex, int index)
Parameters
Type Name Description
TVertex vertex

The vertex.

System.Int32 index

The index.

Returns
Type Description
TEdge

The in-edge at position index.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

System.ArgumentOutOfRangeException

No vertex at index.

VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

InEdges(TVertex)

Gets the collection of in-edges of vertex.

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

The vertex.

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

The collection of in-edges of vertex.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

IsInEdgesEmpty(TVertex)

Determines whether vertex has no in-edges.

Declaration
bool IsInEdgesEmpty(TVertex vertex)
Parameters
Type Name Description
TVertex vertex

The vertex.

Returns
Type Description
System.Boolean

True if vertex has no in-edges, false otherwise.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

VertexNotFoundException

vertex is not part of the graph.

| Improve this Doc View Source

TryGetInEdges(TVertex, out IEnumerable<TEdge>)

Tries to get the in-edges of vertex.

Declaration
bool TryGetInEdges(TVertex vertex, out IEnumerable<TEdge> edges)
Parameters
Type Name Description
TVertex vertex

The vertex.

System.Collections.Generic.IEnumerable<TEdge> edges

In-edges.

Returns
Type Description
System.Boolean

True if vertex was found or/and in-edges were found, false otherwise.

Exceptions
Type Condition
System.ArgumentNullException

vertex is null.

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.SerializeToBinary<TVertex, TEdge>(IGraph<TVertex, TEdge>, Stream)
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