Package org.locationtech.jts.geomgraph
Class DirectedEdge
java.lang.Object
org.locationtech.jts.geomgraph.EdgeEnd
org.locationtech.jts.geomgraph.DirectedEdge
- All Implemented Interfaces:
Comparable
- Version:
- 1.7
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int
depthFactor
(int currLocation, int nextLocation) Computes the factor for the change in depth when moving from one location to another.int
getDepth
(int position) int
getEdge()
getNext()
getSym()
Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions.boolean
boolean
boolean
This is an interior Area edge if its label is an Area label for both Geometries and for each Geometry both sides are in the interior.boolean
This edge is a line edge if at least one of the labels is a line label any labels which are not line labels have all Locations = EXTERIORboolean
void
print
(PrintStream out) void
printEdge
(PrintStream out) void
setDepth
(int position, int depthVal) Set depth for a position.void
setEdgeDepths
(int position, int depth) Set both edge depths.void
setEdgeRing
(EdgeRing edgeRing) void
setInResult
(boolean isInResult) void
setMinEdgeRing
(EdgeRing minEdgeRing) void
setNext
(DirectedEdge next) void
setNextMin
(DirectedEdge nextMin) void
setSym
(DirectedEdge de) void
setVisited
(boolean isVisited) void
setVisitedEdge
(boolean isVisited) Marks both DirectedEdges attached to a given Edge.Methods inherited from class org.locationtech.jts.geomgraph.EdgeEnd
compareDirection, compareTo, computeLabel, getCoordinate, getDirectedCoordinate, getDx, getDy, getLabel, getNode, getQuadrant, init, setNode, toString
-
Field Details
-
isForward
protected boolean isForward
-
-
Constructor Details
-
DirectedEdge
-
-
Method Details
-
depthFactor
public static int depthFactor(int currLocation, int nextLocation) Computes the factor for the change in depth when moving from one location to another. E.g. if crossing from theLocation.INTERIOR
to theLocation.EXTERIOR
the depth decreases, so the factor is -1.- Parameters:
currLocation
- Current locationnextLocation
- Next location- Returns:
- change of depth moving from currLocation to nextLocation
-
getEdge
-
setInResult
public void setInResult(boolean isInResult) -
isInResult
public boolean isInResult() -
isVisited
public boolean isVisited() -
setVisited
public void setVisited(boolean isVisited) -
setEdgeRing
-
getEdgeRing
-
setMinEdgeRing
-
getMinEdgeRing
-
getDepth
public int getDepth(int position) -
setDepth
public void setDepth(int position, int depthVal) Set depth for a position. You may also usesetEdgeDepths(int, int)
to update depth and opposite depth together.- Parameters:
position
- Position to updatedepthVal
- Depth at the provided position
-
getDepthDelta
public int getDepthDelta() -
setVisitedEdge
public void setVisitedEdge(boolean isVisited) Marks both DirectedEdges attached to a given Edge. This is used for edges corresponding to lines, which will only appear oriented in a single direction in the result.- Parameters:
isVisited
- True to mark edge as visited
-
getSym
Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions.- Returns:
- the DirectedEdge for the same Edge but in the opposite direction
-
isForward
public boolean isForward() -
setSym
-
getNext
-
setNext
-
getNextMin
-
setNextMin
-
isLineEdge
public boolean isLineEdge()This edge is a line edge if- at least one of the labels is a line label
- any labels which are not line labels have all Locations = EXTERIOR
- Returns:
- If edge is a line edge
-
isInteriorAreaEdge
public boolean isInteriorAreaEdge()This is an interior Area edge if- its label is an Area label for both Geometries
- and for each Geometry both sides are in the interior.
- Returns:
- true if this is an interior Area edge
-
setEdgeDepths
public void setEdgeDepths(int position, int depth) Set both edge depths. One depth for a given side is provided. The other is computed depending on the Location transition and the depthDelta of the edge.- Parameters:
position
- Position to updatedepth
- Depth at the provided position
-
print
-
printEdge
-