GEOS 3.11.1
EdgeMerger.h
1/**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.osgeo.org
5 *
6 * Copyright (C) 2020 Paul Ramsey <pramsey@cleverelephant.ca>
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/operation/overlayng/OverlayLabel.h>
18#include <geos/operation/overlayng/EdgeKey.h>
19#include <geos/operation/overlayng/Edge.h>
20#include <geos/export.h>
21
22#include <vector>
23#include <map>
24
25
26// Forward declarations
27namespace geos {
28namespace geom {
29class Coordinate;
30}
31namespace operation {
32namespace overlayng {
33class Edge;
34class EdgeKey;
35}
36}
37}
38
39namespace geos { // geos.
40namespace operation { // geos.operation
41namespace overlayng { // geos.operation.overlayng
42
70class GEOS_DLL EdgeMerger {
71
72public:
73
74 static std::vector<Edge*> merge(std::vector<Edge*>& edges);
75
76};
77
78
79} // namespace geos.operation.overlayng
80} // namespace geos.operation
81} // namespace geos
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:58
Definition: EdgeMerger.h:70
Basic namespace for all GEOS functionalities.
Definition: geos.h:39