GEOS
3.8.1
include
geos
operation
distance
ConnectedElementLocationFilter.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/distance/ConnectedElementLocationFilter.java rev. 1.4 (JTS-1.10)
16
*
17
**********************************************************************/
18
19
#ifndef GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H
20
#define GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H
21
22
#include <geos/export.h>
23
24
#include <geos/geom/GeometryFilter.h>
// for inheritance
25
#include <geos/operation/distance/GeometryLocation.h>
26
27
#include <memory>
28
#include <vector>
29
30
// Forward declarations
31
namespace
geos
{
32
namespace
geom {
33
class
Geometry;
34
}
35
}
36
37
38
namespace
geos
{
39
namespace
operation {
// geos::operation
40
namespace
distance {
// geos::operation::distance
41
49
class
GEOS_DLL
ConnectedElementLocationFilter
:
public
geom::GeometryFilter
{
50
private
:
51
52
std::vector<std::unique_ptr<GeometryLocation>> locations;
53
ConnectedElementLocationFilter
() =
default
;
54
ConnectedElementLocationFilter
(
const
ConnectedElementLocationFilter
&) =
delete
;
55
ConnectedElementLocationFilter
& operator=(
const
ConnectedElementLocationFilter
&) =
delete
;
56
public
:
65
static
std::vector<std::unique_ptr<GeometryLocation>> getLocations(
const
geom::Geometry
* geom);
66
67
void
filter_ro(
const
geom::Geometry
* geom)
override
;
68
void
filter_rw(
geom::Geometry
* geom)
override
;
69
};
70
71
72
}
// namespace geos::operation::distance
73
}
// namespace geos::operation
74
}
// namespace geos
75
76
#endif // GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H
77
geos
Basic namespace for all GEOS functionalities.
Definition:
IndexedNestedRingTester.h:25
geos::geom::Geometry
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition:
Geometry.h:188
geos::operation::distance::ConnectedElementLocationFilter
A ConnectedElementPointFilter extracts a single point from each connected element in a Geometry (e....
Definition:
ConnectedElementLocationFilter.h:49
geos::geom::GeometryFilter
Geometry classes support the concept of applying a Geometry filter to the Geometry.
Definition:
GeometryFilter.h:47
Generated by
1.8.17