GEOS 3.15.0dev
DissolveHalfEdge.h
1/**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.osgeo.org
5 *
6 * Copyright (c) 2025 Martin Davis
7 * Copyright (C) 2025 Paul Ramsey <pramsey@cleverelephant.ca>
8 *
9 * This is free software; you can redistribute and/or modify it under
10 * the terms of the GNU Lesser General Public Licence as published
11 * by the Free Software Foundation.
12 * See the COPYING file for more information.
13 *
14 **********************************************************************/
15
16#pragma once
17
18#include <geos/edgegraph/MarkHalfEdge.h>
19#include <geos/export.h>
20
21
22
23// Forward declarations
24namespace geos {
25namespace geom {
26 class CoordinateXYZM;
27}
28namespace edgegraph {
29}
30}
31
32
33namespace geos { // geos.
34namespace dissolve { // geos.dissolve
35
36
37class GEOS_DLL DissolveHalfEdge : public edgegraph::MarkHalfEdge {
38
39
40private:
41
42 bool m_isStart = false;
43
44
45public:
46
47 DissolveHalfEdge(const geom::CoordinateXYZM& orig)
48 : edgegraph::MarkHalfEdge(orig)
49 , m_isStart(false)
50 {}
51
58 bool isStart();
59
63 void setStart();
64
65};
66
67} // namespace geos.dissolve
68} // namespace geos
69
Basic namespace for all GEOS functionalities.
Definition geos.h:38