18 #ifndef RSTARVISITOR_H 19 #define RSTARVISITOR_H 55 template <
typename Node,
typename Leaf>
63 return m_bound.overlaps(node->bound);
68 return m_bound.overlaps(leaf->bound);
76 template <
typename Node,
typename Leaf>
84 return m_bound.overlaps(node->bound);
89 return m_bound.encloses(leaf->bound);
97 template <
typename Node,
typename Leaf>
130 template <
typename Leaf>
145 template <
typename Leaf>
153 ContinueVisiting(true), m_remove_duplicates(remove_duplicates), m_leaf(leaf) {}
157 if (ContinueVisiting && m_leaf == leaf->leaf)
159 if (!m_remove_duplicates)
160 ContinueVisiting =
false;
bool operator()(const Leaf *const leaf) const
bool operator()(const Leaf *const ) const
const bool ContinueVisiting
bool operator()(const Node *const ) const
bool operator()(const Leaf *const ) const
RStarRemoveSpecificLeaf(const typename Leaf::leaf_type &leaf, bool remove_duplicates=false)
const Node::BoundingBox & m_bound
const Leaf::leaf_type & m_leaf
RStarRemoveSpecificLeaf()
bool operator()(const Leaf *const leaf) const
bool operator()(const Node *const node) const
RStarAcceptOverlapping(const typename Node::BoundingBox &bound)
RTree::BoundingBox BoundingBox
const Node::BoundingBox & m_bound
RStarAcceptEnclosing(const typename Node::BoundingBox &bound)
bool operator()(const Node *const node) const
bool operator()(const Leaf *const leaf) const