• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List

PrecisionReducerCoordinateOperation.h

00001 /**********************************************************************
00002  *
00003  * GEOS - Geometry Engine Open Source
00004  * http://geos.osgeo.org
00005  *
00006  * Copyright (C) 2012 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: precision/PrecisionreducerCoordinateOperation.java r591 (JTS-1.12)
00016  *
00017  **********************************************************************/
00018 
00019 #ifndef GEOS_PRECISION_PRECISIONREDUCERCOORDINATEOPERATION_H
00020 #define GEOS_PRECISION_PRECISIONREDUCERCOORDINATEOPERATION_H
00021 
00022 #include <geos/geom/util/CoordinateOperation.h>
00023 
00024 // Forward declarations
00025 namespace geos {
00026   namespace geom { 
00027     class PrecisionModel;
00028     class CoordinateSequence;
00029     class Geometry;
00030   }
00031 }
00032 
00033 namespace geos {
00034 namespace precision { // geos.precision
00035 
00036 class PrecisionReducerCoordinateOperation :
00037                 public geom::util::CoordinateOperation
00038 {
00039 using CoordinateOperation::edit;
00040 private:
00041 
00042         const geom::PrecisionModel& targetPM;
00043 
00044         bool removeCollapsed;
00045 
00046 public:
00047 
00048         PrecisionReducerCoordinateOperation( const geom::PrecisionModel& pm,
00049                                        bool doRemoveCollapsed )
00050       :
00051       targetPM(pm),
00052       removeCollapsed(doRemoveCollapsed)
00053   {}
00054 
00056   //
00058         geom::CoordinateSequence* edit(const geom::CoordinateSequence *coordinates,
00059                                  const geom::Geometry *geom);
00060 };
00061 
00062 } // namespace geos.precision
00063 } // namespace geos
00064 
00065 #endif // GEOS_PRECISION_PRECISIONREDUCERCOORDINATEOPERATION_H
00066 

Generated on Wed May 22 2013 20:21:17 for GEOS by  doxygen 1.7.1