QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
DataStream.h
Go to the documentation of this file.
1/******************************************************************************
2 * Project: libsidx - A C API wrapper around libspatialindex
3 * Purpose: Declarations to support stream loading via C API
4 * Author: Howard Butler, [email protected]
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#pragma once
30
31#include "sidx_export.h"
32
34{
35public:
36 DataStream(int (*readNext)(SpatialIndex::id_type* id, double **pMin, double **pMax, uint32_t *nDimension, const uint8_t **pData, uint32_t *nDataLength));
38
40 bool hasNext();
41
42 uint32_t size();
43 void rewind();
44
45protected:
48
49private:
50 int (*iterfunct)(SpatialIndex::id_type *id, double **pMin, double **pMax, uint32_t *nDimension, const uint8_t **pData, uint32_t *nDataLength);
51
52 bool readData();
54
55};
56
Definition DataStream.h:34
SpatialIndex::id_type m_id
Definition DataStream.h:47
bool readData()
DataStream(int(*readNext)(SpatialIndex::id_type *id, double **pMin, double **pMax, uint32_t *nDimension, const uint8_t **pData, uint32_t *nDataLength))
bool m_bDoneReading
Definition DataStream.h:53
uint32_t size()
void rewind()
SpatialIndex::IData * getNext()
bool hasNext()
SpatialIndex::RTree::Data * m_pNext
Definition DataStream.h:46
Definition SpatialIndex.h:127
Definition SpatialIndex.h:134
Definition RTree.h:59
int64_t id_type
Definition SpatialIndex.h:43
#define SIDX_DLL
Definition sidx_export.h:41