PointGeometryUnion.h

00001 /**********************************************************************
00002  *
00003  * GEOS - Geometry Engine Open Source
00004  * http://geos.osgeo.org
00005  *
00006  * Copyright (C) 2011 Sandro Santilli <strk@keybit.net
00007  *
00008  * This is free software; you can redistribute and/or modify it under
00009  * the terms of the GNU Lesser General Public Licence as published
00010  * by the Free Software Foundation. 
00011  * See the COPYING file for more information.
00012  *
00013  **********************************************************************
00014  *
00015  * Last port: operation/union/PointGeometryUnion.java r320 (JTS-1.12)
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 // Forward declarations
00027 namespace geos {
00028     namespace geom {
00029         class GeometryFactory;
00030         class Geometry;
00031         class Puntal;
00032     }
00033 }
00034 
00035 namespace geos {
00036 namespace operation { // geos::operation
00037 namespace geounion {  // geos::operation::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   // Declared as non-copyable
00067   PointGeometryUnion(const PointGeometryUnion& other);
00068   PointGeometryUnion& operator=(const PointGeometryUnion& rhs);
00069 };
00070 
00071 } // namespace geos::operation::union
00072 } // namespace geos::operation
00073 } // namespace geos
00074 
00075 #endif

Generated on 10 Sep 2013 for GEOS by  doxygen 1.4.7