UFO 1.0.0
An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown
Loading...
Searching...
No Matches
ufo::TreeMap< Dim, T > Class Template Reference
Inheritance diagram for ufo::TreeMap< Dim, T >:
ufo::Tree< TreeMap< Dim, T >, Dim, TreeMapBlock< T > > ufo::TreeData< Derived, Dim, Ts >

Public Types

using Bounds = typename Base::Bounds
 
using Code = typename Base::Code
 
using const_iterator = TreeMapIterator< true, Dim, T >
 
using const_nearest_iterator = const_nearest_iterator_geom< DynamicGeometry >
 
template<class Geometry >
using const_nearest_iterator_geom = TreeMapNearestIterator< true, Dim, T, Geometry >
 
using const_pointer = value_type const *
 
using const_query_iterator = const_query_iterator_pred< pred::Predicate< TreeMap > >
 
template<class Predicate >
using const_query_iterator_pred = TreeMapQueryIterator< true, Dim, T, Predicate >
 
using const_query_nearest_iterator = const_query_nearest_iterator_pred_geom< pred::Predicate< TreeMap >, DynamicGeometry >
 
template<class Predicate , class Geometry >
using const_query_nearest_iterator_pred_geom = TreeMapQueryNearestIterator< true, Dim, T, 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_type = typename Base::coord_type
 
using depth_type = typename Base::depth_type
 
using difference_type = std::ptrdiff_t
 
using Index = typename Base::Index
 
using iterator = TreeMapIterator< false, Dim, T >
 
using Key = typename Base::Key
 
using Length = typename Base::Length
 
using length_type = typename Base::length_type
 
using mapped_type = T
 
template<class Geometry >
using Nearest = IteratorWrapper< nearest_iterator_geom< Geometry >, nearest_iterator >
 
using nearest_iterator = nearest_iterator_geom< DynamicGeometry >
 
template<class Geometry >
using nearest_iterator_geom = TreeMapNearestIterator< false, Dim, T, Geometry >
 
using Node = typename Base::Node
 
using offset_type = typename Base::offset_type
 
using Point = typename Base::Point
 
using pointer = value_type *
 
using pos_type = typename Base::pos_type
 
template<class Predicate >
using Query = IteratorWrapper< query_iterator_pred< Predicate >, query_iterator >
 
using query_iterator = query_iterator_pred< pred::Predicate< TreeMap > >
 
template<class Predicate >
using query_iterator_pred = TreeMapQueryIterator< false, Dim, T, Predicate >
 
using query_nearest_iterator = query_nearest_iterator_pred_geom< pred::Predicate< TreeMap >, DynamicGeometry >
 
template<class Predicate , class Geometry >
using query_nearest_iterator_pred_geom = TreeMapQueryNearestIterator< false, Dim, T, Predicate, Geometry >
 
template<class Predicate , class Geometry >
using QueryNearest = IteratorWrapper< query_nearest_iterator_pred_geom< Predicate, Geometry >, query_nearest_iterator >
 
using reference = value_type &
 
using size_type = std::size_t
 
using value_type = typename LeafBlock::value_type
 

Public Member Functions

template<class InputIt >
 TreeMap (InputIt first, InputIt last, length_type leaf_node_length=length_type(0.1), depth_type num_depth_levels=std::min(depth_type(17), Base::maxNumDepthLevels()))
 
 TreeMap (Length leaf_node_length=Length(0.1), depth_type num_depth_levels=std::min(depth_type(17), Base::maxNumDepthLevels()))
 
 TreeMap (length_type leaf_node_length, depth_type num_depth_levels=std::min(depth_type(17), Base::maxNumDepthLevels()))
 
template<class Range >
 TreeMap (Range const &range, length_type leaf_node_length=length_type(0.1), depth_type num_depth_levels=std::min(depth_type(17), Base::maxNumDepthLevels()))
 
 TreeMap (std::initializer_list< value_type > init, length_type leaf_node_length=length_type(0.1), depth_type num_depth_levels=std::min(depth_type(17), Base::maxNumDepthLevels()))
 
 TreeMap (TreeMap &&)=default
 
 TreeMap (TreeMap const &)=default
 
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.
 
template<class... Args>
void emplace (Point point, Args &&... args)
 
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)
 
iterator erase (iterator first, iterator last)
 
iterator erase (iterator pos)
 
template<class Geometry >
nearest_iterator_geom< Geometry > erase (nearest_iterator_geom< Geometry > pos)
 
template<class Geometry1 , class Geometry2 >
nearest_iterator_geom< Geometry1 > erase (nearest_iterator_geom< Geometry1 > first, nearest_iterator_geom< Geometry2 > last)
 
size_type erase (Point point)
 
template<class Predicate >
query_iterator_pred< Predicate > erase (Query< Predicate > query)
 
template<class Predicate >
query_iterator_pred< Predicate > erase (query_iterator_pred< Predicate > pos)
 
template<class Predicate1 , class Predicate2 >
query_iterator_pred< Predicate1 > erase (query_iterator_pred< Predicate1 > first, query_iterator_pred< Predicate2 > last)
 
template<class Predicate , class Geometry >
query_nearest_iterator_pred_geom< Predicate, Geometry > erase (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 (query_nearest_iterator_pred_geom< Predicate1, Geometry1 > first, query_nearest_iterator_pred_geom< Predicate2, Geometry2 > last)
 
template<class Predicate , class Geometry >
query_nearest_iterator_pred_geom< Predicate, Geometry > erase (QueryNearest< 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)
 
template<class Geometry >
std::pair< value_type const *, float > nearestPoint (Geometry const &query, float max_distance=std::numeric_limits< float >::infinity(), float epsilon=0.0f, NearestSearchAlgorithm search_alg=NearestSearchAlgorithm::DEPTH_FIRST) const
 
TreeMapoperator= (TreeMap &&)=default
 
TreeMapoperator= (TreeMap const &)=default
 
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 (TreeMap &other)
 Exchanges the contents of the container with those of other.
 

Protected Types

using Base = Tree< TreeMap, Dim, TreeMapBlock< T > >
 
using InnerBlock = typename TreeMapBlock< T >::template InnerBlock< Dim, BF >
 
using LeafBlock = typename TreeMapBlock< T >::template LeafBlock< Dim, BF >
 
- Protected Types inherited from ufo::Tree< TreeMap< Dim, T >, Dim, TreeMapBlock< T > >
using Data = TreeData< TreeMap< Dim, T >, Dim, TreeBlock, Blocks... >
 
using InnerBlock = typename TreeBlock::InnerBlock< Dim, BF >
 
using LeafBlock = typename TreeBlock::LeafBlock< Dim, BF >
 
using modified_type = typename LeafBlock::modified_type
 
using Bounds = AABB< Dim, coord_type >
 
using Code = TreeCode< Dim >
 
using code_type = typename Code::code_type
 
using const_iterator = TreeIterator< TreeMap< Dim, T > >
 
using const_nearest_iterator = TreeNearestIterator< TreeMap< Dim, T > >
 
using const_nearest_iterator_geom = TreeNearestIterator< TreeMap< Dim, T >, Geometry >
 
using const_query_iterator = TreeQueryIterator< TreeMap< Dim, T > >
 
using const_query_iterator_pred = TreeQueryIterator< TreeMap< Dim, T >, Predicate >
 
using const_query_nearest_iterator = TreeQueryNearestIterator< TreeMap< Dim, T > >
 
using const_query_nearest_iterator_pred_geom = TreeQueryNearestIterator< TreeMap< Dim, T >, Predicate, Geometry >
 
using ConstNearest = IteratorWrapper< const_nearest_iterator_geom< Geometry >, const_nearest_iterator >
 
using ConstQuery = IteratorWrapper< const_query_iterator_pred< Predicate >, const_query_iterator >
 
using ConstQueryNearest = IteratorWrapper< const_query_nearest_iterator_pred_geom< Predicate, Geometry >, const_query_nearest_iterator >
 
using Coord = TreeCoord< Dim, coord_type >
 
using coord_type = float
 
using depth_type = std::uint32_t
 
using Index = TreeIndex
 
using Key = TreeKey< Dim >
 
using key_type = typename Key::key_type
 
using Length = Vec< Dim, length_type >
 
using length_type = double
 
using Node = TreeNode< Dim >
 
using offset_type = typename Index::offset_type
 
using Point = Vec< Dim, coord_type >
 
using pos_type = typename Index::pos_type
 
using Ray = ufo::Ray< Dim, coord_type >
 
using TraceResult = ufo::TraceResult< Dim >
 
- Protected Types inherited from ufo::TreeData< Derived, Dim, Ts >
using Index = TreeIndex
 
using InnerData = TreeContainer< typename Ts::template InnerBlock< Dim, BF >... >
 
using LeafData = TreeContainer< typename Ts::template LeafBlock< Dim, BF >... >
 
using pos_type = Index::pos_type
 

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_type)
 
