38 #ifndef HPP_FCL_OBBRSS_H 39 #define HPP_FCL_OBBRSS_H 47 struct CollisionRequest;
63 return obb == other.
obb && rss == other.
rss;
80 return obb.
overlap(other.
obb, request, sqrDistLowerBound);
86 Vec3f* Q = NULL)
const {
99 *
this = *
this + other;
106 result.
obb = obb + other.
obb;
107 result.
rss = rss + other.
rss;
146 return overlap(R0, T0, b1.
obb, b2.
obb, request, sqrDistLowerBound);
bool overlap(const OBBRSS &other, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound) const
FCL_REAL width() const
Width of the OBRSS.
OBB obb
OBB member, for rotation.
FCL_REAL volume() const
Volume of the OBB.
bool operator!=(const OBBRSS &other) const
Difference operator.
OBBRSS & operator+=(const Vec3f &p)
Merge the OBBRSS and a point.
OBBRSS operator+(const OBBRSS &other) const
Merge two OBBRSS.
FCL_REAL height() const
Height of the OBB.
Eigen::Matrix< FCL_REAL, 3, 3 > Matrix3f
FCL_REAL volume() const
Volume of the OBBRSS.
bool overlap(const OBB &other) const
const Vec3f & center() const
Center of the OBBRSS.
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.
bool contain(const Vec3f &p) const
Check whether the OBBRSS contains a point.
bool operator==(const OBBRSS &other) const
Equality operator.
RSS rss
RSS member, for distance.
FCL_REAL depth() const
Depth of the OBB.
bool overlap(const OBBRSS &other) const
Check collision between two OBBRSS.
FCL_REAL distance(const OBBRSS &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
Distance between two OBBRSS; P and Q , is not NULL, returns the nearest points.
FCL_REAL distance(const RSS &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
the distance between two RSS; P and Q, if not NULL, return the nearest points
FCL_REAL size() const
Size of the OBB (used in BV_Splitter to order two OBBs)
bool contain(const Vec3f &p) const
Check whether the OBB contains a point.
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.
FCL_REAL height() const
Height of the OBBRSS.
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
const Vec3f & center() const
Center of the OBB.
FCL_REAL width() const
Width of the OBB.
FCL_REAL depth() const
Depth of the OBBRSS.
FCL_REAL size() const
Size of the OBBRSS (used in BV_Splitter to order two OBBRSS)
Oriented bounding box class.
OBBRSS & operator+=(const OBBRSS &other)
Merge two OBBRSS.