/********************************************************************** * * GEOS - Geometry Engine Open Source * http://geos.osgeo.org * * Copyright (C) 2011 Sandro Santilli #include #include // Forward declarations namespace geos { namespace geom { class GeometryFactory; class Geometry; class Puntal; } } namespace geos { namespace operation { // geos::operation namespace geounion { // geos::operation::geounion /** * \brief * Computes the union of a {@link Puntal} geometry with * another arbitrary {@link Geometry}. * * Does not copy any component geometries. * */ class GEOS_DLL PointGeometryUnion { public: static std::auto_ptr Union( const geom::Puntal& pointGeom, const geom::Geometry& otherGeom); PointGeometryUnion(const geom::Puntal& pointGeom, const geom::Geometry& otherGeom); std::auto_ptr Union() const; private: const geom::Geometry& pointGeom; const geom::Geometry& otherGeom; const geom::GeometryFactory* geomFact; // Declared as non-copyable PointGeometryUnion(const PointGeometryUnion& other); PointGeometryUnion& operator=(const PointGeometryUnion& rhs); }; } // namespace geos::operation::union } // namespace geos::operation } // namespace geos #endif