pub(crate) fn query_optimization(&mut self, req: QuadTreeRegion, traversal_method: IterType) {
        // This method expects to be called at a point in time when the HandleIter has just been
        // created but has not yet been called.
        assert!(self.qt_stack.len() == 1);
        assert!(self.handle_stack.is_empty());
        assert!(self.visited.is_empty());

        self.descend_recurse_step(req, traversal_method);
    }
// Descent is an optimization for queries. We don't want to traverse the entire tree searching
// for handles which (mostly) correspond to regions our @req doesn't intersect with.
//
// Instead, we can make a beeline for the lowest region which totally contains the @req (but no
// lower). We then have to actually evaluate every handle below that node.
//
// Along the way, if our query is meant to be of type Traversal::Overlapping, we collect the
// handles we meet along the way. They are guaranteed to intersect @req.
Descent is an optimization for queries. We don't want to traverse the entire tree searching
for handles which (mostly) correspond to regions our @req doesn't intersect with.

Instead, we can make a beeline for the lowest region which totally contains the @req (but no
lower). We then have to actually evaluate every handle below that node.

Along the way, if our query is meant to be of type Traversal::Overlapping, we collect the
handles we meet along the way. They are guaranteed to intersect @req.
Descent is an optimization for queries . We don ' t want to traverse the entire tree searching for handles which ( mostly ) correspond to regions our @req doesn ' t intersect with . Instead we can make a beeline for the lowest region which totally contains the @req ( but no lower ) . We then have to actually evaluate every handle below that node . Along the way if our query is meant to be of type Traversal :: Overlapping we collect the handles we meet along the way . They are guaranteed to intersect @req .
pub(crate) fn query_optimization(&mut self, req: QuadTreeRegion, traversal_method: IterType) {
        // This method expects to be called at a point in time when the HandleIter has just been
        // created but has not yet been called.
        assert!(self.qt_stack.len() == 1);
        assert!(self.handle_stack.is_empty());
        assert!(self.visited.is_empty());
        self.descend_recurse_step(req, traversal_method);
    }
pub ( crate ) fn query_optimization ( & mut self , req : QuadTreeRegion , traversal_method : IterType ) { // This method expects to be called at a point in time when the HandleIter has just been // created but has not yet been called. assert ! ( self qt_stack len ( ) 1 ) ; assert ! ( self handle_stack is_empty ( ) ) ; assert ! ( self visited is_empty ( ) ) ; self . descend_recurse_step ( req , traversal_method ) ; }
Descent is an optimization for queries.
Descent is an optimization for queries .
&mut self
req
QuadTreeRegion
traversal_method
IterType
&mut self
req
QuadTreeRegion
traversal_method
IterType