com.vividsolutions.jts.planargraph

Class Subgraph


public class Subgraph
extends java.lang.Object

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.

Field Summary

protected List
dirEdges
protected Set
edges
protected NodeMap
nodeMap
protected PlanarGraph
parentGraph

Constructor Summary

Subgraph(PlanarGraph parentGraph)
Creates a new subgraph of the given PlanarGraph

Method Summary

void
add(Edge e)
Adds an Edge to the subgraph.
boolean
contains(Edge e)
Tests whether an Edge is contained in this subgraph
Iterator
dirEdgeIterator()
Returns an Iterator over the DirectedEdges in this graph, in the order in which they were added.
Iterator
edgeIterator()
Returns an Iterator over the Edges in this graph, in the order in which they were added.
PlanarGraph
getParent()
Gets the PlanarGraph which this subgraph is part of.
Iterator
nodeIterator()
Returns an Iterator over the Nodes in this graph.

Field Details

dirEdges

protected List dirEdges

edges

protected Set edges

nodeMap

protected NodeMap nodeMap

parentGraph

protected PlanarGraph parentGraph

Constructor Details

Subgraph

public Subgraph(PlanarGraph parentGraph)
Creates a new subgraph of the given PlanarGraph
Parameters:
parentGraph - the parent graph

Method Details

add

public void add(Edge e)
Adds an Edge to the subgraph. The associated DirectedEdges and Nodes are also added.
Parameters:
e - the edge to add

contains

public boolean contains(Edge e)
Tests whether an Edge is contained in this subgraph
Parameters:
e - the edge to test
Returns:
true if the edge is contained in this subgraph

dirEdgeIterator

public Iterator dirEdgeIterator()
Returns an Iterator over the DirectedEdges in this graph, in the order in which they were added.
Returns:
an iterator over the directed edges
See Also:
add(Edge)

edgeIterator

public Iterator edgeIterator()
Returns an Iterator over the Edges in this graph, in the order in which they were added.
Returns:
an iterator over the edges
See Also:
add(Edge)

getParent

public PlanarGraph getParent()
Gets the PlanarGraph which this subgraph is part of.
Returns:
the parent PlanarGraph

nodeIterator

public Iterator nodeIterator()
Returns an Iterator over the Nodes in this graph.
Returns:
an iterator over the nodes