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