46 struct CollisionRequest;
54 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
64 return obb == other.
obb && rss == other.
rss;
80 Scalar& sqrDistLowerBound)
const {
81 return obb.
overlap(other.
obb, request, sqrDistLowerBound);
99 *
this = *
this + other;
106 result.
obb = obb + other.
obb;
107 result.
rss = rss + other.
rss;
147 Scalar& sqrDistLowerBound) {
148 return overlap(R0, T0, b1.
obb, b2.
obb, request, sqrDistLowerBound);
#define COAL_DLLAPI
Definition: config.hh:88
Main namespace.
Definition: broadphase_bruteforce.h:44
Scalar distance(const Matrix3s &R0, const Vec3s &T0, const kIOS &b1, const kIOS &b2, Vec3s *P=NULL, Vec3s *Q=NULL)
Approximate distance between two kIOS bounding volumes.
bool overlap(const Matrix3s &R0, const Vec3s &T0, const AABB &b1, const AABB &b2)
Check collision between two aabbs, b1 is in configuration (R0, T0) and b2 is in identity.
Eigen::Matrix< Scalar, 3, 1 > Vec3s
Definition: data_types.h:70
double Scalar
Definition: data_types.h:68
Eigen::Matrix< Scalar, 3, 3 > Matrix3s
Definition: data_types.h:74
request to the collision algorithm
Definition: collision_data.h:311
Oriented bounding box class.
Definition: OBB.h:51
const Vec3s & center() const
Center of the OBB.
Definition: OBB.h:112
Scalar height() const
Height of the OBB.
Definition: OBB.h:118
Scalar depth() const
Depth of the OBB.
Definition: OBB.h:121
Scalar size() const
Size of the OBB (used in BV_Splitter to order two OBBs)
Definition: OBB.h:109
Scalar volume() const
Volume of the OBB.
Definition: OBB.h:124
Scalar width() const
Width of the OBB.
Definition: OBB.h:115
bool overlap(const OBB &other) const
bool contain(const Vec3s &p) const
Check whether the OBB contains a point.