46 struct CollisionRequest;
52 struct HPP_FCL_DLLAPI
OBB {
70 return axes == other.
axes && To == other.
To && extent == other.
extent;
77 bool contain(
const Vec3f& p)
const;
99 *
this = *
this + other;
105 OBB operator+(
const OBB& other)
const;
FCL_REAL volume() const
Volume of the OBB.
FCL_REAL height() const
Height of the OBB.
Eigen::Matrix< FCL_REAL, 3, 3 > Matrix3f
HPP_FCL_DLLAPI bool obbDisjoint(const Matrix3f &B, const Vec3f &T, const Vec3f &a, const Vec3f &b)
request to the collision algorithm
HPP_FCL_DLLAPI FCL_REAL distance(const Matrix3f &R0, const Vec3f &T0, const kIOS &b1, const kIOS &b2, Vec3f *P=NULL, Vec3f *Q=NULL)
Approximate distance between two kIOS bounding volumes.
FCL_REAL depth() const
Depth of the OBB.
OBB & operator+=(const OBB &other)
Merge the OBB and another OBB (the result is not compact).
static AABB translate(const AABB &aabb, const Vec3f &t)
translate the center of AABB by t
FCL_REAL size() const
Size of the OBB (used in BV_Splitter to order two OBBs)
HPP_FCL_DLLAPI bool overlap(const Matrix3f &R0, const Vec3f &T0, const AABB &b1, const AABB &b2)
Check collision between two aabbs, b1 is in configuration (R0, T0) and b2 is in identity.
bool operator==(const OBB &other) const
Equality operator.
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
const Vec3f & center() const
Center of the OBB.
FCL_REAL width() const
Width of the OBB.
Matrix3f axes
Orientation of OBB. axis[i] is the ith column of the orientation matrix for the box; it is also the i...
bool operator!=(const OBB &other) const
Difference operator.
Vec3f extent
Half dimensions of OBB.
Oriented bounding box class.