00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GEOS_OP_UNION_POINTGEOMETRYUNION_H
00020 #define GEOS_OP_UNION_POINTGEOMETRYUNION_H
00021 #include <geos/export.h>
00022
00023 #include <vector>
00024 #include <algorithm>
00025
00026
00027 namespace geos {
00028 namespace geom {
00029 class GeometryFactory;
00030 class Geometry;
00031 class Puntal;
00032 }
00033 }
00034
00035 namespace geos {
00036 namespace operation {
00037 namespace geounion {
00038
00047 class GEOS_DLL PointGeometryUnion
00048 {
00049 public:
00050
00051 static std::auto_ptr<geom::Geometry> Union(
00052 const geom::Puntal& pointGeom,
00053 const geom::Geometry& otherGeom);
00054
00055
00056 PointGeometryUnion(const geom::Puntal& pointGeom,
00057 const geom::Geometry& otherGeom);
00058
00059 std::auto_ptr<geom::Geometry> Union() const;
00060
00061 private:
00062 const geom::Geometry& pointGeom;
00063 const geom::Geometry& otherGeom;
00064 const geom::GeometryFactory* geomFact;
00065
00066
00067 PointGeometryUnion(const PointGeometryUnion& other);
00068 PointGeometryUnion& operator=(const PointGeometryUnion& rhs);
00069 };
00070
00071 }
00072 }
00073 }
00074
00075 #endif