public class GeometryGraph extends PlanarGraph
Constructor | Description |
---|---|
GeometryGraph(int argIndex,
Geometry parentGeom) |
|
GeometryGraph(int argIndex,
Geometry parentGeom,
BoundaryNodeRule boundaryNodeRule) |
Modifier and Type | Method | Description |
---|---|---|
void |
addEdge(Edge e) |
Add an Edge computed externally.
|
void |
addPoint(Coordinate 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.
|
SegmentIntersector |
computeSelfNodes(LineIntersector li,
boolean computeRingSelfNodes,
boolean isDoneIfProperInt) |
Compute self-nodes, taking advantage of the Geometry type to
minimize the number of intersection tests.
|
void |
computeSplitEdges(java.util.List edgelist) |
|
static int |
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() |
|
java.util.Collection |
getBoundaryNodes() |
|
Coordinate[] |
getBoundaryPoints() |
|
Geometry |
getGeometry() |
|
Coordinate |
getInvalidPoint() |
|
boolean |
hasTooFewPoints() |
This constructor is used by clients that wish to add Edges explicitly,
rather than adding a Geometry.
|
int |
locate(Coordinate pt) |
Determines the
Location of the given Coordinate
in this geometry. |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
add, addEdges, addNode, addNode, find, findEdge, findEdgeEnd, findEdgeInSameDirection, getEdgeEnds, getEdgeIterator, getNodeIterator, getNodes, isBoundaryNode, linkAllDirectedEdges, linkResultDirectedEdges, linkResultDirectedEdges, printEdges
public GeometryGraph(int argIndex, Geometry parentGeom)
public GeometryGraph(int argIndex, Geometry parentGeom, BoundaryNodeRule boundaryNodeRule)
public static int determineBoundary(BoundaryNodeRule boundaryNodeRule, int boundaryCount)
public boolean hasTooFewPoints()
public Coordinate getInvalidPoint()
public Geometry getGeometry()
public BoundaryNodeRule getBoundaryNodeRule()
public java.util.Collection getBoundaryNodes()
public Coordinate[] getBoundaryPoints()
public Edge findEdge(LineString line)
public void computeSplitEdges(java.util.List edgelist)
public void addEdge(Edge e)
public void addPoint(Coordinate pt)
public SegmentIntersector computeSelfNodes(LineIntersector li, boolean computeRingSelfNodes)
li
- the LineIntersector to usecomputeRingSelfNodes
- if false
, intersection checks are optimized to not test rings for self-intersectionpublic SegmentIntersector computeSelfNodes(LineIntersector li, boolean computeRingSelfNodes, boolean isDoneIfProperInt)
li
- the LineIntersector to usecomputeRingSelfNodes
- if false
, intersection checks are optimized to not test rings for self-intersectionisDoneIfProperInt
- short-circuit the intersection computation if a proper intersection is foundpublic SegmentIntersector computeEdgeIntersections(GeometryGraph g, LineIntersector li, boolean includeProper)
public int locate(Coordinate pt)
Location
of the given Coordinate
in this geometry.pt
- the point to testCopyright © 2018. All rights reserved.