GEOS 3.15.0dev
RepeatedPointRemover.h
1/**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.osgeo.org
5 *
6 * Copyright (C) 2019 Daniel Baston <dbaston@gmail.com>
7 *
8 * This is free software; you can redistribute and/or modify it under
9 * the terms of the GNU Lesser General Public Licence as published
10 * by the Free Software Foundation.
11 * See the COPYING file for more information.
12 *
13 **********************************************************************/
14
15#pragma once
16
17#include <geos/geom/CoordinateSequence.h>
18#include <geos/geom/Geometry.h>
19
20
21namespace geos {
22namespace operation {
23namespace valid {
24
28 class GEOS_DLL RepeatedPointRemover {
29
30 public:
31
41 static std::unique_ptr<geom::CoordinateSequence>
43 const geom::CoordinateSequence* seq,
44 double tolerance = 0.0);
45
46 static std::unique_ptr<geom::CoordinateSequence>
47 removeRepeatedAndInvalidPoints(
48 const geom::CoordinateSequence* seq,
49 double tolerance = 0.0);
50
51 static std::unique_ptr<geom::CoordinateSequence>
52 removeRepeatedOrInvalidPoints(
53 const geom::CoordinateSequence* seq,
54 double tolerance = 0.0) {
55 return removeRepeatedAndInvalidPoints(seq, tolerance);
56 };
57
58 static std::unique_ptr<geom::Geometry>
59 removeRepeatedPoints(
60 const geom::Geometry* geom,
61 double tolerance = 0.0);
62 };
63
64}
65}
66}
67
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:56
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:196
Definition RepeatedPointRemover.h:28
static std::unique_ptr< geom::CoordinateSequence > removeRepeatedPoints(const geom::CoordinateSequence *seq, double tolerance=0.0)
Basic namespace for all GEOS functionalities.
Definition geos.h:38