GEOS
3.9.0
include
geos
operation
overlay
EdgeSetNoder.h
1
/**********************************************************************
2
*
3
* GEOS - Geometry Engine Open Source
4
* http://geos.osgeo.org
5
*
6
* Copyright (C) 2006 Refractions Research 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: operation/overlay/EdgeSetNoder.java rev. 1.12 (JTS-1.10)
16
*
17
**********************************************************************/
18
19
#ifndef GEOS_OP_OVERLAY_EDGESETNODER_H
20
#define GEOS_OP_OVERLAY_EDGESETNODER_H
21
22
#include <geos/export.h>
23
24
#include <vector>
25
26
// Forward declarations
27
namespace
geos
{
28
namespace
geomgraph {
29
class
Edge;
30
}
31
namespace
algorithm {
32
class
LineIntersector;
33
}
34
}
35
36
namespace
geos
{
37
namespace
operation {
// geos::operation
38
namespace
overlay {
// geos::operation::overlay
39
47
class
GEOS_DLL
EdgeSetNoder
{
48
private
:
49
algorithm::LineIntersector
* li;
50
std::vector<geomgraph::Edge*>* inputEdges;
51
52
EdgeSetNoder
(
const
EdgeSetNoder
&) =
delete
;
53
EdgeSetNoder
& operator=(
const
EdgeSetNoder
&) =
delete
;
54
55
public
:
56
EdgeSetNoder
(
algorithm::LineIntersector
* newLi)
57
:
58
li(newLi),
59
inputEdges(
new
std::vector<geomgraph::Edge*>())
60
{}
61
62
~
EdgeSetNoder
()
63
{
64
delete
inputEdges;
// TODO: avoid heap allocation
65
}
66
67
void
addEdges(std::vector<geomgraph::Edge*>* edges);
68
std::vector<geomgraph::Edge*>* getNodedEdges();
69
};
70
71
72
}
// namespace geos::operation::overlay
73
}
// namespace geos::operation
74
}
// namespace geos
75
76
#endif // ndef GEOS_OP_OVERLAY_EDGESETNODER_H
geos::operation::overlay::EdgeSetNoder
Nodes a set of edges.
Definition:
EdgeSetNoder.h:47
geos
Basic namespace for all GEOS functionalities.
Definition:
IndexedNestedRingTester.h:26
geos::algorithm::LineIntersector
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition:
LineIntersector.h:49
Generated by
1.8.20