void onInitRoot ()
 
void onPruneChildren (Index, pos_type)
 
auto & values (Index node)
 
auto const & values (Index node) const
 
auto & values (pos_type block)
 
auto const & values (pos_type block) const
 
- Protected Member Functions inherited from ufo::Tree< TreeMap< Dim, T >, Dim, TreeMapBlock< T > >
 Tree (Length leaf_node_length, depth_type num_depth_levels)
 
 Tree (length_type leaf_node_length, depth_type num_depth_levels)
 
 Tree (Tree &&)=default
 
 Tree (Tree const &)=default
 
bool allLeaf (InnerBlock const &block) const
 
bool allLeaf (LeafBlock const &block) const
 
bool allLeaf (pos_type block) const
 Checks if all nodes of a block are leaves.
 
bool allParent (pos_type block) const
 Checks if all nodes of a block are parents.
 
bool anyLeaf (InnerBlock const &block) const
 
bool anyLeaf (LeafBlock const &block) const
 
bool anyLeaf (pos_type block) const
 Checks if any node of a block is a leaf.
 
bool anyParent (pos_type block) const
 Checks if any node of a block is a parent.
 
Index createChild (Index node, offset_type child_offset)
 
pos_type createChildren (Index node)
 
pos_type createChildrenThreadSafe (Index node)
 
Index createChildThreadSafe (Index node, offset_type child_offset)
 
void createRoot ()
 
Index createThreadSafe (NodeType node)
 
constexpr TreeMap< Dim, T > & derived ()
 Returns a reference of the derived class.
 
constexpr TreeMap< Dim, T > const & derived () const
 Returns a reference of the derived class.
 
void init (Length leaf_node_length, depth_type num_depth_levels)
 
void initInnerChildren (Index node, InnerBlock const &block, pos_type children)
 
void initLeafChildren (Index node, InnerBlock const &block, pos_type children)
 
std::conditional_t< OnlyDistance, float, std::pair< float, Index > > nearest (Index node, NearestSearchAlgorithm search_alg, ValueFun value_f, InnerFun inner_f, float max_dist, float epsilon) const
 
std::pair< float, Indexnearest (Index node, Predicate pred, NearestSearchAlgorithm search_alg, ValueFun value_f, InnerFun inner_f, float max_dist, float epsilon) const
 
std::conditional_t< OnlyDistance, float, std::pair< float, Index > > nearestDepthFirst (pos_type block, depth_type depth, float c_dist, float epsilon, ValueFun value_f, InnerFun inner_f) const
 
std::pair< float, IndexnearestDepthFirst (pos_type block, depth_type depth, float c_dist, ValueFun value_f, InnerFun inner_f) const
 
bool noneLeaf (pos_type block) const
 Checks if no nodes of a block are leaves.
 
bool noneParent (pos_type block) const
 Checks if no nodes of a block are parents.
 
Treeoperator= (Tree &&)=default
 
Treeoperator= (Tree const &)=default
 
void pruneChildren (Index node)
 
void pruneChildren (Index node, pos_type children)
 
void recursDown (Index node, UpdateFun update_f)
 
void recursDown (pos_type block, UpdateFun update_f)
 
void recursLeaves (NodeType node, NodeFun node_f, BlockFun block_f, UpdateFun update_f, bool propagate)
 
void recursLeaves (pos_type block, NodeFun node_f, BlockFun block_f, UpdateFun update_f)
 
void recursParentFirst (NodeType node, NodeFun node_f, BlockFun block_f, UpdateFun update_f, bool propagate)
 
void recursParentFirst (pos_type block, BlockFun block_f)
 
void recursUp (Index node, UpdateFun update_f)
 
constexpr TraceResult trace (Node node, TraceParams const &params, Predicate const &pred, float const near_clip, float const far_clip, bool only_exists) const
 
TraceParams traceInit (NodeType node, Ray const &ray) const
 
InnerBlock & treeInnerBlock (pos_type block)
 
InnerBlock const & treeInnerBlock (pos_type block) const
 
InnerBlock const & treeInnerBlockConst (pos_type block) const
 
LeafBlock & treeLeafBlock (pos_type block)
 
LeafBlock const & treeLeafBlock (pos_type block) const
 
LeafBlock const & treeLeafBlockConst (pos_type block) const
 
auto ancestor (NodeType node, depth_type depth) const
 
auto ancestorChecked (NodeType node, depth_type depth) const
 
const_iterator begin (bool only_leaves=true, bool only_exists=true) const
 
const_iterator begin (NodeType node, bool only_leaves=true, bool only_exists=true) const
 
const_nearest_iterator_geom< Geometry > beginNearest (Geometry const &geometry, double epsilon=0.0, bool only_leaves=true, bool only_exists=true) const
 
const_nearest_iterator_geom< Geometry > beginNearest (NodeType node, Geometry const &geometry, double epsilon=0.0, bool only_leaves=true, bool only_exists=true) const
 
const_query_iterator_pred< Predicate > beginQuery (NodeType node, Predicate const &pred, bool only_exists=true, bool early_stopping=false) const
 
const_query_iterator_pred< Predicate > beginQuery (Predicate const &pred, bool only_exists=true, bool early_stopping=false) const
 
const_query_nearest_iterator_pred_geom< Predicate, Geometry > beginQueryNearest (NodeType node, Predicate const &pred, Geometry const &geometry, double epsilon=0.0, bool only_exists=true, bool early_stopping=false) const
 
const_query_nearest_iterator_pred_geom< Predicate, Geometry > beginQueryNearest (Predicate const &pred, Geometry const &geometry, double epsilon=0.0, bool only_exists=true, bool early_stopping=false) const
 
