/// <summary>Gets an iterator on the QuadTree.</summary> /// <remarks> /// Gets an iterator on the QuadTree. /// \param bSorted Put true to iterate the quad tree in the order of the Element_types. /// </remarks> public virtual com.epl.geometry.QuadTree.QuadTreeIterator GetIterator(bool bSorted) { if (!bSorted) { com.epl.geometry.QuadTreeImpl.QuadTreeIteratorImpl iterator = m_impl.GetIterator(); return(new com.epl.geometry.QuadTree.QuadTreeIterator(iterator, false)); } else { com.epl.geometry.QuadTreeImpl.QuadTreeSortedIteratorImpl iterator = m_impl.GetSortedIterator(); return(new com.epl.geometry.QuadTree.QuadTreeIterator(iterator, true)); } }
/// <summary>Gets an iterator on the QuadTree using the input Envelope2D as the query.</summary> /// <remarks> /// Gets an iterator on the QuadTree using the input Envelope2D as the query. /// To reuse the existing iterator on the same QuadTree but with a new query, use the reset_iterator function on the QuadTree_iterator. /// \param query The Envelope2D used for the query. /// \param tolerance The tolerance used for the intersection tests. /// \param bSorted Put true to iterate the quad tree in the order of the Element_types. /// </remarks> public virtual com.epl.geometry.QuadTree.QuadTreeIterator GetIterator(com.epl.geometry.Envelope2D query, double tolerance, bool bSorted) { if (!bSorted) { com.epl.geometry.QuadTreeImpl.QuadTreeIteratorImpl iterator = m_impl.GetIterator(query, tolerance); return(new com.epl.geometry.QuadTree.QuadTreeIterator(iterator, false)); } else { com.epl.geometry.QuadTreeImpl.QuadTreeSortedIteratorImpl iterator = m_impl.GetSortedIterator(query, tolerance); return(new com.epl.geometry.QuadTree.QuadTreeIterator(iterator, true)); } }