UFO 1.0.0
An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown
Loading...
Searching...
No Matches
ufo::TreeSet< Dim > Class Template Reference
Inheritance diagram for ufo::TreeSet< Dim >:

Public Types

using Bounds = typename Base::Bounds
 
using Code = typename Base::Code
 
using const_iterator = TreeSetIterator< true, Dim >
 
using const_nearest_iterator = const_nearest_iterator_geom< DynamicGeometry >
 
template<class Geometry >
using const_nearest_iterator_geom = TreeSetNearestIterator< true, Dim, Geometry >
 
using const_pointer = value_type const *
 
using const_query_iterator = const_query_iterator_pred< pred::Predicate< TreeSet > >
 
template<class Predicate >
using const_query_iterator_pred = TreeSetQueryIterator< true, Dim, Predicate >
 
using const_query_nearest_iterator = const_query_nearest_iterator_pred_geom< pred::Predicate< TreeSet >, DynamicGeometry >
 
template<class Predicate , class Geometry >
using const_query_nearest_iterator_pred_geom = TreeSetQueryNearestIterator< true, Dim, Predicate, Geometry >
 
using const_reference = value_type const &
 
template<class Geometry >
using ConstNearest = IteratorWrapper< const_nearest_iterator_geom< Geometry >, const_nearest_iterator >
 
template<class Predicate >
using ConstQuery = IteratorWrapper< const_query_iterator_pred< Predicate >, const_query_iterator >
 
template<class Predicate , class Geometry >
using ConstQueryNearest = IteratorWrapper< const_query_nearest_iterator_pred_geom< Predicate, Geometry >, const_query_nearest_iterator >
 
using Coord = typename Base::Coord
 
using coord_t = typename Base::coord_t
 
using depth_t = typename Base::depth_t
 
using difference_type = std::ptrdiff_t
 
using Index = typename Base::Index
 
using iterator = const_iterator
 
using Key = typename Base::Key
 
using Length = typename Base::Length
 
using length_t = typename Base::length_t
 
template<class Geometry >
using Nearest = ConstNearest< Geometry >
 
using nearest_iterator = const_nearest_iterator
 
template<class Geometry >
using nearest_iterator_geom = const_nearest_iterator_geom< Geometry >
 
using Node = typename Base::Node
 
using offset_t = typename Base::offset_t
 
using Point = typename Base::Point
 
using pointer = value_type *
 
using pos_t = typename Base::pos_t
 
template<class Predicate >
using Query = ConstQuery< Predicate >
 
using query_iterator = const_query_iterator
 
template<class Predicate >
using query_iterator_pred = const_query_iterator_pred< Predicate >
 
using query_nearest_iterator = const_query_nearest_iterator
 
template<class Predicate , class Geometry >
using query_nearest_iterator_pred_geom = const_query_nearest_iterator_pred_geom< Predicate, Geometry >
 
template<class Predicate , class Geometry >
using QueryNearest = ConstQueryNearest< Predicate, Geometry >
 
using reference = value_type &
 
using size_type = std::size_t
 
using value_type = typename Block::value_type
 

Public Member Functions

template<class InputIt >
 TreeSet (InputIt first, InputIt last, length_t leaf_node_length=length_t(0.1), depth_t num_depth_levels=std::min(depth_t(17), Base::maxNumDepthLevels()))
 
 TreeSet (Length leaf_node_length=Length(0.1), depth_t num_depth_levels=std::min(depth_t(17), Base::maxNumDepthLevels()))
 
 TreeSet (length_t leaf_node_length, depth_t num_depth_levels=std::min(depth_t(17), Base::maxNumDepthLevels()))
 
template<class Range >
 TreeSet (Range const &range, length_t leaf_node_length=length_t(0.1), depth_t num_depth_levels=std::min(depth_t(17), Base::maxNumDepthLevels()))
 
 TreeSet (std::initializer_list< value_type > init, length_t leaf_node_length=length_t(0.1), depth_t num_depth_levels=std::min(depth_t(17), Base::maxNumDepthLevels()))
 
iterator begin ()
 
const_iterator begin () const
 
template<class Geometry >
nearest_iterator_geom< Geometry > beginNearest (Geometry const &query, float epsilon=0.0f)
 
template<class Geometry >
const_nearest_iterator_geom< Geometry > beginNearest (Geometry const &query, float epsilon=0.0f) const
 
template<class Predicate >
query_iterator_pred< Predicate > beginQuery (Predicate const &pred)
 
template<class Predicate >
const_query_iterator_pred< Predicate > beginQuery (Predicate const &pred) const
 
template<class Predicate , class Geometry >
query_nearest_iterator_pred_geom< Predicate, Geometry > beginQueryNearest (Predicate const &pred, Geometry const &query, float epsilon=0.0f)
 
template<class Predicate , class Geometry >
const_query_nearest_iterator_pred_geom< Predicate, Geometry > beginQueryNearest (Predicate const &pred, Geometry const &query, float epsilon=0.0f) const
 
Bounds bounds () const
 Returns the minimum Bounds able to contain all values stored in the container.
 
template<class NodeType , std::enable_if_t< Base::template is_node_type_v< NodeType >, bool > = true>
Bounds & bounds (NodeType node)
 Returns the minimum Bounds able to contain all values stored in the node and all of its children.
 
template<class NodeType , std::enable_if_t< Base::template is_node_type_v< NodeType >, bool > = true>
Bounds const & bounds (NodeType node) const
 Returns the minimum Bounds able to contain all values stored in the node and all of its children.
 
const_iterator cbegin () const
 
template<class Geometry >
const_nearest_iterator_geom< Geometry > cbeginNearest (Geometry const &query, float epsilon=0.0f) const
 
template<class Predicate >
const_query_iterator_pred< Predicate > cbeginQuery (Predicate const &pred) const
 
