BoundsQuery.h   BoundsQuery.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: boundsquery.hpp 1361 2009-08-02 17:53:31Z hobu $
*
* Project: libsidx - A C API wrapper around libspatialindex * Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C++ object declarations to implement the bounds query. * Purpose: C++ object declarations to implement the bounds query.
* Author: Howard Butler, hobu.inc@gmail.com * Author: Howard Butler, hobu.inc@gmail.com
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2009, Howard Butler * Copyright (c) 2009, Howard Butler
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
class BoundsQuery : public SpatialIndex::IQueryStrategy class BoundsQuery : public SpatialIndex::IQueryStrategy
{ {
private: private:
SpatialIndex::Region* m_bounds; SpatialIndex::Region* m_bounds;
public: public:
BoundsQuery(); BoundsQuery();
~BoundsQuery() { if (m_bounds !=0) delete m_bounds;} ~BoundsQuery() { if (m_bounds != 0) delete m_bounds; }
void getNextEntry( const SpatialIndex::IEntry& entry, void getNextEntry( const SpatialIndex::IEntry& entry,
SpatialIndex::id_type& nextEntry, SpatialIndex::id_type& nextEntry,
bool& hasNext); bool& hasNext);
SpatialIndex::Region* GetBounds() const {return m_bounds; } SpatialIndex::Region* GetBounds() const { return m_bounds; }
}; };
 End of changes. 6 change blocks. 
26 lines changed or deleted 24 lines changed or added


 CountVisitor.h   CountVisitor.h 
