libspatialindex API Reference
(git-trunk)
tprtree/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
TPRTree
33
{
34
class
Leaf
:
public
Node
35
{
36
public
:
37
~Leaf
()
override
;
38
39
private
:
40
Leaf
(
TPRTree
* pTree,
id_type
id
);
41
42
NodePtr
chooseSubtree(
const
MovingRegion
& mbr, uint32_t level, std::stack<id_type>& pathBuffer)
override
;
43
NodePtr
findLeaf(
const
MovingRegion
& mbr,
id_type
id
, std::stack<id_type>& pathBuffer)
override
;
44
45
void
split(uint32_t dataLength, uint8_t* pData,
MovingRegion
& mbr,
id_type
id
,
NodePtr
& left,
NodePtr
& right)
override
;
46
47
virtual
void
deleteData(
id_type
id
, std::stack<id_type>& pathBuffer);
48
49
friend
class
TPRTree
;
50
friend
class
BulkLoader
;
51
};
// Leaf
52
}
53
}
SpatialIndex::MovingRegion
Definition:
MovingRegion.h:32
SpatialIndex::TPRTree::Leaf::~Leaf
~Leaf() override
SpatialIndex::TPRTree::Node
Definition:
tprtree/Node.h:43
SpatialIndex::TPRTree::Leaf
Definition:
tprtree/Leaf.h:34
Tools::PoolPointer< Node >
SpatialIndex::TPRTree::TPRTree
Definition:
src/tprtree/TPRTree.h:39
SpatialIndex
Definition:
Ball.h:34
SpatialIndex::id_type
int64_t id_type
Definition:
SpatialIndex.h:41
SpatialIndex::TPRTree::Leaf::BulkLoader
friend class BulkLoader
Definition:
tprtree/Leaf.h:50
src
tprtree
Leaf.h
Generated on Wed Jan 11 2023 17:30:24 for libspatialindex API Reference by
1.8.13