Coverage Report

Created: 2025-11-12 06:13

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/geos/include/geos/operation/relateng/EdgeSegmentOverlapAction.h
Line
Count
Source
1
/**********************************************************************
2
 *
3
 * GEOS - Geometry Engine Open Source
4
 * http://geos.osgeo.org
5
 *
6
 * Copyright (C) 2001-2002 Vivid Solutions 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: index/chain/MonotoneChainOverlapAction.java rev. 1.6 (JTS-1.10)
16
 *
17
 **********************************************************************/
18
19
#pragma once
20
21
#include <geos/export.h>
22
#include <geos/geom/LineSegment.h>
23
#include <geos/index/chain/MonotoneChainOverlapAction.h>
24
25
26
// Forward declarations
27
namespace geos {
28
namespace index {
29
namespace chain {
30
    class MonotoneChain;
31
}
32
}
33
namespace noding {
34
    class SegmentIntersector;
35
}
36
}
37
38
namespace geos {
39
namespace operation { // geos::operation
40
namespace relateng {  // geos::operation::relateng
41
42
/** \brief
43
 * The action for the internal iterator for performing
44
 * overlap queries on a MonotoneChain.
45
 */
46
class GEOS_DLL EdgeSegmentOverlapAction : public geos::index::chain::MonotoneChainOverlapAction {
47
    using MonotoneChain = geos::index::chain::MonotoneChain;
48
    using SegmentIntersector = geos::noding::SegmentIntersector;
49
50
private:
51
52
    SegmentIntersector& si;
53
54
55
public:
56
57
    EdgeSegmentOverlapAction(SegmentIntersector& p_si)
58
0
        : si(p_si)
59
0
        {}
60
61
    void overlap(
62
        const MonotoneChain& mc1, std::size_t start1,
63
        const MonotoneChain& mc2, std::size_t start2) override;
64
65
66
};
67
68
} // namespace geos::index::chain
69
} // namespace geos::index
70
} // namespace geos
71