libspatialindex API Reference
(git-trunk)
ObjVisitor.cc
Go to the documentation of this file.
1
/******************************************************************************
2
* Project: libsidx - A C API wrapper around libspatialindex
3
* Purpose: C++ objects to implement the object visitor.
4
* Author: Howard Butler, hobu.inc@gmail.com
5
******************************************************************************
6
* Copyright (c) 2009, Howard Butler
7
*
8
* All rights reserved.
9
*
10
* Permission is hereby granted, free of charge, to any person obtaining a
11
* copy of this software and associated documentation files (the "Software"),
12
* to deal in the Software without restriction, including without limitation
13
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
14
* and/or sell copies of the Software, and to permit persons to whom the
15
* Software is furnished to do so, subject to the following conditions:
16
*
17
* The above copyright notice and this permission notice shall be included
18
* in all copies or substantial portions of the Software.
19
*
20
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
23
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
26
* DEALINGS IN THE SOFTWARE.
27
******************************************************************************/
28
29
#include <
spatialindex/capi/sidx_impl.h
>
30
31
ObjVisitor::ObjVisitor
(): nResults(0)
32
{
33
}
34
35
ObjVisitor::~ObjVisitor
()
36
{
37
std::vector<SpatialIndex::IData*>::iterator it;
38
for
(it = m_vector.begin(); it != m_vector.end(); it++) {
39
delete
*it;
40
}
41
42
}
43
44
void
ObjVisitor::visitNode
(
const
SpatialIndex::INode
& )
45
{
46
}
47
48
void
ObjVisitor::visitData
(
const
SpatialIndex::IData
& d)
49
{
50
51
SpatialIndex::IData
* item =
dynamic_cast<
SpatialIndex::IData
*
>
(
const_cast<
SpatialIndex::IData
&
>
(d).clone()) ;
52
53
nResults += 1;
54
55
m_vector.push_back(item);
56
}
57
58
void
ObjVisitor::visitData
(std::vector<const SpatialIndex::IData*>& )
59
{
60
}
61
ObjVisitor::visitNode
void visitNode(const SpatialIndex::INode &n)
Definition:
ObjVisitor.cc:44
ObjVisitor::ObjVisitor
ObjVisitor()
Definition:
ObjVisitor.cc:31
ObjVisitor::~ObjVisitor
~ObjVisitor()
Definition:
ObjVisitor.cc:35
ObjVisitor::visitData
void visitData(const SpatialIndex::IData &d)
Definition:
ObjVisitor.cc:48
SpatialIndex::IData
Definition:
SpatialIndex.h:128
SpatialIndex::INode
Definition:
SpatialIndex.h:115
sidx_impl.h
src
capi
ObjVisitor.cc
Generated on Wed Apr 15 2026 14:18:11 for libspatialindex API Reference by
1.9.1