22#include <geos/export.h>
23#include <geos/geom/Geometry.h>
24#include <geos/geom/Dimension.h>
42std::unique_ptr<Geometry> GEOS_DLL
43HeuristicOverlay(
const Geometry* g0,
const Geometry* g1,
int opCode);
45class StructuredCollection {
49 StructuredCollection(
const Geometry* g)
50 : factory(g->getFactory())
59 StructuredCollection()
66 void readCollection(
const Geometry* g);
67 const Geometry* getPolyUnion()
const {
return poly_union.get(); }
68 const Geometry* getLineUnion()
const {
return line_union.get(); }
69 const Geometry* getPointUnion()
const {
return pt_union.get(); }
71 std::unique_ptr<Geometry> doUnion(
const StructuredCollection& a)
const;
72 std::unique_ptr<Geometry> doIntersection(
const StructuredCollection& a)
const;
73 std::unique_ptr<Geometry> doSymDifference(
const StructuredCollection& a)
const;
74 std::unique_ptr<Geometry> doDifference(
const StructuredCollection& a)
const;
75 std::unique_ptr<Geometry> doUnaryUnion()
const;
77 static void toVector(
const Geometry* g, std::vector<const Geometry*>& v);
78 void unionByDimension(
void);
83 const GeometryFactory* factory;
84 std::vector<const Geometry*> pts;
85 std::vector<const Geometry*> lines;
86 std::vector<const Geometry*> polys;
87 std::unique_ptr<Geometry> pt_union;
88 std::unique_ptr<Geometry> line_union;
89 std::unique_ptr<Geometry> poly_union;
Basic namespace for all GEOS functionalities.
Definition geos.h:39