|
| | AABBTree ()=default |
| | Constructs an empty tree.
|
| |
| | AABBTree (const Eigen::Ref< const Eigen::MatrixXd > &leaf_lo, const Eigen::Ref< const Eigen::MatrixXd > &leaf_hi) |
| | Builds a tree over the leaf boxes given as columns of leaf_lo and leaf_hi.
|
| |
| void | build (const Eigen::Ref< const Eigen::MatrixXd > &leaf_lo, const Eigen::Ref< const Eigen::MatrixXd > &leaf_hi) |
| | (Re)builds the tree over the leaf boxes given as columns of leaf_lo and leaf_hi.
|
| |
| int | dim () const |
| | Spatial dimension of the leaf boxes.
|
| |
| int | num_leaves () const |
| | Number of leaf boxes (external objects) in the tree.
|
| |
| int | num_nodes () const |
| | Total number of nodes (2 * num_leaves - 1, or 0 when empty).
|
| |
| bool | empty () const |
| | True when the tree contains no nodes.
|
| |
| bool | is_leaf (int node) const |
| | True when node is a leaf (has no children in the heap layout).
|
| |
| int | left_child (int node) const |
| | Heap index of node's left child.
|
| |
| int | right_child (int node) const |
| | Heap index of node's right child.
|
| |
| int | external_index (int node) const |
| | External object index stored at a leaf node (-1 for internal nodes).
|
| |
| Eigen::Ref< const Eigen::VectorXd > | node_lo (int node) const |
| | Lower corner of node's bounding box.
|
| |
| Eigen::Ref< const Eigen::VectorXd > | node_hi (int node) const |
| | Upper corner of node's bounding box.
|
| |
| const Eigen::MatrixXd & | node_lo_matrix () const |
| | All node lower corners as a (dim, num_nodes) matrix.
|
| |
| const Eigen::MatrixXd & | node_hi_matrix () const |
| | All node upper corners as a (dim, num_nodes) matrix.
|
| |
| template<class NodePredicate , class LeafCallback > |
| bool | visit (NodePredicate &&overlaps_node, LeafCallback &&on_leaf) const |
| | Depth-first traversal.
|
| |
| std::vector< int > | point_collisions (const Eigen::Ref< const Eigen::VectorXd > &p) const |
| | External indices of all leaf boxes that contain the query point p.
|
| |
| std::vector< int > | box_collisions (const Eigen::Ref< const Eigen::VectorXd > &qlo, const Eigen::Ref< const Eigen::VectorXd > &qhi) const |
| | External indices of all leaf boxes that overlap the query box [qlo, qhi].
|
| |
| std::vector< int > | ball_collisions (const Eigen::Ref< const Eigen::VectorXd > ¢er, double radius) const |
| | External indices of all leaf boxes that intersect the ball of given center and radius.
|
| |
Axis-aligned bounding box (AABB) tree over a set of leaf boxes.