18#include <geos/geom/Location.h>
19#include <geos/export.h>
39class GEOS_DLL TopologyPredicate {
44 virtual ~TopologyPredicate() {};
51 virtual std::string name()
const = 0;
57 virtual void finish() = 0;
64 virtual bool isKnown()
const = 0;
72 virtual bool value()
const = 0;
90 virtual bool requireSelfNoding()
const {
106 virtual bool requireInteraction()
const {
123 virtual bool requireCovers(
bool isSourceA) {
140 virtual bool requireExteriorCheck(
bool isSourceA)
const {
155 virtual void init(
int dimA,
int dimB) {
191 virtual void updateDimension(
Location locA,
Location locB,
int dimension) = 0;
195 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