namespace Netron.Diagramming.Core.Analysis { /// /// Describes a connection from the point of view of graph analysis. /// public interface IEdge { /// /// Indicates if this edge is directed or undirected. /// bool IsDirected { get; set; } /// /// Returns the first, or source, node upon which this Edge is incident. /// INode SourceNode { get; } /// /// Returns the second, or target, node upon which this Edge is incident. /// INode TargetNode { get; } /// /// Given a Node upon which this Edge is incident, the opposite incident /// Node is returned. Throws an exception if the input node is not incident /// on this Edge. /// INode AdjacentNode(INode node); } }