85class GEOS_DLL UnaryUnionOp
90 static std::auto_ptr<geom::Geometry> Union(
const T& geoms)
92 UnaryUnionOp op(geoms);
97 static std::auto_ptr<geom::Geometry> Union(
const T& geoms,
100 UnaryUnionOp op(geoms, geomFact);
106 UnaryUnionOp op(
geom);
113 geomFact(&geomFactIn)
119 UnaryUnionOp(
const T& geoms)
128 geomFact(
geom.getFactory())
143 std::auto_ptr<geom::Geometry>
Union();
147 template <
typename T>
148 void extractGeoms(
const T& geoms)
150 for (
typename T::const_iterator
165 if ( ! geomFact ) geomFact =
geom.getFactory();
167 GeometryExtracter::extract<geom::Polygon>(
geom, polygons);
168 GeometryExtracter::extract<geom::LineString>(
geom, lines);
169 GeometryExtracter::extract<geom::Point>(
geom, points);
184 std::auto_ptr<geom::Geometry> unionNoOpt(
const geom::Geometry& g0)
189 if ( ! empty.get() ) {
193 return BinaryOp(&g0, empty.get(), overlay::overlayOp(OverlayOp::opUNION));
205 std::auto_ptr<geom::Geometry> unionWithNull(std::auto_ptr<geom::Geometry> g0,
206 std::auto_ptr<geom::Geometry> g1);
208 std::vector<const geom::Polygon*> polygons;
209 std::vector<const geom::LineString*> lines;
210 std::vector<const geom::Point*> points;
212 const geom::GeometryFactory* geomFact;
214 std::auto_ptr<geom::Geometry> empty;