template<class Predicate , class Geometry >
const_query_nearest_iterator_pred_geom< Predicate, Geometry > cbeginQueryNearest (Predicate const &pred, Geometry const &query, float epsilon=0.0f) const
 
const_iterator cend () const
 
const_nearest_iterator cendNearest () const
 
const_query_iterator cendQuery () const
 
const_query_nearest_iterator cendQueryNearest () const
 
void clear ()
 Erases all elements from the container. After this call, size() returns zero.
 
bool contains (Point point) const
 Checks if there is an element with Point equivalent to point in the container.
 
size_type count (Point point) const
 Returns the number of elements with Point that compares equivalent to the specified argument.
 
bool empty () const noexcept
 Checks if the container has no elements.
 
iterator end ()
 
const_iterator end () const
 
nearest_iterator endNearest ()
 
const_nearest_iterator endNearest () const
 
query_iterator endQuery ()
 
const_query_iterator endQuery () const
 
query_nearest_iterator endQueryNearest ()
 
const_query_nearest_iterator endQueryNearest () const
 
iterator erase (const_iterator first, const_iterator last)
 
iterator erase (const_iterator pos)
 
template<class Geometry >
nearest_iterator_geom< Geometry > erase (const_nearest_iterator_geom< Geometry > pos)
 
template<class Geometry1 , class Geometry2 >
nearest_iterator_geom< Geometry1 > erase (const_nearest_iterator_geom< Geometry1 > first, const_nearest_iterator_geom< Geometry2 > last)
 
template<class Predicate >
query_iterator_pred< Predicate > erase (const_query_iterator_pred< Predicate > pos)
 
template<class Predicate1 , class Predicate2 >
query_iterator_pred< Predicate1 > erase (const_query_iterator_pred< Predicate1 > first, const_query_iterator_pred< Predicate2 > last)
 
template<class Predicate , class Geometry >
query_nearest_iterator_pred_geom< Predicate, Geometry > erase (const_query_nearest_iterator_pred_geom< Predicate, Geometry > pos)
 
template<class Predicate1 , class Geometry1 , class Predicate2 , class Geometry2 >
query_nearest_iterator_pred_geom< Predicate1, Geometry1 > erase (const_query_nearest_iterator_pred_geom< Predicate1, Geometry1 > first, const_query_nearest_iterator_pred_geom< Predicate2, Geometry2 > last)
 
template<class Predicate >
query_iterator_pred< Predicate > erase (ConstQuery< Predicate > query)
 
template<class Predicate , class Geometry >
query_nearest_iterator_pred_geom< Predicate, Geometry > erase (ConstQueryNearest< Predicate, Geometry > query)
 
size_type erase (value_type const &value)
 
template<class ExecutionPolicy , class RandomIt , std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void insert (ExecutionPolicy &&policy, RandomIt first, RandomIt last)
 
template<class ExecutionPolicy , class Range , std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void insert (ExecutionPolicy &&policy, Range const &r)
 
template<class ExecutionPolicy , std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void insert (ExecutionPolicy &&policy, std::initializer_list< value_type > ilist)
 
template<class InputIt >
void insert (InputIt first, InputIt last)
 
template<class Range >
void insert (Range const &r)
 
void insert (std::initializer_list< value_type > ilist)
 
void insert (value_type &&value)
 
void insert (value_type const &value)
 
template<class Geometry >
Nearest< Geometry > nearest (Geometry const &query, float epsilon=0.0f)
 
template<class Geometry >
ConstNearest< Geometry > nearest (Geometry const &query, float epsilon=0.0f) const
 
template<class Geometry >
float nearestDistance (Geometry const &query, float max_distance=std::numeric_limits< float >::infinity(), float epsilon=0.0f, NearestSearchAlgorithm search_alg=NearestSearchAlgorithm::DEPTH_FIRST) const
 
template<class Geometry >
std::pair< value_type, float > nearestPoint (Geometry const &query, float max_distance=std::numeric_limits< float >::infinity(), float epsilon=0.0f, NearestSearchAlgorithm search_alg=NearestSearchAlgorithm::DEPTH_FIRST) const
 
template<class Predicate >
Query< Predicate > query (Predicate const &pred)
 
template<class Predicate >
ConstQuery< Predicate > query (Predicate const &pred) const
 
template<class Predicate , class Geometry >
QueryNearest< Predicate, Geometry > queryNearest (Predicate const &pred, Geometry const &query, float epsilon=0.0f)
 
template<class Predicate , class Geometry >
ConstQueryNearest< Predicate, Geometry > queryNearest (Predicate const &pred, Geometry const &query, float epsilon=0.0f) const
 
size_type size () const noexcept
 Returns the number of elements in the container.
 
void swap (TreeSet &other)
 Exchanges the contents of the container with those of other.
 

Protected Types

using Base = Tree< TreeSet, Dim, Block >
 
using Block = TreeSetBlock< Dim, std::size_t(1)<< Dim >
 

Protected Member Functions

Point & boundsMax (Index node)
 Returns the maximum point of the Bounds able to contain all values stored in the node and all of its children.
 
Point boundsMax (Index node) const
 Returns the maximum point of the Bounds able to contain all values stored in the node and all of its children.
 
Point & boundsMin (Index node)
 Returns the minimum point of the Bounds able to contain all values stored in the node and all of its children.
 
Point boundsMin (Index node) const
 Returns the minimum point of the Bounds able to contain all values stored in the node and all of its children.
 
bool empty (Index node) const noexcept
 Checks if the node and none of its children have any elements.
 
void erase (typename container_type::const_iterator it)
 
void erasePropagate (Index node)
 
void insert (Index node, value_type &&value)
 
void insert (Index node, value_type const &value)
 