constexpr pos_type block () const noexcept
 Returns the block position of the root node.
 
pos_type block (NodeType node) const
 Returns the block position of node.
 
Bounds bounds () const
 Returns the bounds of the tree (/ root node).
 
Bounds bounds (NodeType node) const
 Returns the bounds of node.
 
Coord center () const
 Returns the center of the tree (/ root node).
 
constexpr Coord center (NodeType node) const
 Returns the center of node.
 
coord_type centerAxis (NodeType node, std::size_t axis) const
 Returns the center of node for the axis specified.
 
coord_type centerAxis (std::size_t axis) const
 Returns the center of the tree (/ root node) for the axis specified.
 
std::optional< coord_type > centerAxisChecked (NodeType node, std::size_t axis) const
 Returns the center of node for the axis specified, if the node is valid (i.e., valid(node)).
 
std::optional< CoordcenterChecked (NodeType node) const
 Returns the center of node if the node is valid (i.e., valid(node)).
 
constexpr auto child (NodeType node, offset_type offset) const
 Returns the i:th child of node.
 
auto childChecked (NodeType node, offset_type offset) const
 Get a child of a node with bounds checking.
 
pos_type children (Index node) const
 
std::array< pos_type, BF > const & children (pos_type block) const
 
void clear ()
 Erases all nodes from the tree.
 
void clear (Length const &leaf_node_length, depth_type num_depth_levels)
 
void clear (length_type const &leaf_node_length, depth_type num_depth_levels)
 
Code code () const
 
Code code (NodeType node) const
 
std::optional< CodecodeChecked (NodeType node) const
 
std::vector< Indexcreate (ExecutionPolicy &&policy, RandomIt first, RandomIt last)
 
RandomIt2 create (ExecutionPolicy &&policy, RandomIt1 first, RandomIt1 last, RandomIt2 d_first)
 
std::vector< Indexcreate (ExecutionPolicy &&policy, Range const &r)
 
RandomIt create (ExecutionPolicy &&policy, Range const &r, RandomIt d_first)
 
std::vector< Indexcreate (InputIt first, InputIt last)
 
OutputIt create (InputIt first, InputIt last, OutputIt d_first)
 
Index create (NodeType node)
 
std::vector< Indexcreate (Range const &r)
 
OutputIt create (Range const &r, OutputIt d_first)
 
depth_type depth () const
 Returns the depth of the root node, i.e. numDepthLevels() - 1.
 
constexpr depth_type depth (NodeType node) const
 Returns the depth of the node.
 
depth_type depth (pos_type block) const
 Returns the depth of the block.
 
const_iterator end () const
 
const_nearest_iterator endNearest () const
 
const_query_iterator endQuery () const
 
const_query_nearest_iterator endQueryNearest () const
 
void eraseChildren ()
 
void eraseChildren (NodeType node)
 
bool exists (NodeType node) const
 Checks if a node exists.
 
bool exists (pos_type block) const
 
Length halfLength () const
 Returns the half length of the tree (/ root node), i.e. length() / 2.
 
Length halfLength (depth_type depth) const
 Returns the half length of nodes at depth, i.e. length(depth) / 2.
 
constexpr Length halfLength (NodeType node) const
 Returns the half length of node, i.e. length(node) / 2.
 
Length halfLengthReciprocal () const
 Returns the reciprocal of the half length of the tree (/ root node), i.e. 1 / (length() / 2) = 2 / length().
 
Length halfLengthReciprocal (depth_type depth) const
 Returns the reciprocal of the half length of nodes at depth, i.e. 1 / (length(depth) / 2) = 2 / length(depth).
 
Length halfLengthReciprocal (NodeType node) const
 Returns the reciprocal of the half length of node, i.e. 1 / (length(node) / 2) = 2 / length(node).
 
constexpr Index index () const noexcept
 Returns the index of the root node.
 
constexpr Index index (NodeType node) const
 
bool isInside (Point coord) const
 Checks if a coordinate is inside the tree bounds, i.e. inside bounds().
 
bool isLeaf (NodeType node) const
 Checks if the node is a leaf (i.e., has no children).
 
bool isParent (NodeType node) const
 Checks if the node is a parent (i.e., has children).
 
bool isPureLeaf (NodeType node) const
 Checks if the node is a pure leaf (i.e., can never have children).
 
bool isPureLeaf (pos_type block) const
 Checks if the block is pure leaf (i.e., can never have children).
 
constexpr bool isRoot (NodeType node) const
 Checks if the node is the root of the tree.
 
constexpr bool isRoot (pos_type block) const
 
Key key () const
 
Key key (NodeType node) const
 
std::optional< KeykeyChecked (NodeType node) const
 
Length length () const
 Returns the length of the tree (/ root node), i.e. leaf_node_length * 2^depth().
 
Length length (depth_type depth) const
 Returns the length of nodes at depth, i.e. leaf_node_length * 2^depth.
 
Length length (NodeType node) const
 Returns the length of node, i.e. leaf_node_length * 2^depth(node).
 
Length lengthReciprocal () const
 Returns the reciprocal of the length of the tree (/ root node), i.e. 1 / length().
 
Length lengthReciprocal (depth_type depth) const
 Returns the reciprocal of the length of nodes at depth, i.e. 1 / length(depth).
 
Length lengthReciprocal (NodeType node) const
 Returns the reciprocal of the length of node, i.e. 1 / length(node).
 
Point max () const
 Returns the maximum point of the tree (/ root node).
 
Point max (NodeType node) const
 Returns the maximum point of node.
 
Point min () const
 Returns the minimum point of the tree (/ root node).
 
Point min (NodeType node) const
 Returns the minimum point of node.
 
bool modified () const
 Check if the root of the tree is modified.
 
bool modified (NodeType node) const
 Check if a node of the tree is in a modified state.
 
void modifiedReset ()
 
void modifiedReset (NodeType node)
 
void modifiedSet ()
 
void modifiedSet (bool value)
 
void modifiedSet (NodeType node)
 
void modifiedSet (NodeType node, bool value)
 
ConstNearest< Geometry > nearest (Geometry const &geometry, double epsilon=0.0, bool only_leaves=true, bool only_exists=true) const
 
ConstNearest< Geometry > nearest (NodeType node, Geometry const &geometry, double epsilon=0.0, bool only_leaves=true, bool only_exists=true) const
 
Node node () const
 Returns the root node.
 
Node node (NodeType node) const
 Returns the node corresponding to node.
 
constexpr depth_type numDepthLevels () const noexcept
 Returns the number of depth levels of the tree, i.e. depth() + 1.
 
constexpr offset_type offset () const noexcept
 Returns the offset of the root node.
 
offset_type offset (NodeType node) const
 Returns the offset of node.
 
ConstQuery< Predicate > operator() (NodeType node, Predicate const &pred, bool only_exists=true, bool early_stopping=false) const
 
ConstQuery< Predicate > operator() (Predicate const &pred, bool only_exists=true, bool early_stopping=false) const
 
Node operator[] (NodeType node) const
 Get the node corresponding to a code.
 
auto parent (NodeType node) const
 
Index parent (pos_type block) const
 
auto parentChecked (NodeType node) const
 
ConstQuery< Predicate > query (NodeType node, Predicate const &pred, bool only_exists=true, bool early_stopping=false) const
 
