com.vividsolutions.jts.geom.prep
public abstract class AbstractPreparedPolygonContains extends PreparedPolygonPredicate
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.
Modifier and Type | Field and Description |
---|---|
protected boolean |
requireSomePointInInterior
This flag controls a difference between contains and covers.
|
prepPoly
Constructor and Description |
---|
AbstractPreparedPolygonContains(PreparedPolygon prepPoly)
Creates an instance of this operation.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
eval(Geometry geom)
Evaluate the contains or covers relationship
for the given geometry.
|
protected abstract boolean |
fullTopologicalPredicate(Geometry geom)
Computes the full topological predicate.
|
isAllTestComponentsInTarget, isAllTestComponentsInTargetInterior, isAnyTargetComponentInAreaTest, isAnyTestComponentInTarget, isAnyTestComponentInTargetInterior
protected boolean requireSomePointInInterior
public AbstractPreparedPolygonContains(PreparedPolygon prepPoly)
prepPoly
- the PreparedPolygon to evaluateprotected boolean eval(Geometry geom)
geom
- the test geometryprotected abstract boolean fullTopologicalPredicate(Geometry geom)
geom
- the test geometry