isTrivialIntersection method
A trivial intersection is an apparent self-intersection which in fact is simply the point shared by adjacent line segments. Note that closed edges require a special check for the point shared by the beginning and end segments.
Implementation
bool isTrivialIntersection(Edge e0, int segIndex0, Edge e1, int segIndex1) {
if (e0 == e1) {
if (_li.getIntersectionNum() == 1) {
if (isAdjacentSegments(segIndex0, segIndex1)) return true;
if (e0.isClosed()) {
int maxSegIndex = e0.getNumPoints() - 1;
if ((segIndex0 == 0 && segIndex1 == maxSegIndex) ||
(segIndex1 == 0 && segIndex0 == maxSegIndex)) {
return true;
}
}
}
}
return false;
}