ConstQuery< Predicate > query (Predicate const &pred, bool only_exists=true, bool early_stopping=false) const
 
ConstQueryNearest< Predicate, Geometry > queryNearest (NodeType node, Predicate const &pred, Geometry const &geometry, double epsilon=0.0, bool only_exists=true, bool early_stopping=false) const
 
ConstQueryNearest< Predicate, Geometry > queryNearest (Predicate const &pred, Geometry const &geometry, double epsilon=0.0, bool only_exists=true, bool early_stopping=false) const
 
void reserve (std::size_t num_nodes)
 Increase the capacity of the tree to at least hold num_nodes nodes.
 
auto sibling (NodeType node, offset_type offset) const
 
auto siblingChecked (NodeType node, offset_type offset) const
 
std::size_t size () const
 Returns the number of nodes in the tree.
 
std::vector< TraceResulttrace (ExecutionPolicy &&policy, NodeType node, RandomIt first, RandomIt last, Predicate const &pred, float min_dist=0.0f, float max_dist=std::numeric_limits< float >::max(), bool only_exists=true) const
 
RandomIt2 trace (ExecutionPolicy &&policy, NodeType node, RandomIt1 first, RandomIt1 last, RandomIt2 d_first, Predicate pred, float min_dist=0.0f, float max_dist=std::numeric_limits< float >::max(), bool only_exists=true) const
 
std::vector< TraceResulttrace (ExecutionPolicy &&policy, RandomIt first, RandomIt last, Predicate const &pred, float min_dist=0.0f, float max_dist=std::numeric_limits< float >::max(), bool only_exists=true) const
 
RandomIt2 trace (ExecutionPolicy &&policy, RandomIt1 first, RandomIt1 last, RandomIt2 d_first, Predicate const &pred, float min_dist=0.0f, float max_dist=std::numeric_limits< float >::max(), bool only_exists=true) const
 
OutputIt trace (InputIt first, InputIt last, OutputIt d_first, Predicate const &pred, float min_dist=0.0f, float max_dist=std::numeric_limits< float >::max(), bool only_exists=true) const
 
std::vector< TraceResulttrace (InputIt first, InputIt last, Predicate const &pred, float min_dist=0.0f, float max_dist=std::numeric_limits< float >::max(), bool only_exists=true) const
 
OutputIt trace (NodeType node, InputIt first, InputIt last, OutputIt d_first, Predicate const &pred, float min_dist=0.0f, float max_dist=std::numeric_limits< float >::max(), bool only_exists=true) const
 
std::vector< TraceResulttrace (NodeType node, InputIt first, InputIt last, Predicate const &pred, float min_dist=0.0f, float max_dist=std::numeric_limits< float >::max(), bool only_exists=true) const
 
TraceResult trace (NodeType node, Ray const &ray, Predicate pred, float min_dist=0.0f, float max_dist=std::numeric_limits< float >::max(), bool only_exists=true) const
 
TraceResult trace (Ray const &ray, Predicate const &pred, float min_dist=0.0f, float max_dist=std::numeric_limits< float >::max(), bool only_exists=true) const
 
void traverse (NodeType node, UnaryFun f) const
 Depth first traversal of the tree, starting at node. The function 'f' will be called for each traversed node. If 'f' returns true then the children of the node will also be traverse, otherwise they will not.
 
void traverse (NodeType node, UnaryFun f, Predicate pred, bool only_exists=true) const
 Depth first traversal of the tree, starting at node. The function 'f' will be called for each traversed node that fulfills the predicates pred.
 
void traverse (UnaryFun f) const
 Depth first traversal of the tree, starting at the root node. The function 'f' will be called for each node traverse. If 'f' returns true then the children of the node will also be traverse, otherwise they will not.
 
void traverse (UnaryFun f, Predicate const &pred, bool only_exists=true) const
 Depth first traversal of the tree, starting at the root node. The function 'f' will be called for each node traverse. If 'f' returns true then the children of the node will also be traverse, otherwise they will not.
 
bool valid (NodeType node) const
 Checks if an index is valid.
 
bool valid (pos_type block) const
 Checks if a block is valid.
 
- Protected Member Functions inherited from ufo::TreeData< Derived, Dim, Ts >
void clear ()
 
pos_type create (bool leaf)
 
pos_type createThreadSafe (bool leaf)
 
void erase (pos_type block)
 
template<class T >
T & innerBlock (pos_type block)
 
template<class T >
T const & innerBlock (pos_type block) const
 
void innerClear ()
 
pos_type innerCreate ()
 
pos_type innerCreateThreadSafe ()
 
void innerErase (pos_type block)
 
void innerReserve (std::size_t cap)
 
std::size_t innerSize () const
 
template<class T >
T & leafBlock (pos_type block)
 
template<class T >
T const & leafBlock (pos_type block) const
 
void leafClear ()
 
pos_type leafCreate ()
 
pos_type leafCreateThreadSafe ()
 
void leafErase (pos_type block)
 
void leafReserve (std::size_t cap)
 
std::size_t leafSize () const
 
void reserve (std::size_t cap)
 
std::size_t size () const
 
bool exists (pos_type block) const
 Checks if a block exists.
 
WGPUDevice gpuDevice () const
 
bool gpuInit (WGPUAdapter adapter)
 
bool gpuInit (WGPUAdapter adapter, WGPULimits const &required_limits)
 
bool gpuInit (WGPUDevice device)
 
bool gpuInit (WGPULimits const &required_limits, WGPUSurface compatible_surface=nullptr, WGPUPowerPreference power_preference=WGPUPowerPreference_HighPerformance, WGPUBackendType backend_type=WGPUBackendType_Undefined)
 
bool gpuInit (WGPUPowerPreference power_preference=WGPUPowerPreference_HighPerformance, WGPUBackendType backend_type=WGPUBackendType_Undefined)
 
template<class T >
WGPUBuffer gpuInnerBuffer (std::size_t index) const
 
template<class T >
std::size_t gpuInnerBufferSize (std::size_t index) const
 
template<class T >
WGPUBuffer gpuLeafBuffer (std::size_t index) const
 
template<class T >
std::size_t gpuLeafBufferSize (std::size_t index) const
 
template<class T >
std::size_t gpuNumBuffers () const
 
template<class T >
std::size_t gpuNumInnerBuffers () const
 
template<class T >
std::size_t gpuNumLeafBuffers () const
 
WGPUQueue gpuQueue () const
 
void gpuRead ()
 
template<class T >
void gpuRead ()
 
void gpuReadInner ()
 
template<class T >
void gpuReadInner ()
 
void gpuReadLeaf ()
 
template<class T >
void gpuReadLeaf ()
 
void gpuRelease ()
 
bool gpuWrite ()
 
template<class T >
bool gpuWrite ()
 
bool gpuWriteInner ()
 
template<class T >
bool gpuWriteInner ()
 
bool gpuWriteLeaf ()
 
template<class T >
bool gpuWriteLeaf ()
 
InnerDatainnerData ()
 
InnerData const & innerData () const
 
bool innerExists (pos_type block) const
 
LeafDataleafData ()
 
LeafData const & leafData () const
 
bool leafExists (pos_type block) const
 

Protected Attributes

friend Base
 
size_type size_ {}
 
