libspatialindex API Reference
(git-trunk)
mvrtree/Leaf.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) 2002, 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
class
Leaf
:
public
Node
35
{
36
public
:
37
~Leaf
()
override
;
38
39
private
:
40
Leaf
(
MVRTree
* pTree,
id_type
id
);
41
42
NodePtr
chooseSubtree(
const
TimeRegion
& mbr, uint32_t level, std::stack<id_type>& pathBuffer)
override
;
43
NodePtr
findLeaf(
const
TimeRegion
& mbr,
id_type
id
, std::stack<id_type>& pathBuffer)
override
;
44
45
void
split(
46
uint32_t dataLength, uint8_t* pData,
TimeRegion
& mbr,
id_type
id
,
NodePtr
& left,
NodePtr
& right,
47
TimeRegion
& mbr2,
id_type
id2,
bool
bInsertMbr2 =
false
)
override
;
48
49
friend
class
MVRTree
;
50
friend
class
Node
;
51
};
// Leaf
52
}
53
}
54
SpatialIndex::MVRTree::Leaf
Definition:
mvrtree/Leaf.h:35
SpatialIndex::MVRTree::Leaf::~Leaf
~Leaf() override
SpatialIndex::MVRTree::MVRTree
Definition:
src/mvrtree/MVRTree.h:43
SpatialIndex::MVRTree::Node
Definition:
mvrtree/Node.h:45
SpatialIndex::MVRTree::Node::Leaf
friend class Leaf
Definition:
mvrtree/Node.h:187
SpatialIndex::TimeRegion
Definition:
TimeRegion.h:33
Tools::PoolPointer< Node >
SpatialIndex
Definition:
Ball.h:35
SpatialIndex::id_type
int64_t id_type
Definition:
SpatialIndex.h:41
src
mvrtree
Leaf.h
Generated on Wed May 15 2024 14:34:36 for libspatialindex API Reference by
1.9.1