GEOS
3.5.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
include
geos
operation
linemerge
EdgeString.h
1
/**********************************************************************
2
*
3
* GEOS - Geometry Engine Open Source
4
* http://geos.osgeo.org
5
*
6
* Copyright (C) 2011 Sandro Santilli <strk@keybit.net>
7
* Copyright (C) 2006 Refractions Research Inc.
8
* Copyright (C) 2001-2002 Vivid Solutions Inc.
9
*
10
* This is free software; you can redistribute and/or modify it under
11
* the terms of the GNU Lesser General Public Licence as published
12
* by the Free Software Foundation.
13
* See the COPYING file for more information.
14
*
15
**********************************************************************
16
*
17
* Last port: operation/linemerge/EdgeString.java r378 (JTS-1.12)
18
*
19
**********************************************************************/
20
21
#ifndef GEOS_OP_LINEMERGE_EDGESTRING_H
22
#define GEOS_OP_LINEMERGE_EDGESTRING_H
23
24
#include <geos/export.h>
25
#include <vector>
26
27
#ifdef _MSC_VER
28
#pragma warning(push)
29
#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
30
#endif
31
32
// Forward declarations
33
namespace
geos {
34
namespace
geom {
35
class
GeometryFactory;
36
class
CoordinateSequence;
37
class
LineString;
38
}
39
namespace
operation {
40
namespace
linemerge {
41
class
LineMergeDirectedEdge
;
42
}
43
}
44
}
45
46
namespace
geos {
47
namespace
operation {
// geos::operation
48
namespace
linemerge {
// geos::operation::linemerge
49
55
class
GEOS_DLL
EdgeString
{
56
private
:
57
const
geom::GeometryFactory
*factory;
58
std::vector<LineMergeDirectedEdge*> directedEdges;
59
geom::CoordinateSequence
*coordinates;
60
geom::CoordinateSequence
* getCoordinates();
61
public
:
62
/*
63
* \brief
64
* Constructs an EdgeString with the given factory used to
65
* convert this EdgeString to a LineString
66
*/
67
EdgeString
(
const
geom::GeometryFactory
*newFactory);
68
69
~
EdgeString
();
70
74
void
add(
LineMergeDirectedEdge
*directedEdge);
75
76
/*
77
* Converts this EdgeString into a LineString.
78
*/
79
geom::LineString
* toLineString();
80
};
81
82
}
// namespace geos::operation::linemerge
83
}
// namespace geos::operation
84
}
// namespace geos
85
86
#ifdef _MSC_VER
87
#pragma warning(pop)
88
#endif
89
90
#endif // GEOS_OP_LINEMERGE_EDGESTRING_H
Generated on Tue Feb 23 2016 23:18:53 for GEOS by
1.8.2