- Protected Attributes inherited from ufo::Tree< TreeMap< Dim, T >, Dim, TreeMapBlock< T > >
friend Derived
 
- Protected Attributes inherited from ufo::TreeData< Derived, Dim, Ts >
WGPUAdapter adapter_ = nullptr
 
WGPUDevice device_ = nullptr
 
std::array< std::vector< WGPUBuffer >, NumBuffers > inner_buffers_ {}
 
InnerData inner_data_
 
WGPUInstance instance_ = nullptr
 
std::array< std::vector< WGPUBuffer >, NumBuffers > leaf_buffers_ {}
 
LeafData leaf_data_
 
std::size_t max_buffer_size_ = 1'073'741'824 / 2
 
WGPUQueue queue_ = nullptr
 

Static Protected Attributes

static constexpr auto const BF = Base::branchingFactor()
 
- Static Protected Attributes inherited from ufo::Tree< TreeMap< Dim, T >, Dim, TreeMapBlock< T > >
static constexpr TreeIndex::offset_type const BF
 
static constexpr modified_type const MODIFIED_ALL_SET
 
static constexpr modified_type const MODIFIED_NONE_SET
 
static constexpr bool const is_node_type_v
 
- Static Protected Attributes inherited from ufo::TreeData< Derived, Dim, Ts >
static constexpr TreeIndex::offset_type const BF = ipow(std::size_t(2), Dim)
 
static constexpr std::size_t const NumBuffers = sizeof...(Ts)
 

Friends

template<std::size_t D, class U >
bool operator!= (TreeMap< D, U > const &lhs, TreeMap< D, U > const &rhs)
 
template<std::size_t D, class U >
bool operator== (TreeMap< D, U > const &lhs, TreeMap< D, U > const &rhs)
 
template<class Geometry , pred::SpatialTag Tag, bool Negated>
class pred::Spatial
 
template<bool , std::size_t , class >
class TreeMapIterator
 
template<bool , std::size_t , class , class >
class TreeMapNearestIterator
 
template<bool , std::size_t , class , class >
class TreeMapQueryIterator
 
template<bool , std::size_t , class , class , class >
class TreeMapQueryNearestIterator
 

Additional Inherited Members

- Static Protected Member Functions inherited from ufo::Tree< TreeMap< Dim, T >, Dim, TreeMapBlock< T > >
static constexpr Point childCenter (Point center, Length half_length, offset_type child)
 Returns the center of the child_indexth child.
 
static constexpr unsigned firstNode (Point const &tm, float const t) noexcept
 
static constexpr unsigned newNode (unsigned cur, unsigned dim) noexcept
 
static constexpr Point parentCenter (Point center, Length half_length, offset_type index)
 Returns the center of the parent of the node.
 
static constexpr TraceParams traceInit (Ray const &ray, Point const &center, Length half_length) noexcept
 
static constexpr offset_type branchingFactor () noexcept
 Returns the branching factor of the tree (i.e., 2 = binary tree, 4 = quadtree, 8 = octree, 16 = hextree).
 
static constexpr std::size_t dimensions () noexcept
 Returns the number of dimensions of the tree (i.e., 1 = binary tree, 2 = quadtree, 3 = octree, 4 = hextree).
 
static constexpr depth_type maxNumDepthLevels () noexcept
 Returns the maximum number of depth levels a tree can have.
 
static constexpr depth_type minNumDepthLevels () noexcept
 Returns the minimum number of depth levels a tree must have.
 
- Static Protected Member Functions inherited from ufo::TreeData< Derived, Dim, Ts >
static constexpr pos_type addInnerType (pos_type block) noexcept
 
static constexpr pos_type addLeafType (pos_type block) noexcept
 
static constexpr bool inner (pos_type block) noexcept
 
static constexpr bool leaf (pos_type block) noexcept
 
static constexpr pos_type removeInnerType (pos_type block) noexcept
 
static constexpr pos_type removeLeafType (pos_type block) noexcept
 

Detailed Description

template<std::size_t Dim, class T>
class ufo::TreeMap< Dim, T >

Definition at line 66 of file tree_map.hpp.

Member Typedef Documentation

◆ Base

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::Base = Tree<TreeMap, Dim, TreeMapBlock<T> >
protected

Definition at line 69 of file tree_map.hpp.

◆ Bounds

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::Bounds = typename Base::Bounds

Definition at line 103 of file tree_map.hpp.

◆ Code

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::Code = typename Base::Code

Definition at line 99 of file tree_map.hpp.

◆ const_iterator

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::const_iterator = TreeMapIterator<true, Dim, T>

Definition at line 125 of file tree_map.hpp.

◆ const_nearest_iterator

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::const_nearest_iterator = const_nearest_iterator_geom<DynamicGeometry>

Definition at line 141 of file tree_map.hpp.

◆ const_nearest_iterator_geom

template<std::size_t Dim, class T >
template<class Geometry >
using ufo::TreeMap< Dim, T >::const_nearest_iterator_geom = TreeMapNearestIterator<true, Dim, T, Geometry>

Definition at line 138 of file tree_map.hpp.

◆ const_pointer

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::const_pointer = value_type const*

Definition at line 117 of file tree_map.hpp.

◆ const_query_iterator

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::const_query_iterator = const_query_iterator_pred<pred::Predicate<TreeMap> >

Definition at line 133 of file tree_map.hpp.

◆ const_query_iterator_pred

template<std::size_t Dim, class T >
template<class Predicate >
using ufo::TreeMap< Dim, T >::const_query_iterator_pred = TreeMapQueryIterator<true, Dim, T, Predicate>

Definition at line 130 of file tree_map.hpp.

◆ const_query_nearest_iterator

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

Definition at line 152 of file tree_map.hpp.

◆ const_query_nearest_iterator_pred_geom

template<std::size_t Dim, class T >
template<class Predicate , class Geometry >
using ufo::TreeMap< Dim, T >::const_query_nearest_iterator_pred_geom = TreeMapQueryNearestIterator<true, Dim, T, Predicate, Geometry>

Definition at line 147 of file tree_map.hpp.

◆ const_reference

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::const_reference = value_type const&

Definition at line 115 of file tree_map.hpp.

◆ ConstNearest

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

Definition at line 164 of file tree_map.hpp.

◆ ConstQuery

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

Definition at line 158 of file tree_map.hpp.

◆ ConstQueryNearest

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

Definition at line 172 of file tree_map.hpp.

◆ Coord

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::Coord = typename Base::Coord

Definition at line 102 of file tree_map.hpp.

◆ coord_type

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::coord_type = typename Base::coord_type

Definition at line 105 of file tree_map.hpp.

◆ depth_type

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::depth_type = typename Base::depth_type

Definition at line 106 of file tree_map.hpp.

◆ difference_type

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::difference_type = std::ptrdiff_t

Definition at line 119 of file tree_map.hpp.

◆ Index

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::Index = typename Base::Index

Definition at line 97 of file tree_map.hpp.

◆ InnerBlock

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::InnerBlock = typename TreeMapBlock<T>::template InnerBlock<Dim, BF>
protected

Definition at line 72 of file tree_map.hpp.

◆ iterator

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::iterator = TreeMapIterator<false, Dim, T>

Definition at line 124 of file tree_map.hpp.

◆ Key

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::Key = typename Base::Key

