GEOS
3.3.3
Main Page
Related Pages
Namespaces
Classes
Files
File List
include
geos
index
SpatialIndex.h
1
/**********************************************************************
2
* $Id: SpatialIndex.h 2556 2009-06-06 22:22:28Z strk $
3
*
4
* GEOS - Geometry Engine Open Source
5
* http://geos.refractions.net
6
*
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_INDEX_SPATIALINDEX_H
17
#define GEOS_INDEX_SPATIALINDEX_H
18
19
#include <geos/export.h>
20
21
#include <vector>
22
23
// Forward declarations
24
namespace
geos {
25
namespace
geom {
26
class
Envelope;
27
}
28
namespace
index {
29
class
ItemVisitor;
30
}
31
}
32
33
namespace
geos {
34
namespace
index {
35
48
class
GEOS_DLL
SpatialIndex
{
49
public
:
50
51
virtual
~
SpatialIndex
() {}
52
65
virtual
void
insert(
const
geom::Envelope
*itemEnv,
void
*item) = 0;
66
76
//virtual std::vector<void*>* query(const geom::Envelope *searchEnv)=0;
77
virtual
void
query(
const
geom::Envelope
* searchEnv, std::vector<void*>&) = 0;
78
89
virtual
void
query(
const
geom::Envelope
*searchEnv,
ItemVisitor
& visitor) = 0;
90
98
virtual
bool
remove
(
const
geom::Envelope
* itemEnv,
void
* item) = 0;
99
100
};
101
102
103
}
// namespace geos.index
104
}
// namespace geos
105
106
#endif // GEOS_INDEX_SPATIALINDEX_H
107
Generated on Thu Mar 13 2014 09:55:44 for GEOS by
1.8.1.2