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 Vec3s &delta) | |
Creating an AABB centered as core and is of half-dimension delta. More... | |
AABB (const AABB &other)=default | |
AABB (const Vec3s &a, const Vec3s &b) | |
Creating an AABB with two endpoints a and b. More... | |
AABB (const Vec3s &a, const Vec3s &b, const Vec3s &c) | |
Creating an AABB contains three points. More... | |
AABB (const Vec3s &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, CoalScalar ratio) |
expand the aabb by increase the thickness of the plate by a ratio More... | |
AABB & | expand (const CoalScalar delta) |
expand the half size of the AABB by a scalar delta, and keep the center unchanged. More... | |
AABB & | expand (const Vec3s &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 Vec3s &a, const Vec3s &b) |
Bounding volume API | |
Common API to BVs. | |
bool | contain (const Vec3s &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 Plane &p) const |
Check whether AABB overlaps a plane. More... | |
bool | overlap (const Halfspace &hs) const |
Check whether AABB overlaps a halfspace. More... | |
bool | overlap (const AABB &other, const CollisionRequest &request, CoalScalar &sqrDistLowerBound) const |
Check whether two AABB are overlap. More... | |
CoalScalar | distance (const AABB &other) const |
Distance between two AABBs. More... | |
CoalScalar | distance (const AABB &other, Vec3s *P, Vec3s *Q) const |
Distance between two AABBs; P and Q, should not be NULL, return the nearest points. More... | |
AABB & | operator+= (const Vec3s &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... | |
CoalScalar | size () const |
Size of the AABB (used in BV_Splitter to order two AABBs) More... | |
Vec3s | center () const |
Center of the AABB. More... | |
CoalScalar | width () const |
Width of the AABB. More... | |
CoalScalar | height () const |
Height of the AABB. More... | |
CoalScalar | depth () const |
Depth of the AABB. More... | |
CoalScalar | volume () const |
Volume of the AABB. More... | |
Public Attributes | |
Vec3s | max_ |
The max point in the AABB. More... | |
Vec3s | 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.
Definition at line 55 of file coal/BV/AABB.h.