Definition at line 100 of file tree_map.hpp.

◆ LeafBlock

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::LeafBlock = typename TreeMapBlock<T>::template LeafBlock<Dim, BF>
protected

Definition at line 71 of file tree_map.hpp.

◆ Length

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::Length = typename Base::Length

Definition at line 104 of file tree_map.hpp.

◆ length_type

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::length_type = typename Base::length_type

Definition at line 108 of file tree_map.hpp.

◆ mapped_type

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::mapped_type = T

Definition at line 113 of file tree_map.hpp.

◆ Nearest

template<std::size_t Dim, class T >
template<class Geometry >
using ufo::TreeMap< Dim, T >::Nearest = IteratorWrapper<nearest_iterator_geom<Geometry>, nearest_iterator>

Definition at line 162 of file tree_map.hpp.

◆ nearest_iterator

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::nearest_iterator = nearest_iterator_geom<DynamicGeometry>

Definition at line 140 of file tree_map.hpp.

◆ nearest_iterator_geom

template<std::size_t Dim, class T >
template<class Geometry >
using ufo::TreeMap< Dim, T >::nearest_iterator_geom = TreeMapNearestIterator<false, Dim, T, Geometry>

Definition at line 136 of file tree_map.hpp.

◆ Node

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::Node = typename Base::Node

Definition at line 98 of file tree_map.hpp.

◆ offset_type

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::offset_type = typename Base::offset_type

Definition at line 107 of file tree_map.hpp.

◆ Point

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::Point = typename Base::Point

Definition at line 101 of file tree_map.hpp.

◆ pointer

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::pointer = value_type*

Definition at line 116 of file tree_map.hpp.

◆ pos_type

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::pos_type = typename Base::pos_type

Definition at line 109 of file tree_map.hpp.

◆ Query

template<std::size_t Dim, class T >
template<class Predicate >
using ufo::TreeMap< Dim, T >::Query = IteratorWrapper<query_iterator_pred<Predicate>, query_iterator>

Definition at line 156 of file tree_map.hpp.

◆ query_iterator

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::query_iterator = query_iterator_pred<pred::Predicate<TreeMap> >

Definition at line 132 of file tree_map.hpp.

◆ query_iterator_pred

template<std::size_t Dim, class T >
template<class Predicate >
using ufo::TreeMap< Dim, T >::query_iterator_pred = TreeMapQueryIterator<false, Dim, T, Predicate>

Definition at line 128 of file tree_map.hpp.

◆ query_nearest_iterator

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::query_nearest_iterator = query_nearest_iterator_pred_geom<pred::Predicate<TreeMap>, DynamicGeometry>

Definition at line 150 of file tree_map.hpp.

◆ query_nearest_iterator_pred_geom

template<std::size_t Dim, class T >
template<class Predicate , class Geometry >
using ufo::TreeMap< Dim, T >::query_nearest_iterator_pred_geom = TreeMapQueryNearestIterator<false, Dim, T, Predicate, Geometry>

Definition at line 144 of file tree_map.hpp.

◆ QueryNearest

template<std::size_t Dim, class T >
template<class Predicate , class Geometry >
using ufo::TreeMap< Dim, T >::QueryNearest = IteratorWrapper<query_nearest_iterator_pred_geom<Predicate, Geometry>, query_nearest_iterator>

Definition at line 168 of file tree_map.hpp.

◆ reference

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::reference = value_type&

Definition at line 114 of file tree_map.hpp.

◆ size_type

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::size_type = std::size_t

Definition at line 118 of file tree_map.hpp.

◆ value_type

template<std::size_t Dim, class T >
using ufo::TreeMap< Dim, T >::value_type = typename LeafBlock::value_type

Definition at line 112 of file tree_map.hpp.

Constructor & Destructor Documentation

◆ TreeMap() [1/5]

template<std::size_t Dim, class T >
ufo::TreeMap< Dim, T >::TreeMap ( Length  leaf_node_length = Length(0.1),
depth_type  num_depth_levels = std::min(depth_type(17),                                                Base::maxNumDepthLevels()) 
)
inline

Definition at line 202 of file tree_map.hpp.

◆ TreeMap() [2/5]

template<std::size_t Dim, class T >
ufo::TreeMap< Dim, T >::TreeMap ( length_type  leaf_node_length,
depth_type  num_depth_levels = std::min(depth_type(17),                                                 Base::maxNumDepthLevels()) 
)
inline

Definition at line 209 of file tree_map.hpp.

◆ TreeMap() [3/5]

template<std::size_t Dim, class T >
template<class InputIt >
ufo::TreeMap< Dim, T >::TreeMap ( InputIt  first,
InputIt  last,
length_type  leaf_node_length = length_type(0.1),
depth_type  num_depth_levels = std::min(depth_type(17),                                                Base::maxNumDepthLevels()) 
)
inline

Definition at line 217 of file tree_map.hpp.

◆ TreeMap() [4/5]

template<std::size_t Dim, class T >
ufo::TreeMap< Dim, T >::TreeMap ( std::initializer_list< value_type >  init,
length_type  leaf_node_length = length_type(0.1),
depth_type  num_depth_levels = std::min(depth_type(17),                                                                       Base::maxNumDepthLevels()) 
)
inline

Definition at line 225 of file tree_map.hpp.

◆ TreeMap() [5/5]

template<std::size_t Dim, class T >
template<class Range >
ufo::TreeMap< Dim, T >::TreeMap ( Range const &  range,
length_type  leaf_node_length = length_type(0.1),
depth_type  num_depth_levels = std::min(depth_type(17),                                                Base::maxNumDepthLevels()) 
)
inline

Definition at line 234 of file tree_map.hpp.

Member Function Documentation

◆ begin() [1/2]

template<std::size_t Dim, class T >
iterator ufo::TreeMap< Dim, T >::begin ( )
inline

Definition at line 269 of file tree_map.hpp.

◆ begin() [2/2]

template<std::size_t Dim, class T >
const_iterator ufo::TreeMap< Dim, T >::begin ( ) const
inline

Definition at line 271 of file tree_map.hpp.

◆ beginNearest() [1/2]

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

Definition at line 324 of file tree_map.hpp.

◆ beginNearest() [2/2]

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

Definition at line 331 of file tree_map.hpp.

◆ beginQuery() [1/2]

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

Definition at line 291 of file tree_map.hpp.

◆ beginQuery() [2/2]

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

Definition at line 297 of file tree_map.hpp.

◆ beginQueryNearest() [1/2]

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

Definition at line 361 of file tree_map.hpp.

◆ beginQueryNearest() [2/2]

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

Definition at line 370 of file tree_map.hpp.

◆ bounds() [1/3]

template<std::size_t Dim, class T >
Bounds ufo::TreeMap< Dim, T >::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 426 of file tree_map.hpp.

◆ bounds() [2/3]

template<std::size_t Dim, class T >
template<class NodeType , std::enable_if_t< Base::template is_node_type_v< NodeType >, bool > = true>
Bounds & ufo::TreeMap< Dim, T >::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 984 of file tree_map.hpp.

◆ bounds() [3/3]

template<std::size_t Dim, class T >
template<class NodeType , std::enable_if_t< Base::template is_node_type_v< NodeType >, bool > = true>
Bounds const & ufo::TreeMap< Dim, T >::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 999 of file tree_map.hpp.

