A convenience function that calls CrossingSign() to handle cases
where all four vertices are distinct, and VertexCrossing() to handle
cases where two or more vertices are the same. This defines a crossing
function such that point-in-polygon containment tests can be implemented
by simply counting edge crossings.
A convenience function that calls CrossingSign() to handle cases where all four vertices are distinct, and VertexCrossing() to handle cases where two or more vertices are the same. This defines a crossing function such that point-in-polygon containment tests can be implemented by simply counting edge crossings.