libspatialindex API Reference
(git-trunk)
include/spatialindex/MVRTree.h
Go to the documentation of this file.
1
/******************************************************************************
2
* Project: libspatialindex - A C++ library for spatial indexing
3
* Author: Marios Hadjieleftheriou, mhadji@gmail.com
4
******************************************************************************
5
* Copyright (c) 2004, Marios Hadjieleftheriou
6
*
7
* All rights reserved.
8
*
9
* Permission is hereby granted, free of charge, to any person obtaining a
10
* copy of this software and associated documentation files (the "Software"),
11
* to deal in the Software without restriction, including without limitation
12
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
13
* and/or sell copies of the Software, and to permit persons to whom the
14
* Software is furnished to do so, subject to the following conditions:
15
*
16
* The above copyright notice and this permission notice shall be included
17
* in all copies or substantial portions of the Software.
18
*
19
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
22
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25
* DEALINGS IN THE SOFTWARE.
26
******************************************************************************/
27
28
#pragma once
29
30
namespace
SpatialIndex
31
{
32
namespace
MVRTree
33
{
34
enum
MVRTreeVariant
35
{
36
RV_LINEAR
= 0x0,
37
RV_QUADRATIC
,
38
RV_RSTAR
39
};
40
41
enum
PersistenObjectIdentifier
42
{
43
PersistentIndex
= 0x1,
44
PersistentLeaf
= 0x2
45
};
46
47
enum
RangeQueryType
48
{
49
ContainmentQuery
= 0x1,
50
IntersectionQuery
= 0x2
51
};
52
53
class
SIDX_DLL
Data
:
public
IData
,
public
Tools::ISerializable
54
{
55
public
:
56
Data
(uint32_t len, uint8_t* pData,
TimeRegion
& r,
id_type
id
);
57
~
Data
()
override
;
58
59
Data
* clone()
override
;
60
id_type
getIdentifier()
const override
;
61
void
getShape(
IShape
** out)
const override
;
62
void
getData(uint32_t& len, uint8_t** data)
const override
;
63
uint32_t getByteArraySize()
override
;
64
void
loadFromByteArray(
const
uint8_t* data)
override
;
65
void
storeToByteArray(uint8_t** data, uint32_t& len)
override
;
66
67
id_type
m_id
;
68
TimeRegion
m_region
;
69
uint8_t*
m_pData
;
70
uint32_t
m_dataLength
;
71
};
// Data
72
73
SIDX_DLL
ISpatialIndex
*
returnMVRTree
(
IStorageManager
& ind,
Tools::PropertySet
& in);
74
SIDX_DLL
ISpatialIndex
*
createNewMVRTree
(
75
IStorageManager
& in,
76
double
fillFactor,
77
uint32_t indexCapacity,
78
uint32_t leafCapacity,
79
uint32_t dimension,
80
MVRTreeVariant
rv,
81
id_type
& out_indexIdentifier
82
);
83
SIDX_DLL
ISpatialIndex
*
loadMVRTree
(
84
IStorageManager
& in,
85
id_type
indexIdentifier
86
);
87
}
88
}
SpatialIndex::IData
Definition:
SpatialIndex.h:128
SpatialIndex::IShape
Definition:
SpatialIndex.h:69
SpatialIndex::ISpatialIndex
Definition:
SpatialIndex.h:193
SpatialIndex::IStorageManager
Definition:
SpatialIndex.h:157
SpatialIndex::MVRTree::Data
Definition:
include/spatialindex/MVRTree.h:54
SpatialIndex::MVRTree::Data::m_pData
uint8_t * m_pData
Definition:
include/spatialindex/MVRTree.h:69
SpatialIndex::MVRTree::Data::m_region
TimeRegion m_region
Definition:
include/spatialindex/MVRTree.h:68
SpatialIndex::MVRTree::Data::m_dataLength
uint32_t m_dataLength
Definition:
include/spatialindex/MVRTree.h:70
SpatialIndex::MVRTree::Data::m_id
id_type m_id
Definition:
include/spatialindex/MVRTree.h:67
SpatialIndex::MVRTree::MVRTree
Definition:
src/mvrtree/MVRTree.h:43
SpatialIndex::TimeRegion
Definition:
TimeRegion.h:33
Tools::ISerializable
Definition:
Tools.h:219
Tools::PropertySet
Definition:
Tools.h:302
SpatialIndex::MVRTree::RangeQueryType
RangeQueryType
Definition:
include/spatialindex/MVRTree.h:48
SpatialIndex::MVRTree::IntersectionQuery
@ IntersectionQuery
Definition:
include/spatialindex/MVRTree.h:50
SpatialIndex::MVRTree::ContainmentQuery
@ ContainmentQuery
Definition:
include/spatialindex/MVRTree.h:49
SpatialIndex::MVRTree::createNewMVRTree
SIDX_DLL ISpatialIndex * createNewMVRTree(IStorageManager &in, double fillFactor, uint32_t indexCapacity, uint32_t leafCapacity, uint32_t dimension, MVRTreeVariant rv, id_type &out_indexIdentifier)
Definition:
MVRTree.cc:147
SpatialIndex::MVRTree::returnMVRTree
SIDX_DLL ISpatialIndex * returnMVRTree(IStorageManager &ind, Tools::PropertySet &in)
Definition:
MVRTree.cc:141
SpatialIndex::MVRTree::MVRTreeVariant
MVRTreeVariant
Definition:
include/spatialindex/MVRTree.h:35
SpatialIndex::MVRTree::RV_RSTAR
@ RV_RSTAR
Definition:
include/spatialindex/MVRTree.h:38
SpatialIndex::MVRTree::RV_LINEAR
@ RV_LINEAR
Definition:
include/spatialindex/MVRTree.h:36
SpatialIndex::MVRTree::RV_QUADRATIC
@ RV_QUADRATIC
Definition:
include/spatialindex/MVRTree.h:37
SpatialIndex::MVRTree::loadMVRTree
SIDX_DLL ISpatialIndex * loadMVRTree(IStorageManager &in, id_type indexIdentifier)
Definition:
MVRTree.cc:188
SpatialIndex::MVRTree::PersistenObjectIdentifier
PersistenObjectIdentifier
Definition:
include/spatialindex/MVRTree.h:42
SpatialIndex::MVRTree::PersistentIndex
@ PersistentIndex
Definition:
include/spatialindex/MVRTree.h:43
SpatialIndex::MVRTree::PersistentLeaf
@ PersistentLeaf
Definition:
include/spatialindex/MVRTree.h:44
SpatialIndex
Definition:
Ball.h:35
SpatialIndex::id_type
int64_t id_type
Definition:
SpatialIndex.h:41
SIDX_DLL
#define SIDX_DLL
Definition:
sidx_export.h:41
include
spatialindex
MVRTree.h
Generated on Wed May 15 2024 14:34:36 for libspatialindex API Reference by
1.9.1