public class GeometryGraph extends PlanarGraph
edgeEndList, edges, nodes| Constructor and Description |
|---|
GeometryGraph(int argIndex, Geometry
|
GeometryGraph(int argIndex, Geometry
|
| Modifier and Type | Method and Description |
|---|---|
void |
addEdge(Edge
Add an Edge computed externally.
|
void |
addPoint(Coordinate
Add a point computed externally.
|
SegmentIntersector |
computeEdgeIntersections(GeometryGraph
|
SegmentIntersector |
computeSelfNodes(LineIntersector
Compute self-nodes, taking advantage of the Geometry type to minimize the number of intersection tests.
|
void |
computeSplitEdges(List
|
static int |
determineBoundary(BoundaryNodeRule
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
|
BoundaryNodeRule |
getBoundaryNodeRule()
|
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
Determines the
Location of the given
Coordinate in this geometry.
|
add, addEdges, addNode, addNode, find, findEdge, findEdgeEnd, findEdgeInSameDirection, getEdgeEnds, getEdgeIterator, getNodeIterator, getNodes, insertEdge, isBoundaryNode, linkAllDirectedEdges, linkResultDirectedEdges, linkResultDirectedEdges, printEdgespublic GeometryGraph(int argIndex,
Geometry parentGeom) public GeometryGraph(int argIndex,
Geometry parentGeom,
BoundaryNodeRule boundaryNodeRule) public static int determineBoundary(BoundaryNodeRuleboundaryNodeRule, int boundaryCount)
public boolean hasTooFewPoints()
public CoordinategetInvalidPoint()
public GeometrygetGeometry()
public BoundaryNodeRulegetBoundaryNodeRule()
public CollectiongetBoundaryNodes()
public Coordinate[] getBoundaryPoints()
public EdgefindEdge(LineString line)
public void computeSplitEdges(Listedgelist)
public void addEdge(Edgee)
public void addPoint(Coordinatept)
public SegmentIntersectorcomputeSelfNodes(LineIntersector li, boolean computeRingSelfNodes)
li - the LineIntersector to use
computeRingSelfNodes - if
public SegmentIntersectorcomputeEdgeIntersections(GeometryGraph g, LineIntersector li, boolean includeProper)
public int locate(Coordinatept)
Location of the given
Coordinate in this geometry.
p - the point to test