◆ boundsMax() [1/2]

template<std::size_t Dim, class T >
Point & ufo::TreeMap< Dim, T >::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 1206 of file tree_map.hpp.

◆ boundsMax() [2/2]

template<std::size_t Dim, class T >
Point ufo::TreeMap< Dim, T >::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 1219 of file tree_map.hpp.

◆ boundsMin() [1/2]

template<std::size_t Dim, class T >
Point & ufo::TreeMap< Dim, T >::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 1180 of file tree_map.hpp.

◆ boundsMin() [2/2]

template<std::size_t Dim, class T >
Point ufo::TreeMap< Dim, T >::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 1193 of file tree_map.hpp.

◆ cbegin()

template<std::size_t Dim, class T >
const_iterator ufo::TreeMap< Dim, T >::cbegin ( ) const
inline

Definition at line 276 of file tree_map.hpp.

◆ cbeginNearest()

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

Definition at line 339 of file tree_map.hpp.

◆ cbeginQuery()

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

Definition at line 305 of file tree_map.hpp.

◆ cbeginQueryNearest()

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

Definition at line 379 of file tree_map.hpp.

◆ cend()

template<std::size_t Dim, class T >
const_iterator ufo::TreeMap< Dim, T >::cend ( ) const
inline

Definition at line 282 of file tree_map.hpp.

◆ cendNearest()

template<std::size_t Dim, class T >
const_nearest_iterator ufo::TreeMap< Dim, T >::cendNearest ( ) const
inline

Definition at line 352 of file tree_map.hpp.

◆ cendQuery()

template<std::size_t Dim, class T >
const_query_iterator ufo::TreeMap< Dim, T >::cendQuery ( ) const
inline

Definition at line 315 of file tree_map.hpp.

◆ cendQueryNearest()

template<std::size_t Dim, class T >
const_query_nearest_iterator ufo::TreeMap< Dim, T >::cendQueryNearest ( ) const
inline

Definition at line 395 of file tree_map.hpp.

◆ clear()

template<std::size_t Dim, class T >
void ufo::TreeMap< Dim, T >::clear ( )
inline

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

Definition at line 438 of file tree_map.hpp.

◆ contains()

template<std::size_t Dim, class T >
bool ufo::TreeMap< Dim, T >::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 839 of file tree_map.hpp.

◆ count()

template<std::size_t Dim, class T >
size_type ufo::TreeMap< Dim, T >::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 825 of file tree_map.hpp.

◆ emplace()

template<std::size_t Dim, class T >
template<class... Args>
void ufo::TreeMap< Dim, T >::emplace ( Point  point,
Args &&...  args 
)
inline

Definition at line 445 of file tree_map.hpp.

◆ empty() [1/2]

template<std::size_t Dim, class T >
bool ufo::TreeMap< Dim, T >::empty ( ) const
inlinenoexcept

Checks if the container has no elements.

Returns
true if the container is empty, false otherwise.

Definition at line 411 of file tree_map.hpp.

◆ empty() [2/2]

template<std::size_t Dim, class T >
bool ufo::TreeMap< Dim, T >::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 1042 of file tree_map.hpp.

◆ end() [1/2]

template<std::size_t Dim, class T >
iterator ufo::TreeMap< Dim, T >::end ( )
inline

Definition at line 278 of file tree_map.hpp.

◆ end() [2/2]

template<std::size_t Dim, class T >
const_iterator ufo::TreeMap< Dim, T >::end ( ) const
inline

Definition at line 280 of file tree_map.hpp.

◆ endNearest() [1/2]

template<std::size_t Dim, class T >
nearest_iterator ufo::TreeMap< Dim, T >::endNearest ( )
inline

Definition at line 345 of file tree_map.hpp.

◆ endNearest() [2/2]

template<std::size_t Dim, class T >
const_nearest_iterator ufo::TreeMap< Dim, T >::endNearest ( ) const
inline

Definition at line 347 of file tree_map.hpp.

◆ endQuery() [1/2]

template<std::size_t Dim, class T >
query_iterator ufo::TreeMap< Dim, T >::endQuery ( )
inline

Definition at line 311 of file tree_map.hpp.

◆ endQuery() [2/2]

template<std::size_t Dim, class T >
const_query_iterator ufo::TreeMap< Dim, T >::endQuery ( ) const
inline

Definition at line 313 of file tree_map.hpp.

◆ endQueryNearest() [1/2]

template<std::size_t Dim, class T >
query_nearest_iterator ufo::TreeMap< Dim, T >::endQueryNearest ( )
inline

Definition at line 385 of file tree_map.hpp.

◆ endQueryNearest() [2/2]

template<std::size_t Dim, class T >
const_query_nearest_iterator ufo::TreeMap< Dim, T >::endQueryNearest ( ) const
inline

Definition at line 390 of file tree_map.hpp.

◆ erase() [1/23]

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

Definition at line 671 of file tree_map.hpp.

◆ erase() [2/23]

template<std::size_t Dim, class T >
iterator ufo::TreeMap< Dim, T >::erase ( const_iterator  pos)
inline

Definition at line 597 of file tree_map.hpp.

◆ erase() [3/23]

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

Definition at line 633 of file tree_map.hpp.

◆ erase() [4/23]

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

Definition at line 730 of file tree_map.hpp.

◆ erase() [5/23]

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

Definition at line 615 of file tree_map.hpp.

◆ erase() [6/23]

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

Definition at line 694 of file tree_map.hpp.

◆ erase() [7/23]

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

Definition at line 652 of file tree_map.hpp.

◆ erase() [8/23]

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

Definition at line 755 of file tree_map.hpp.

◆ erase() [9/23]

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

Definition at line 712 of file tree_map.hpp.

◆ erase() [10/23]

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

Definition at line 775 of file tree_map.hpp.

◆ erase() [11/23]

template<std::size_t Dim, class T >
iterator ufo::TreeMap< Dim, T >::erase ( iterator  first,
iterator  last 
)
inline

Definition at line 661 of file tree_map.hpp.

◆ erase() [12/23]

template<std::size_t Dim, class T >
iterator ufo::TreeMap< Dim, T >::erase ( iterator  pos)
inline

Definition at line 589 of file tree_map.hpp.

◆ erase() [13/23]

template<std::size_t Dim, class T >
template<class Geometry >
nearest_iterator_geom< Geometry > ufo::TreeMap< Dim, T >::erase ( nearest_iterator_geom< Geometry >  pos)
inline

Definition at line 624 of file tree_map.hpp.

◆ erase() [14/23]

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

Definition at line 718 of file tree_map.hpp.

◆ erase() [15/23]

template<std::size_t Dim, class T >
size_type ufo::TreeMap< Dim, T >::erase ( Point  point)
inline

Definition at line 781 of file tree_map.hpp.

◆ erase() [16/23]

template<std::size_t Dim, class T >
template<class Predicate >
query_iterator_pred< Predicate > ufo::TreeMap< Dim, T >::erase ( Query< Predicate >  query)
inline

Definition at line 706 of file tree_map.hpp.

◆ erase() [17/23]

template<std::size_t Dim, class T >
template<class Predicate >
query_iterator_pred< Predicate > ufo::TreeMap< Dim, T >::erase ( query_iterator_pred< Predicate >  pos)
inline