void insertPropagate (Index node, Point p)
 
void onInitChildren (Index, pos_t)
 
void onInitRoot ()
 
void onPruneChildren (Index, pos_t)
 
auto & values (Index node)
 
auto const & values (Index node) const
 
auto & values (pos_t block)
 
auto const & values (pos_t block) const
 

Protected Attributes

friend Base
 
size_type size_ {}
 

Friends

template<std::size_t D>
bool operator!= (TreeSet< D > const &lhs, TreeSet< D > const &rhs)
 
template<std::size_t D>
bool operator== (TreeSet< D > const &lhs, TreeSet< D > const &rhs)
 
template<class Geometry , pred::SpatialTag Tag, bool Negated>
class pred::Spatial
 
template<bool , std::size_t >
class TreeSetIterator
 
template<bool , std::size_t , class >
class TreeSetNearestIterator
 
template<bool , std::size_t , class >
class TreeSetQueryIterator
 
template<bool , std::size_t , class , class >
class TreeSetQueryNearestIterator
 

Detailed Description

template<std::size_t Dim>
class ufo::TreeSet< Dim >

Definition at line 65 of file tree_set.hpp.

Member Typedef Documentation

◆ Base

template<std::size_t Dim>
using ufo::TreeSet< Dim >::Base = Tree<TreeSet, Dim, Block>
protected

Definition at line 70 of file tree_set.hpp.

◆ Block

template<std::size_t Dim>
using ufo::TreeSet< Dim >::Block = TreeSetBlock<Dim, std::size_t(1) << Dim>
protected

Definition at line 69 of file tree_set.hpp.

◆ Bounds

template<std::size_t Dim>
using ufo::TreeSet< Dim >::Bounds = typename Base::Bounds

Definition at line 98 of file tree_set.hpp.

◆ Code

template<std::size_t Dim>
using ufo::TreeSet< Dim >::Code = typename Base::Code

Definition at line 94 of file tree_set.hpp.

◆ const_iterator

template<std::size_t Dim>
using ufo::TreeSet< Dim >::const_iterator = TreeSetIterator<true, Dim>

Definition at line 118 of file tree_set.hpp.

◆ const_nearest_iterator

template<std::size_t Dim>
using ufo::TreeSet< Dim >::const_nearest_iterator = const_nearest_iterator_geom<DynamicGeometry>

Definition at line 134 of file tree_set.hpp.

◆ const_nearest_iterator_geom

template<std::size_t Dim>
template<class Geometry >
using ufo::TreeSet< Dim >::const_nearest_iterator_geom = TreeSetNearestIterator<true, Dim, Geometry>

Definition at line 130 of file tree_set.hpp.

◆ const_pointer

template<std::size_t Dim>
using ufo::TreeSet< Dim >::const_pointer = value_type const*

Definition at line 111 of file tree_set.hpp.

◆ const_query_iterator

template<std::size_t Dim>
using ufo::TreeSet< Dim >::const_query_iterator = const_query_iterator_pred<pred::Predicate<TreeSet> >

Definition at line 126 of file tree_set.hpp.

◆ const_query_iterator_pred

template<std::size_t Dim>
template<class Predicate >
using ufo::TreeSet< Dim >::const_query_iterator_pred = TreeSetQueryIterator<true, Dim, Predicate>

Definition at line 122 of file tree_set.hpp.

◆ const_query_nearest_iterator

template<std::size_t Dim>
using ufo::TreeSet< Dim >::const_query_nearest_iterator = const_query_nearest_iterator_pred_geom<pred::Predicate<TreeSet>, DynamicGeometry>

Definition at line 144 of file tree_set.hpp.

◆ const_query_nearest_iterator_pred_geom

template<std::size_t Dim>
template<class Predicate , class Geometry >
using ufo::TreeSet< Dim >::const_query_nearest_iterator_pred_geom = TreeSetQueryNearestIterator<true, Dim, Predicate, Geometry>

Definition at line 138 of file tree_set.hpp.

◆ const_reference

template<std::size_t Dim>
using ufo::TreeSet< Dim >::const_reference = value_type const&

Definition at line 109 of file tree_set.hpp.

◆ ConstNearest

template<std::size_t Dim>
template<class Geometry >
using ufo::TreeSet< Dim >::ConstNearest = IteratorWrapper<const_nearest_iterator_geom<Geometry>, const_nearest_iterator>

Definition at line 155 of file tree_set.hpp.

◆ ConstQuery

template<std::size_t Dim>
template<class Predicate >
using ufo::TreeSet< Dim >::ConstQuery = IteratorWrapper<const_query_iterator_pred<Predicate>, const_query_iterator>

Definition at line 149 of file tree_set.hpp.

◆ ConstQueryNearest

template<std::size_t Dim>
template<class Predicate , class Geometry >
using ufo::TreeSet< Dim >::ConstQueryNearest = IteratorWrapper<const_query_nearest_iterator_pred_geom<Predicate, Geometry>, const_query_nearest_iterator>

Definition at line 161 of file tree_set.hpp.

◆ Coord

template<std::size_t Dim>
using ufo::TreeSet< Dim >::Coord = typename Base::Coord

Definition at line 97 of file tree_set.hpp.

◆ coord_t

template<std::size_t Dim>
using ufo::TreeSet< Dim >::coord_t = typename Base::coord_t

Definition at line 100 of file tree_set.hpp.

◆ depth_t

template<std::size_t Dim>
using ufo::TreeSet< Dim >::depth_t = typename Base::depth_t

Definition at line 101 of file tree_set.hpp.

◆ difference_type

template<std::size_t Dim>
using ufo::TreeSet< Dim >::difference_type = std::ptrdiff_t

Definition at line 113 of file tree_set.hpp.

◆ Index

