Coverage Report

Created: 2026-03-20 06:27

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/geos/include/geos/noding/ArcNoder.h
Line
Count
Source
1
/**********************************************************************
2
 *
3
 * GEOS - Geometry Engine Open Source
4
 * http://geos.osgeo.org
5
 *
6
 * Copyright (C) 2025 ISciences, LLC
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/export.h>
18
#include <geos/noding/ArcIntersector.h>
19
#include <geos/noding/Noder.h>
20
21
namespace geos::noding {
22
class PathString;
23
}
24
25
namespace geos::noding {
26
27
class GEOS_DLL ArcNoder : public Noder {
28
29
public:
30
0
    ArcNoder() = default;
31
32
    explicit ArcNoder(ArcIntersector& intersector) :
33
0
        m_intersector(&intersector) {}
34
35
    ~ArcNoder() override;
36
37
0
    void setArcIntersector(ArcIntersector& arcIntersector) {
38
0
        m_intersector = &arcIntersector;
39
0
    }
40
41
    void computeNodes(const std::vector<SegmentString*>& segStrings) override;
42
43
    std::vector<std::unique_ptr<SegmentString>> getNodedSubstrings() override;
44
45
    virtual void computePathNodes(const std::vector<PathString*>& inputPaths) = 0;
46
47
    virtual std::vector<std::unique_ptr<PathString>> getNodedPaths() = 0;
48
49
protected:
50
    ArcIntersector* m_intersector;
51
};
52
53
}