18#include <geos/geom/Location.h>
19#include <geos/operation/relateng/TopologyPredicate.h>
20#include <geos/export.h>
37class GEOS_DLL BasicPredicate :
public TopologyPredicate {
44 static constexpr int UNKNOWN = -1;
45 static constexpr int FALSE = 0;
46 static constexpr int TRUE = 1;
48 int m_value = UNKNOWN;
50 static bool isKnown(
int val);
52 static bool toBoolean(
int val);
54 static int toValue(
bool val);
65 void setValue(
bool val);
67 void setValue(
int val);
69 void setValueIf(
bool val,
bool cond);
71 void require(
bool cond);
73 using TopologyPredicate::requireCovers;
74 void requireCovers(
const Envelope& a,
const Envelope& b);
87 static bool isIntersection(Location locA, Location locB);
89 std::string name()
const override = 0;
91 void finish()
override = 0;
93 bool isKnown()
const override;
95 bool value()
const override;
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