38 #ifndef HPP_FCL_OBBRSS_H
39 #define HPP_FCL_OBBRSS_H
47 struct CollisionRequest;
55 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
65 return obb == other.
obb && rss == other.
rss;
82 return obb.
overlap(other.
obb, request, sqrDistLowerBound);
88 Vec3f* Q = NULL)
const {
101 *
this = *
this + other;
108 result.
obb = obb + other.
obb;
109 result.
rss = rss + other.
rss;
148 return overlap(R0, T0, b1.
obb, b2.
obb, request, sqrDistLowerBound);
#define HPP_FCL_DLLAPI
Definition: config.hh:88
const Vec3f & center() const
Center of the OBBRSS.
Definition: OBBRSS.h:117
FCL_REAL height() const
Height of the OBB.
Definition: OBB.h:119
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.
Definition: OBBRSS.h:87
bool overlap(const OBBRSS &other) const
Check collision between two OBBRSS.
Definition: OBBRSS.h:75
FCL_REAL depth() const
Depth of the OBBRSS.
Definition: OBBRSS.h:126
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 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.
Definition: OBBRSS.h:72
EIGEN_MAKE_ALIGNED_OPERATOR_NEW OBB obb
OBB member, for rotation.
Definition: OBBRSS.h:58
OBBRSS operator+(const OBBRSS &other) const
Merge two OBBRSS.
Definition: OBBRSS.h:106
bool overlap(const OBB &other) const
FCL_REAL width() const
Width of the OBRSS.
Definition: OBBRSS.h:120
FCL_REAL volume() const
Volume of the OBBRSS.
Definition: OBBRSS.h:129
bool overlap(const OBBRSS &other, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound) const
Definition: OBBRSS.h:80
FCL_REAL depth() const
Depth of the OBB.
Definition: OBB.h:122
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.
OBBRSS & operator+=(const OBBRSS &other)
Merge two OBBRSS.
Definition: OBBRSS.h:100
RSS rss
RSS member, for distance.
Definition: OBBRSS.h:61
FCL_REAL volume() const
Volume of the OBB.
Definition: OBB.h:125
FCL_REAL width() const
Width of the OBB.
Definition: OBB.h:116
OBBRSS & operator+=(const Vec3f &p)
Merge the OBBRSS and a point.
Definition: OBBRSS.h:93
bool operator==(const OBBRSS &other) const
Equality operator.
Definition: OBBRSS.h:64
FCL_REAL height() const
Height of the OBBRSS.
Definition: OBBRSS.h:123
bool contain(const Vec3f &p) const
Check whether the OBB contains a point.
FCL_REAL size() const
Size of the OBBRSS (used in BV_Splitter to order two OBBRSS)
Definition: OBBRSS.h:114
const Vec3f & center() const
Center of the OBB.
Definition: OBB.h:113
FCL_REAL size() const
Size of the OBB (used in BV_Splitter to order two OBBs)
Definition: OBB.h:110
bool operator!=(const OBBRSS &other) const
Difference operator.
Definition: OBBRSS.h:69
Eigen::Matrix< FCL_REAL, 3, 3 > Matrix3f
Definition: data_types.h:71
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
Definition: data_types.h:67
double FCL_REAL
Definition: data_types.h:66
Main namespace.
Definition: broadphase_bruteforce.h:44
request to the collision algorithm
Definition: collision_data.h:312
Oriented bounding box class.
Definition: OBB.h:52