46 struct CollisionRequest;
54 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
64 return obb == other.
obb && rss == other.
rss;
81 return obb.
overlap(other.
obb, request, sqrDistLowerBound);
87 Vec3s* Q = NULL)
const {
100 *
this = *
this + other;
107 result.
obb = obb + other.
obb;
108 result.
rss = rss + other.
rss;
147 return overlap(R0, T0, b1.
obb, b2.
obb, request, sqrDistLowerBound);
#define COAL_DLLAPI
Definition: config.hh:88
bool overlap(const OBBRSS &other, const CollisionRequest &request, CoalScalar &sqrDistLowerBound) const
Definition: OBBRSS.h:79
CoalScalar height() const
Height of the OBB.
Definition: OBB.h:118
EIGEN_MAKE_ALIGNED_OPERATOR_NEW OBB obb
OBB member, for rotation.
Definition: OBBRSS.h:57
const Vec3s & center() const
Center of the OBBRSS.
Definition: OBBRSS.h:116
CoalScalar depth() const
Depth of the OBB.
Definition: OBB.h:121
CoalScalar width() const
Width of the OBRSS.
Definition: OBBRSS.h:119
CoalScalar width() const
Width of the OBB.
Definition: OBB.h:115
CoalScalar size() const
Size of the OBB (used in BV_Splitter to order two OBBs)
Definition: OBB.h:109
CoalScalar 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.
RSS rss
RSS member, for distance.
Definition: OBBRSS.h:60
bool operator!=(const OBBRSS &other) const
Difference operator.
Definition: OBBRSS.h:68
const Vec3s & center() const
Center of the OBB.
Definition: OBB.h:112
OBBRSS & operator+=(const Vec3s &p)
Merge the OBBRSS and a point.
Definition: OBBRSS.h:92
bool operator==(const OBBRSS &other) const
Equality operator.
Definition: OBBRSS.h:63
CoalScalar volume() const
Volume of the OBB.
Definition: OBB.h:124
bool overlap(const OBBRSS &other) const
Check collision between two OBBRSS.
Definition: OBBRSS.h:74
CoalScalar depth() const
Depth of the OBBRSS.
Definition: OBBRSS.h:125
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.
OBBRSS operator+(const OBBRSS &other) const
Merge two OBBRSS.
Definition: OBBRSS.h:105
CoalScalar size() const
Size of the OBBRSS (used in BV_Splitter to order two OBBRSS)
Definition: OBBRSS.h:113
bool contain(const Vec3s &p) const
Check whether the OBBRSS contains a point.
Definition: OBBRSS.h:71
OBBRSS & operator+=(const OBBRSS &other)
Merge two OBBRSS.
Definition: OBBRSS.h:99
bool overlap(const OBB &other) const
CoalScalar distance(const RSS &other, Vec3s *P=NULL, Vec3s *Q=NULL) const
the distance between two RSS; P and Q, if not NULL, return the nearest points
bool contain(const Vec3s &p) const
Check whether the OBB contains a point.
CoalScalar height() const
Height of the OBBRSS.
Definition: OBBRSS.h:122
CoalScalar distance(const OBBRSS &other, Vec3s *P=NULL, Vec3s *Q=NULL) const
Distance between two OBBRSS; P and Q , is not NULL, returns the nearest points.
Definition: OBBRSS.h:86
CoalScalar volume() const
Volume of the OBBRSS.
Definition: OBBRSS.h:128
Main namespace.
Definition: broadphase_bruteforce.h:44
Eigen::Matrix< CoalScalar, 3, 3 > Matrix3s
Definition: data_types.h:81
Eigen::Matrix< CoalScalar, 3, 1 > Vec3s
Definition: data_types.h:77
double CoalScalar
Definition: data_types.h:76
request to the collision algorithm
Definition: collision_data.h:311
Oriented bounding box class.
Definition: OBB.h:51