#include <kdtree.hpp>
Public Types | |
typedef _Iterator< _Val, const_reference, const_pointer > | const_iterator |
typedef value_type const * | const_pointer |
typedef value_type const & | const_reference |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
typedef ptrdiff_t | difference_type |
typedef _Dist::distance_type | distance_type |
typedef const_iterator | iterator |
typedef value_type * | pointer |
typedef value_type & | reference |
typedef std::reverse_iterator< iterator > | reverse_iterator |
typedef size_t | size_type |
typedef _Acc::result_type | subvalue_type |
typedef _Val | value_type |
Public Member Functions | |
const_iterator | begin () const |
void | check_tree () |
void | clear () |
size_type | count_within_range (_Region_ const &__REGION) const |
size_type | count_within_range (const_reference __V, subvalue_type const __R) const |
void | efficient_replace_and_optimise (std::vector< value_type > &writable_vector) |
bool | empty () const |
const_iterator | end () const |
void | erase (const_iterator const &__IT) |
void | erase (const_reference __V) |
void | erase_exact (const_reference __V) |
template<class SearchVal > | |
const_iterator | find (SearchVal const &__V) const |
template<class SearchVal > | |
const_iterator | find_exact (SearchVal const &__V) const |
template<class SearchVal > | |
std::pair< const_iterator, distance_type > | find_nearest (SearchVal const &__val) const |
template<class SearchVal > | |
std::pair< const_iterator, distance_type > | find_nearest (SearchVal const &__val, distance_type __max) const |
template<class SearchVal , class _Predicate > | |
std::pair< const_iterator, distance_type > | find_nearest_if (SearchVal const &__val, distance_type __max, _Predicate __p) const |
template<typename _OutputIterator > | |
_OutputIterator | find_within_range (_Region_ const ®ion, _OutputIterator out) const |
template<typename SearchVal , typename _OutputIterator > | |
_OutputIterator | find_within_range (SearchVal const &val, subvalue_type const range, _OutputIterator out) const |
const_iterator | find_within_range_iterative (const_reference, const_reference) |
allocator_type | get_allocator () const |
template<class _InputIterator > | |
void | insert (_InputIterator __first, _InputIterator __last) |
iterator | insert (const_reference __V) |
template<typename _InputIterator > | |
void | insert (iterator __pos, _InputIterator __first, _InputIterator __last) |
void | insert (iterator __pos, size_type __n, const value_type &__x) |
iterator | insert (iterator, const_reference __V) |
KDTree (_Acc const &__acc=_Acc(), _Dist const &__dist=_Dist(), _Cmp const &__cmp=_Cmp(), const allocator_type &__a=allocator_type()) | |
template<typename _InputIterator > | |
KDTree (_InputIterator __first, _InputIterator __last, _Acc const &acc=_Acc(), _Dist const &__dist=_Dist(), _Cmp const &__cmp=_Cmp(), const allocator_type &__a=allocator_type()) | |
KDTree (const KDTree &__x) | |
size_type | max_size () const |
KDTree & | operator= (const KDTree &__x) |
void | optimise () |
void | optimize () |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | rend () const |
size_type | size () const |
_Acc | value_acc () const |
Accessor to the value's elements. More... | |
_Cmp | value_comp () const |
Comparator for the values in the KDTree. More... | |
_Dist & | value_distance () |
const _Dist & | value_distance () const |
Distance calculator between 2 value's element. More... | |
template<class Visitor > | |
Visitor | visit_within_range (_Region_ const ®ION, Visitor visitor) const |
template<typename SearchVal , class Visitor > | |
Visitor | visit_within_range (SearchVal const &V, subvalue_type const R, Visitor visitor) const |
~KDTree () | |
Protected Types | |
typedef _Base::allocator_type | allocator_type |
|
protected |
typedef _Iterator<_Val, const_reference, const_pointer> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_iterator |
typedef value_type const* KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_pointer |
typedef value_type const& KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_reference |
typedef std::reverse_iterator<const_iterator> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::const_reverse_iterator |
typedef ptrdiff_t KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::difference_type |
typedef _Dist::distance_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::distance_type |
typedef const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::iterator |
typedef value_type* KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::pointer |
typedef value_type& KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::reference |
typedef std::reverse_iterator<iterator> KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::reverse_iterator |
typedef size_t KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::size_type |
typedef _Acc::result_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::subvalue_type |
typedef _Val KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_type |
KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::KDTree | ( | _Acc const & | __acc = _Acc() , |
_Dist const & | __dist = _Dist() , |
||
_Cmp const & | __cmp = _Cmp() , |
||
const allocator_type & | __a = allocator_type() |
||
) |
KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::KDTree | ( | const KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc > & | __x | ) |
KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::KDTree | ( | _InputIterator | __first, |
_InputIterator | __last, | ||
_Acc const & | acc = _Acc() , |
||
_Dist const & | __dist = _Dist() , |
||
_Cmp const & | __cmp = _Cmp() , |
||
const allocator_type & | __a = allocator_type() |
||
) |
KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::~KDTree | ( | ) |
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::begin | ( | ) | const |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::check_tree | ( | ) |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::clear | ( | ) |
Referenced by MeshCore::MeshKDTree::Clear().
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::count_within_range | ( | _Region_ const & | __REGION | ) | const |
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::count_within_range | ( | const_reference | __V, |
subvalue_type const | __R | ||
) | const |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::efficient_replace_and_optimise | ( | std::vector< value_type > & | writable_vector | ) |
bool KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::empty | ( | ) | const |
Referenced by MeshCore::MeshKDTree::IsEmpty().
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::end | ( | ) | const |
Referenced by Dice3DS.dom3ds.FileLikeBuffer::advance(), MeshCore::MeshKDTree::FindExact(), MeshCore::MeshKDTree::FindNearest(), Dice3DS.dom3ds.FileLikeBuffer::read_rest(), Dice3DS.dom3ds.FileLikeBuffer::read_to_nul(), Dice3DS.dom3ds.FileLikeBuffer::room_for_chunks(), and Dice3DS.dom3ds.FileLikeBuffer::seek().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase | ( | const_iterator const & | __IT | ) |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase | ( | const_reference | __V | ) |
References DraftVecUtils::find().
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::erase_exact | ( | const_reference | __V | ) |
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find | ( | SearchVal const & | __V | ) | const |
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_exact | ( | SearchVal const & | __V | ) | const |
Referenced by MeshCore::MeshKDTree::FindExact().
std::pair< const_iterator, distance_type > KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest | ( | SearchVal const & | __val | ) | const |
Referenced by MeshCore::MeshKDTree::FindNearest().
std::pair< const_iterator, distance_type > KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest | ( | SearchVal const & | __val, |
distance_type | __max | ||
) | const |
std::pair< const_iterator, distance_type > KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_nearest_if | ( | SearchVal const & | __val, |
distance_type | __max, | ||
_Predicate | __p | ||
) | const |
_OutputIterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range | ( | _Region_ const & | region, |
_OutputIterator | out | ||
) | const |
_OutputIterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range | ( | SearchVal const & | val, |
subvalue_type const | range, | ||
_OutputIterator | out | ||
) | const |
Referenced by MeshCore::MeshKDTree::FindInRange().
const_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::find_within_range_iterative | ( | const_reference | , |
const_reference | |||
) |
allocator_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::get_allocator | ( | ) | const |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert | ( | _InputIterator | __first, |
_InputIterator | __last | ||
) |
iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert | ( | const_reference | __V | ) |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert | ( | iterator | __pos, |
_InputIterator | __first, | ||
_InputIterator | __last | ||
) |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert | ( | iterator | __pos, |
size_type | __n, | ||
const value_type & | __x | ||
) |
iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::insert | ( | iterator | , |
const_reference | __V | ||
) |
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::max_size | ( | ) | const |
KDTree & KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::operator= | ( | const KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc > & | __x | ) |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimise | ( | ) |
void KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::optimize | ( | ) |
Referenced by MeshCore::MeshKDTree::Optimize().
const_reverse_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::rbegin | ( | ) | const |
const_reverse_iterator KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::rend | ( | ) | const |
size_type KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::size | ( | ) | const |
_Acc KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_acc | ( | ) | const |
Accessor to the value's elements.
This accessor shall not be modified, it could invalidate the tree.
_Cmp KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_comp | ( | ) | const |
_Dist & KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_distance | ( | ) |
const _Dist & KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::value_distance | ( | ) | const |
Distance calculator between 2 value's element.
This functor can be modified. It's modification will only affect the behavior of the find and find_nearest functions.
Visitor KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::visit_within_range | ( | _Region_ const & | REGION, |
Visitor | visitor | ||
) | const |
Visitor KDTree::KDTree< __K, _Val, _Acc, _Dist, _Cmp, _Alloc >::visit_within_range | ( | SearchVal const & | V, |
subvalue_type const | R, | ||
Visitor | visitor | ||
) | const |