GEOS
3.12.0
include
geos
simplify
RingHullIndex.h
1
/**********************************************************************
2
*
3
* GEOS - Geometry Engine Open Source
4
* http://geos.osgeo.org
5
*
6
* Copyright (C) 2021 Paul Ramsey <pramsey@cleverelephant.ca>
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/simplify/RingHull.h>
18
19
20
namespace
geos
{
21
namespace
geom {
22
class
Envelope
;
23
}
24
}
25
26
namespace
geos
{
27
namespace
simplify {
// geos::simplify
28
29
30
class
RingHullIndex
31
{
32
private
:
33
34
std::vector<const RingHull*> hulls;
35
bool
m_enabled;
36
37
public
:
38
39
RingHullIndex()
40
: m_enabled(true)
41
{};
42
43
bool
enabled(
void
)
const
{
return
m_enabled; };
44
void
enabled(
bool
p_enabled) { m_enabled = p_enabled; };
45
void
add(
const
RingHull* ringHull);
46
std::vector<const RingHull*> query(
const
geos::geom::Envelope
& queryEnv)
const
;
47
std::size_t size()
const
;
48
49
50
};
// RingHullIndex
51
52
53
}
// geos::simplify
54
}
// geos
55
geos
Basic namespace for all GEOS functionalities.
Definition:
Angle.h:25
geos::geom::Envelope
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition:
Envelope.h:58
Generated by
1.8.20