|
| 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 |
| |
|
TreeMap & | operator= (TreeMap &&)=default |
| |
|
TreeMap & | operator= (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.
|
| |
|
| 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 |
| |
| | 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, Index > | nearest (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, Index > | nearestDepthFirst (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.
|
| |
|
Tree & | operator= (Tree &&)=default |
| |
|
Tree & | operator= (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 ¶ms, 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< Coord > | centerChecked (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< Code > | codeChecked (NodeType node) const |
| |
| std::vector< Index > | create (ExecutionPolicy &&policy, RandomIt first, RandomIt last) |
| |
| RandomIt2 | create (ExecutionPolicy &&policy, RandomIt1 first, RandomIt1 last, RandomIt2 d_first) |
| |
| std::vector< Index > | create (ExecutionPolicy &&policy, Range const &r) |
| |
| RandomIt | create (ExecutionPolicy &&policy, Range const &r, RandomIt d_first) |
| |
| std::vector< Index > | create (InputIt first, InputIt last) |
| |
| OutputIt | create (InputIt first, InputIt last, OutputIt d_first) |
| |
| Index | create (NodeType node) |
| |
| std::vector< Index > | create (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< Key > | keyChecked (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< TraceResult > | trace (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< TraceResult > | trace (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< TraceResult > | trace (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< TraceResult > | trace (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.
|
| |
| 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 () |
| |
| InnerData & | innerData () |
| |
| InnerData const & | innerData () const |
| |
| bool | innerExists (pos_type block) const |
| |
| LeafData & | leafData () |
| |
| LeafData const & | leafData () const |
| |
| bool | leafExists (pos_type block) const |
| |