|
| | EllipsoidTree ()=default |
| | Empty tree (indexes no ellipsoids).
|
| |
| | EllipsoidTree (std::vector< Ellipsoid > ellipsoids, double tau, int num_threads=0) |
| | Index a family of ellipsoids at the shared scale tau, precomputing each Sigma^{-1} and building the tree over their tau-scaled bounding boxes.
|
| |
| int | size () const |
| | Number of indexed ellipsoids.
|
| |
| int | dim () const |
| | Spatial dimension of the indexed ellipsoids.
|
| |
| double | tau () const |
| | The shared ellipsoid scale tau fixed at construction (used for the leaf boxes).
|
| |
| const Ellipsoid & | object (int ii) const |
| | The ii-th indexed ellipsoid.
|
| |
| const std::vector< Ellipsoid > & | objects () const |
| | All indexed ellipsoids, in index order.
|
| |
| const AABBTree & | tree () const |
| | The underlying AABB tree over the elements' bounding boxes.
|
| |
| const Eigen::MatrixXd & | sigma_inverse (int ii) const |
| | The precomputed inverse Sigma^{-1} of the ii-th ellipsoid's covariance.
|
| |
| void | rebuild (double new_tau) |
| | Rebuild the leaf boxes (and tree) at a new scale; Sigma^{-1} is unchanged.
|
| |
| std::vector< int > | collisions (const Eigen::Ref< const Eigen::VectorXd > &p) const |
| | Indices of the ellipsoids (at the build tau) that contain the query point.
|
| |
| std::vector< int > | collisions (const Eigen::Ref< const Eigen::VectorXd > &p, double tau) const |
| | Indices of the ellipsoids at scale tau (at most the build tau) that contain the query point.
|
| |
| std::vector< int > | collisions (const Box &q) const |
| | Indices of the ellipsoids (at the build tau) intersecting the query box.
|
| |
| std::vector< int > | collisions (const Box &q, double tau) const |
| | Indices of the ellipsoids at scale tau (at most the build tau) intersecting the query box.
|
| |
| std::vector< int > | collisions (const Ball &q) const |
| | Indices of the ellipsoids (at the build tau) intersecting the query ball.
|
| |
| std::vector< int > | collisions (const Ball &q, double tau) const |
| | Indices of the ellipsoids at scale tau (at most the build tau) intersecting the query ball.
|
| |
| std::vector< int > | collisions (const Ellipsoid &q) const |
| | Indices of the ellipsoids (at the build tau) intersecting the query ellipsoid at that same scale.
|
| |
| std::vector< int > | collisions (const Ellipsoid &q, double tau) const |
| | Indices of the ellipsoids intersecting the query ellipsoid, both taken at scale tau (at most the build tau).
|
| |
| std::vector< int > | collisions (const Simplex &q) const |
| | Indices of the ellipsoids (at the build tau) intersecting the query simplex.
|
| |
| std::vector< int > | collisions (const Simplex &q, double tau) const |
| | Indices of the ellipsoids at scale tau (at most the build tau) intersecting the query simplex.
|
| |
| std::vector< int > | collisions (const Segment &q) const |
| | Indices of the ellipsoids (at the build tau) intersecting the query segment.
|
| |
| std::vector< int > | collisions (const Segment &q, double tau) const |
| | Indices of the ellipsoids at scale tau (at most the build tau) intersecting the query segment.
|
| |
| std::vector< int > | collisions (const Halfspace &q) const |
| | Indices of the ellipsoids (at the build tau) intersecting the query halfspace.
|
| |
| std::vector< int > | collisions (const Halfspace &q, double tau) const |
| | Indices of the ellipsoids at scale tau (at most the build tau) intersecting the query halfspace.
|
| |
| std::vector< std::pair< int, int > > | self_collision_pairs () const |
| | Every intersecting pair within the family of ellipsoids at the build tau (the overlap graph).
|
| |
Spatial index over a collection of ellipsoids sharing a fixed scale tau.