43#include <boost/math/constants/constants.hpp> 53struct COAL_DLLAPI
RSS {
54 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
97 sqrDistLowerBound = sqrt(-1);
111 *
this = *
this + other;
139 4 * boost::math::constants::pi<CoalScalar>() *
radius *
radius *
RSS & operator+=(const RSS &other)
Merge the RSS and another RSS.
Definition RSS.h:110
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Matrix3s axes
Orientation of RSS. axis[i] is the ith column of the orientation matrix for the RSS; it is also the i...
Definition RSS.h:61
CoalScalar radius
Radius of sphere summed with rectangle to form RSS.
Definition RSS.h:70
RSS()
 
Definition RSS.h:73
CoalScalar size() const
Size of the RSS (used in BV_Splitter to order two RSSs)
Definition RSS.h:119
CoalScalar width() const
Width of the RSS.
Definition RSS.h:128
RSS operator+(const RSS &other) const
Return the merged RSS of current RSS and the other one.
bool contain(const Vec3s &p) const
Check whether the RSS contains a point.
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.
bool overlap(const RSS &other, const CollisionRequest &, CoalScalar &sqrDistLowerBound) const
Not implemented.
Definition RSS.h:95
CoalScalar height() const
Height of the RSS.
Definition RSS.h:131
CoalScalar volume() const
Volume of the RSS.
Definition RSS.h:137
bool overlap(const RSS &other, RSS &) const
Check collision between two RSS and return the overlap part. For RSS, we return nothing,...
Definition RSS.h:146
Vec3s Tr
Origin of the rectangle in RSS.
Definition RSS.h:64
CoalScalar length[2]
Side lengths of rectangle.
Definition RSS.h:67
CoalScalar depth() const
Depth of the RSS.
Definition RSS.h:134
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.
bool overlap(const RSS &other) const
Check collision between two RSS.
RSS & operator+=(const Vec3s &p)
A simple way to merge the RSS and a point, not compact.
const Vec3s & center() const
The RSS center.
Definition RSS.h:125
bool operator!=(const RSS &other) const
Difference operator.
Definition RSS.h:86
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 operator==(const RSS &other) const
Equality operator.
Definition RSS.h:79
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