Namespace NetTopologySuite.Planargraph
Contains classes to implement a planar graph data structure.
Classes
DirectedEdge
Represents a directed edge in a PlanarGraph
. A DirectedEdge may or
may not have a reference to a parent Edge (some applications of
planar graphs may not require explicit Edge objects to be created). Usually
a client using a PlanarGraph
will subclass DirectedEdge
to add its own application-specific data and methods.
DirectedEdgeStar
A sorted collection of DirectedEdge
s which leave a Node
in a PlanarGraph
.
Edge
Represents an undirected edge of a {PlanarGraph}. An undirected edge
in fact simply acts as a central point of reference for two opposite
DirectedEdge
s.
Usually a client using a PlanarGraph
will subclass Edge
to add its own application-specific data and methods.
GraphComponent
The base class for all graph component classes. Maintains flags of use in generic graph algorithms. Provides two flags: marked - typically this is used to indicate a state that persists for the course of the graph's lifetime. For instance, it can be used to indicate that a component has been logically deleted from the graph. visited - this is used to indicate that a component has been processed or visited by an single graph algorithm. For instance, a breadth-first traversal of the graph might use this to indicate that a node has already been traversed. The visited flag may be set and cleared many times during the lifetime of a graph.
Node
A node in a PlanarGraph
is a location where 0 or more Edge
s
meet. A node is connected to each of its incident Edges via an outgoing
DirectedEdge. Some clients using a PlanarGraph
may want to
subclass Node
to add their own application-specific
data and methods.
NodeMap
A map of nodes, indexed by the coordinate of the node.
PlanarGraph
Represents a directed graph which is embeddable in a planar surface.
This class and the other classes in this package serve as a framework for
building planar graphs for specific algorithms. This class must be
subclassed to expose appropriate methods to construct the graph. This allows
controlling the types of graph components ({DirectedEdge}s,
Edge
s and Node
s) which can be added to the graph. An
application which uses the graph framework will almost always provide
subclasses for one or more graph components, which hold application-specific
data and graph algorithms.
Subgraph
A subgraph of a PlanarGraph. A subgraph may contain any subset of Edges from the parent graph. It will also automatically contain all DirectedEdges and Nodes associated with those edges. No new objects are created when edges are added - all associated components must already exist in the parent graph.