template<std::size_t Dim>
using ufo::TreeSet< Dim >::Index = typename Base::Index

Definition at line 92 of file tree_set.hpp.

◆ iterator

template<std::size_t Dim>
using ufo::TreeSet< Dim >::iterator = const_iterator

Definition at line 119 of file tree_set.hpp.

◆ Key

template<std::size_t Dim>
using ufo::TreeSet< Dim >::Key = typename Base::Key

Definition at line 95 of file tree_set.hpp.

◆ Length

template<std::size_t Dim>
using ufo::TreeSet< Dim >::Length = typename Base::Length

Definition at line 99 of file tree_set.hpp.

◆ length_t

template<std::size_t Dim>
using ufo::TreeSet< Dim >::length_t = typename Base::length_t

Definition at line 103 of file tree_set.hpp.

◆ Nearest

template<std::size_t Dim>
template<class Geometry >
using ufo::TreeSet< Dim >::Nearest = ConstNearest<Geometry>

Definition at line 158 of file tree_set.hpp.

◆ nearest_iterator

template<std::size_t Dim>
using ufo::TreeSet< Dim >::nearest_iterator = const_nearest_iterator

Definition at line 135 of file tree_set.hpp.

◆ nearest_iterator_geom

template<std::size_t Dim>
template<class Geometry >
using ufo::TreeSet< Dim >::nearest_iterator_geom = const_nearest_iterator_geom<Geometry>

Definition at line 132 of file tree_set.hpp.

◆ Node

template<std::size_t Dim>
using ufo::TreeSet< Dim >::Node = typename Base::Node

Definition at line 93 of file tree_set.hpp.

◆ offset_t

template<std::size_t Dim>
using ufo::TreeSet< Dim >::offset_t = typename Base::offset_t

Definition at line 102 of file tree_set.hpp.

◆ Point

template<std::size_t Dim>
using ufo::TreeSet< Dim >::Point = typename Base::Point

Definition at line 96 of file tree_set.hpp.

◆ pointer

template<std::size_t Dim>
using ufo::TreeSet< Dim >::pointer = value_type*

Definition at line 110 of file tree_set.hpp.

◆ pos_t

template<std::size_t Dim>
using ufo::TreeSet< Dim >::pos_t = typename Base::pos_t

Definition at line 104 of file tree_set.hpp.

◆ Query

template<std::size_t Dim>
template<class Predicate >
using ufo::TreeSet< Dim >::Query = ConstQuery<Predicate>

Definition at line 152 of file tree_set.hpp.

◆ query_iterator

template<std::size_t Dim>
using ufo::TreeSet< Dim >::query_iterator = const_query_iterator

Definition at line 127 of file tree_set.hpp.

◆ query_iterator_pred

template<std::size_t Dim>
template<class Predicate >
using ufo::TreeSet< Dim >::query_iterator_pred = const_query_iterator_pred<Predicate>

Definition at line 124 of file tree_set.hpp.

◆ query_nearest_iterator

template<std::size_t Dim>
using ufo::TreeSet< Dim >::query_nearest_iterator = const_query_nearest_iterator

Definition at line 146 of file tree_set.hpp.

◆ query_nearest_iterator_pred_geom

template<std::size_t Dim>
template<class Predicate , class Geometry >
using ufo::TreeSet< Dim >::query_nearest_iterator_pred_geom = const_query_nearest_iterator_pred_geom<Predicate, Geometry>

Definition at line 141 of file tree_set.hpp.

◆ QueryNearest

template<std::size_t Dim>
template<class Predicate , class Geometry >
using ufo::TreeSet< Dim >::QueryNearest = ConstQueryNearest<Predicate, Geometry>

Definition at line 165 of file tree_set.hpp.

◆ reference

template<std::size_t Dim>
using ufo::TreeSet< Dim >::reference = value_type&

Definition at line 108 of file tree_set.hpp.

◆ size_type

template<std::size_t Dim>
using ufo::TreeSet< Dim >::size_type = std::size_t

Definition at line 112 of file tree_set.hpp.

◆ value_type

template<std::size_t Dim>
using ufo::TreeSet< Dim >::value_type = typename Block::value_type

Definition at line 107 of file tree_set.hpp.

Constructor & Destructor Documentation

◆ TreeSet() [1/5]

template<std::size_t Dim>
ufo::TreeSet< Dim >::TreeSet ( Length  leaf_node_length = Length(0.1),
depth_t  num_depth_levels = std::min(depth_t(17), Base::maxNumDepthLevels()) 
)
inline

Definition at line 193 of file tree_set.hpp.

◆ TreeSet() [2/5]

template<std::size_t Dim>
ufo::TreeSet< Dim >::TreeSet ( length_t  leaf_node_length,
depth_t  num_depth_levels = std::min(depth_t(17), Base::maxNumDepthLevels()) 
)
inline

Definition at line 199 of file tree_set.hpp.

◆ TreeSet() [3/5]

template<std::size_t Dim>
template<class InputIt >
ufo::TreeSet< Dim >::TreeSet ( InputIt  first,
InputIt  last,
length_t  leaf_node_length = length_t(0.1),
depth_t  num_depth_levels = std::min(depth_t(17), Base::maxNumDepthLevels()) 
)
inline

Definition at line 206 of file tree_set.hpp.

◆ TreeSet() [4/5]

template<std::size_t Dim>
ufo::TreeSet< Dim >::TreeSet ( std::initializer_list< value_type >  init,
length_t  leaf_node_length = length_t(0.1),
depth_t  num_depth_levels = std::min(depth_t(17), Base::maxNumDepthLevels()) 
)
inline

Definition at line 213 of file tree_set.hpp.

◆ TreeSet() [5/5]

