A base class containing the logic for computes the contains
and covers spatial relationship predicates
for a
PreparedPolygon relative to all other
Geometry classes.
Uses short-circuit tests and indexing to improve performance.
Contains and covers are very similar, and differ only in how certain
cases along the boundary are handled. These cases require
full topological evaluation to handle, so all the code in
this class is common to both predicates.
It is not possible to short-circuit in all cases, in particular
in the case where line segments of the test geometry touches the polygon linework.
In this case full topology must be computed.
(However, if the test geometry consists of only points, this
can be evaluated in an optimized fashion.