GEOS 3.15.0dev
SimpleNoder.h
1/**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.osgeo.org
5 *
6 * Copyright (C) 2006 Refractions Research Inc.
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 * Last port: noding/SimpleNoder.java rev. 1.7 (JTS-1.9)
16 *
17 **********************************************************************/
18
19#pragma once
20
21#include <geos/export.h>
22
23#include <vector>
24
25#include <geos/noding/ArcNoder.h>
26
27// Forward declarations
28namespace geos {
29namespace noding {
30class PathString;
31}
32}
33
34namespace geos {
35namespace noding { // geos.noding
36
46class GEOS_DLL SimpleNoder: public ArcNoder {
47private:
48 std::vector<PathString*> nodedSegStrings;
49 void computeIntersects(PathString& e0, PathString& e1);
50
51public:
52
53 using ArcNoder::ArcNoder;
54
55 void computePathNodes(const std::vector<PathString*>& inputSegmentStrings) override;
56
57 std::vector<std::unique_ptr<PathString>> getNodedPaths() override;
58
59private:
60 std::vector<PathString*> m_pathStrings;
61};
62
63} // namespace geos.noding
64} // namespace geos
65
Definition PathString.h:31
Nodes a set of SegmentStrings and/or ArcStrings by performing a brute-force comparison of every segme...
Definition SimpleNoder.h:46
Basic namespace for all GEOS functionalities.
Definition geos.h:38