template<std::size_t Dim>
template<class Range >
ufo::TreeSet< Dim >::TreeSet ( Range const &  range,
length_t  leaf_node_length = length_t(0.1),
depth_t  num_depth_levels = std::min(depth_t(17), Base::maxNumDepthLevels()) 
)
inline

Definition at line 221 of file tree_set.hpp.

Member Function Documentation

◆ begin() [1/2]

template<std::size_t Dim>
iterator ufo::TreeSet< Dim >::begin ( )
inline

Definition at line 233 of file tree_set.hpp.

◆ begin() [2/2]

template<std::size_t Dim>
const_iterator ufo::TreeSet< Dim >::begin ( ) const
inline

Definition at line 235 of file tree_set.hpp.

◆ beginNearest() [1/2]

template<std::size_t Dim>
template<class Geometry >
nearest_iterator_geom< Geometry > ufo::TreeSet< Dim >::beginNearest ( Geometry const &  query,
float  epsilon = 0.0f 
)
inline

Definition at line 288 of file tree_set.hpp.

◆ beginNearest() [2/2]

template<std::size_t Dim>
template<class Geometry >
const_nearest_iterator_geom< Geometry > ufo::TreeSet< Dim >::beginNearest ( Geometry const &  query,
float  epsilon = 0.0f 
) const
inline

Definition at line 295 of file tree_set.hpp.

◆ beginQuery() [1/2]

template<std::size_t Dim>
template<class Predicate >
query_iterator_pred< Predicate > ufo::TreeSet< Dim >::beginQuery ( Predicate const &  pred)
inline

Definition at line 255 of file tree_set.hpp.

◆ beginQuery() [2/2]

template<std::size_t Dim>
template<class Predicate >
const_query_iterator_pred< Predicate > ufo::TreeSet< Dim >::beginQuery ( Predicate const &  pred) const
inline

Definition at line 261 of file tree_set.hpp.

◆ beginQueryNearest() [1/2]

template<std::size_t Dim>
template<class Predicate , class Geometry >
query_nearest_iterator_pred_geom< Predicate, Geometry > ufo::TreeSet< Dim >::beginQueryNearest ( Predicate const &  pred,
Geometry const &  query,
float  epsilon = 0.0f 
)
inline

Definition at line 325 of file tree_set.hpp.

◆ beginQueryNearest() [2/2]

template<std::size_t Dim>
template<class Predicate , class Geometry >
const_query_nearest_iterator_pred_geom< Predicate, Geometry > ufo::TreeSet< Dim >::beginQueryNearest ( Predicate const &  pred,
Geometry const &  query,
float  epsilon = 0.0f 
) const
inline

Definition at line 334 of file tree_set.hpp.

◆ bounds() [1/3]

template<std::size_t Dim>
Bounds ufo::TreeSet< Dim >::bounds ( ) const
inline

Returns the minimum Bounds able to contain all values stored in the container.

Returns
The minimum Bounds able to contain all values stored in the container.

Definition at line 390 of file tree_set.hpp.

◆ bounds() [2/3]

template<std::size_t Dim>
template<class NodeType , std::enable_if_t< Base::template is_node_type_v< NodeType >, bool > = true>
Bounds & ufo::TreeSet< Dim >::bounds ( NodeType  node)
inline

Returns the minimum Bounds able to contain all values stored in the node and all of its children.

Parameters
nodethe node to check
Returns
The minimum Bounds able to contain all values stored in the node.

Definition at line 834 of file tree_set.hpp.

◆ bounds() [3/3]

template<std::size_t Dim>
template<class NodeType , std::enable_if_t< Base::template is_node_type_v< NodeType >, bool > = true>
Bounds const & ufo::TreeSet< Dim >::bounds ( NodeType  node) const
inline

Returns the minimum Bounds able to contain all values stored in the node and all of its children.

Parameters
nodethe node to check
Returns
The minimum Bounds able to contain all values stored in the node.

Definition at line 849 of file tree_set.hpp.

◆ boundsMax() [1/2]

template<std::size_t Dim>
Point & ufo::TreeSet< Dim >::boundsMax ( Index  node)
inlineprotected

Returns the maximum point of the Bounds able to contain all values stored in the node and all of its children.

Parameters
nodethe node to return the maximum bounds point
Returns
The maximum point of the Bounds able to contain all values stored in the node.

Definition at line 1054 of file tree_set.hpp.

◆ boundsMax() [2/2]

template<std::size_t Dim>
Point ufo::TreeSet< Dim >::boundsMax ( Index  node) const
inlineprotected

Returns the maximum point of the Bounds able to contain all values stored in the node and all of its children.

Parameters
nodethe node to return the maximum bounds point
Returns
The maximum point of the Bounds able to contain all values stored in the node.

Definition at line 1067 of file tree_set.hpp.

◆ boundsMin() [1/2]

template<std::size_t Dim>
Point & ufo::TreeSet< Dim >::boundsMin ( Index  node)
inlineprotected

Returns the minimum point of the Bounds able to contain all values stored in the node and all of its children.

Parameters
nodethe node to return the minimum bounds point
Returns
The minimum point of the Bounds able to contain all values stored in the node.

Definition at line 1028 of file tree_set.hpp.

◆ boundsMin() [2/2]

template<std::size_t Dim>
Point ufo::TreeSet< Dim >::boundsMin ( Index  node) const
inlineprotected

Returns the minimum point of the Bounds able to contain all values stored in the node and all of its children.

Parameters
nodethe node to return the minimum bounds point
Returns
The minimum point of the Bounds able to contain all values stored in the node.

Definition at line 1041 of file tree_set.hpp.

◆ cbegin()

template<std::size_t Dim>
const_iterator ufo::TreeSet< Dim >::cbegin ( ) const
inline

Definition at line 240 of file tree_set.hpp.

◆ cbeginNearest()

