GEOS 3.15.0dev
ArcIntersectionAdder.h
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/algorithm/CircularArcIntersector.h>
19#include <geos/noding/ArcIntersector.h>
20
21namespace geos::noding {
22
23class GEOS_DLL ArcIntersectionAdder : public ArcIntersector {
24
25public:
26 explicit ArcIntersectionAdder(algorithm::CircularArcIntersector& cai) :
27 m_intersector(cai) {}
28
29 void processIntersections(ArcString& e0, std::size_t segIndex0, ArcString& e1, std::size_t segIndex1) override;
30
31 void processIntersections(ArcString& e0, std::size_t segIndex0, SegmentString& e1, std::size_t segIndex1) override;
32
33 void processIntersections(SegmentString& e0, std::size_t segIndex0, SegmentString& e1, std::size_t segIndex1) override;
34
35private:
36 algorithm::CircularArcIntersector& m_intersector;
37};
38
39}
Classes to compute nodings for arrangements of line segments and line segment sequences.
Definition CoverageCleaner.h:42