QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
MVRTree.h
Go to the documentation of this file.
1/******************************************************************************
2 * Project: libspatialindex - A C++ library for spatial indexing
3 * Author: Marios Hadjieleftheriou, [email protected]
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
30namespace SpatialIndex
31{
32 namespace MVRTree
33 {
40
46
52
53 class SIDX_DLL Data : public IData, public Tools::ISerializable
54 {
55 public:
56 Data(uint32_t len, byte* pData, TimeRegion& r, id_type id);
57 virtual ~Data();
58
59 virtual Data* clone();
60 virtual id_type getIdentifier() const;
61 virtual void getShape(IShape** out) const;
62 virtual void getData(uint32_t& len, byte** data) const;
63 virtual uint32_t getByteArraySize();
64 virtual void loadFromByteArray(const byte* data);
65 virtual void storeToByteArray(byte** data, uint32_t& len);
66
69 byte* m_pData;
70 uint32_t m_dataLength;
71 }; // Data
72
76 double fillFactor,
77 uint32_t indexCapacity,
78 uint32_t leafCapacity,
79 uint32_t dimension,
81 id_type& out_indexIdentifier
82 );
85 id_type indexIdentifier
86 );
87 }
88}
89
Definition SpatialIndex.h:127
Definition SpatialIndex.h:68
Definition SpatialIndex.h:192
Definition SpatialIndex.h:156
Definition MVRTree.h:54
virtual void loadFromByteArray(const byte *data)
virtual uint32_t getByteArraySize()
virtual void storeToByteArray(byte **data, uint32_t &len)
TimeRegion m_region
Definition MVRTree.h:68
Data(uint32_t len, byte *pData, TimeRegion &r, id_type id)
virtual void getData(uint32_t &len, byte **data) const
uint32_t m_dataLength
Definition MVRTree.h:70
byte * m_pData
Definition MVRTree.h:69
id_type m_id
Definition MVRTree.h:67
virtual id_type getIdentifier() const
virtual void getShape(IShape **out) const
Definition MVRTree.h:39
Definition TimeRegion.h:33
Definition Tools.h:225
Definition Tools.h:308
RangeQueryType
Definition MVRTree.h:48
@ IntersectionQuery
Definition MVRTree.h:50
@ ContainmentQuery
Definition MVRTree.h:49
MVRTreeVariant
Definition MVRTree.h:35
@ RV_RSTAR
Definition MVRTree.h:38
@ RV_LINEAR
Definition MVRTree.h:36
@ RV_QUADRATIC
Definition MVRTree.h:37
SIDX_DLL ISpatialIndex * createNewMVRTree(IStorageManager &in, double fillFactor, uint32_t indexCapacity, uint32_t leafCapacity, uint32_t dimension, MVRTreeVariant rv, id_type &out_indexIdentifier)
PersistenObjectIdentifier
Definition MVRTree.h:42
@ PersistentIndex
Definition MVRTree.h:43
@ PersistentLeaf
Definition MVRTree.h:44
SIDX_DLL ISpatialIndex * returnMVRTree(IStorageManager &ind, Tools::PropertySet &in)
SIDX_DLL ISpatialIndex * loadMVRTree(IStorageManager &in, id_type indexIdentifier)
Definition CustomStorage.h:34
int64_t id_type
Definition SpatialIndex.h:43
#define SIDX_DLL
Definition sidx_export.h:41