public class GeometryGraph extends PlanarGraph
edgeEndList, edges| Constructor and Description |
|---|
GeometryGraph(int argIndex,
Geometry geometry) |
GeometryGraph(int argIndex,
Geometry geometry,
BoundaryNodeRule boundaryNodeRule) |
| Modifier and Type | Method and Description |
|---|---|
void |
addEdge(Edge edge)
Add an Edge computed externally.
|
void |
addPoint(Point pt)
Add a point computed externally.
|
SegmentIntersector |
computeEdgeIntersections(GeometryGraph g,
LineIntersector li,
boolean includeProper) |
SegmentIntersector |
computeSelfNodes(LineIntersector li,
boolean computeRingSelfNodes)
Compute self-nodes, taking advantage of the Geometry type to
minimize the number of intersection tests.
|
void |
computeSplitEdges(List<Edge> edgelist) |
static Location |
determineBoundary(BoundaryNodeRule boundaryNodeRule,
int boundaryCount)
This method implements the Boundary Determination Rule
for determining whether
a component (node or edge) that appears multiple times in elements
of a MultiGeometry is in the boundary or the interior of the Geometry
The SFS uses the "Mod-2 Rule", which this function implements An alternative (and possibly more intuitive) rule would be the "At Most One Rule": isInBoundary = (componentCount == 1) |
Edge |
findEdge(LineString line) |
BoundaryNodeRule |
getBoundaryNodeRule() |
Collection<Node> |
getBoundaryNodes() |
Point[] |
getBoundaryPoints() |
Geometry |
getGeometry() |
Point |
getInvalidPoint() |
boolean |
hasTooFewPoints()
This constructor is used by clients that wish to add Edges explicitly,
rather than adding a Geometry.
|
Location |
locate(Point pt)
Determines the
Location of the given Coordinates
in this geometry. |
add, addEdges, addNode, addNode, edges, find, findEdge, findEdgeEnd, findEdgeInSameDirection, getEdgeEnds, getEdgeIterator, getNodeIterator, getNodeMap, getNodes, insertEdge, isBoundaryNode, linkAllDirectedEdges, linkResultDirectedEdges, linkResultDirectedEdgespublic GeometryGraph(int argIndex,
Geometry geometry)
public GeometryGraph(int argIndex,
Geometry geometry,
BoundaryNodeRule boundaryNodeRule)
public static Location determineBoundary(BoundaryNodeRule boundaryNodeRule, int boundaryCount)
public void addEdge(Edge edge)
public void addPoint(Point pt)
public SegmentIntersector computeEdgeIntersections(GeometryGraph g, LineIntersector li, boolean includeProper)
public SegmentIntersector computeSelfNodes(LineIntersector li, boolean computeRingSelfNodes)
li - the LineIntersector to usecomputeRingSelfNodes - if public Edge findEdge(LineString line)
public BoundaryNodeRule getBoundaryNodeRule()
public Collection<Node> getBoundaryNodes()
public Point[] getBoundaryPoints()
public Geometry getGeometry()
public Point getInvalidPoint()
public boolean hasTooFewPoints()
Copyright © 2015 Revolution Systems Inc.. All rights reserved.