GEOS
3.4.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
include
geos
operation
GeometryGraphOperation.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: operation/GeometryGraphOperation.java rev. 1.18 (JTS-1.10)
17
*
18
**********************************************************************/
19
20
#ifndef GEOS_OPERATION_GEOMETRYGRAPHOPERATION_H
21
#define GEOS_OPERATION_GEOMETRYGRAPHOPERATION_H
22
23
#include <geos/export.h>
24
#include <geos/algorithm/LineIntersector.h>
// for composition
25
26
#include <vector>
27
28
#ifdef _MSC_VER
29
#pragma warning(push)
30
#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
31
#endif
32
33
// Forward declarations
34
namespace
geos {
35
namespace
algorithm {
36
class
BoundaryNodeRule;
37
}
38
namespace
geom {
39
class
Geometry;
40
class
PrecisionModel;
41
}
42
namespace
geomgraph {
43
class
GeometryGraph;
44
}
45
}
46
47
48
namespace
geos {
49
namespace
operation {
// geos.operation
50
52
class
GEOS_DLL
GeometryGraphOperation
{
53
54
public
:
55
56
GeometryGraphOperation
(
const
geom::Geometry
*g0,
57
const
geom::Geometry
*g1);
58
59
GeometryGraphOperation
(
const
geom::Geometry
*g0,
60
const
geom::Geometry
*g1,
61
const
algorithm::BoundaryNodeRule
& boundaryNodeRule);
62
63
GeometryGraphOperation
(
const
geom::Geometry
*g0);
64
65
virtual
~
GeometryGraphOperation
();
66
67
const
geom::Geometry
* getArgGeometry(
unsigned
int
i)
const
;
68
69
protected
:
70
71
algorithm::LineIntersector
li;
72
73
const
geom::PrecisionModel
* resultPrecisionModel;
74
78
std::vector<geomgraph::GeometryGraph*>
arg
;
79
80
void
setComputationPrecision(
const
geom::PrecisionModel
* pm);
81
};
82
83
}
// namespace geos.operation
84
}
// namespace geos
85
86
#ifdef _MSC_VER
87
#pragma warning(pop)
88
#endif
89
90
#endif
Generated on Fri Mar 6 2015 15:59:26 for GEOS by
1.8.2