19 #ifndef GEOS_OP_RELATE_RELATEOP_H
20 #define GEOS_OP_RELATE_RELATEOP_H
22 #include <geos/export.h>
24 #include <geos/geom/IntersectionMatrix.h>
25 #include <geos/operation/GeometryGraphOperation.h>
26 #include <geos/operation/relate/RelateComputer.h>
31 class BoundaryNodeRule;
57 class GEOS_DLL RelateOp:
public GeometryGraphOperation {
72 static std::unique_ptr<geom::IntersectionMatrix> relate(
73 const geom::Geometry* a,
74 const geom::Geometry* b);
88 static std::unique_ptr<geom::IntersectionMatrix> relate(
89 const geom::Geometry* a,
90 const geom::Geometry* b,
91 const algorithm::BoundaryNodeRule& boundaryNodeRule);
100 RelateOp(
const geom::Geometry* g0,
101 const geom::Geometry* g1);
111 RelateOp(
const geom::Geometry* g0,
112 const geom::Geometry* g1,
113 const algorithm::BoundaryNodeRule& boundaryNodeRule);
115 ~RelateOp()
override =
default;
125 std::unique_ptr<geom::IntersectionMatrix> getIntersectionMatrix();
129 RelateComputer relateComp;
137 #endif // GEOS_OP_RELATE_RELATEOP_H