template<std::size_t Dim>
template<class Geometry >
const_nearest_iterator_geom< Geometry > ufo::TreeSet< Dim >::cbeginNearest ( Geometry const &  query,
float  epsilon = 0.0f 
) const
inline

Definition at line 303 of file tree_set.hpp.

◆ cbeginQuery()

template<std::size_t Dim>
template<class Predicate >
const_query_iterator_pred< Predicate > ufo::TreeSet< Dim >::cbeginQuery ( Predicate const &  pred) const
inline

Definition at line 269 of file tree_set.hpp.

◆ cbeginQueryNearest()

template<std::size_t Dim>
template<class Predicate , class Geometry >
const_query_nearest_iterator_pred_geom< Predicate, Geometry > ufo::TreeSet< Dim >::cbeginQueryNearest ( Predicate const &  pred,
Geometry const &  query,
float  epsilon = 0.0f 
) const
inline

Definition at line 343 of file tree_set.hpp.

◆ cend()

template<std::size_t Dim>
const_iterator ufo::TreeSet< Dim >::cend ( ) const
inline

Definition at line 246 of file tree_set.hpp.

◆ cendNearest()

template<std::size_t Dim>
const_nearest_iterator ufo::TreeSet< Dim >::cendNearest ( ) const
inline

Definition at line 316 of file tree_set.hpp.

◆ cendQuery()

template<std::size_t Dim>
const_query_iterator ufo::TreeSet< Dim >::cendQuery ( ) const
inline

Definition at line 279 of file tree_set.hpp.

◆ cendQueryNearest()

template<std::size_t Dim>
const_query_nearest_iterator ufo::TreeSet< Dim >::cendQueryNearest ( ) const
inline

Definition at line 359 of file tree_set.hpp.

◆ clear()

template<std::size_t Dim>
void ufo::TreeSet< Dim >::clear ( )
inline

Erases all elements from the container. After this call, size() returns zero.

Definition at line 402 of file tree_set.hpp.

◆ contains()

template<std::size_t Dim>
bool ufo::TreeSet< Dim >::contains ( Point  point) const
inline

Checks if there is an element with Point equivalent to point in the container.

Parameters
pointpoint of the element to search for
Returns
true if there is such an element, otherwise false.

Definition at line 718 of file tree_set.hpp.

◆ count()

template<std::size_t Dim>
size_type ufo::TreeSet< Dim >::count ( Point  point) const
inline

Returns the number of elements with Point that compares equivalent to the specified argument.

Parameters
pointpoint of the elements to count
Returns
Number of elements with Point that compares equivalent to point.

Definition at line 704 of file tree_set.hpp.

◆ empty() [1/2]

template<std::size_t Dim>
bool ufo::TreeSet< Dim >::empty ( ) const
inlinenoexcept

Checks if the container has no elements.

Returns
true if the container is empty, false otherwise.

Definition at line 375 of file tree_set.hpp.

◆ empty() [2/2]

template<std::size_t Dim>
bool ufo::TreeSet< Dim >::empty ( Index  node) const
inlineprotectednoexcept

Checks if the node and none of its children have any elements.

Parameters
nodethe node to check
Returns
true if the node is empty, false otherwise.

Definition at line 892 of file tree_set.hpp.

◆ end() [1/2]

template<std::size_t Dim>
iterator ufo::TreeSet< Dim >::end ( )
inline

Definition at line 242 of file tree_set.hpp.

◆ end() [2/2]

template<std::size_t Dim>
const_iterator ufo::TreeSet< Dim >::end ( ) const
inline

Definition at line 244 of file tree_set.hpp.

◆ endNearest() [1/2]

template<std::size_t Dim>
nearest_iterator ufo::TreeSet< Dim >::endNearest ( )
inline

Definition at line 309 of file tree_set.hpp.

◆ endNearest() [2/2]

template<std::size_t Dim>
const_nearest_iterator ufo::TreeSet< Dim >::endNearest ( ) const
inline

Definition at line 311 of file tree_set.hpp.

◆ endQuery() [1/2]

template<std::size_t Dim>
query_iterator ufo::TreeSet< Dim >::endQuery ( )
inline

Definition at line 275 of file tree_set.hpp.

◆ endQuery() [2/2]

template<std::size_t Dim>
const_query_iterator ufo::TreeSet< Dim >::endQuery ( ) const
inline

Definition at line 277 of file tree_set.hpp.

◆ endQueryNearest() [1/2]

template<std::size_t Dim>
query_nearest_iterator ufo::TreeSet< Dim >::endQueryNearest ( )
inline

Definition at line 349 of file tree_set.hpp.

◆ endQueryNearest() [2/2]

template<std::size_t Dim>
const_query_nearest_iterator ufo::TreeSet< Dim >::endQueryNearest ( ) const
inline

Definition at line 354 of file tree_set.hpp.

◆ erase() [1/12]

template<std::size_t Dim>
iterator ufo::TreeSet< Dim >::erase ( const_iterator  first,
const_iterator  last 
)
inline

Definition at line 573 of file tree_set.hpp.

◆ erase() [2/12]

template<std::size_t Dim>
iterator ufo::TreeSet< Dim >::erase ( const_iterator  pos)
inline

Definition at line 500 of file tree_set.hpp.

◆ erase() [3/12]

template<std::size_t Dim>
template<class Geometry >
nearest_iterator_geom< Geometry > ufo::TreeSet< Dim >::erase ( const_nearest_iterator_geom< Geometry >  pos)
inline

Definition at line 535 of file tree_set.hpp.

◆ erase() [4/12]

template<std::size_t Dim>
template<class Geometry1 , class Geometry2 >
nearest_iterator_geom< Geometry1 > ufo::TreeSet< Dim >::erase ( const_nearest_iterator_geom< Geometry1 >  first,
const_nearest_iterator_geom< Geometry2 >  last 
)
inline

