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