33 #define M_PI_2 1.57079632679489661922
58 std::string what()
override;
119 virtual void getChildData(uint32_t index, uint32_t& len, uint8_t** data)
const = 0;
130 virtual void getData(uint32_t& len, uint8_t** data)
const = 0;
171 virtual void visitData(std::vector<const IData*>& v) = 0;
214 namespace StorageManager
virtual ~ICommand()=default
virtual void execute(const INode &in)=0
IData * getNext() override=0
~IDataStream() override=default
virtual void getData(uint32_t &len, uint8_t **data) const =0
~IData() override=default
~IEntry() override=default
virtual void getShape(IShape **out) const =0
virtual id_type getIdentifier() const =0
virtual void getVMBR(Region &out) const =0
virtual ~IEvolvingShape()=default
virtual void getMBRAtTime(double t, Region &out) const =0
virtual double getMinimumDistance(const IShape &query, const IData &data)=0
virtual ~INearestNeighborComparator()=default
virtual double getMinimumDistance(const IShape &query, const IShape &entry)=0
virtual uint32_t getChildrenCount() const =0
virtual uint32_t getLevel() const =0
virtual void getChildShape(uint32_t index, IShape **out) const =0
virtual void getChildData(uint32_t index, uint32_t &len, uint8_t **data) const =0
virtual id_type getChildIdentifier(uint32_t index) const =0
virtual bool isIndex() const =0
~INode() override=default
virtual bool isLeaf() const =0
virtual void getNextEntry(const IEntry &previouslyFetched, id_type &nextEntryToFetch, bool &bFetchNextEntry)=0
virtual ~IQueryStrategy()=default
virtual bool containsShape(const IShape &in) const =0
~IShape() override=default
virtual bool touchesShape(const IShape &in) const =0
virtual bool intersectsShape(const IShape &in) const =0
virtual double getMinimumDistance(const IShape &in) const =0
virtual void getCenter(Point &out) const =0
virtual uint32_t getDimension() const =0
virtual double getArea() const =0
virtual void getMBR(Region &out) const =0
virtual void addCommand(ICommand *in, CommandType ct)=0
virtual void selfJoinQuery(const IShape &s, IVisitor &v)=0
virtual ~ISpatialIndex()=default
virtual void intersectsWithQuery(const IShape &query, IVisitor &v)=0
virtual bool deleteData(const IShape &shape, id_type shapeIdentifier)=0
virtual double nearestNeighborQuery(uint32_t k, const IShape &query, IVisitor &v, double max_dist=0.0)=0
virtual void internalNodesQuery(const IShape &query, IVisitor &v)=0
virtual void insertData(uint32_t len, const uint8_t *pData, const IShape &shape, id_type shapeIdentifier)=0
virtual double nearestNeighborQuery(uint32_t k, const IShape &query, IVisitor &v, INearestNeighborComparator &nnc, double max_dist=0.0)=0
virtual void pointLocationQuery(const Point &query, IVisitor &v)=0
virtual void getStatistics(IStatistics **out) const =0
virtual bool isIndexValid()=0
virtual void getIndexProperties(Tools::PropertySet &out) const =0
virtual void queryStrategy(IQueryStrategy &qs)=0
virtual void containsWhatQuery(const IShape &query, IVisitor &v)=0
virtual uint64_t getNumberOfData() const =0
virtual ~IStatistics()=default
virtual uint64_t getWrites() const =0
virtual uint32_t getNumberOfNodes() const =0
virtual uint64_t getReads() const =0
virtual ~IStorageManager()=default
virtual void deleteByteArray(const id_type id)=0
virtual void loadByteArray(const id_type id, uint32_t &len, uint8_t **data)=0
virtual void storeByteArray(id_type &id, const uint32_t len, const uint8_t *const data)=0
virtual double getIntersectingAreaInTime(const Tools::IInterval &ivI, const ITimeShape &r) const =0
virtual bool touchesShapeInTime(const ITimeShape &in) const =0
~ITimeShape() override=default
virtual double getIntersectingAreaInTime(const ITimeShape &r) const =0
virtual bool containsShapeInTime(const ITimeShape &in) const =0
virtual double getAreaInTime(const Tools::IInterval &ivI) const =0
virtual bool intersectsShapeInTime(const Tools::IInterval &ivI, const ITimeShape &in) const =0
virtual double getAreaInTime() const =0
virtual bool containsShapeInTime(const Tools::IInterval &ivI, const ITimeShape &in) const =0
virtual bool touchesShapeInTime(const Tools::IInterval &ivI, const ITimeShape &in) const =0
virtual bool intersectsShapeInTime(const ITimeShape &in) const =0
virtual void visitData(std::vector< const IData * > &v)=0
virtual ~IVisitor()=default
virtual void visitNode(const INode &in)=0
virtual void visitData(const IData &in)=0
~InvalidPageException() override=default
~IBuffer() override=default
virtual uint64_t getHits()=0
SIDX_DLL IStorageManager * returnMemoryStorageManager(Tools::PropertySet &in)
SIDX_DLL IBuffer * createNewRandomEvictionsBuffer(IStorageManager &in, uint32_t capacity, bool bWriteThrough)
SIDX_DLL IStorageManager * returnDiskStorageManager(Tools::PropertySet &in)
SIDX_DLL IStorageManager * loadDiskStorageManager(std::string &baseName)
SIDX_DLL IStorageManager * createNewDiskStorageManager(std::string &baseName, uint32_t pageSize)
SIDX_DLL IBuffer * returnRandomEvictionsBuffer(IStorageManager &ind, Tools::PropertySet &in)
SIDX_DLL IStorageManager * createNewMemoryStorageManager()
SIDX_DLL std::ostream & operator<<(std::ostream &os, const Ball &ball)