Package org.geotools.graph.build.polygon
Class PolygonGraphGenerator
- Object
-
- PolygonGraphGenerator
-
- All Implemented Interfaces:
GraphGenerator
public class PolygonGraphGenerator extends Object implements GraphGenerator
An implementation of GraphGenerator used to build graphs from a set of polygons.This graph generator takes
Polygon
objects as input when constructing a graph. The following code constructs a graph from a set of polygons.//get some polygons Polygon[] polygons = ... //determine what the relationship will be PolygonGraphGenerator rel = new PolygonGraphGenerator.PolygonRelationship() { public boolean related(Polygon p1, Polygon p2) { return p1.intersects(p2); } public boolean equal(Polygon p1, Polygon p2) { return p1.equals(p2); } } //create the generator PolygonGraphGenerator gg = new PolygonGraphGenerator(new BasicGraphBuilder(),rel); //start building for (int i = 0; i < polygons.length; i++) { gg.add(polygons[i]); }
PolygonGraphGenerator.PolygonRelationship
interface. An instance of this interface is passed to the generator at construction.- Author:
- Justin Deoliveira, The Open Planning Project
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
PolygonGraphGenerator.PolygonRelationship
Determines the relationship among two polygons.
-
Constructor Summary
Constructors Constructor Description PolygonGraphGenerator(GraphBuilder builder, PolygonGraphGenerator.PolygonRelationship rel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Graphable
add(Object obj)
Adds an object to the graph.protected Node
find(Polygon polygon)
Graphable
get(Object obj)
Retrieves a component of the graph.Graph
getGraph()
Returns the graph being generated.GraphBuilder
getGraphBuilder()
Returns the underlying builder.protected void
relate(Node node)
Graphable
remove(Object obj)
Removes an object from the graph.void
setGraphBuilder(GraphBuilder builder)
Sets the underlying builder used to physically construct the graph.
-
-
-
Constructor Detail
-
PolygonGraphGenerator
public PolygonGraphGenerator(GraphBuilder builder, PolygonGraphGenerator.PolygonRelationship rel)
-
-
Method Detail
-
add
public Graphable add(Object obj)
Description copied from interface:GraphGenerator
Adds an object to the graph.- Specified by:
add
in interfaceGraphGenerator
- Parameters:
obj
- The object to be modelled in the graph.- Returns:
- The graph component used to model the object.
-
get
public Graphable get(Object obj)
Description copied from interface:GraphGenerator
Retrieves a component of the graph.- Specified by:
get
in interfaceGraphGenerator
- Parameters:
obj
- The object modelled by the component.- Returns:
- The graph component used to model the object.
-
remove
public Graphable remove(Object obj)
Description copied from interface:GraphGenerator
Removes an object from the graph.- Specified by:
remove
in interfaceGraphGenerator
- Parameters:
obj
- The object modelled by the component.- Returns:
- The graph component used to model the object.
-
setGraphBuilder
public void setGraphBuilder(GraphBuilder builder)
Description copied from interface:GraphGenerator
Sets the underlying builder used to physically construct the graph.- Specified by:
setGraphBuilder
in interfaceGraphGenerator
- Parameters:
builder
- The new underlying GraphBuilder.
-
getGraphBuilder
public GraphBuilder getGraphBuilder()
Description copied from interface:GraphGenerator
Returns the underlying builder.- Specified by:
getGraphBuilder
in interfaceGraphGenerator
- Returns:
- The underyling builder.
-
getGraph
public Graph getGraph()
Description copied from interface:GraphGenerator
Returns the graph being generated.- Specified by:
getGraph
in interfaceGraphGenerator
- Returns:
- The generated graph.
-
relate
protected void relate(Node node)
-
-