Class AABB
Defined in File AABB.h
Class Documentation
-
class AABB
A class describing the AABB collision structure, which is a box in 3D space determined by two diagonal points.
Bounding volume API
Common API to BVs.
-
bool overlap(const AABB &other, const CollisionRequest &request, CoalScalar &sqrDistLowerBound) const
Check whether two AABB are overlap.
-
CoalScalar distance(const AABB &other) const
Distance between two AABBs.
-
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.
-
inline CoalScalar size() const
Size of the AABB (used in BV_Splitter to order two AABBs)
-
inline CoalScalar width() const
Width of the AABB.
-
inline CoalScalar height() const
Height of the AABB.
-
inline CoalScalar depth() const
Depth of the AABB.
-
inline CoalScalar volume() const
Volume of the AABB.
Public Functions
-
inline AABB(const AABB &core, const Vec3s &delta)
Creating an AABB centered as core and is of half-dimension delta.
-
inline AABB(const Vec3s &a, const Vec3s &b, const Vec3s &c)
Creating an AABB contains three points.
-
inline bool overlap(const AABB &other, AABB &overlap_part) const
Check whether two AABB are overlap and return the overlap part.
-
inline bool axisOverlap(const AABB &other, int axis_id) const
Check whether two AABB are overlapped along specific axis.
-
inline AABB &expand(const Vec3s &delta)
expand the half size of the AABB by delta, and keep the center unchanged.
-
inline AABB &expand(const CoalScalar delta)
expand the half size of the AABB by a scalar delta, and keep the center unchanged.
-
inline AABB &expand(const AABB &core, CoalScalar ratio)
expand the aabb by increase the thickness of the plate by a ratio
-
bool overlap(const AABB &other, const CollisionRequest &request, CoalScalar &sqrDistLowerBound) const