/********************************************************************** * * GEOS - Geometry Engine Open Source * http://geos.osgeo.org * * Copyright (C) 2021 Paul Ramsey * * This is free software; you can redistribute and/or modify it under * the terms of the GNU Lesser General Public Licence as published * by the Free Software Foundation. * See the COPYING file for more information. * **********************************************************************/ #pragma once #include #include #include #include namespace geos { namespace geom { class CoordinateSequence; class Geometry; } } using geos::geom::Coordinate; using geos::geom::CoordinateSequence; using geos::geom::CoordinateSequenceFilter; using geos::geom::Geometry; namespace geos { namespace coverage { // geos::coverage class VertexRingCounter : public CoordinateSequenceFilter { public: VertexRingCounter(std::map& counts) : vertexCounts(counts) {}; bool isGeometryChanged() const override { return false; } bool isDone() const override { return false; } void filter_ro(const CoordinateSequence& seq, std::size_t i) override; static void count( std::vector& geoms, std::map& counts); private: std::map& vertexCounts; }; // VertexRingCounter } // geos::coverage } // geos