GEOS
3.9.1
include
geos
geom
util
LinearComponentExtracter.h
1
/**********************************************************************
2
*
3
* GEOS - Geometry Engine Open Source
4
* http://geos.osgeo.org
5
*
6
* Copyright (C) 2001-2002 Vivid Solutions Inc.
7
* Copyright (C) 2006 Refractions Research 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
#ifndef GEOS_GEOM_UTIL_LINEARCOMPONENTEXTRACTER_H
17
#define GEOS_GEOM_UTIL_LINEARCOMPONENTEXTRACTER_H
18
19
20
#include <geos/export.h>
21
#include <vector>
22
23
#include <geos/geom/GeometryComponentFilter.h>
24
#include <geos/geom/Geometry.h>
// to be removed when we have the .inl
25
#include <geos/geom/LineString.h>
// to be removed when we have the .inl
26
27
namespace
geos
{
28
namespace
geom {
// geos.geom
29
namespace
util {
// geos.geom.util
30
34
class
GEOS_DLL
LinearComponentExtracter
:
public
GeometryComponentFilter
{
35
36
private
:
37
38
LineString::ConstVect
& comps;
39
40
// Declare type as noncopyable
41
LinearComponentExtracter
(
const
LinearComponentExtracter
& other) =
delete
;
42
LinearComponentExtracter
& operator=(
const
LinearComponentExtracter
& rhs) =
delete
;
43
44
public
:
52
static
void
getLines
(
const
Geometry
& geom, std::vector<const LineString*>& ret);
57
LinearComponentExtracter
(std::vector<const LineString*>& newComps);
58
59
void
filter_rw
(
Geometry
* geom)
override
;
60
61
void
filter_ro(
const
Geometry
* geom)
override
;
62
63
};
64
65
}
// namespace geos.geom.util
66
}
// namespace geos.geom
67
}
// namespace geos
68
69
#endif
geos
Basic namespace for all GEOS functionalities.
Definition:
IndexedNestedRingTester.h:26
geos::geom::LineString::ConstVect
std::vector< const LineString * > ConstVect
A vector of const LineString pointers.
Definition:
LineString.h:75
geos::geom::GeometryComponentFilter
Definition:
GeometryComponentFilter.h:43
geos::geom::util::LinearComponentExtracter::filter_rw
void filter_rw(Geometry *geom) override
geos::geom::Geometry
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition:
Geometry.h:188
geos::geom::util::LinearComponentExtracter::LinearComponentExtracter
LinearComponentExtracter(std::vector< const LineString * > &newComps)
geos::geom::util::LinearComponentExtracter
Definition:
LinearComponentExtracter.h:34
geos::geom::util::LinearComponentExtracter::getLines
static void getLines(const Geometry &geom, std::vector< const LineString * > &ret)
Generated by
1.8.20