GEOS
3.12.0
include
geos
geomgraph
index
geomgraph/index/MonotoneChain.h
1
/**********************************************************************
2
*
3
* GEOS - Geometry Engine Open Source
4
* http://geos.osgeo.org
5
*
6
* Copyright (C) 2005-2006 Refractions Research Inc.
7
* Copyright (C) 2001-2002 Vivid Solutions Inc.
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
* Last port: geomgraph/index/MonotoneChain.java rev. 1.3 (JTS-1.7)
17
*
18
**********************************************************************/
19
20
#pragma once
21
22
23
#include <geos/export.h>
24
#include <geos/geomgraph/index/SweepLineEventObj.h>
// for inheritance
25
#include <geos/geomgraph/index/MonotoneChainEdge.h>
// for inline
26
#include <geos/geomgraph/index/MonotoneChain.h>
27
28
// Forward declarations
29
namespace
geos
{
30
namespace
geomgraph {
31
namespace
index {
32
class
SegmentIntersector;
33
}
34
}
35
}
36
37
namespace
geos
{
38
namespace
geomgraph {
// geos::geomgraph
39
namespace
index {
// geos::geomgraph::index
40
44
class
GEOS_DLL
MonotoneChain
:
public
SweepLineEventOBJ {
45
private
:
46
MonotoneChainEdge
* mce;
47
std::size_t chainIndex;
48
49
MonotoneChain
(
const
MonotoneChain
& other) =
delete
;
50
MonotoneChain
& operator=(
const
MonotoneChain
& rhs) =
delete
;
51
52
public
:
53
54
MonotoneChain
(
MonotoneChainEdge
* newMce, std::size_t newChainIndex):
55
mce(newMce),
56
chainIndex(newChainIndex)
57
{}
58
59
~
MonotoneChain
()
override
{}
60
61
void
62
computeIntersections(
MonotoneChain
* mc,
SegmentIntersector
* si)
63
{
64
mce->computeIntersectsForChain(chainIndex, *(mc->mce), mc->chainIndex, *si);
65
}
66
};
67
68
69
}
// namespace geos.geomgraph.index
70
}
// namespace geos.geomgraph
71
}
// namespace geos
72
geos
Basic namespace for all GEOS functionalities.
Definition:
Angle.h:25
geos::geomgraph::index::MonotoneChain
Definition:
geomgraph/index/MonotoneChain.h:44
geos::geomgraph::index::SegmentIntersector
Computes the intersection of line segments, and adds the intersection to the edges containing the seg...
Definition:
geomgraph/index/SegmentIntersector.h:46
geos::geomgraph::index::MonotoneChainEdge
MonotoneChains are a way of partitioning the segments of an edge to allow for fast searching of inter...
Definition:
MonotoneChainEdge.h:45
Generated by
1.8.20