Definition at line 606 of file tree_map.hpp.

◆ erase() [18/23]

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

Definition at line 682 of file tree_map.hpp.

◆ erase() [19/23]

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

Definition at line 642 of file tree_map.hpp.

◆ erase() [20/23]

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

Definition at line 742 of file tree_map.hpp.

◆ erase() [21/23]

template<std::size_t Dim, class T >
template<class Predicate , class Geometry >
query_nearest_iterator_pred_geom< Predicate, Geometry > ufo::TreeMap< Dim, T >::erase ( QueryNearest< Predicate, Geometry >  query)
inline

Definition at line 768 of file tree_map.hpp.

◆ erase() [22/23]

template<std::size_t Dim, class T >
void ufo::TreeMap< Dim, T >::erase ( typename container_type::const_iterator  it)
inlineprotected

Definition at line 1091 of file tree_map.hpp.

◆ erase() [23/23]

template<std::size_t Dim, class T >
size_type ufo::TreeMap< Dim, T >::erase ( value_type const &  value)
inline

Definition at line 567 of file tree_map.hpp.

◆ erasePropagate()

template<std::size_t Dim, class T >
void ufo::TreeMap< Dim, T >::erasePropagate ( Index  node)
inlineprotected

Definition at line 1106 of file tree_map.hpp.

◆ insert() [1/10]

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

Definition at line 480 of file tree_map.hpp.

◆ insert() [2/10]

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

Definition at line 560 of file tree_map.hpp.

◆ insert() [3/10]

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

Definition at line 544 of file tree_map.hpp.

◆ insert() [4/10]

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

Definition at line 1062 of file tree_map.hpp.

◆ insert() [5/10]

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

Definition at line 1053 of file tree_map.hpp.

◆ insert() [6/10]

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

Definition at line 463 of file tree_map.hpp.

◆ insert() [7/10]

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

Definition at line 550 of file tree_map.hpp.

◆ insert() [8/10]

template<std::size_t Dim, class T >
void ufo::TreeMap< Dim, T >::insert ( std::initializer_list< value_type >  ilist)
inline

Definition at line 536 of file tree_map.hpp.

◆ insert() [9/10]

template<std::size_t Dim, class T >
void ufo::TreeMap< Dim, T >::insert ( value_type &&  value)
inline

Definition at line 456 of file tree_map.hpp.

◆ insert() [10/10]

template<std::size_t Dim, class T >
void ufo::TreeMap< Dim, T >::insert ( value_type const &  value)
inline

Definition at line 450 of file tree_map.hpp.

◆ insertPropagate()

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

Definition at line 1071 of file tree_map.hpp.

◆ nearest() [1/2]

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

Definition at line 860 of file tree_map.hpp.

◆ nearest() [2/2]

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

Definition at line 866 of file tree_map.hpp.

◆ nearestDistance()

template<std::size_t Dim, class T >
template<class Geometry >
float ufo::TreeMap< Dim, T >::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 890 of file tree_map.hpp.

◆ nearestPoint() [1/2]

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

Definition at line 914 of file tree_map.hpp.

◆ nearestPoint() [2/2]

template<std::size_t Dim, class T >
template<class Geometry >
std::pair< value_type const *, float > ufo::TreeMap< Dim, T >::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 942 of file tree_map.hpp.

◆ onInitChildren()

template<std::size_t Dim, class T >
void ufo::TreeMap< Dim, T >::onInitChildren ( Index  ,
pos_type   
)
inlineprotected

Definition at line 1026 of file tree_map.hpp.

◆ onInitRoot()

template<std::size_t Dim, class T >
void ufo::TreeMap< Dim, T >::onInitRoot ( )
inlineprotected

Definition at line 1024 of file tree_map.hpp.

◆ onPruneChildren()

template<std::size_t Dim, class T >
void ufo::TreeMap< Dim, T >::onPruneChildren ( Index  ,
pos_type   
)
inlineprotected

Definition at line 1028 of file tree_map.hpp.

◆ query() [1/2]

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

Definition at line 848 of file tree_map.hpp.

◆ query() [2/2]

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

Definition at line 854 of file tree_map.hpp.

◆ queryNearest() [1/2]

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

Definition at line 873 of file tree_map.hpp.

◆ queryNearest() [2/2]

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

Definition at line 882 of file tree_map.hpp.

◆ size()

template<std::size_t Dim, class T >
size_type ufo::TreeMap< Dim, T >::size ( ) const
inlinenoexcept

Returns the number of elements in the container.

Returns
The number of elements in the container.

Definition at line 418 of file tree_map.hpp.

◆ swap()

template<std::size_t Dim, class T >
void ufo::TreeMap< Dim, T >::swap ( TreeMap< Dim, T > &  other)
inline

Exchanges the contents of the container with those of other.

Parameters
othercontainer to exchange the contents with

Definition at line 806 of file tree_map.hpp.

◆ values() [1/4]

template<std::size_t Dim, class T >
auto & ufo::TreeMap< Dim, T >::values ( Index  node)
inlineprotected

Definition at line 1162 of file tree_map.hpp.

◆ values() [2/4]

template<std::size_t Dim, class T >
auto const & ufo::TreeMap< Dim, T >::values ( Index  node) const
inlineprotected

Definition at line 1167 of file tree_map.hpp.

◆ values() [3/4]

template<std::size_t Dim, class T >
auto & ufo::TreeMap< Dim, T >::values ( pos_type  block)
inlineprotected

Definition at line 1155 of file tree_map.hpp.

◆ values() [4/4]

template<std::size_t Dim, class T >
auto const & ufo::TreeMap< Dim, T >::values ( pos_type  block) const
inlineprotected

Definition at line 1157 of file tree_map.hpp.

Friends And Related Symbol Documentation

◆ pred::Spatial

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

Definition at line 87 of file tree_map.hpp.

◆ TreeMapIterator

template<std::size_t Dim, class T >
template<bool , std::size_t , class >
friend class TreeMapIterator
friend

Definition at line 181 of file tree_map.hpp.

◆ TreeMapNearestIterator

template<std::size_t Dim, class T >
template<bool , std::size_t , class , class >
friend class TreeMapNearestIterator
friend

Definition at line 187 of file tree_map.hpp.

◆ TreeMapQueryIterator

template<std::size_t Dim, class T >
template<bool , std::size_t , class , class >
friend class TreeMapQueryIterator
friend

Definition at line 184 of file tree_map.hpp.

◆ TreeMapQueryNearestIterator

template<std::size_t Dim, class T >
template<bool , std::size_t , class , class , class >
friend class TreeMapQueryNearestIterator
friend

Definition at line 190 of file tree_map.hpp.

Member Data Documentation

◆ Base

template<std::size_t Dim, class T >
friend ufo::TreeMap< Dim, T >::Base
protected

Definition at line 84 of file tree_map.hpp.

◆ BF

template<std::size_t Dim, class T >
constexpr auto const ufo::TreeMap< Dim, T >::BF = Base::branchingFactor()
staticconstexprprotected

Definition at line 70 of file tree_map.hpp.

◆ size_

template<std::size_t Dim, class T >
size_type ufo::TreeMap< Dim, T >::size_ {}
protected

Definition at line 1225 of file tree_map.hpp.


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