|
coal 3.0.1
Coal, The Collision Detection Library. Previously known as HPP-FCL, fork of FCL -- The Flexible Collision Library
|
A class describing the AABB collision structure, which is a box in 3D space determined by two diagonal points. More...
#include <coal/BV/AABB.h>
Public Member Functions | |
| AABB () | |
| Creating an AABB with zero size (low bound +inf, upper bound -inf) | |
| AABB (const Vec3s &v) | |
| Creating an AABB at position v with zero size. | |
| AABB (const Vec3s &a, const Vec3s &b) | |
| Creating an AABB with two endpoints a and b. | |
| AABB (const AABB &core, const Vec3s &delta) | |
| Creating an AABB centered as core and is of half-dimension delta. | |
| AABB (const Vec3s &a, const Vec3s &b, const Vec3s &c) | |
| Creating an AABB contains three points. | |
| AABB (const AABB &other)=default | |
| AABB & | operator= (const AABB &other)=default |
| AABB & | update (const Vec3s &a, const Vec3s &b) |
| bool | operator== (const AABB &other) const |
| Comparison operator. | |
| bool | operator!= (const AABB &other) const |
| bool | contain (const AABB &other) const |
| Check whether the AABB contains another AABB. | |
| bool | overlap (const AABB &other, AABB &overlap_part) const |
| Check whether two AABB are overlap and return the overlap part. | |
| bool | axisOverlap (const AABB &other, int axis_id) const |
| Check whether two AABB are overlapped along specific axis. | |
| AABB & | expand (const Vec3s &delta) |
| expand the half size of the AABB by delta, and keep the center unchanged. | |
| AABB & | expand (const Scalar delta) |
| expand the half size of the AABB by a scalar delta, and keep the center unchanged. | |
| AABB & | expand (const AABB &core, Scalar ratio) |
| expand the aabb by increase the thickness of the plate by a ratio | |
Bounding volume API | |
Common API to BVs. | |
| bool | contain (const Vec3s &p) const |
| Check whether the AABB contains a point. | |
| bool | overlap (const AABB &other) const |
| Check whether two AABB are overlap. | |
| bool | overlap (const Plane &p) const |
| Check whether AABB overlaps a plane. | |
| bool | overlap (const Halfspace &hs) const |
| Check whether AABB overlaps a halfspace. | |
| bool | overlap (const AABB &other, const CollisionRequest &request, Scalar &sqrDistLowerBound) const |
| Check whether two AABB are overlap. | |
| Scalar | distance (const AABB &other) const |
| Distance between two AABBs. | |
| Scalar | distance (const AABB &other, Vec3s *P, Vec3s *Q) const |
| Distance between two AABBs; P and Q, should not be NULL, return the nearest points. | |
| AABB & | operator+= (const Vec3s &p) |
| Merge the AABB and a point. | |
| AABB & | operator+= (const AABB &other) |
| Merge the AABB and another AABB. | |
| AABB | operator+ (const AABB &other) const |
| Return the merged AABB of current AABB and the other one. | |
| Scalar | size () const |
| Size of the AABB (used in BV_Splitter to order two AABBs) | |
| Vec3s | center () const |
| Center of the AABB. | |
| Scalar | width () const |
| Width of the AABB. | |
| Scalar | height () const |
| Height of the AABB. | |
| Scalar | depth () const |
| Depth of the AABB. | |
| Scalar | volume () const |
| Volume of the AABB. | |
Public Attributes | |
| Vec3s | min_ |
| The min point in the AABB. | |
| Vec3s | max_ |
| The max point in the AABB. | |
A class describing the AABB collision structure, which is a box in 3D space determined by two diagonal points.
| coal::AABB::AABB | ( | ) |
Creating an AABB with zero size (low bound +inf, upper bound -inf)
Creating an AABB with two endpoints a and b.
Creating an AABB centered as core and is of half-dimension delta.
Creating an AABB contains three points.
|
default |
|
inline |
Check whether two AABB are overlapped along specific axis.
|
inline |
Distance between two AABBs; P and Q, should not be NULL, return the nearest points.
expand the aabb by increase the thickness of the plate by a ratio
expand the half size of the AABB by a scalar delta, and keep the center unchanged.
expand the half size of the AABB by delta, and keep the center unchanged.
|
inline |
|
inline |
Comparison operator.
Check whether two AABB are overlap and return the overlap part.
| bool coal::AABB::overlap | ( | const AABB & | other, |
| const CollisionRequest & | request, | ||
| Scalar & | sqrDistLowerBound | ||
| ) | const |
Check whether two AABB are overlap.