/************************************************************************** **** /************************************************************************** ****
* $Id$ * Project: libsidx - A C API wrapper around libspatialindex
* * Purpose: C++ objects to implement the count visitor.
* Project: libsidx - A C API wrapper around libspatialindex * Author: Leonard Norrgård, leonard.norrgard@refactor.fi
* Purpose: C++ objects to implement the count visitor. **************************************************************************
* Author: Leonard Norrgård, leonard.norrgard@refactor.fi ****
* * Copyright (c) 2010, Leonard Norrgård
*************************************************************************** *
*** * All rights reserved.
* Copyright (c) 2010, Leonard Norrgård *
* * Permission is hereby granted, free of charge, to any person obtaining a
* All rights reserved. * copy of this software and associated documentation files (the "Software"
* ),
* This library is free software; you can redistribute it and/or modify it u * to deal in the Software without restriction, including without limitatio
nder n
* the terms of the GNU Lesser General Public License as published by the Fr * the rights to use, copy, modify, merge, publish, distribute, sublicense,
ee * and/or sell copies of the Software, and to permit persons to whom the
* Software Foundation; either version 2.1 of the License, or (at your optio * Software is furnished to do so, subject to the following conditions:
n) *
* any later version. * The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
* This library is distributed in the hope that it will be useful, but WITHO *
UT * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FIT * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
NESS TY,
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
more * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
* details. ER
* * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* You should have received a copy of the GNU Lesser General Public License * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* along with this library; if not, write to the Free Software Foundation, I * DEALINGS IN THE SOFTWARE.
nc., ***************************************************************************
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ***/
***************************************************************************
*/
#pragma once #pragma once
class CountVisitor : public SpatialIndex::IVisitor class CountVisitor : public SpatialIndex::IVisitor
{ {
private: private:
uint64_t nResults; uint64_t nResults;
public: public:
 End of changes. 1 change blocks. 
34 lines changed or deleted 32 lines changed or added


 CustomStorage.h   CustomStorage.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: CustomStorage.h 1385 2009-06-17 13:45:16Z nitro $
*
* Project: libsidx - A C API wrapper around libspatialindex * Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C++ object declarations to implement the custom storage manage r. * Purpose: C++ object declarations to implement the custom storage manage r.
* Author: Matthias (nitro) * Author: Matthias (nitro), nitro@dr-code.org
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2010, Matthias (nitro) * Copyright (c) 2010, Matthias (nitro)
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace SpatialIndex namespace SpatialIndex
{ {
namespace StorageManager namespace StorageManager
{ {
struct CustomStorageManagerCallbacks struct CustomStorageManagerCallbacks
{ {
CustomStorageManagerCallbacks() : context(0), createCallback(0) CustomStorageManagerCallbacks()
, destroyCallback(0), loadByteArrayCallback(0), storeByteArrayCallback(0), : context(0)
deleteByteArrayCallback(0) , createCallback(0)
, destroyCallback(0)
, loadByteArrayCallback(0)
, storeByteArrayCallback(0)
, deleteByteArrayCallback(0)
{} {}
void* context; void* context;
void (*createCallback)( const void* context, int* errorCode ); void (*createCallback)( const void* context, int* errorCode );
void (*destroyCallback)( const void* context, int* errorCode ); void (*destroyCallback)( const void* context, int* errorCode );
void (*flushCallback)( const void* context, int* err orCode );
void (*loadByteArrayCallback)( const void* context, const id_ty pe page, uint32_t* len, byte** data, int* errorCode ); void (*loadByteArrayCallback)( const void* context, const id_ty pe page, uint32_t* len, byte** data, int* errorCode );
void (*storeByteArrayCallback)( const void* context, id_type* p age, const uint32_t len, const byte* const data, int* errorCode ); void (*storeByteArrayCallback)( const void* context, id_type* p age, const uint32_t len, const byte* const data, int* errorCode );
void (*deleteByteArrayCallback)( const void* context, const id_ type page, int* errorCode ); void (*deleteByteArrayCallback)( const void* context, const id_ type page, int* errorCode );
}; };
class CustomStorageManager : public SpatialIndex::IStorageManager class CustomStorageManager : public SpatialIndex::IStorageManager
{ {
public: public:
// I'd like this to be an enum, but casting between enums and i nts is not nice // I'd like this to be an enum, but casting between enums and i nts is not nice
static const int NoError = 0; static const int NoError = 0;
static const int InvalidPageError = 1; static const int InvalidPageError = 1;
static const int IllegalStateError = 2; static const int IllegalStateError = 2;
CustomStorageManager(Tools::PropertySet&); CustomStorageManager(Tools::PropertySet&);
virtual ~CustomStorageManager(); virtual ~CustomStorageManager();
virtual void flush();
virtual void loadByteArray(const id_type page, uint32_t& len , byte** data); virtual void loadByteArray(const id_type page, uint32_t& len , byte** data);
virtual void storeByteArray(id_type& page, const uint32_t le n, const byte* const data); virtual void storeByteArray(id_type& page, const uint32_t le n, const byte* const data);
virtual void deleteByteArray(const id_type page); virtual void deleteByteArray(const id_type page);
private: private:
CustomStorageManagerCallbacks callbacks; CustomStorageManagerCallbacks callbacks;
inline void processErrorCode(int errorCode, const id_type page) ; inline void processErrorCode(int errorCode, const id_type page) ;
}; // CustomStorageManager }; // CustomStorageManager
 End of changes. 7 change blocks. 
28 lines changed or deleted 32 lines changed or added


 DataStream.h   DataStream.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: datastream.hpp 1385 2009-08-13 15:45:16Z hobu $
*
* Project: libsidx - A C API wrapper around libspatialindex * Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C++ object declarations to implement the datastream. * Purpose: Declarations to support stream loading via C API
* Author: Howard Butler, hobu.inc@gmail.com * Author: Howard Butler, hobu.inc@gmail.com
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2009, Howard Butler * Copyright (c) 2009, Howard Butler
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
class DataStream : public SpatialIndex::IDataStream class DataStream : public SpatialIndex::IDataStream
{ {
public: public:
DataStream(int (*readNext)(SpatialIndex::id_type* id, double **pMin, do uble **pMax, uint32_t *nDimension, const uint8_t **pData, uint32_t *nDataLe ngth)); DataStream(int (*readNext)(SpatialIndex::id_type* id, double **pMin, do uble **pMax, uint32_t *nDimension, const uint8_t **pData, uint32_t *nDataLe ngth));
~DataStream(); ~DataStream();
SpatialIndex::IData* getNext(); SpatialIndex::IData* getNext();
 End of changes. 5 change blocks. 
25 lines changed or deleted 23 lines changed or added


 Error.h   Error.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: error.hpp 1361 2009-08-02 17:53:31Z hobu $
*
* Project: libsidx - A C API wrapper around libspatialindex * Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C++ object declarations to implement the error object. * Purpose: C++ object declarations to implement the error object.
* Author: Howard Butler, hobu.inc@gmail.com * Author: Howard Butler, hobu.inc@gmail.com
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2009, Howard Butler * Copyright (c) 2009, Howard Butler
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
class Error class Error
{ {
public: public:
Error(int code, std::string const& message, std::string const& method); Error(int code, std::string const& message, std::string const& method);
/// Copy constructor. /// Copy constructor.
 End of changes. 4 change blocks. 
24 lines changed or deleted 22 lines changed or added


 IdVisitor.h   IdVisitor.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: idvisitor.hpp 1361 2009-08-02 17:53:31Z hobu $
*
* Project: libsidx - A C API wrapper around libspatialindex * Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C++ object declarations to implement the wrapper. * Purpose: C++ object declarations to implement a query ids only.
* Author: Howard Butler, hobu.inc@gmail.com * Author: Howard Butler, hobu.inc@gmail.com
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2009, Howard Butler * Copyright (c) 2009, Howard Butler
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
class IdVisitor : public SpatialIndex::IVisitor class IdVisitor : public SpatialIndex::IVisitor
{ {
private: private:
std::vector<uint64_t> m_vector; std::vector<uint64_t> m_vector;
uint64_t nResults; uint64_t nResults;
public: public:
 End of changes. 5 change blocks. 
25 lines changed or deleted 23 lines changed or added


 Index.h   Index.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: index.hpp 1385 2009-08-13 15:45:16Z hobu $
*
* Project: libsidx - A C API wrapper around libspatialindex * Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C++ object declarations to implement the wrapper. * Purpose: C++ object declarations to implement the wrapper.
* Author: Howard Butler, hobu.inc@gmail.com * Author: Howard Butler, hobu.inc@gmail.com
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2009, Howard Butler * Copyright (c) 2009, Howard Butler
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
class Index class Index
{ {
public: public:
Index(const Tools::PropertySet& poProperties); Index(const Tools::PropertySet& poProperties);
Index(const Tools::PropertySet& poProperties, int (*readNext)(SpatialIn dex::id_type *id, double **pMin, double **pMax, uint32_t *nDimension, const uint8_t **pData, uint32_t *nDataLength)); Index(const Tools::PropertySet& poProperties, int (*readNext)(SpatialIn dex::id_type *id, double **pMin, double **pMax, uint32_t *nDimension, const uint8_t **pData, uint32_t *nDataLength));
~Index(); ~Index();
 End of changes. 4 change blocks. 
24 lines changed or deleted 22 lines changed or added


 LeafQuery.h   LeafQuery.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: boundsquery.hpp 1361 2009-08-02 17:53:31Z hobu $ * Project: libsidx - A C API wrapper around libspatialindex
*
* Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C++ object declarations to implement a query of the index's leaves. * Purpose: C++ object declarations to implement a query of the index's leaves.
* Author: Howard Butler, hobu.inc@gmail.com * Author: Howard Butler, hobu.inc@gmail.com
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2009, Howard Butler * Copyright (c) 2009, Howard Butler
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
class LeafQueryResult; class LeafQueryResult;
class LeafQuery : public SpatialIndex::IQueryStrategy class LeafQuery : public SpatialIndex::IQueryStrategy
{ {
private: private:
std::queue<SpatialIndex::id_type> m_ids; std::queue<SpatialIndex::id_type> m_ids;
std::vector<LeafQueryResult> m_results; std::vector<LeafQueryResult> m_results;
 End of changes. 4 change blocks. 
26 lines changed or deleted 24 lines changed or added


 LineSegment.h   LineSegment.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2004 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2004, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace SpatialIndex namespace SpatialIndex
{ {
class SIDX_DLL LineSegment : public Tools::IObject, public virtual I Shape class SIDX_DLL LineSegment : public Tools::IObject, public virtual I Shape
{ {
public: public:
LineSegment(); LineSegment();
LineSegment(const double* startPoint, const double* endPoint , uint32_t dimension); LineSegment(const double* startPoint, const double* endPoint , uint32_t dimension);
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 MVRTree.h   MVRTree.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2003 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2004, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace SpatialIndex namespace SpatialIndex
{ {
namespace MVRTree namespace MVRTree
{ {
SIDX_DLL enum MVRTreeVariant SIDX_DLL enum MVRTreeVariant
{ {
RV_LINEAR = 0x0, RV_LINEAR = 0x0,
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 MovingPoint.h   MovingPoint.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2003 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2003, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace SpatialIndex namespace SpatialIndex
{ {
class SIDX_DLL MovingPoint : public TimePoint, public IEvolvingShape class SIDX_DLL MovingPoint : public TimePoint, public IEvolvingShape
{ {
public: public:
MovingPoint(); MovingPoint();
MovingPoint(const double* pCoords, const double* pVCoords, c onst Tools::IInterval& ti, uint32_t dimension); MovingPoint(const double* pCoords, const double* pVCoords, c onst Tools::IInterval& ti, uint32_t dimension);
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 MovingRegion.h   MovingRegion.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2003 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2003, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace SpatialIndex namespace SpatialIndex
{ {
class SIDX_DLL MovingRegion : public TimeRegion, public IEvolvingSha pe class SIDX_DLL MovingRegion : public TimeRegion, public IEvolvingSha pe
{ {
using Region::getLow;
using Region::getHigh;
using TimeRegion::intersectsRegionInTime;
using TimeRegion::containsRegionInTime;
using TimeRegion::combineRegionInTime;
using TimeRegion::getCombinedRegionInTime;
using TimeRegion::containsPointInTime;
public: public:
MovingRegion(); MovingRegion();
MovingRegion( MovingRegion(
const double* pLow, const double* pHigh, const double* pLow, const double* pHigh,
const double* pVLow, const double* pVHigh, const double* pVLow, const double* pVHigh,
const Tools::IInterval& ti, uint32_t dimension); const Tools::IInterval& ti, uint32_t dimension);
MovingRegion( MovingRegion(
const double* pLow, const double* pHigh, const double* pLow, const double* pHigh,
const double* pVLow, const double* pVHigh, const double* pVLow, const double* pVHigh,
double tStart, double tEnd, uint32_t dimension); double tStart, double tEnd, uint32_t dimension);
 End of changes. 2 change blocks. 
21 lines changed or deleted 41 lines changed or added


 ObjVisitor.h   ObjVisitor.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: objvisitor.hpp 1385 2009-08-13 15:45:16Z hobu $
*
* Project: libsidx - A C API wrapper around libspatialindex * Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C++ object declarations to implement the object visitor. * Purpose: C++ object declarations to implement the object visitor.
* Author: Howard Butler, hobu.inc@gmail.com * Author: Howard Butler, hobu.inc@gmail.com
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2009, Howard Butler * Copyright (c) 2009, Howard Butler
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
class ObjVisitor : public SpatialIndex::IVisitor class ObjVisitor : public SpatialIndex::IVisitor
{ {
private: private:
std::vector<SpatialIndex::IData*> m_vector; std::vector<SpatialIndex::IData*> m_vector;
uint64_t nResults; uint64_t nResults;
public: public:
 End of changes. 4 change blocks. 
24 lines changed or deleted 22 lines changed or added


 Point.h   Point.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2004 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2004, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
#include <spatialindex/tools/Tools.h> #include "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();
 End of changes. 2 change blocks. 
22 lines changed or deleted 34 lines changed or added


 PointerPool.h   PointerPool.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2004 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2004, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
#include "PoolPointer.h" #include "PoolPointer.h"
namespace Tools namespace Tools
{ {
template <class X> class PointerPool template <class X> class PointerPool
{ {
public: public:
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 PoolPointer.h   PoolPointer.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2004 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2004, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
#include "PointerPool.h" #include "PointerPool.h"
namespace Tools namespace Tools
{ {
template <class X> class PointerPool; template <class X> class PointerPool;
template <class X> class PoolPointer template <class X> class PoolPointer
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 RTree.h   RTree.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2003 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2004, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace SpatialIndex namespace SpatialIndex
{ {
namespace RTree namespace RTree
{ {
SIDX_DLL enum RTreeVariant SIDX_DLL enum RTreeVariant
{ {
RV_LINEAR = 0x0, RV_LINEAR = 0x0,
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 Region.h   Region.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2004 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2004, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace SpatialIndex namespace SpatialIndex
{ {
class SIDX_DLL Region : public Tools::IObject, public virtual IShape class SIDX_DLL Region : public Tools::IObject, public virtual IShape
{ {
public: public:
Region(); Region();
Region(const double* pLow, const double* pHigh, uint32_t dim ension); Region(const double* pLow, const double* pHigh, uint32_t dim ension);
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 SmartPointer.h   SmartPointer.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2004 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2004, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace Tools namespace Tools
{ {
template <class X> class SmartPointer template <class X> class SmartPointer
{ {
public: public:
explicit SmartPointer(X* p = 0) throw() : m_pointer(p) { m_p rev = m_next = this; } explicit SmartPointer(X* p = 0) throw() : m_pointer(p) { m_p rev = m_next = this; }
~SmartPointer() { release(); } ~SmartPointer() { release(); }
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 SpatialIndex.h   SpatialIndex.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2003 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2003, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
#include "tools/Tools.h" #include "tools/Tools.h"
# if !HAVE_BZERO
# define bzero(d, n) memset((d), 0, (n))
# endif
#ifndef M_PI_2 #ifndef M_PI_2
#define M_PI_2 1.57079632679489661922 #define M_PI_2 1.57079632679489661922
#endif #endif
namespace SpatialIndex namespace SpatialIndex
{ {
class Point; class Point;
class Region; class Region;
typedef int64_t id_type; typedef int64_t id_type;
 End of changes. 2 change blocks. 
25 lines changed or deleted 33 lines changed or added


 TPRTree.h   TPRTree.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2003 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2003, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace SpatialIndex namespace SpatialIndex
{ {
namespace TPRTree namespace TPRTree
{ {
SIDX_DLL enum TPRTreeVariant SIDX_DLL enum TPRTreeVariant
{ {
TPRV_RSTAR = 0x0 TPRV_RSTAR = 0x0
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 TimePoint.h   TimePoint.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2003 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2004, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace SpatialIndex namespace SpatialIndex
{ {
class SIDX_DLL TimePoint : public Point, public ITimeShape class SIDX_DLL TimePoint : public Point, public ITimeShape
{ {
public: public:
TimePoint(); TimePoint();
TimePoint(const double* pCoords, const Tools::IInterval& ti, uint32_t dimension); TimePoint(const double* pCoords, const Tools::IInterval& ti, uint32_t dimension);
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 TimeRegion.h   TimeRegion.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2003 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2003, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
namespace SpatialIndex namespace SpatialIndex
{ {
class SIDX_DLL TimeRegion : public Region, public ITimeShape class SIDX_DLL TimeRegion : public Region, public ITimeShape
{ {
public: public:
TimeRegion(); TimeRegion();
TimeRegion(const double* pLow, const double* pHigh, const To ols::IInterval& ti, uint32_t dimension); TimeRegion(const double* pLow, const double* pHigh, const To ols::IInterval& ti, uint32_t dimension);
 End of changes. 1 change blocks. 
21 lines changed or deleted 33 lines changed or added


 Tools.h   Tools.h 
// Spatial Index Library /**************************************************************************
// ****
// Copyright (C) 2004 Navel Ltd. * Project: libspatialindex - A C++ library for spatial indexing
// * Author: Marios Hadjieleftheriou, mhadji@gmail.com
// This library is free software; you can redistribute it and/or **************************************************************************
// modify it under the terms of the GNU Lesser General Public ****
// License as published by the Free Software Foundation; either * Copyright (c) 2004, Marios Hadjieleftheriou
// version 2.1 of the License, or (at your option) any later version. *
// * All rights reserved.
// This library is distributed in the hope that it will be useful, *
// but WITHOUT ANY WARRANTY; without even the implied warranty of * Permission is hereby granted, free of charge, to any person obtaining a
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * copy of this software and associated documentation files (the "Software"
// Lesser General Public License for more details. ),
// * to deal in the Software without restriction, including without limitatio
// You should have received a copy of the GNU Lesser General Public n
// License along with this library; if not, write to the Free Software * the rights to use, copy, modify, merge, publish, distribute, sublicense,
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 US * and/or sell copies of the Software, and to permit persons to whom the
A * Software is furnished to do so, subject to the following conditions:
// *
// Email: * The above copyright notice and this permission notice shall be included
// mhadji@gmail.com * in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
#if defined _WIN32 || defined _WIN64 || defined WIN32 || defined WIN64 #if defined _WIN32 || defined _WIN64 || defined WIN32 || defined WIN64
typedef __int8 int8_t; typedef __int8 int8_t;
typedef __int16 int16_t; typedef __int16 int16_t;
typedef __int32 int32_t; typedef __int32 int32_t;
typedef __int64 int64_t; typedef __int64 int64_t;
typedef unsigned __int8 uint8_t; typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t; typedef unsigned __int16 uint16_t;
skipping to change at line 393 skipping to change at line 399
// returns a uniformly distributed double in the ran ge [low, high). // returns a uniformly distributed double in the ran ge [low, high).
bool flipCoin(); bool flipCoin();
private: private:
void initDrand(uint32_t seed, uint16_t xsubi0); void initDrand(uint32_t seed, uint16_t xsubi0);
uint16_t* m_pBuffer; uint16_t* m_pBuffer;
}; // Random }; // Random
class SIDX_DLL SharedLock
{
public:
#if HAVE_PTHREAD_H #if HAVE_PTHREAD_H
SharedLock(pthread_rwlock_t* pLock); class SIDX_DLL LockGuard
~SharedLock();
private:
pthread_rwlock_t* m_pLock;
#endif
}; // SharedLock
class SIDX_DLL ExclusiveLock
{ {
public: public:
#if HAVE_PTHREAD_H LockGuard(pthread_mutex_t* pLock);
ExclusiveLock(pthread_rwlock_t* pLock); ~LockGuard();
~ExclusiveLock();
private: private:
pthread_rwlock_t* m_pLock; pthread_mutex_t* m_pLock;
}; // LockGuard
#endif #endif
}; // ExclusiveLock
class SIDX_DLL BufferedFile class SIDX_DLL BufferedFile
{ {
public: public:
BufferedFile(uint32_t u32BufferSize = 16384); BufferedFile(uint32_t u32BufferSize = 16384);
virtual ~BufferedFile(); virtual ~BufferedFile();
virtual void close(); virtual void close();
virtual bool eof(); virtual bool eof();
virtual void rewind() = 0; virtual void rewind() = 0;
 End of changes. 6 change blocks. 
38 lines changed or deleted 38 lines changed or added


 Utility.h   Utility.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: util.hpp 1361 2009-08-02 17:53:31Z hobu $
*
* Project: libsidx - A C API wrapper around libspatialindex * Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C++ object declarations to implement utilities. * Purpose: C++ object declarations to implement utilities.
* Author: Howard Butler, hobu.inc@gmail.com * Author: Howard Butler, hobu.inc@gmail.com
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2009, Howard Butler * Copyright (c) 2009, Howard Butler
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
Tools::PropertySet* GetDefaults(); Tools::PropertySet* GetDefaults();
 End of changes. 4 change blocks. 
24 lines changed or deleted 22 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 7 #define SIDX_VERSION_MINOR 8
#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 20111209 #define SIDX_RELEASE_DATE 20121213
#endif #endif
#ifndef SIDX_RELEASE_NAME #ifndef SIDX_RELEASE_NAME
#define SIDX_RELEASE_NAME "1.7.1" #define SIDX_RELEASE_NAME "1.8.0"
#endif #endif
 End of changes. 3 change blocks. 
4 lines changed or deleted 4 lines changed or added


 rand48.h   rand48.h 
/**************************************************************************
****
* Project: libspatialindex - A C++ library for spatial indexing
* Author: Howard Butler, hobu.inc@gmail.com
**************************************************************************
****
* Copyright (c) 2011, Howard Butler
*
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"
),
* to deal in the Software without restriction, including without limitatio
n
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
TY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#pragma once #pragma once
/* Only define this stuff if we're not ANDROID */
#ifndef ANDROID
#ifndef HAVE_SRAND48 #ifndef HAVE_SRAND48
#if HAVE_FEATURES_H #if HAVE_FEATURES_H
#include <features.h> #include <features.h>
#ifndef __THROW #ifndef __THROW
/* copy-pasted from sys/cdefs.h */ /* copy-pasted from sys/cdefs.h */
/* GCC can always grok prototypes. For C++ programs we add throw() /* GCC can always grok prototypes. For C++ programs we add throw()
to help it optimize the function calls. But this works only with to help it optimize the function calls. But this works only with
gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions 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 as non-throwing using a function attribute since programs can use
skipping to change at line 52 skipping to change at line 82
extern void lcong48(unsigned short p[7]) __THROW; extern void lcong48(unsigned short p[7]) __THROW;
extern long jrand48(unsigned short xseed[3]) __THROW; extern long jrand48(unsigned short xseed[3]) __THROW;
extern double erand48(unsigned short xseed[3]) __THROW; extern double erand48(unsigned short xseed[3]) __THROW;
extern double drand48(void) __THROW; extern double drand48(void) __THROW;
#endif #endif
/* Only define this stuff if we're not ANDROID */
#endif
 End of changes. 3 change blocks. 
0 lines changed or deleted 37 lines changed or added


 sidx_api.h   sidx_api.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: sidx_api.h 1371 2009-08-05 04:39:21Z hobu $ * Project: libsidx - A C API wrapper around libspatialindex
*
* Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C API. * Purpose: C API.
* Author: Howard Butler, hobu.inc@gmail.com * Author: Howard Butler, hobu.inc@gmail.com
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2009, Howard Butler * Copyright (c) 2009, Howard Butler
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#ifndef SIDX_API_H_INCLUDED #ifndef SIDX_API_H_INCLUDED
#define SIDX_API_H_INCLUDED #define SIDX_API_H_INCLUDED
#define SIDX_C_API 1 #define SIDX_C_API 1
#include "sidx_config.h" #include "sidx_config.h"
IDX_C_START IDX_C_START
 End of changes. 4 change blocks. 
26 lines changed or deleted 24 lines changed or added


 sidx_config.h   sidx_config.h 
/************************************************************************** **** /************************************************************************** ****
* $Id: sidx_config.h 1359 2009-07-31 04:44:50Z hobu $
*
* Project: libsidx - A C API wrapper around libspatialindex * Project: libsidx - A C API wrapper around libspatialindex
* Purpose: C API configuration * Purpose: C API configuration
* Author: Howard Butler, hobu.inc@gmail.com * Author: Howard Butler, hobu.inc@gmail.com
*
************************************************************************** **** ************************************************************************** ****
* Copyright (c) 2009, Howard Butler * Copyright (c) 2009, Howard Butler
* *
* All rights reserved. * All rights reserved.
* *
* This library is free software; you can redistribute it and/or modify it * Permission is hereby granted, free of charge, to any person obtaining a
under * copy of this software and associated documentation files (the "Software"
* the terms of the GNU Lesser General Public License as published by the F ),
ree * to deal in the Software without restriction, including without limitatio
* Software Foundation; either version 2.1 of the License, or (at your opti n
on) * the rights to use, copy, modify, merge, publish, distribute, sublicense,
* any later version. * and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
* This library is distributed in the hope that it will be useful, but WITH *
OUT * The above copyright notice and this permission notice shall be included
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FI * in all copies or substantial portions of the Software.
TNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more
* details.
* *
* You should have received a copy of the GNU Lesser General Public License * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* along with this library; if not, write to the Free Software Foundation, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI
Inc., TY,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
************************************************************************** * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTH
**/ ER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
***************************************************************************
***/
#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
#if _MSC_VER <= 1500 #if _MSC_VER <= 1500
typedef __int8 int8_t; typedef __int8 int8_t;
typedef __int16 int16_t; typedef __int16 int16_t;
typedef __int32 int32_t; typedef __int32 int32_t;
 End of changes. 4 change blocks. 
24 lines changed or deleted 22 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/