35 #pragma GCC diagnostic push
36 #pragma GCC diagnostic ignored "-Wcast-qual"
89 virtual void flush() ;
97 void insertData_impl(uint32_t dataLength, uint8_t* pData,
TimeRegion& mbr,
id_type id);
98 void insertData_impl(uint32_t dataLength, uint8_t* pData,
TimeRegion& mbr,
id_type id, uint32_t level);
103 void deleteNode(
Node* n);
107 void findRootIdentifiers(
const Tools::IInterval& ti, std::vector<id_type>& ids);
108 std::string printRootInfo()
const;
112 std::vector<RootEntry> m_roots;
119 uint32_t m_indexCapacity;
121 uint32_t m_leafCapacity;
123 uint32_t m_nearMinimumOverlapFactor;
128 double m_splitDistributionFactor;
133 double m_reinsertFactor;
138 double m_strongVersionOverflow;
140 double m_versionUnderflow;
142 uint32_t m_dimension;
150 bool m_bHasVersionCopied;
152 double m_currentTime;
159 std::vector<std::shared_ptr<ICommand> > m_writeNodeCommands;
160 std::vector<std::shared_ptr<ICommand> > m_readNodeCommands;
161 std::vector<std::shared_ptr<ICommand> > m_deleteNodeCommands;
166 RootEntry() =
default;
167 RootEntry(
id_type id,
double s,
double e) : m_id(
id), m_startTime(s), m_endTime(e) {}
181 NNEntry(
id_type id,
IEntry* e,
double f) : m_id(
id), m_pEntry(e), m_minDist(f) {}
182 ~NNEntry() =
default;
189 double getMinimumDistance(
const IShape& query,
const IShape& entry)
193 double getMinimumDistance(
const IShape& query,
const IData& data)
206 ValidateEntry(
id_type pid,
TimeRegion& r,
NodePtr& pNode) : m_parentID(pid), m_parentMBR(r), m_pNode(pNode), m_bIsDead(
false) {}
224 #pragma GCC diagnostic pop
virtual void getShape(IShape **out) const =0
virtual double getMinimumDistance(const IShape &in) const =0
virtual void pointLocationQuery(const Point &query, IVisitor &v)
virtual void addCommand(ICommand *pCommand, CommandType ct)
virtual void getIndexProperties(Tools::PropertySet &out) const
virtual void queryStrategy(IQueryStrategy &qs)
virtual void nearestNeighborQuery(uint32_t k, const IShape &query, IVisitor &v, INearestNeighborComparator &)
virtual void internalNodesQuery(const IShape &query, IVisitor &v)
virtual void getStatistics(IStatistics **out) const
friend std::ostream & operator<<(std::ostream &os, const MVRTree &t)
virtual void containsWhatQuery(const IShape &query, IVisitor &v)
virtual void selfJoinQuery(const IShape &s, IVisitor &v)
virtual bool deleteData(const IShape &shape, id_type id)
MVRTree(IStorageManager &, Tools::PropertySet &)
virtual void insertData(uint32_t len, const uint8_t *pData, const IShape &shape, id_type id)
virtual void intersectsWithQuery(const IShape &query, IVisitor &v)
virtual bool isIndexValid()
std::ostream & operator<<(std::ostream &os, const MVRTree &t)