42 #include <boost/math/constants/constants.hpp> 49 struct CollisionRequest;
76 length[0] = 0; length[1] = 0;
85 && length[0] == other.
length[0]
86 && length[1] == other.
length[1]
93 return !(*
this == other);
97 bool contain(
const Vec3f& p)
const;
106 sqrDistLowerBound = sqrt (-1);
118 inline RSS& operator += (
const RSS& other)
120 *
this = *
this + other;
125 RSS operator + (
const RSS& other)
const;
131 return (std::sqrt(length[0] * length[0] + length[1] * length[1]) + 2 * radius);
143 return length[0] + 2 * radius;
149 return length[1] + 2 * radius;
161 return (length[0] * length[1] * 2 * radius + 4 * boost::math::constants::pi<FCL_REAL>() * radius * radius * radius);
176 const RSS& b1,
const RSS& b2,
182 const RSS& b1,
const RSS& b2);
186 const RSS& b1,
const RSS& b2,
const Vec3f & center() const
The RSS center.
Definition: RSS.h:135
FCL_REAL depth() const
Depth of the RSS.
Definition: RSS.h:153
Main namespace.
Definition: AABB.h:43
Matrix3f 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:59
Eigen::Matrix< FCL_REAL, 3, 3 > Matrix3f
Definition: data_types.h:69
FCL_REAL height() const
Height of the RSS.
Definition: RSS.h:147
request to the collision algorithm
Definition: collision_data.h:209
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 overlap(const RSS &other, const CollisionRequest &, FCL_REAL &sqrDistLowerBound) const
Not implemented.
Definition: RSS.h:103
Vec3f Tr
Origin of the rectangle in RSS.
Definition: RSS.h:62
double FCL_REAL
Definition: data_types.h:66
bool operator==(const RSS &other) const
Equality operator.
Definition: RSS.h:80
FCL_REAL radius
Radius of sphere summed with rectangle to form RSS.
Definition: RSS.h:68
FCL_REAL volume() const
Volume of the RSS.
Definition: RSS.h:159
bool overlap(const RSS &other, RSS &) const
Check collision between two RSS and return the overlap part. For RSS, we return nothing, as the overlap part of two RSSs usually is not a RSS.
Definition: RSS.h:166
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 size() const
Size of the RSS (used in BV_Splitter to order two RSSs)
Definition: RSS.h:129
FCL_REAL width() const
Width of the RSS.
Definition: RSS.h:141
RSS()
.
Definition: RSS.h:71
FCL_REAL length[2]
Side lengths of rectangle.
Definition: RSS.h:65
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
Definition: data_types.h:67
bool operator!=(const RSS &other) const
Difference operator.
Definition: RSS.h:91
#define HPP_FCL_DLLAPI
Definition: config.hh:64