findEdge method
void
findEdge(
- List dirEdgeList
)
Implementation
void findEdge(List dirEdgeList) {
/**
* Check all forward DirectedEdges only. This is still general,
* because each edge has a forward DirectedEdge.
*/
for (DirectedEdge de in dirEdgeList) {
if (!de.isForward()) continue;
checkForRightmostCoordinate(de);
}
/**
* If the rightmost point is a node, we need to identify which of
* the incident edges is rightmost.
*/
Assert.isTrue(minIndex != 0 || minCoord!.equals(minDe!.getCoordinate()!),
"inconsistency in rightmost processing");
if (minIndex == 0) {
findRightmostEdgeAtNode();
} else {
findRightmostEdgeAtVertex();
}
/**
* now check that the extreme side is the R side.
* If not, use the sym instead.
*/
orientedDe = minDe;
int rightmostSide = getRightmostSide(minDe!, minIndex);
if (rightmostSide == Position.LEFT) {
orientedDe = minDe!.getSym();
}
}