20 #ifndef GEOS_GEOM_PREP_ABSTRACTPREPAREDPOLYGONCONTAINS_H
21 #define GEOS_GEOM_PREP_ABSTRACTPREPAREDPOLYGONCONTAINS_H
23 #include <geos/geom/prep/PreparedPolygonPredicate.h>
32 class PreparedPolygon;
65 class AbstractPreparedPolygonContains :
public PreparedPolygonPredicate {
68 bool hasSegmentIntersection;
69 bool hasProperIntersection;
70 bool hasNonProperIntersection;
72 bool isProperIntersectionImpliesNotContainedSituation(
const geom::Geometry* testGeom);
79 bool isSingleShell(
const geom::Geometry& geom);
81 void findAndClassifyIntersections(
const geom::Geometry* geom);
99 bool eval(
const geom::Geometry* geom);
121 AbstractPreparedPolygonContains(
const PreparedPolygon*
const p_prepPoly)
123 hasSegmentIntersection(false),
124 hasProperIntersection(false),
125 hasNonProperIntersection(false),
129 AbstractPreparedPolygonContains(
const PreparedPolygon*
const p_prepPoly,
bool p_requireSomePointInInterior)
131 hasSegmentIntersection(false),
132 hasProperIntersection(false),
133 hasNonProperIntersection(false),
137 ~AbstractPreparedPolygonContains()
override
146 #endif // GEOS_GEOM_PREP_ABSTRACTPREPAREDPOLYGONCONTAINS_H