Coverage Report

Created: 2025-12-14 06:52

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/geos/include/geos/dissolve/DissolveHalfEdge.h
Line
Count
Source
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
24
namespace geos {
25
namespace geom {
26
    class CoordinateXYZM;
27
}
28
namespace edgegraph {
29
}
30
}
31
32
33
namespace geos {      // geos.
34
namespace dissolve {  // geos.dissolve
35
36
37
class GEOS_DLL DissolveHalfEdge : public edgegraph::MarkHalfEdge {
38
39
40
private:
41
42
    bool m_isStart = false;
43
44
45
public:
46
47
    DissolveHalfEdge(const geom::CoordinateXYZM& orig)
48
0
        : edgegraph::MarkHalfEdge(orig)
49
0
        , m_isStart(false)
50
0
    {}
51
52
    /**
53
     * Tests whether this edge is the starting segment
54
     * in a LineString being dissolved.
55
     *
56
     * @return true if this edge is a start segment
57
     */
58
    bool isStart();
59
60
    /**
61
     * Sets this edge to be the start segment of an input LineString.
62
     */
63
    void setStart();
64
65
};
66
67
} // namespace geos.dissolve
68
} // namespace geos
69