GEOS
3.4.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
include
geos
operation
overlay
validate
FuzzyPointLocator.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/overlay/validate/FuzzyPointLocator.java rev. 1.1 (JTS-1.10)
16
*
17
**********************************************************************/
18
19
#ifndef GEOS_OP_OVERLAY_FUZZYPOINTLOCATOR_H
20
#define GEOS_OP_OVERLAY_FUZZYPOINTLOCATOR_H
21
22
#include <geos/export.h>
23
#include <geos/algorithm/PointLocator.h>
// for composition
24
#include <geos/geom/Geometry.h>
// for auto_ptr visibility of dtor
25
#include <geos/geom/Location.h>
// for Location::Value enum
26
27
#include <vector>
28
#include <memory>
// for auto_ptr
29
30
#ifdef _MSC_VER
31
#pragma warning(push)
32
#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
33
#endif
34
35
// Forward declarations
36
namespace
geos {
37
namespace
geom {
38
class
Geometry;
39
class
Coordinate;
40
}
41
}
42
43
namespace
geos {
44
namespace
operation {
// geos::operation
45
namespace
overlay {
// geos::operation::overlay
46
namespace
validate {
// geos::operation::overlay::validate
47
58
class
GEOS_DLL
FuzzyPointLocator
{
59
60
public
:
61
62
FuzzyPointLocator
(
const
geom::Geometry
& geom,
double
nTolerance);
63
64
geom::Location::Value
getLocation(
const
geom::Coordinate
& pt);
65
66
private
:
67
68
const
geom::Geometry
& g;
69
70
double
tolerance;
71
72
algorithm::PointLocator
ptLocator;
73
74
std::auto_ptr<geom::Geometry> linework;
75
76
// this function has been obsoleted
77
std::auto_ptr<geom::Geometry> getLineWork(
const
geom::Geometry
& geom);
78
80
//
83
std::auto_ptr<geom::Geometry> extractLineWork(
const
geom::Geometry
& geom);
84
85
// Declare type as noncopyable
86
FuzzyPointLocator
(
const
FuzzyPointLocator
& other);
87
FuzzyPointLocator
& operator=(
const
FuzzyPointLocator
& rhs);
88
};
89
90
}
// namespace geos::operation::overlay::validate
91
}
// namespace geos::operation::overlay
92
}
// namespace geos::operation
93
}
// namespace geos
94
95
#ifdef _MSC_VER
96
#pragma warning(pop)
97
#endif
98
99
#endif // ndef GEOS_OP_OVERLAY_FUZZYPOINTLOCATOR_H
Generated on Fri Aug 7 2015 21:59:50 for GEOS by
1.8.2