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 the INTERIOR to the EXTERIOR the depth decreases, so the factor is -1
getDepth
public int getDepth(int position)
getDepthDelta
public int getDepthDelta()
getEdgeRing
public EdgeRing getEdgeRing()
getMinEdgeRing
public EdgeRing getMinEdgeRing()
getSym
public DirectedEdge getSym()
Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite
directions.
- the DirectedEdge for the same Edge but in the opposite direction
isForward
public boolean isForward()
isInResult
public boolean isInResult()
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.
- true if this is an interior Area edge
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
isVisited
public boolean isVisited()
print
public void print(PrintStream out)
- print in interface EdgeEnd
printEdge
public void printEdge(PrintStream out)
setDepth
public void setDepth(int position,
int depthVal)
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.
setEdgeRing
public void setEdgeRing(EdgeRing edgeRing)
setInResult
public void setInResult(boolean isInResult)
setMinEdgeRing
public void setMinEdgeRing(EdgeRing minEdgeRing)
setVisited
public void setVisited(boolean isVisited)
setVisitedEdge
public void setVisitedEdge(boolean isVisited)
setVisitedEdge 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.