Definition at line 630 of file tree_set.hpp.

◆ erase() [5/12]

template<std::size_t Dim>
template<class Predicate >
query_iterator_pred< Predicate > ufo::TreeSet< Dim >::erase ( const_query_iterator_pred< Predicate >  pos)
inline

Definition at line 518 of file tree_set.hpp.

◆ erase() [6/12]

template<std::size_t Dim>
template<class Predicate1 , class Predicate2 >
query_iterator_pred< Predicate1 > ufo::TreeSet< Dim >::erase ( const_query_iterator_pred< Predicate1 >  first,
const_query_iterator_pred< Predicate2 >  last 
)
inline

Definition at line 596 of file tree_set.hpp.

◆ erase() [7/12]

template<std::size_t Dim>
template<class Predicate , class Geometry >
query_nearest_iterator_pred_geom< Predicate, Geometry > ufo::TreeSet< Dim >::erase ( const_query_nearest_iterator_pred_geom< Predicate, Geometry >  pos)
inline

Definition at line 554 of file tree_set.hpp.

◆ erase() [8/12]

template<std::size_t Dim>
template<class Predicate1 , class Geometry1 , class Predicate2 , class Geometry2 >
query_nearest_iterator_pred_geom< Predicate1, Geometry1 > ufo::TreeSet< Dim >::erase ( const_query_nearest_iterator_pred_geom< Predicate1, Geometry1 >  first,
const_query_nearest_iterator_pred_geom< Predicate2, Geometry2 >  last 
)
inline

Definition at line 655 of file tree_set.hpp.

◆ erase() [9/12]

template<std::size_t Dim>
template<class Predicate >
query_iterator_pred< Predicate > ufo::TreeSet< Dim >::erase ( ConstQuery< Predicate >  query)
inline

Definition at line 614 of file tree_set.hpp.

◆ erase() [10/12]

template<std::size_t Dim>
template<class Predicate , class Geometry >
query_nearest_iterator_pred_geom< Predicate, Geometry > ufo::TreeSet< Dim >::erase ( ConstQueryNearest< Predicate, Geometry >  query)
inline

Definition at line 674 of file tree_set.hpp.

◆ erase() [11/12]

template<std::size_t Dim>
void ufo::TreeSet< Dim >::erase ( typename container_type::const_iterator  it)
inlineprotected

Definition at line 939 of file tree_set.hpp.

◆ erase() [12/12]

template<std::size_t Dim>
size_type ufo::TreeSet< Dim >::erase ( value_type const &  value)
inline

Definition at line 472 of file tree_set.hpp.

◆ erasePropagate()

template<std::size_t Dim>
void ufo::TreeSet< Dim >::erasePropagate ( Index  node)
inlineprotected

Definition at line 954 of file tree_set.hpp.

◆ insert() [1/10]

template<std::size_t Dim>
template<class ExecutionPolicy , class RandomIt , std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void ufo::TreeSet< Dim >::insert ( ExecutionPolicy &&  policy,
RandomIt  first,
RandomIt  last 
)
inline

Definition at line 430 of file tree_set.hpp.

◆ insert() [2/10]

template<std::size_t Dim>
template<class ExecutionPolicy , class Range , std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void ufo::TreeSet< Dim >::insert ( ExecutionPolicy &&  policy,
Range const &  r 
)
inline

Definition at line 465 of file tree_set.hpp.

◆ insert() [3/10]

template<std::size_t Dim>
template<class ExecutionPolicy , std::enable_if_t< execution::is_execution_policy_v< ExecutionPolicy >, bool > = true>
void ufo::TreeSet< Dim >::insert ( ExecutionPolicy &&  policy,
std::initializer_list< value_type >  ilist 
)
inline

Definition at line 449 of file tree_set.hpp.

◆ insert() [4/10]

template<std::size_t Dim>
void ufo::TreeSet< Dim >::insert ( Index  node,
value_type &&  value 
)
inlineprotected

Definition at line 911 of file tree_set.hpp.

◆ insert() [5/10]

template<std::size_t Dim>
void ufo::TreeSet< Dim >::insert ( Index  node,
value_type const &  value 
)
inlineprotected

Definition at line 903 of file tree_set.hpp.

◆ insert() [6/10]

template<std::size_t Dim>
template<class InputIt >
void ufo::TreeSet< Dim >::insert ( InputIt  first,
InputIt  last 
)
inline

Definition at line 421 of file tree_set.hpp.

◆ insert() [7/10]

template<std::size_t Dim>
template<class Range >
void ufo::TreeSet< Dim >::insert ( Range const &  r)
inline

Definition at line 455 of file tree_set.hpp.

◆ insert() [8/10]

template<std::size_t Dim>
void ufo::TreeSet< Dim >::insert ( std::initializer_list< value_type >  ilist)
inline

Definition at line 441 of file tree_set.hpp.

◆ insert() [9/10]

template<std::size_t Dim>
void ufo::TreeSet< Dim >::insert ( value_type &&  value)
inline

Definition at line 414 of file tree_set.hpp.

◆ insert() [10/10]

template<std::size_t Dim>
void ufo::TreeSet< Dim >::insert ( value_type const &  value)
inline

Definition at line 408 of file tree_set.hpp.

◆ insertPropagate()

template<std::size_t Dim>
void ufo::TreeSet< Dim >::insertPropagate ( Index  node,
Point  p 
)
inlineprotected

Definition at line 919 of file tree_set.hpp.

◆ nearest() [1/2]

template<std::size_t Dim>
template<class Geometry >
Nearest< Geometry > ufo::TreeSet< Dim >::nearest ( Geometry const &  query,
float  epsilon = 0.0f 
)
inline

Definition at line 738 of file tree_set.hpp.

