18#include <geos/geom/Location.h>
19#include <geos/export.h>
36class GEOS_DLL TopologyPredicate {
43 virtual ~TopologyPredicate() {};
50 virtual std::string name()
const = 0;
56 virtual void finish() = 0;
63 virtual bool isKnown()
const = 0;
71 virtual bool value()
const = 0;
89 virtual bool requireSelfNoding()
const {
105 virtual bool requireInteraction()
const {
122 virtual bool requireCovers(
bool isSourceA) {
139 virtual bool requireExteriorCheck(
bool isSourceA)
const {
154 virtual void init(
int dimA,
int dimB) {
167 virtual void init(
const Envelope& envA,
const Envelope& envB)
190 virtual void updateDimension(Location locA, Location locB,
int dimension) = 0;
194 operator<<(std::ostream& os,
const TopologyPredicate& ns)
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
Location
Constants representing the location of a point relative to a geometry.
Definition Location.h:32
Basic namespace for all GEOS functionalities.
Definition geos.h:39