| LeafQuery.h | | LeafQuery.h | |
| | | | |
| skipping to change at line 55 | | skipping to change at line 55 | |
| }; | | }; | |
| | | | |
| class LeafQueryResult | | class LeafQueryResult | |
| { | | { | |
| private: | | private: | |
| std::vector<SpatialIndex::id_type> ids; | | std::vector<SpatialIndex::id_type> ids; | |
| SpatialIndex::Region* bounds; | | SpatialIndex::Region* bounds; | |
| uint32_t m_id; | | uint32_t m_id; | |
| LeafQueryResult(); | | LeafQueryResult(); | |
| public: | | public: | |
|
| LeafQueryResult(uint32_t id) : bounds(0), m_id(id){}; | | LeafQueryResult(uint32_t id) : bounds(0), m_id(id){} | |
| ~LeafQueryResult() {if (bounds!=0) delete bounds;}; | | ~LeafQueryResult() {if (bounds!=0) delete bounds;} | |
| | | | |
| /// Copy constructor. | | /// Copy constructor. | |
| LeafQueryResult(LeafQueryResult const& other); | | LeafQueryResult(LeafQueryResult const& other); | |
| | | | |
| /// Assignment operator. | | /// Assignment operator. | |
| LeafQueryResult& operator=(LeafQueryResult const& rhs); | | LeafQueryResult& operator=(LeafQueryResult const& rhs); | |
| | | | |
| std::vector<SpatialIndex::id_type> const& GetIDs() const; | | std::vector<SpatialIndex::id_type> const& GetIDs() const; | |
| void SetIDs(std::vector<SpatialIndex::id_type>& v); | | void SetIDs(std::vector<SpatialIndex::id_type>& v); | |
| const SpatialIndex::Region* GetBounds() const; | | const SpatialIndex::Region* GetBounds() const; | |
| | | | |
End of changes. 1 change blocks. |
| 2 lines changed or deleted | | 2 lines changed or added | |
|
| Point.h | | Point.h | |
| | | | |
| skipping to change at line 24 | | skipping to change at line 24 | |
| // | | // | |
| // You should have received a copy of the GNU Lesser General Public | | // You should have received a copy of the GNU Lesser General Public | |
| // License along with this library; if not, write to the Free Software | | // License along with this library; if not, write to the Free Software | |
| // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| // | | // | |
| // Email: | | // Email: | |
| // mhadji@gmail.com | | // mhadji@gmail.com | |
| | | | |
| #pragma once | | #pragma once | |
| | | | |
|
| | | #include <spatialindex/tools/Tools.h> | |
| | | | |
| namespace SpatialIndex | | namespace SpatialIndex | |
| { | | { | |
| class SIDX_DLL Point : public Tools::IObject, public virtual IShape | | class SIDX_DLL Point : public Tools::IObject, public virtual IShape | |
| { | | { | |
| public: | | public: | |
| Point(); | | Point(); | |
| Point(const double* pCoords, uint32_t dimension); | | Point(const double* pCoords, uint32_t dimension); | |
| Point(const Point& p); | | Point(const Point& p); | |
| virtual ~Point(); | | virtual ~Point(); | |
| | | | |
| | | | |
| skipping to change at line 76 | | skipping to change at line 78 | |
| virtual void makeDimension(uint32_t dimension); | | virtual void makeDimension(uint32_t dimension); | |
| | | | |
| public: | | public: | |
| uint32_t m_dimension; | | uint32_t m_dimension; | |
| double* m_pCoords; | | double* m_pCoords; | |
| | | | |
| friend class Region; | | friend class Region; | |
| friend SIDX_DLL std::ostream& operator<<(std::ostream& os, c
onst Point& pt); | | friend SIDX_DLL std::ostream& operator<<(std::ostream& os, c
onst Point& pt); | |
| }; // Point | | }; // Point | |
| | | | |
|
| | | typedef Tools::PoolPointer<Point> PointPtr; | |
| | | | |
| SIDX_DLL std::ostream& operator<<(std::ostream& os, const Point& pt)
; | | SIDX_DLL std::ostream& operator<<(std::ostream& os, const Point& pt)
; | |
| } | | } | |
| | | | |
End of changes. 2 change blocks. |
| 0 lines changed or deleted | | 4 lines changed or added | |
|
| Version.h | | Version.h | |
| | | | |
| skipping to change at line 26 | | skipping to change at line 26 | |
| // License along with this library; if not, write to the Free Software | | // License along with this library; if not, write to the Free Software | |
| // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | | // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US
A | |
| // | | // | |
| // Email: | | // Email: | |
| // mhadji@gmail.com | | // mhadji@gmail.com | |
| | | | |
| #pragma once | | #pragma once | |
| | | | |
| #ifndef SIDX_VERSION_MAJOR | | #ifndef SIDX_VERSION_MAJOR | |
| #define SIDX_VERSION_MAJOR 1 | | #define SIDX_VERSION_MAJOR 1 | |
|
| #define SIDX_VERSION_MINOR 6 | | #define SIDX_VERSION_MINOR 7 | |
| #define SIDX_VERSION_REV 1 | | #define SIDX_VERSION_REV 0 | |
| #define SIDX_VERSION_BUILD 0 | | #define SIDX_VERSION_BUILD 0 | |
| #endif | | #endif | |
| | | | |
| #ifndef SIDX_VERSION_NUM | | #ifndef SIDX_VERSION_NUM | |
| #define SIDX_VERSION_NUM (SIDX_VERSION_MAJOR*1000+SIDX_VERSION_MINOR*1
00+SIDX_VERSION_REV*10+SIDX_VERSION_BUILD) | | #define SIDX_VERSION_NUM (SIDX_VERSION_MAJOR*1000+SIDX_VERSION_MINOR*1
00+SIDX_VERSION_REV*10+SIDX_VERSION_BUILD) | |
| #endif | | #endif | |
| | | | |
| #ifndef SIDX_RELEASE_DATE | | #ifndef SIDX_RELEASE_DATE | |
|
| #define SIDX_RELEASE_DATE 20101204 | | #define SIDX_RELEASE_DATE 20111014 | |
| #endif | | #endif | |
| | | | |
| #ifndef SIDX_RELEASE_NAME | | #ifndef SIDX_RELEASE_NAME | |
|
| #define SIDX_RELEASE_NAME "1.6.1" | | #define SIDX_RELEASE_NAME "1.7.0" | |
| #endif | | #endif | |
| | | | |
End of changes. 3 change blocks. |
| 4 lines changed or deleted | | 4 lines changed or added | |
|
| rand48.h | | rand48.h | |
| #pragma once | | #pragma once | |
| | | | |
|
| extern void srand48(long seed); | | #ifndef HAVE_SRAND48 | |
| extern unsigned short *seed48(unsigned short xseed[3]); | | | |
| extern long nrand48(unsigned short xseed[3]); | | #if HAVE_FEATURES_H | |
| extern long mrand48(void); | | #include <features.h> | |
| extern long lrand48(void); | | #ifndef __THROW | |
| extern void lcong48(unsigned short p[7]); | | /* copy-pasted from sys/cdefs.h */ | |
| extern long jrand48(unsigned short xseed[3]); | | /* GCC can always grok prototypes. For C++ programs we add throw() | |
| extern double erand48(unsigned short xseed[3]); | | to help it optimize the function calls. But this works only with | |
| extern double drand48(void); | | gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions | |
| | | as non-throwing using a function attribute since programs can use | |
| | | the -fexceptions options for C code as well. */ | |
| | | # if !defined __cplusplus && __GNUC_PREREQ (3, 3) | |
| | | # define __THROW __attribute__ ((__nothrow__)) | |
| | | # define __NTH(fct) __attribute__ ((__nothrow__)) fct | |
| | | # else | |
| | | # if defined __cplusplus && __GNUC_PREREQ (2,8) | |
| | | # define __THROW throw () | |
| | | # define __NTH(fct) fct throw () | |
| | | # else | |
| | | # define __THROW | |
| | | # define __NTH(fct) fct | |
| | | # endif | |
| | | # endif | |
| | | | |
| | | #endif | |
| | | #else | |
| | | # define __THROW | |
| | | # define __NTH(fct) fct | |
| | | #endif | |
| | | | |
| | | extern void srand48(long int seed) __THROW; | |
| | | | |
| | | extern unsigned short *seed48(unsigned short xseed[3]) __THROW; | |
| | | | |
| | | extern long nrand48(unsigned short xseed[3]) __THROW; | |
| | | | |
| | | extern long mrand48(void) __THROW; | |
| | | | |
| | | extern long lrand48(void) __THROW; | |
| | | | |
| | | extern void lcong48(unsigned short p[7]) __THROW; | |
| | | | |
| | | extern long jrand48(unsigned short xseed[3]) __THROW; | |
| | | | |
| | | extern double erand48(unsigned short xseed[3]) __THROW; | |
| | | | |
| | | extern double drand48(void) __THROW; | |
| | | | |
| | | #endif | |
| | | | |
End of changes. 1 change blocks. |
| 0 lines changed or deleted | | 0 lines changed or added | |
|
| sidx_api.h | | sidx_api.h | |
| | | | |
| skipping to change at line 40 | | skipping to change at line 40 | |
| | | | |
| #define SIDX_C_API 1 | | #define SIDX_C_API 1 | |
| | | | |
| #include "sidx_config.h" | | #include "sidx_config.h" | |
| | | | |
| IDX_C_START | | IDX_C_START | |
| | | | |
| SIDX_DLL IndexH Index_Create(IndexPropertyH properties); | | SIDX_DLL IndexH Index_Create(IndexPropertyH properties); | |
| | | | |
| SIDX_DLL IndexH Index_CreateWithStream( IndexPropertyH properties, | | SIDX_DLL IndexH Index_CreateWithStream( IndexPropertyH properties, | |
|
|
int (*readNext)(uint64_t *id, double **pMin, double **pMax, uint32_t *n
Dimension, const uint8_t **pData, size_t *nDataLength) | |
int (*readNext)(int64_t *id, double **pMin, double **pMax, uint32_t *nD
imension, const uint8_t **pData, size_t *nDataLength) | |
| )
; | | )
; | |
| | | | |
| SIDX_DLL void Index_Destroy(IndexH index); | | SIDX_DLL void Index_Destroy(IndexH index); | |
| SIDX_DLL IndexPropertyH Index_GetProperties(IndexH index); | | SIDX_DLL IndexPropertyH Index_GetProperties(IndexH index); | |
| | | | |
| SIDX_DLL RTError Index_DeleteData( IndexH index, | | SIDX_DLL RTError Index_DeleteData( IndexH index, | |
|
| uint
64_t id, | | int6
4_t id, | |
| doub
le* pdMin, | | doub
le* pdMin, | |
| doub
le* pdMax, | | doub
le* pdMax, | |
| uint
32_t nDimension); | | uint
32_t nDimension); | |
| | | | |
| SIDX_DLL RTError Index_InsertData( IndexH index, | | SIDX_DLL RTError Index_InsertData( IndexH index, | |
|
| uint
64_t id, | | int6
4_t id, | |
| doub
le* pdMin, | | doub
le* pdMin, | |
| doub
le* pdMax, | | doub
le* pdMax, | |
| uint
32_t nDimension, | | uint
32_t nDimension, | |
| cons
t uint8_t* pData, | | cons
t uint8_t* pData, | |
| size
_t nDataLength); | | size
_t nDataLength); | |
| | | | |
| SIDX_DLL uint32_t Index_IsValid(IndexH index); | | SIDX_DLL uint32_t Index_IsValid(IndexH index); | |
| | | | |
| SIDX_DLL RTError Index_Intersects_obj( IndexH index, | | SIDX_DLL RTError Index_Intersects_obj( IndexH index, | |
|
double* pdMin, | |
double* pdMin, | |
|
double* pdMax, | |
double* pdMax, | |
|
uint32_t nDimension, | |
uint32_t nDimension, | |
|
IndexItemH** items, | |
IndexItemH** items, | |
|
uint64_t* nResults); | |
uint64_t* nResults); | |
| | | | |
| SIDX_DLL RTError Index_Intersects_id( IndexH index, | | SIDX_DLL RTError Index_Intersects_id( IndexH index, | |
|
double* pdMin, | |
double* pdMin, | |
|
double* pdMax, | |
double* pdMax, | |
|
uint32_t nDimension, | |
uint32_t nDimension, | |
|
|
uint64_t** items, | |
int64_t** items, | |
|
uint64_t* nResults); | |
uint64_t* nResults); | |
| | | | |
| SIDX_DLL RTError Index_Intersects_count( IndexH index, | | SIDX_DLL RTError Index_Intersects_count( IndexH index, | |
|
double* pdMin, | |
double* pdMin, | |
|
double* pdMax, | |
double* pdMax, | |
|
uint32_t nDimension, | |
uint32_t nDimension, | |
|
uint64_t* nResults); | |
uint64_t* nResults); | |
| SIDX_DLL RTError Index_NearestNeighbors_obj(IndexH index, | | SIDX_DLL RTError Index_NearestNeighbors_obj(IndexH index, | |
|
double* pdMin, | |
double* pdMin, | |
|
double* pdMax, | |
double* pdMax, | |
|
uint32_t nDimension, | |
uint32_t nDimension, | |
|
IndexItemH** items, | |
IndexItemH** items, | |
|
uint64_t* nResults); | |
uint64_t* nResults); | |
| | | | |
| SIDX_DLL RTError Index_NearestNeighbors_id( IndexH index, | | SIDX_DLL RTError Index_NearestNeighbors_id( IndexH index, | |
|
double* pdMin, | |
double* pdMin, | |
|
double* pdMax, | |
double* pdMax, | |
|
uint32_t nDimension, | |
uint32_t nDimension, | |
|
|
uint64_t** items, | |
int64_t** items, | |
|
uint64_t* nResults); | |
uint64_t* nResults); | |
| | | | |
| SIDX_DLL RTError Index_GetBounds( IndexH index, | | SIDX_DLL RTError Index_GetBounds( IndexH index, | |
| doub
le** ppdMin, | | doub
le** ppdMin, | |
| doub
le** ppdMax, | | doub
le** ppdMax, | |
| uint
32_t* nDimension); | | uint
32_t* nDimension); | |
| | | | |
| SIDX_C_DLL RTError Index_GetLeaves( IndexH index, | | SIDX_C_DLL RTError Index_GetLeaves( IndexH index, | |
| uint
32_t* nLeafNodes, | | uint
32_t* nLeafNodes, | |
| uint
32_t** nLeafSizes, | | uint
32_t** nLeafSizes, | |
| | | | |
| skipping to change at line 114 | | skipping to change at line 114 | |
| int6
4_t*** nLeafChildIDs, | | int6
4_t*** nLeafChildIDs, | |
| doub
le*** pppdMin, | | doub
le*** pppdMin, | |
| doub
le*** pppdMax, | | doub
le*** pppdMax, | |
| uint
32_t* nDimension); | | uint
32_t* nDimension); | |
| | | | |
| SIDX_DLL void Index_DestroyObjResults(IndexItemH* results, uint32_t nResult
s); | | SIDX_DLL void Index_DestroyObjResults(IndexItemH* results, uint32_t nResult
s); | |
| SIDX_DLL void Index_ClearBuffer(IndexH index); | | SIDX_DLL void Index_ClearBuffer(IndexH index); | |
| SIDX_DLL void Index_Free(void* object); | | SIDX_DLL void Index_Free(void* object); | |
| | | | |
| SIDX_DLL void IndexItem_Destroy(IndexItemH item); | | SIDX_DLL void IndexItem_Destroy(IndexItemH item); | |
|
| SIDX_DLL uint64_t IndexItem_GetID(IndexItemH item); | | SIDX_DLL int64_t IndexItem_GetID(IndexItemH item); | |
| | | | |
| SIDX_DLL RTError IndexItem_GetData(IndexItemH item, uint8_t** data, uint64_
t* length); | | SIDX_DLL RTError IndexItem_GetData(IndexItemH item, uint8_t** data, uint64_
t* length); | |
| | | | |
| SIDX_DLL RTError IndexItem_GetBounds( IndexItemH item, | | SIDX_DLL RTError IndexItem_GetBounds( IndexItemH item, | |
|
double** ppdMin, | |
double** ppdMin, | |
|
double** ppdMax, | |
double** ppdMax, | |
|
uint32_t* nDimension); | |
uint32_t* nDimension); | |
| | | | |
| SIDX_DLL IndexPropertyH IndexProperty_Create(); | | SIDX_DLL IndexPropertyH IndexProperty_Create(); | |
| SIDX_DLL void IndexProperty_Destroy(IndexPropertyH hProp); | | SIDX_DLL void IndexProperty_Destroy(IndexPropertyH hProp); | |
| | | | |
End of changes. 6 change blocks. |
| 6 lines changed or deleted | | 6 lines changed or added | |
|
| sidx_config.h | | sidx_config.h | |
| | | | |
| skipping to change at line 32 | | skipping to change at line 32 | |
| * | | * | |
| * You should have received a copy of the GNU Lesser General Public License | | * You should have received a copy of the GNU Lesser General Public License | |
| * along with this library; if not, write to the Free Software Foundation,
Inc., | | * along with this library; if not, write to the Free Software Foundation,
Inc., | |
| * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
| **************************************************************************
**/ | | **************************************************************************
**/ | |
| | | | |
| #ifndef SIDX_CONFIG_H_INCLUDED | | #ifndef SIDX_CONFIG_H_INCLUDED | |
| #define SIDX_CONFIG_H_INCLUDED | | #define SIDX_CONFIG_H_INCLUDED | |
| | | | |
| #ifdef _MSC_VER | | #ifdef _MSC_VER | |
|
| typedef __int8 int8_t; | | | |
| typedef __int16 int16_t; | | #if _MSC_VER <= 1500 | |
| typedef __int32 int32_t; | | typedef __int8 int8_t; | |
| typedef __int64 int64_t; | | typedef __int16 int16_t; | |
| typedef unsigned __int8 uint8_t; | | typedef __int32 int32_t; | |
| typedef unsigned __int16 uint16_t; | | typedef __int64 int64_t; | |
| typedef unsigned __int32 uint32_t; | | typedef unsigned __int8 uint8_t; | |
| typedef unsigned __int64 uint64_t; | | typedef unsigned __int16 uint16_t; | |
| | | typedef unsigned __int32 uint32_t; | |
| | | typedef unsigned __int64 uint64_t; | |
| | | #endif | |
| | | | |
| #include <windows.h> | | #include <windows.h> | |
| #define STRDUP _strdup | | #define STRDUP _strdup | |
|
| #include "SpatialIndex.h" | | #include <spatialindex/SpatialIndex.h> | |
| #include <windows.h> | | #include <windows.h> | |
| | | | |
| #else | | #else | |
| | | | |
| #include <stdint.h> | | #include <stdint.h> | |
| #define SIDX_THREAD __thread | | #define SIDX_THREAD __thread | |
|
| #include <SpatialIndex.h> | | #include <spatialindex/SpatialIndex.h> | |
| #define STRDUP strdup | | #define STRDUP strdup | |
| #endif | | #endif | |
| | | | |
| #include <sys/stat.h> | | #include <sys/stat.h> | |
| | | | |
| class Item; | | class Item; | |
| class Index; | | class Index; | |
| | | | |
| typedef enum | | typedef enum | |
| { | | { | |
| | | | |
End of changes. 3 change blocks. |
| 10 lines changed or deleted | | 13 lines changed or added | |
|
| sidx_impl.h | | sidx_impl.h | |
| | | | |
| skipping to change at line 35 | | skipping to change at line 35 | |
| * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
| **************************************************************************
**/ | | **************************************************************************
**/ | |
| | | | |
| #include <stack> | | #include <stack> | |
| #include <string> | | #include <string> | |
| #include <vector> | | #include <vector> | |
| #include <stdexcept> | | #include <stdexcept> | |
| #include <sstream> | | #include <sstream> | |
| #include <cstring> | | #include <cstring> | |
| | | | |
|
| #include <capi/sidx_config.h> | | #include <spatialindex/capi/sidx_config.h> | |
| | | | |
|
| #include <capi/Utility.h> | | #include <spatialindex/capi/Utility.h> | |
| #include <capi/ObjVisitor.h> | | #include <spatialindex/capi/ObjVisitor.h> | |
| #include <capi/IdVisitor.h> | | #include <spatialindex/capi/IdVisitor.h> | |
| #include <capi/CountVisitor.h> | | #include <spatialindex/capi/CountVisitor.h> | |
| #include <capi/BoundsQuery.h> | | #include <spatialindex/capi/BoundsQuery.h> | |
| #include <capi/LeafQuery.h> | | #include <spatialindex/capi/LeafQuery.h> | |
| #include <capi/Error.h> | | #include <spatialindex/capi/Error.h> | |
| #include <capi/DataStream.h> | | #include <spatialindex/capi/DataStream.h> | |
| #include <capi/Index.h> | | #include <spatialindex/capi/Index.h> | |
| #include <capi/CustomStorage.h> | | #include <spatialindex/capi/CustomStorage.h> | |
| | | | |
End of changes. 2 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|