18#include <geos/geom/Location.h>
19#include <geos/export.h>
41class GEOS_DLL TopologyPredicate {
46 virtual ~TopologyPredicate() {};
53 virtual std::string name()
const = 0;
59 virtual void finish() = 0;
66 virtual bool isKnown()
const = 0;
74 virtual bool value()
const = 0;
92 virtual bool requireSelfNoding()
const {
108 virtual bool requireInteraction()
const {
125 virtual bool requireCovers(
bool isSourceA) {
142 virtual bool requireExteriorCheck(
bool isSourceA)
const {
157 virtual void init(
int dimA,
int dimB) {
193 virtual void updateDimension(Location locA, Location locB,
int dimension) = 0;
197 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