GEOS
3.6.2
|
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 PrecisionReducerCoordinateOperation(PrecisionReducerCoordinateOperation const&); /*= delete*/ 00047 PrecisionReducerCoordinateOperation& operator=(PrecisionReducerCoordinateOperation const&); /*= delete*/ 00048 00049 public: 00050 00051 PrecisionReducerCoordinateOperation( const geom::PrecisionModel& pm, 00052 bool doRemoveCollapsed ) 00053 : 00054 targetPM(pm), 00055 removeCollapsed(doRemoveCollapsed) 00056 {} 00057 00059 // 00061 geom::CoordinateSequence* edit(const geom::CoordinateSequence *coordinates, 00062 const geom::Geometry *geom); 00063 }; 00064 00065 } // namespace geos.precision 00066 } // namespace geos 00067 00068 #endif // GEOS_PRECISION_PRECISIONREDUCERCOORDINATEOPERATION_H 00069