◆ nearest() [2/2]

template<std::size_t Dim>
template<class Geometry >
ConstNearest< Geometry > ufo::TreeSet< Dim >::nearest ( Geometry const &  query,
float  epsilon = 0.0f 
) const
inline

Definition at line 744 of file tree_set.hpp.

◆ nearestDistance()

template<std::size_t Dim>
template<class Geometry >
float ufo::TreeSet< Dim >::nearestDistance ( Geometry const &  query,
float  max_distance = std::numeric_limits<float>::infinity(),
float  epsilon = 0.0f,
NearestSearchAlgorithm  search_alg = NearestSearchAlgorithm::DEPTH_FIRST 
) const
inline

Definition at line 768 of file tree_set.hpp.

◆ nearestPoint()

template<std::size_t Dim>
template<class Geometry >
std::pair< value_type, float > ufo::TreeSet< Dim >::nearestPoint ( Geometry const &  query,
float  max_distance = std::numeric_limits<float>::infinity(),
float  epsilon = 0.0f,
NearestSearchAlgorithm  search_alg = NearestSearchAlgorithm::DEPTH_FIRST 
) const
inline

Definition at line 792 of file tree_set.hpp.

◆ onInitChildren()

template<std::size_t Dim>
void ufo::TreeSet< Dim >::onInitChildren ( Index  ,
pos_t   
)
inlineprotected

Definition at line 876 of file tree_set.hpp.

◆ onInitRoot()

template<std::size_t Dim>
void ufo::TreeSet< Dim >::onInitRoot ( )
inlineprotected

Definition at line 874 of file tree_set.hpp.

◆ onPruneChildren()

template<std::size_t Dim>
void ufo::TreeSet< Dim >::onPruneChildren ( Index  ,
pos_t   
)
inlineprotected

Definition at line 878 of file tree_set.hpp.

◆ query() [1/2]

template<std::size_t Dim>
template<class Predicate >
Query< Predicate > ufo::TreeSet< Dim >::query ( Predicate const &  pred)
inline

Definition at line 726 of file tree_set.hpp.

◆ query() [2/2]

template<std::size_t Dim>
template<class Predicate >
ConstQuery< Predicate > ufo::TreeSet< Dim >::query ( Predicate const &  pred) const
inline

Definition at line 732 of file tree_set.hpp.

◆ queryNearest() [1/2]

template<std::size_t Dim>
template<class Predicate , class Geometry >
QueryNearest< Predicate, Geometry > ufo::TreeSet< Dim >::queryNearest ( Predicate const &  pred,
Geometry const &  query,
float  epsilon = 0.0f 
)
inline

Definition at line 751 of file tree_set.hpp.

◆ queryNearest() [2/2]

template<std::size_t Dim>
template<class Predicate , class Geometry >
ConstQueryNearest< Predicate, Geometry > ufo::TreeSet< Dim >::queryNearest ( Predicate const &  pred,
Geometry const &  query,
float  epsilon = 0.0f 
) const
inline

Definition at line 760 of file tree_set.hpp.

◆ size()

template<std::size_t Dim>
size_type ufo::TreeSet< Dim >::size ( ) const
inlinenoexcept

Returns the number of elements in the container.

Returns
The number of elements in the container.

Definition at line 382 of file tree_set.hpp.

◆ swap()

template<std::size_t Dim>
void ufo::TreeSet< Dim >::swap ( TreeSet< Dim > &  other)
inline

Exchanges the contents of the container with those of other.

Parameters
othercontainer to exchange the contents with

Definition at line 685 of file tree_set.hpp.

◆ values() [1/4]

template<std::size_t Dim>
auto & ufo::TreeSet< Dim >::values ( Index  node)
inlineprotected

Definition at line 1010 of file tree_set.hpp.

◆ values() [2/4]

template<std::size_t Dim>
auto const & ufo::TreeSet< Dim >::values ( Index  node) const
inlineprotected

Definition at line 1015 of file tree_set.hpp.

◆ values() [3/4]

template<std::size_t Dim>
auto & ufo::TreeSet< Dim >::values ( pos_t  block)
inlineprotected

Definition at line 1003 of file tree_set.hpp.

◆ values() [4/4]

template<std::size_t Dim>
auto const & ufo::TreeSet< Dim >::values ( pos_t  block) const
inlineprotected

Definition at line 1005 of file tree_set.hpp.

Friends And Related Symbol Documentation

◆ pred::Spatial

template<std::size_t Dim>
template<class Geometry , pred::SpatialTag Tag, bool Negated>
friend class pred::Spatial
friend

Definition at line 82 of file tree_set.hpp.

◆ TreeSetIterator

template<std::size_t Dim>
template<bool , std::size_t >
friend class TreeSetIterator
friend

Definition at line 172 of file tree_set.hpp.

◆ TreeSetNearestIterator

template<std::size_t Dim>
template<bool , std::size_t , class >
friend class TreeSetNearestIterator
friend

Definition at line 178 of file tree_set.hpp.

◆ TreeSetQueryIterator

template<std::size_t Dim>
template<bool , std::size_t , class >
friend class TreeSetQueryIterator
friend

Definition at line 175 of file tree_set.hpp.

◆ TreeSetQueryNearestIterator

template<std::size_t Dim>
template<bool , std::size_t , class , class >
friend class TreeSetQueryNearestIterator
friend

Definition at line 181 of file tree_set.hpp.

Member Data Documentation

◆ Base

template<std::size_t Dim>
friend ufo::TreeSet< Dim >::Base
protected

Definition at line 77 of file tree_set.hpp.

◆ size_

template<std::size_t Dim>
size_type ufo::TreeSet< Dim >::size_ {}
protected

Definition at line 1073 of file tree_set.hpp.


The documentation for this class was generated from the following files: