isProper method
Tests whether an intersection is proper.
The intersection between two line segments is considered proper if
they intersect in a single point in the interior of both segments
(e.g. the intersection is a single point and is not equal to any of the
endpoints).
The intersection between a point and a line segment is considered proper if the point lies in the interior of the segment (e.g. is not equal to either of the endpoints).
@return true if the intersection is proper
Implementation
bool isProper() {
return hasIntersection() && _isProper;
}