Classes | Functions | Variables
Bounding volumes

Classes of different types of bounding volume. More...

Classes

class  hpp::fcl::AABB
 A class describing the AABB collision structure, which is a box in 3D space determined by two diagonal points. More...
 
class  hpp::fcl::KDOP< N >
 KDOP class describes the KDOP collision structures. K is set as the template parameter, which should be 16, 18, or 24 The KDOP structure is defined by some pairs of parallel planes defined by some axes. For K = 16, the planes are 6 AABB planes and 10 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 8 (0,-1,0) and (0,1,0) -> indices 1 and 9 (0,0,-1) and (0,0,1) -> indices 2 and 10 (-1,-1,0) and (1,1,0) -> indices 3 and 11 (-1,0,-1) and (1,0,1) -> indices 4 and 12 (0,-1,-1) and (0,1,1) -> indices 5 and 13 (-1,1,0) and (1,-1,0) -> indices 6 and 14 (-1,0,1) and (1,0,-1) -> indices 7 and 15 For K = 18, the planes are 6 AABB planes and 12 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 9 (0,-1,0) and (0,1,0) -> indices 1 and 10 (0,0,-1) and (0,0,1) -> indices 2 and 11 (-1,-1,0) and (1,1,0) -> indices 3 and 12 (-1,0,-1) and (1,0,1) -> indices 4 and 13 (0,-1,-1) and (0,1,1) -> indices 5 and 14 (-1,1,0) and (1,-1,0) -> indices 6 and 15 (-1,0,1) and (1,0,-1) -> indices 7 and 16 (0,-1,1) and (0,1,-1) -> indices 8 and 17 For K = 18, the planes are 6 AABB planes and 18 diagonal planes that cut off some space of the edges: (-1,0,0) and (1,0,0) -> indices 0 and 12 (0,-1,0) and (0,1,0) -> indices 1 and 13 (0,0,-1) and (0,0,1) -> indices 2 and 14 (-1,-1,0) and (1,1,0) -> indices 3 and 15 (-1,0,-1) and (1,0,1) -> indices 4 and 16 (0,-1,-1) and (0,1,1) -> indices 5 and 17 (-1,1,0) and (1,-1,0) -> indices 6 and 18 (-1,0,1) and (1,0,-1) -> indices 7 and 19 (0,-1,1) and (0,1,-1) -> indices 8 and 20 (-1, -1, 1) and (1, 1, -1) --> indices 9 and 21 (-1, 1, -1) and (1, -1, 1) --> indices 10 and 22 (1, -1, -1) and (-1, 1, 1) --> indices 11 and 23. More...
 
class  hpp::fcl::kIOS
 A class describing the kIOS collision structure, which is a set of spheres. More...
 
struct  hpp::fcl::kIOS::kIOS_Sphere
 One sphere in kIOS. More...
 
struct  hpp::fcl::OBB
 Oriented bounding box class. More...
 
struct  hpp::fcl::OBBRSS
 Class merging the OBB and RSS, can handle collision and distance simultaneously. More...
 
struct  hpp::fcl::RSS
 A class for rectangle sphere-swept bounding volume. More...
 

Functions

 hpp::fcl::AABB::AABB ()
 Creating an AABB with zero size (low bound +inf, upper bound -inf) More...
 
 hpp::fcl::AABB::AABB (const AABB &core, const Vec3f &delta)
 Creating an AABB centered as core and is of half-dimension delta. More...
 
 hpp::fcl::AABB::AABB (const AABB &other)=default
 
 hpp::fcl::AABB::AABB (const Vec3f &a, const Vec3f &b)
 Creating an AABB with two endpoints a and b. More...
 
 hpp::fcl::AABB::AABB (const Vec3f &a, const Vec3f &b, const Vec3f &c)
 Creating an AABB contains three points. More...
 
 hpp::fcl::AABB::AABB (const Vec3f &v)
 Creating an AABB at position v with zero size. More...
 
bool hpp::fcl::AABB::axisOverlap (const AABB &other, int axis_id) const
 Check whether two AABB are overlapped along specific axis. More...
 
const Vec3fhpp::fcl::OBB::center () const
 Center of the OBB. More...
 
const Vec3fhpp::fcl::OBBRSS::center () const
 Center of the OBBRSS. More...
 
const Vec3fhpp::fcl::RSS::center () const
 The RSS center. More...
 
Vec3f hpp::fcl::KDOP< N >::center () const
 The (AABB) center. More...
 
const Vec3fhpp::fcl::kIOS::center () const
 Center of the kIOS. More...
 
bool hpp::fcl::AABB::contain (const AABB &other) const
 Check whether the AABB contains another AABB. More...
 
bool hpp::fcl::OBBRSS::contain (const Vec3f &p) const
 Check whether the OBBRSS contains a point. More...
 
bool hpp::fcl::OBB::contain (const Vec3f &p) const
 Check whether the OBB contains a point. More...
 
bool hpp::fcl::RSS::contain (const Vec3f &p) const
 Check whether the RSS contains a point. More...
 
bool hpp::fcl::kIOS::contain (const Vec3f &p) const
 Check whether the kIOS contains a point. More...
 
FCL_REAL hpp::fcl::OBB::depth () const
 Depth of the OBB. More...
 
FCL_REAL hpp::fcl::OBBRSS::depth () const
 Depth of the OBBRSS. More...
 
FCL_REAL hpp::fcl::RSS::depth () const
 Depth of the RSS. More...
 
FCL_REAL hpp::fcl::KDOP< N >::depth () const
 The (AABB) depth. More...
 
FCL_REAL hpp::fcl::kIOS::depth () const
 Depth of the kIOS. More...
 
FCL_REALhpp::fcl::KDOP< N >::dist (short i)
 
FCL_REAL hpp::fcl::KDOP< N >::dist (short i) const
 
FCL_REAL hpp::fcl::KDOP< N >::distance (const KDOP< N > &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
 The distance between two KDOP<N>. Not implemented. More...
 
FCL_REAL hpp::fcl::kIOS::distance (const kIOS &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
 The distance between two kIOS. More...
 
HPP_FCL_DLLAPI FCL_REAL hpp::fcl::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. More...
 
FCL_REAL hpp::fcl::distance (const Matrix3f &R0, const Vec3f &T0, const OBBRSS &b1, const OBBRSS &b2, Vec3f *P=NULL, Vec3f *Q=NULL)
 Computate distance between two OBBRSS, b1 is in configuation (R0, T0) and b2 is in indentity; P and Q, is not NULL, returns the nearest points. More...
 
HPP_FCL_DLLAPI FCL_REAL hpp::fcl::distance (const Matrix3f &R0, const Vec3f &T0, const RSS &b1, const RSS &b2, Vec3f *P=NULL, Vec3f *Q=NULL)
 distance between two RSS bounding volumes P and Q (optional return values) are the closest points in the rectangles, not the RSS. But the direction P - Q is the correct direction for cloest points Notice that P and Q are both in the local frame of the first RSS (not global frame and not even the local frame of object 1) More...
 
FCL_REAL hpp::fcl::OBB::distance (const OBB &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
 Distance between two OBBs, not implemented. More...
 
FCL_REAL hpp::fcl::OBBRSS::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. More...
 
FCL_REAL hpp::fcl::RSS::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 More...
 
static kIOS_Sphere hpp::fcl::kIOS::encloseSphere (const kIOS_Sphere &s0, const kIOS_Sphere &s1)
 generate one sphere enclosing two spheres More...
 
AABBhpp::fcl::AABB::expand (const AABB &core, FCL_REAL ratio)
 expand the aabb by increase the thickness of the plate by a ratio More...
 
AABBhpp::fcl::AABB::expand (const FCL_REAL delta)
 expand the half size of the AABB by a scalar delta, and keep the center unchanged. More...
 
AABBhpp::fcl::AABB::expand (const Vec3f &delta)
 expand the half size of the AABB by delta, and keep the center unchanged. More...
 
FCL_REAL hpp::fcl::OBB::height () const
 Height of the OBB. More...
 
FCL_REAL hpp::fcl::OBBRSS::height () const
 Height of the OBBRSS. More...
 
FCL_REAL hpp::fcl::RSS::height () const
 Height of the RSS. More...
 
FCL_REAL hpp::fcl::KDOP< N >::height () const
 The (AABB) height. More...
 
FCL_REAL hpp::fcl::kIOS::height () const
 Height of the kIOS. More...
 
bool hpp::fcl::KDOP< N >::inside (const Vec3f &p) const
 
 hpp::fcl::KDOP< N >::KDOP ()
 Creating kDOP containing nothing. More...
 
 hpp::fcl::KDOP< N >::KDOP (const Vec3f &a, const Vec3f &b)
 Creating kDOP containing two points. More...
 
 hpp::fcl::KDOP< N >::KDOP (const Vec3f &v)
 Creating kDOP containing only one point. More...
 
 hpp::fcl::OBB::OBB ()
 
HPP_FCL_DLLAPI bool hpp::fcl::obbDisjoint (const Matrix3f &B, const Vec3f &T, const Vec3f &a, const Vec3f &b)
 
bool hpp::fcl::AABB::operator!= (const AABB &other) const
 
bool hpp::fcl::KDOP< N >::operator!= (const KDOP &other) const
 Difference operator. More...
 
bool hpp::fcl::kIOS::operator!= (const kIOS &other) const
 Difference operator. More...
 
bool hpp::fcl::kIOS::kIOS_Sphere::operator!= (const kIOS_Sphere &other) const
 
bool hpp::fcl::OBB::operator!= (const OBB &other) const
 Difference operator. More...
 
bool hpp::fcl::OBBRSS::operator!= (const OBBRSS &other) const
 Difference operator. More...
 
bool hpp::fcl::RSS::operator!= (const RSS &other) const
 Difference operator. More...
 
KDOP< N > hpp::fcl::KDOP< N >::operator+ (const KDOP< N > &other) const
 Create a KDOP by mergin two KDOPs. More...
 
kIOS hpp::fcl::kIOS::operator+ (const kIOS &other) const
 Return the merged kIOS of current kIOS and the other one. More...
 
OBB hpp::fcl::OBB::operator+ (const OBB &other) const
 Return the merged OBB of current OBB and the other one (the result is not compact). More...
 
OBBRSS hpp::fcl::OBBRSS::operator+ (const OBBRSS &other) const
 Merge two OBBRSS. More...
 
RSS hpp::fcl::RSS::operator+ (const RSS &other) const
 Return the merged RSS of current RSS and the other one. More...
 
KDOP< N > & hpp::fcl::KDOP< N >::operator+= (const KDOP< N > &other)
 Merge two KDOPs. More...
 
kIOShpp::fcl::kIOS::operator+= (const kIOS &other)
 Merge the kIOS and another kIOS. More...
 
OBBhpp::fcl::OBB::operator+= (const OBB &other)
 Merge the OBB and another OBB (the result is not compact). More...
 
OBBRSShpp::fcl::OBBRSS::operator+= (const OBBRSS &other)
 Merge two OBBRSS. More...
 
RSShpp::fcl::RSS::operator+= (const RSS &other)
 Merge the RSS and another RSS. More...
 
OBBRSShpp::fcl::OBBRSS::operator+= (const Vec3f &p)
 Merge the OBBRSS and a point. More...
 
OBBhpp::fcl::OBB::operator+= (const Vec3f &p)
 A simple way to merge the OBB and a point (the result is not compact). More...
 
RSShpp::fcl::RSS::operator+= (const Vec3f &p)
 A simple way to merge the RSS and a point, not compact. More...
 
KDOP< N > & hpp::fcl::KDOP< N >::operator+= (const Vec3f &p)
 Merge the point and the KDOP. More...
 
kIOShpp::fcl::kIOS::operator+= (const Vec3f &p)
 A simple way to merge the kIOS and a point. More...
 
AABBhpp::fcl::AABB::operator= (const AABB &other)=default
 
bool hpp::fcl::AABB::operator== (const AABB &other) const
 Comparison operator. More...
 
bool hpp::fcl::KDOP< N >::operator== (const KDOP &other) const
 Equality operator. More...
 
bool hpp::fcl::kIOS::operator== (const kIOS &other) const
 Equality operator. More...
 
bool hpp::fcl::kIOS::kIOS_Sphere::operator== (const kIOS_Sphere &other) const
 
bool hpp::fcl::OBB::operator== (const OBB &other) const
 Equality operator. More...
 
bool hpp::fcl::OBBRSS::operator== (const OBBRSS &other) const
 Equality operator. More...
 
bool hpp::fcl::RSS::operator== (const RSS &other) const
 Equality operator. More...
 
bool hpp::fcl::AABB::overlap (const AABB &other, AABB &overlap_part) const
 Check whether two AABB are overlap and return the overlap part. More...
 
bool hpp::fcl::KDOP< N >::overlap (const KDOP< N > &other) const
 Check whether two KDOPs overlap. More...
 
bool hpp::fcl::KDOP< N >::overlap (const KDOP< N > &other, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound) const
 Check whether two KDOPs overlap. More...
 
bool hpp::fcl::kIOS::overlap (const kIOS &other) const
 Check collision between two kIOS. More...
 
bool hpp::fcl::kIOS::overlap (const kIOS &other, const CollisionRequest &, FCL_REAL &sqrDistLowerBound) const
 Check collision between two kIOS. More...
 
template<short N>
bool hpp::fcl::overlap (const Matrix3f &, const Vec3f &, const KDOP< N > &, const KDOP< N > &)
 
template<short N>
bool hpp::fcl::overlap (const Matrix3f &, const Vec3f &, const KDOP< N > &, const KDOP< N > &, const CollisionRequest &, FCL_REAL &)
 
HPP_FCL_DLLAPI bool hpp::fcl::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. More...
 
HPP_FCL_DLLAPI bool hpp::fcl::overlap (const Matrix3f &R0, const Vec3f &T0, const AABB &b1, const AABB &b2, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound)
 Check collision between two aabbs, b1 is in configuration (R0, T0) and b2 is in identity. More...
 
HPP_FCL_DLLAPI bool hpp::fcl::overlap (const Matrix3f &R0, const Vec3f &T0, const kIOS &b1, const kIOS &b2)
 Check collision between two kIOSs, b1 is in configuration (R0, T0) and b2 is in identity. More...
 
HPP_FCL_DLLAPI bool hpp::fcl::overlap (const Matrix3f &R0, const Vec3f &T0, const kIOS &b1, const kIOS &b2, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound)
 Check collision between two kIOSs, b1 is in configuration (R0, T0) and b2 is in identity. More...
 
HPP_FCL_DLLAPI bool hpp::fcl::overlap (const Matrix3f &R0, const Vec3f &T0, const OBB &b1, const OBB &b2)
 Check collision between two obbs, b1 is in configuration (R0, T0) and b2 is in identity. More...
 
HPP_FCL_DLLAPI bool hpp::fcl::overlap (const Matrix3f &R0, const Vec3f &T0, const OBB &b1, const OBB &b2, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound)
 Check collision between two obbs, b1 is in configuration (R0, T0) and b2 is in identity. More...
 
bool hpp::fcl::overlap (const Matrix3f &R0, const Vec3f &T0, const OBBRSS &b1, const OBBRSS &b2)
 Check collision between two OBBRSS, b1 is in configuration (R0, T0) and b2 is in indentity. More...
 
bool hpp::fcl::overlap (const Matrix3f &R0, const Vec3f &T0, const OBBRSS &b1, const OBBRSS &b2, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound)
 
HPP_FCL_DLLAPI bool hpp::fcl::overlap (const Matrix3f &R0, const Vec3f &T0, const RSS &b1, const RSS &b2)
 Check collision between two RSSs, b1 is in configuration (R0, T0) and b2 is in identity. More...
 
HPP_FCL_DLLAPI bool hpp::fcl::overlap (const Matrix3f &R0, const Vec3f &T0, const RSS &b1, const RSS &b2, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound)
 Check collision between two RSSs, b1 is in configuration (R0, T0) and b2 is in identity. More...
 
bool hpp::fcl::OBB::overlap (const OBB &other) const
 
bool hpp::fcl::OBB::overlap (const OBB &other, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound) const
 
bool hpp::fcl::OBBRSS::overlap (const OBBRSS &other) const
 Check collision between two OBBRSS. More...
 
bool hpp::fcl::OBBRSS::overlap (const OBBRSS &other, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound) const
 
bool hpp::fcl::RSS::overlap (const RSS &other) const
 Check collision between two RSS. More...
 
bool hpp::fcl::RSS::overlap (const RSS &other, const CollisionRequest &, FCL_REAL &sqrDistLowerBound) const
 Not implemented. More...
 
bool hpp::fcl::RSS::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. More...
 
static AABB hpp::fcl::rotate (const AABB &aabb, const Matrix3f &R)
 
 hpp::fcl::RSS::RSS ()
   More...
 
FCL_REAL hpp::fcl::OBB::size () const
 Size of the OBB (used in BV_Splitter to order two OBBs) More...
 
FCL_REAL hpp::fcl::OBBRSS::size () const
 Size of the OBBRSS (used in BV_Splitter to order two OBBRSS) More...
 
FCL_REAL hpp::fcl::RSS::size () const
 Size of the RSS (used in BV_Splitter to order two RSSs) More...
 
FCL_REAL hpp::fcl::KDOP< N >::size () const
 Size of the kDOP (used in BV_Splitter to order two kDOPs) More...
 
FCL_REAL hpp::fcl::kIOS::size () const
 size of the kIOS (used in BV_Splitter to order two kIOSs) More...
 
static AABB hpp::fcl::translate (const AABB &aabb, const Vec3f &t)
 translate the center of AABB by t More...
 
template<short N>
HPP_FCL_DLLAPI KDOP< N > hpp::fcl::translate (const KDOP< N > &bv, const Vec3f &t)
 translate the KDOP BV More...
 
HPP_FCL_DLLAPI kIOS hpp::fcl::translate (const kIOS &bv, const Vec3f &t)
 Translate the kIOS BV. More...
 
HPP_FCL_DLLAPI OBB hpp::fcl::translate (const OBB &bv, const Vec3f &t)
 Translate the OBB bv. More...
 
AABBhpp::fcl::AABB::update (const Vec3f &a, const Vec3f &b)
 
FCL_REAL hpp::fcl::OBB::volume () const
 Volume of the OBB. More...
 
FCL_REAL hpp::fcl::OBBRSS::volume () const
 Volume of the OBBRSS. More...
 
FCL_REAL hpp::fcl::RSS::volume () const
 Volume of the RSS. More...
 
FCL_REAL hpp::fcl::kIOS::volume () const
 Volume of the kIOS. More...
 
FCL_REAL hpp::fcl::KDOP< N >::volume () const
 The (AABB) volume. More...
 
FCL_REAL hpp::fcl::OBB::width () const
 Width of the OBB. More...
 
FCL_REAL hpp::fcl::OBBRSS::width () const
 Width of the OBRSS. More...
 
FCL_REAL hpp::fcl::RSS::width () const
 Width of the RSS. More...
 
FCL_REAL hpp::fcl::kIOS::width () const
 Width of the kIOS. More...
 
FCL_REAL hpp::fcl::KDOP< N >::width () const
 The (AABB) width. More...
 

Variables

Matrix3f hpp::fcl::OBB::axes
 Orientation of OBB. axis[i] is the ith column of the orientation matrix for the box; it is also the i-th principle direction of the box. We assume that axis[0] corresponds to the axis with the longest box edge, axis[1] corresponds to the shorter one and axis[2] corresponds to the shortest one. More...
 
Matrix3f hpp::fcl::RSS::axes
 Orientation of RSS. axis[i] is the ith column of the orientation matrix for the RSS; it is also the i-th principle direction of the RSS. We assume that axis[0] corresponds to the axis with the longest length, axis[1] corresponds to the shorter one and axis[2] corresponds to the shortest one. More...
 
Eigen::Array< FCL_REAL, N, 1 > hpp::fcl::KDOP< N >::dist_
 Origin's distances to N KDOP planes. More...
 
Vec3f hpp::fcl::OBB::extent
 Half dimensions of OBB. More...
 
FCL_REAL hpp::fcl::RSS::length [2]
 Side lengths of rectangle. More...
 
Vec3f hpp::fcl::AABB::max_
 The max point in the AABB. More...
 
Vec3f hpp::fcl::AABB::min_
 The min point in the AABB. More...
 
unsigned int hpp::fcl::kIOS::num_spheres
 The number of spheres, no larger than 5. More...
 
Vec3f hpp::fcl::kIOS::kIOS_Sphere::o
 
OBB hpp::fcl::OBBRSS::obb
 OBB member, for rotation. More...
 
OBB hpp::fcl::kIOS::obb
 @ OBB related with kIOS More...
 
FCL_REAL hpp::fcl::kIOS::kIOS_Sphere::r
 
FCL_REAL hpp::fcl::RSS::radius
 Radius of sphere summed with rectangle to form RSS. More...
 
RSS hpp::fcl::OBBRSS::rss
 RSS member, for distance. More...
 
kIOS_Sphere hpp::fcl::kIOS::spheres [5]
 The (at most) five spheres for intersection. More...
 
Vec3f hpp::fcl::OBB::To
 Center of OBB. More...
 
Vec3f hpp::fcl::RSS::Tr
 Origin of the rectangle in RSS. More...
 

Bounding volume API

Common API to BVs.

bool hpp::fcl::AABB::contain (const Vec3f &p) const
 Check whether the AABB contains a point. More...
 
bool hpp::fcl::AABB::overlap (const AABB &other) const
 Check whether two AABB are overlap. More...
 
bool hpp::fcl::AABB::overlap (const AABB &other, const CollisionRequest &request, FCL_REAL &sqrDistLowerBound) const
 Check whether two AABB are overlap. More...
 
FCL_REAL hpp::fcl::AABB::distance (const AABB &other) const
 Distance between two AABBs. More...
 
FCL_REAL hpp::fcl::AABB::distance (const AABB &other, Vec3f *P, Vec3f *Q) const
 Distance between two AABBs; P and Q, should not be NULL, return the nearest points. More...
 
AABBhpp::fcl::AABB::operator+= (const Vec3f &p)
 Merge the AABB and a point. More...
 
AABBhpp::fcl::AABB::operator+= (const AABB &other)
 Merge the AABB and another AABB. More...
 
AABB hpp::fcl::AABB::operator+ (const AABB &other) const
 Return the merged AABB of current AABB and the other one. More...
 
FCL_REAL hpp::fcl::AABB::size () const
 Size of the AABB (used in BV_Splitter to order two AABBs) More...
 
Vec3f hpp::fcl::AABB::center () const
 Center of the AABB. More...
 
FCL_REAL hpp::fcl::AABB::width () const
 Width of the AABB. More...
 
FCL_REAL hpp::fcl::AABB::height () const
 Height of the AABB. More...
 
FCL_REAL hpp::fcl::AABB::depth () const
 Depth of the AABB. More...
 
FCL_REAL hpp::fcl::AABB::volume () const
 Volume of the AABB. More...
 

Detailed Description

Classes of different types of bounding volume.

Function Documentation

◆ AABB() [1/6]

hpp::fcl::AABB::AABB ( )

Creating an AABB with zero size (low bound +inf, upper bound -inf)

Definition at line 46 of file AABB.cpp.

◆ AABB() [2/6]

hpp::fcl::AABB::AABB ( const AABB core,
const Vec3f delta 
)
inline

Creating an AABB centered as core and is of half-dimension delta.

Definition at line 72 of file BV/AABB.h.

◆ AABB() [3/6]

hpp::fcl::AABB::AABB ( const AABB other)
default

◆ AABB() [4/6]

hpp::fcl::AABB::AABB ( const Vec3f a,
const Vec3f b 
)
inline

Creating an AABB with two endpoints a and b.

Definition at line 68 of file BV/AABB.h.

◆ AABB() [5/6]

hpp::fcl::AABB::AABB ( const Vec3f a,
const Vec3f b,
const Vec3f c 
)
inline

Creating an AABB contains three points.

Definition at line 76 of file BV/AABB.h.

◆ AABB() [6/6]

hpp::fcl::AABB::AABB ( const Vec3f v)
inline

Creating an AABB at position v with zero size.

Definition at line 65 of file BV/AABB.h.

◆ axisOverlap()

bool hpp::fcl::AABB::axisOverlap ( const AABB other,
int  axis_id 
) const
inline

Check whether two AABB are overlapped along specific axis.

Definition at line 192 of file BV/AABB.h.

◆ center() [1/6]

const Vec3f& hpp::fcl::OBB::center ( ) const
inline

Center of the OBB.

Definition at line 111 of file include/hpp/fcl/BV/OBB.h.

◆ center() [2/6]

const Vec3f& hpp::fcl::OBBRSS::center ( ) const
inline

Center of the OBBRSS.

Definition at line 115 of file BV/OBBRSS.h.

◆ center() [3/6]

const Vec3f& hpp::fcl::RSS::center ( ) const
inline

The RSS center.

Definition at line 123 of file BV/RSS.h.

◆ center() [4/6]

template<short N>
Vec3f hpp::fcl::KDOP< N >::center ( ) const
inline

The (AABB) center.

Definition at line 146 of file kDOP.h.

◆ center() [5/6]

const Vec3f& hpp::fcl::kIOS::center ( ) const
inline

Center of the kIOS.

Definition at line 148 of file kIOS.h.

◆ center() [6/6]

Vec3f hpp::fcl::AABB::center ( ) const
inline

Center of the AABB.

Definition at line 157 of file BV/AABB.h.

◆ contain() [1/6]

bool hpp::fcl::AABB::contain ( const AABB other) const
inline

Check whether the AABB contains another AABB.

Definition at line 174 of file BV/AABB.h.

◆ contain() [2/6]

bool hpp::fcl::OBBRSS::contain ( const Vec3f p) const
inline

Check whether the OBBRSS contains a point.

Definition at line 70 of file BV/OBBRSS.h.

◆ contain() [3/6]

bool hpp::fcl::OBB::contain ( const Vec3f p) const

Check whether the OBB contains a point.

Definition at line 426 of file OBB.cpp.

◆ contain() [4/6]

bool hpp::fcl::RSS::contain ( const Vec3f p) const

Check whether the RSS contains a point.

projection is within the rectangle

Definition at line 763 of file RSS.cpp.

◆ contain() [5/6]

bool hpp::fcl::AABB::contain ( const Vec3f p) const
inline

Check whether the AABB contains a point.

Definition at line 101 of file BV/AABB.h.

◆ contain() [6/6]

bool hpp::fcl::kIOS::contain ( const Vec3f p) const

Check whether the kIOS contains a point.

Definition at line 77 of file kIOS.cpp.

◆ depth() [1/6]

FCL_REAL hpp::fcl::OBB::depth ( ) const
inline

Depth of the OBB.

Definition at line 120 of file include/hpp/fcl/BV/OBB.h.

◆ depth() [2/6]

FCL_REAL hpp::fcl::OBBRSS::depth ( ) const
inline

Depth of the OBBRSS.

Definition at line 124 of file BV/OBBRSS.h.

◆ depth() [3/6]

FCL_REAL hpp::fcl::RSS::depth ( ) const
inline

Depth of the RSS.

Definition at line 132 of file BV/RSS.h.

◆ depth() [4/6]

FCL_REAL hpp::fcl::kIOS::depth ( ) const

Depth of the kIOS.

Definition at line 117 of file kIOS.cpp.

◆ depth() [5/6]

template<short N>
FCL_REAL hpp::fcl::KDOP< N >::depth ( ) const
inline

The (AABB) depth.

Definition at line 157 of file kDOP.h.

◆ depth() [6/6]

FCL_REAL hpp::fcl::AABB::depth ( ) const
inline

Depth of the AABB.

Definition at line 166 of file BV/AABB.h.

◆ dist() [1/2]

template<short N>
FCL_REAL& hpp::fcl::KDOP< N >::dist ( short  i)
inline

Definition at line 164 of file kDOP.h.

◆ dist() [2/2]

template<short N>
FCL_REAL hpp::fcl::KDOP< N >::dist ( short  i) const
inline

Definition at line 162 of file kDOP.h.

◆ distance() [1/10]

FCL_REAL hpp::fcl::AABB::distance ( const AABB other) const

Distance between two AABBs.

Definition at line 114 of file AABB.cpp.

◆ distance() [2/10]

FCL_REAL hpp::fcl::AABB::distance ( const AABB other,
Vec3f P,
Vec3f Q 
) const

Distance between two AABBs; P and Q, should not be NULL, return the nearest points.

Definition at line 74 of file AABB.cpp.

◆ distance() [3/10]

template<short N>
FCL_REAL hpp::fcl::KDOP< N >::distance ( const KDOP< N > &  other,
Vec3f P = NULL,
Vec3f Q = NULL 
) const

The distance between two KDOP<N>. Not implemented.

Definition at line 216 of file kDOP.cpp.

◆ distance() [4/10]

FCL_REAL hpp::fcl::kIOS::distance ( const kIOS other,
Vec3f P = NULL,
Vec3f Q = NULL 
) const

The distance between two kIOS.

Definition at line 123 of file kIOS.cpp.

◆ distance() [5/10]

FCL_REAL hpp::fcl::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.

Todo:
P and Q is not returned, need implementation

Definition at line 181 of file kIOS.cpp.

◆ distance() [6/10]

FCL_REAL hpp::fcl::distance ( const Matrix3f R0,
const Vec3f T0,
const OBBRSS b1,
const OBBRSS b2,
Vec3f P = NULL,
Vec3f Q = NULL 
)
inline

Computate distance between two OBBRSS, b1 is in configuation (R0, T0) and b2 is in indentity; P and Q, is not NULL, returns the nearest points.

Definition at line 151 of file BV/OBBRSS.h.

◆ distance() [7/10]

FCL_REAL hpp::fcl::distance ( const Matrix3f R0,
const Vec3f T0,
const RSS b1,
const RSS b2,
Vec3f P = NULL,
Vec3f Q = NULL 
)

distance between two RSS bounding volumes P and Q (optional return values) are the closest points in the rectangles, not the RSS. But the direction P - Q is the correct direction for cloest points Notice that P and Q are both in the local frame of the first RSS (not global frame and not even the local frame of object 1)

Definition at line 995 of file RSS.cpp.

◆ distance() [8/10]

FCL_REAL hpp::fcl::OBB::distance ( const OBB other,
Vec3f P = NULL,
Vec3f Q = NULL 
) const

Distance between two OBBs, not implemented.

Definition at line 462 of file OBB.cpp.

◆ distance() [9/10]

FCL_REAL hpp::fcl::OBBRSS::distance ( const OBBRSS other,
Vec3f P = NULL,
Vec3f Q = NULL 
) const
inline

Distance between two OBBRSS; P and Q , is not NULL, returns the nearest points.

Definition at line 85 of file BV/OBBRSS.h.

◆ distance() [10/10]

FCL_REAL hpp::fcl::RSS::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

Definition at line 983 of file RSS.cpp.

◆ encloseSphere()

static kIOS_Sphere hpp::fcl::kIOS::encloseSphere ( const kIOS_Sphere s0,
const kIOS_Sphere s1 
)
inlinestaticprivate

generate one sphere enclosing two spheres

The sphere with the larger radius encloses the other

spheres partially overlapping or disjoint

Definition at line 69 of file kIOS.h.

◆ expand() [1/3]

AABB& hpp::fcl::AABB::expand ( const AABB core,
FCL_REAL  ratio 
)
inline

expand the aabb by increase the thickness of the plate by a ratio

Definition at line 216 of file BV/AABB.h.

◆ expand() [2/3]

AABB& hpp::fcl::AABB::expand ( const FCL_REAL  delta)
inline

expand the half size of the AABB by a scalar delta, and keep the center unchanged.

Definition at line 209 of file BV/AABB.h.

◆ expand() [3/3]

AABB& hpp::fcl::AABB::expand ( const Vec3f delta)
inline

expand the half size of the AABB by delta, and keep the center unchanged.

Definition at line 201 of file BV/AABB.h.

◆ height() [1/6]

FCL_REAL hpp::fcl::OBB::height ( ) const
inline

Height of the OBB.

Definition at line 117 of file include/hpp/fcl/BV/OBB.h.

◆ height() [2/6]

FCL_REAL hpp::fcl::OBBRSS::height ( ) const
inline

Height of the OBBRSS.

Definition at line 121 of file BV/OBBRSS.h.

◆ height() [3/6]

FCL_REAL hpp::fcl::RSS::height ( ) const
inline

Height of the RSS.

Definition at line 129 of file BV/RSS.h.

◆ height() [4/6]

FCL_REAL hpp::fcl::kIOS::height ( ) const

Height of the kIOS.

Definition at line 115 of file kIOS.cpp.

◆ height() [5/6]

template<short N>
FCL_REAL hpp::fcl::KDOP< N >::height ( ) const
inline

The (AABB) height.

Definition at line 154 of file kDOP.h.

◆ height() [6/6]

FCL_REAL hpp::fcl::AABB::height ( ) const
inline

Height of the AABB.

Definition at line 163 of file BV/AABB.h.

◆ inside()

template<short N>
bool hpp::fcl::KDOP< N >::inside ( const Vec3f p) const

Definition at line 171 of file kDOP.cpp.

◆ KDOP() [1/3]

template<short N>
hpp::fcl::KDOP< N >::KDOP

Creating kDOP containing nothing.

Definition at line 102 of file kDOP.cpp.

◆ KDOP() [2/3]

template<short N>
hpp::fcl::KDOP< N >::KDOP ( const Vec3f a,
const Vec3f b 
)

Creating kDOP containing two points.

Definition at line 122 of file kDOP.cpp.

◆ KDOP() [3/3]

template<short N>
hpp::fcl::KDOP< N >::KDOP ( const Vec3f v)

Creating kDOP containing only one point.

Definition at line 109 of file kDOP.cpp.

◆ OBB()

hpp::fcl::OBB::OBB ( )
inline

Definition at line 66 of file include/hpp/fcl/BV/OBB.h.

◆ obbDisjoint()

bool hpp::fcl::obbDisjoint ( const Matrix3f B,
const Vec3f T,
const Vec3f a,
const Vec3f b 
)

Check collision between two boxes

Parameters
B,Torientation and position of first box,
ahalf dimensions of first box,
bhalf dimensions of second box. The second box is in identity configuration.

Definition at line 162 of file OBB.cpp.

◆ operator!=() [1/7]

bool hpp::fcl::AABB::operator!= ( const AABB other) const
inline

Definition at line 94 of file BV/AABB.h.

◆ operator!=() [2/7]

template<short N>
bool hpp::fcl::KDOP< N >::operator!= ( const KDOP< N > &  other) const
inline

Difference operator.

Definition at line 113 of file kDOP.h.

◆ operator!=() [3/7]

bool hpp::fcl::kIOS::operator!= ( const kIOS other) const
inline

Difference operator.

Definition at line 108 of file kIOS.h.

◆ operator!=() [4/7]

bool hpp::fcl::kIOS::kIOS_Sphere::operator!= ( const kIOS_Sphere other) const
inline

Definition at line 63 of file kIOS.h.

◆ operator!=() [5/7]

bool hpp::fcl::OBB::operator!= ( const OBB other) const
inline

Difference operator.

Definition at line 74 of file include/hpp/fcl/BV/OBB.h.

◆ operator!=() [6/7]

bool hpp::fcl::OBBRSS::operator!= ( const OBBRSS other) const
inline

Difference operator.

Definition at line 67 of file BV/OBBRSS.h.

◆ operator!=() [7/7]

bool hpp::fcl::RSS::operator!= ( const RSS other) const
inline

Difference operator.

Definition at line 84 of file BV/RSS.h.

◆ operator+() [1/6]

AABB hpp::fcl::AABB::operator+ ( const AABB other) const
inline

Return the merged AABB of current AABB and the other one.

Definition at line 148 of file BV/AABB.h.

◆ operator+() [2/6]

template<short N>
KDOP< N > hpp::fcl::KDOP< N >::operator+ ( const KDOP< N > &  other) const

Create a KDOP by mergin two KDOPs.

Definition at line 210 of file kDOP.cpp.

◆ operator+() [3/6]

kIOS hpp::fcl::kIOS::operator+ ( const kIOS other) const

Return the merged kIOS of current kIOS and the other one.

Definition at line 99 of file kIOS.cpp.

◆ operator+() [4/6]

OBB hpp::fcl::OBB::operator+ ( const OBB other) const

Return the merged OBB of current OBB and the other one (the result is not compact).

Definition at line 450 of file OBB.cpp.

◆ operator+() [5/6]

OBBRSS hpp::fcl::OBBRSS::operator+ ( const OBBRSS other) const
inline

Merge two OBBRSS.

Definition at line 104 of file BV/OBBRSS.h.

◆ operator+() [6/6]

RSS hpp::fcl::RSS::operator+ ( const RSS other) const

Return the merged RSS of current RSS and the other one.

Definition at line 908 of file RSS.cpp.

◆ operator+=() [1/12]

AABB& hpp::fcl::AABB::operator+= ( const AABB other)
inline

Merge the AABB and another AABB.

Definition at line 141 of file BV/AABB.h.

◆ operator+=() [2/12]

template<short N>
KDOP< N > & hpp::fcl::KDOP< N >::operator+= ( const KDOP< N > &  other)

Merge two KDOPs.

Definition at line 201 of file kDOP.cpp.

◆ operator+=() [3/12]

kIOS& hpp::fcl::kIOS::operator+= ( const kIOS other)
inline

Merge the kIOS and another kIOS.

Definition at line 136 of file kIOS.h.

◆ operator+=() [4/12]

OBB& hpp::fcl::OBB::operator+= ( const OBB other)
inline

Merge the OBB and another OBB (the result is not compact).

Definition at line 98 of file include/hpp/fcl/BV/OBB.h.

◆ operator+=() [5/12]

OBBRSS& hpp::fcl::OBBRSS::operator+= ( const OBBRSS other)
inline

Merge two OBBRSS.

Definition at line 98 of file BV/OBBRSS.h.

◆ operator+=() [6/12]

RSS& hpp::fcl::RSS::operator+= ( const RSS other)
inline

Merge the RSS and another RSS.

Definition at line 108 of file BV/RSS.h.

◆ operator+=() [7/12]

OBBRSS& hpp::fcl::OBBRSS::operator+= ( const Vec3f p)
inline

Merge the OBBRSS and a point.

Definition at line 91 of file BV/OBBRSS.h.

◆ operator+=() [8/12]

OBB & hpp::fcl::OBB::operator+= ( const Vec3f p)

A simple way to merge the OBB and a point (the result is not compact).

Definition at line 440 of file OBB.cpp.

◆ operator+=() [9/12]

RSS & hpp::fcl::RSS::operator+= ( const Vec3f p)

A simple way to merge the RSS and a point, not compact.

Todo:
This function may have some bug.

Definition at line 794 of file RSS.cpp.

◆ operator+=() [10/12]

template<short N>
KDOP< N > & hpp::fcl::KDOP< N >::operator+= ( const Vec3f p)

Merge the point and the KDOP.

Definition at line 186 of file kDOP.cpp.

◆ operator+=() [11/12]

kIOS & hpp::fcl::kIOS::operator+= ( const Vec3f p)

A simple way to merge the kIOS and a point.

Definition at line 86 of file kIOS.cpp.

◆ operator+=() [12/12]

AABB& hpp::fcl::AABB::operator+= ( const Vec3f p)
inline

Merge the AABB and a point.

Definition at line 134 of file BV/AABB.h.

◆ operator=()

AABB& hpp::fcl::AABB::operator= ( const AABB other)
default

◆ operator==() [1/7]

bool hpp::fcl::AABB::operator== ( const AABB other) const
inline

Comparison operator.

Definition at line 90 of file BV/AABB.h.

◆ operator==() [2/7]

template<short N>
bool hpp::fcl::KDOP< N >::operator== ( const KDOP< N > &  other) const
inline

Equality operator.

Definition at line 108 of file kDOP.h.

◆ operator==() [3/7]

bool hpp::fcl::kIOS::operator== ( const kIOS other) const
inline

Equality operator.

Definition at line 96 of file kIOS.h.

◆ operator==() [4/7]

bool hpp::fcl::kIOS::kIOS_Sphere::operator== ( const kIOS_Sphere other) const
inline

Definition at line 59 of file kIOS.h.

◆ operator==() [5/7]

bool hpp::fcl::OBB::operator== ( const OBB other) const
inline

Equality operator.

Definition at line 69 of file include/hpp/fcl/BV/OBB.h.

◆ operator==() [6/7]

bool hpp::fcl::OBBRSS::operator== ( const OBBRSS other) const
inline

Equality operator.

Definition at line 62 of file BV/OBBRSS.h.

◆ operator==() [7/7]

bool hpp::fcl::RSS::operator== ( const RSS other) const
inline

Equality operator.

Definition at line 77 of file BV/RSS.h.

◆ overlap() [1/26]

bool hpp::fcl::AABB::overlap ( const AABB other) const
inline

Check whether two AABB are overlap.

Definition at line 110 of file BV/AABB.h.

◆ overlap() [2/26]

bool hpp::fcl::AABB::overlap ( const AABB other,
AABB overlap_part 
) const
inline

Check whether two AABB are overlap and return the overlap part.

Definition at line 181 of file BV/AABB.h.

◆ overlap() [3/26]

bool hpp::fcl::AABB::overlap ( const AABB other,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
) const

Check whether two AABB are overlap.

Definition at line 50 of file AABB.cpp.

◆ overlap() [4/26]

template<short N>
bool hpp::fcl::KDOP< N >::overlap ( const KDOP< N > &  other) const

Check whether two KDOPs overlap.

Definition at line 136 of file kDOP.cpp.

◆ overlap() [5/26]

template<short N>
bool hpp::fcl::KDOP< N >::overlap ( const KDOP< N > &  other,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
) const

Check whether two KDOPs overlap.

Returns
true if collision happens.
Return values
sqrDistLowerBoundsquared lower bound on distance between boxes if they do not overlap.

Definition at line 145 of file kDOP.cpp.

◆ overlap() [6/26]

bool hpp::fcl::kIOS::overlap ( const kIOS other) const

Check collision between two kIOS.

Definition at line 48 of file kIOS.cpp.

◆ overlap() [7/26]

bool hpp::fcl::kIOS::overlap ( const kIOS other,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
) const

Check collision between two kIOS.

Definition at line 60 of file kIOS.cpp.

◆ overlap() [8/26]

template<short N>
bool hpp::fcl::overlap ( const Matrix3f ,
const Vec3f ,
const KDOP< N > &  ,
const KDOP< N > &   
)

Definition at line 176 of file kDOP.h.

◆ overlap() [9/26]

template<short N>
bool hpp::fcl::overlap ( const Matrix3f ,
const Vec3f ,
const KDOP< N > &  ,
const KDOP< N > &  ,
const CollisionRequest ,
FCL_REAL  
)

Definition at line 182 of file kDOP.h.

◆ overlap() [10/26]

bool hpp::fcl::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.

Definition at line 134 of file AABB.cpp.

◆ overlap() [11/26]

bool hpp::fcl::overlap ( const Matrix3f R0,
const Vec3f T0,
const AABB b1,
const AABB b2,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
)

Check collision between two aabbs, b1 is in configuration (R0, T0) and b2 is in identity.

Definition at line 140 of file AABB.cpp.

◆ overlap() [12/26]

bool hpp::fcl::overlap ( const Matrix3f R0,
const Vec3f T0,
const kIOS b1,
const kIOS b2 
)

Check collision between two kIOSs, b1 is in configuration (R0, T0) and b2 is in identity.

Todo:
Not efficient

Definition at line 152 of file kIOS.cpp.

◆ overlap() [13/26]

bool hpp::fcl::overlap ( const Matrix3f R0,
const Vec3f T0,
const kIOS b1,
const kIOS b2,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
)

Check collision between two kIOSs, b1 is in configuration (R0, T0) and b2 is in identity.

Todo:
Not efficient

Definition at line 166 of file kIOS.cpp.

◆ overlap() [14/26]

bool hpp::fcl::overlap ( const Matrix3f R0,
const Vec3f T0,
const OBB b1,
const OBB b2 
)

Check collision between two obbs, b1 is in configuration (R0, T0) and b2 is in identity.

Definition at line 467 of file OBB.cpp.

◆ overlap() [15/26]

bool hpp::fcl::overlap ( const Matrix3f R0,
const Vec3f T0,
const OBB b1,
const OBB b2,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
)

Check collision between two obbs, b1 is in configuration (R0, T0) and b2 is in identity.

Definition at line 476 of file OBB.cpp.

◆ overlap() [16/26]

bool hpp::fcl::overlap ( const Matrix3f R0,
const Vec3f T0,
const OBBRSS b1,
const OBBRSS b2 
)
inline

Check collision between two OBBRSS, b1 is in configuration (R0, T0) and b2 is in indentity.

Definition at line 132 of file BV/OBBRSS.h.

◆ overlap() [17/26]

bool hpp::fcl::overlap ( const Matrix3f R0,
const Vec3f T0,
const OBBRSS b1,
const OBBRSS b2,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
)
inline

Check collision between two OBBRSS

Parameters
R0,T0configuration of b1
b1first OBBRSS in configuration (R0, T0)
b2second OBBRSS in identity position
Return values
sqrDistLowerBoundsquared lower bound on the distance if OBBRSS do not overlap.

Definition at line 143 of file BV/OBBRSS.h.

◆ overlap() [18/26]

bool hpp::fcl::overlap ( const Matrix3f R0,
const Vec3f T0,
const RSS b1,
const RSS b2 
)

Check collision between two RSSs, b1 is in configuration (R0, T0) and b2 is in identity.

Definition at line 730 of file RSS.cpp.

◆ overlap() [19/26]

bool hpp::fcl::overlap ( const Matrix3f R0,
const Vec3f T0,
const RSS b1,
const RSS b2,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
)

Check collision between two RSSs, b1 is in configuration (R0, T0) and b2 is in identity.

Definition at line 745 of file RSS.cpp.

◆ overlap() [20/26]

bool hpp::fcl::OBB::overlap ( const OBB other) const

Check collision between two OBB

Returns
true if collision happens.

compute what transform [R,T] that takes us from cs1 to cs2. [R,T] = [R1,T1]'[R2,T2] = [R1',-R1'T][R2,T2] = [R1'R2, R1'(T2-T1)] First compute the rotation part, then translation part

Definition at line 396 of file OBB.cpp.

◆ overlap() [21/26]

bool hpp::fcl::OBB::overlap ( const OBB other,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
) const

Check collision between two OBB

Returns
true if collision happens.
Return values
sqrDistLowerBoundsquared lower bound on distance between boxes if they do not overlap.

compute what transform [R,T] that takes us from cs1 to cs2. [R,T] = [R1,T1]'[R2,T2] = [R1',-R1'T][R2,T2] = [R1'R2, R1'(T2-T1)] First compute the rotation part, then translation part

Definition at line 406 of file OBB.cpp.

◆ overlap() [22/26]

bool hpp::fcl::OBBRSS::overlap ( const OBBRSS other) const
inline

Check collision between two OBBRSS.

Definition at line 73 of file BV/OBBRSS.h.

◆ overlap() [23/26]

bool hpp::fcl::OBBRSS::overlap ( const OBBRSS other,
const CollisionRequest request,
FCL_REAL sqrDistLowerBound 
) const
inline

Check collision between two OBBRSS

Return values
sqrDistLowerBoundsquared lower bound on distance between objects if they do not overlap.

Definition at line 78 of file BV/OBBRSS.h.

◆ overlap() [24/26]

bool hpp::fcl::RSS::overlap ( const RSS other) const

Check collision between two RSS.

compute what transform [R,T] that takes us from cs1 to cs2. [R,T] = [R1,T1]'[R2,T2] = [R1',-R1'T][R2,T2] = [R1'R2, R1'(T2-T1)] First compute the rotation part, then translation part

Then compute R1'(T2 - T1)

Now compute R1'R2

Definition at line 715 of file RSS.cpp.

◆ overlap() [25/26]

bool hpp::fcl::RSS::overlap ( const RSS other,
const CollisionRequest ,
FCL_REAL sqrDistLowerBound 
) const
inline

Not implemented.

Definition at line 93 of file BV/RSS.h.

◆ overlap() [26/26]

bool hpp::fcl::RSS::overlap ( const RSS other,
RSS  
) const
inline

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 at line 144 of file BV/RSS.h.

◆ rotate()

static AABB hpp::fcl::rotate ( const AABB aabb,
const Matrix3f R 
)
inlinestatic

Definition at line 233 of file BV/AABB.h.

◆ RSS()

hpp::fcl::RSS::RSS ( )
inline

 

Default constructor with default values

Definition at line 71 of file BV/RSS.h.

◆ size() [1/6]

FCL_REAL hpp::fcl::OBB::size ( ) const
inline

Size of the OBB (used in BV_Splitter to order two OBBs)

Definition at line 108 of file include/hpp/fcl/BV/OBB.h.

◆ size() [2/6]

FCL_REAL hpp::fcl::OBBRSS::size ( ) const
inline

Size of the OBBRSS (used in BV_Splitter to order two OBBRSS)

Definition at line 112 of file BV/OBBRSS.h.

◆ size() [3/6]

FCL_REAL hpp::fcl::RSS::size ( ) const
inline

Size of the RSS (used in BV_Splitter to order two RSSs)

Definition at line 117 of file BV/RSS.h.

◆ size() [4/6]

template<short N>
FCL_REAL hpp::fcl::KDOP< N >::size ( ) const
inline

Size of the kDOP (used in BV_Splitter to order two kDOPs)

Definition at line 141 of file kDOP.h.

◆ size() [5/6]

FCL_REAL hpp::fcl::kIOS::size ( ) const

size of the kIOS (used in BV_Splitter to order two kIOSs)

Definition at line 121 of file kIOS.cpp.

◆ size() [6/6]

FCL_REAL hpp::fcl::AABB::size ( ) const
inline

Size of the AABB (used in BV_Splitter to order two AABBs)

Definition at line 154 of file BV/AABB.h.

◆ translate() [1/4]

static AABB hpp::fcl::translate ( const AABB aabb,
const Vec3f t 
)
inlinestatic

translate the center of AABB by t

Definition at line 226 of file BV/AABB.h.

◆ translate() [2/4]

template<short N>
HPP_FCL_DLLAPI KDOP<N> hpp::fcl::translate ( const KDOP< N > &  bv,
const Vec3f t 
)

translate the KDOP BV

Definition at line 223 of file kDOP.cpp.

◆ translate() [3/4]

kIOS hpp::fcl::translate ( const kIOS bv,
const Vec3f t 
)

Translate the kIOS BV.

Definition at line 191 of file kIOS.cpp.

◆ translate() [4/4]

OBB hpp::fcl::translate ( const OBB bv,
const Vec3f t 
)

Translate the OBB bv.

Definition at line 486 of file OBB.cpp.

◆ update()

AABB& hpp::fcl::AABB::update ( const Vec3f a,
const Vec3f b 
)
inline

Definition at line 83 of file BV/AABB.h.

◆ volume() [1/6]

FCL_REAL hpp::fcl::OBB::volume ( ) const
inline

Volume of the OBB.

Definition at line 123 of file include/hpp/fcl/BV/OBB.h.

◆ volume() [2/6]

FCL_REAL hpp::fcl::OBBRSS::volume ( ) const
inline

Volume of the OBBRSS.

Definition at line 127 of file BV/OBBRSS.h.

◆ volume() [3/6]

FCL_REAL hpp::fcl::RSS::volume ( ) const
inline

Volume of the RSS.

Definition at line 135 of file BV/RSS.h.

◆ volume() [4/6]

template<short N>
FCL_REAL hpp::fcl::KDOP< N >::volume ( ) const
inline

The (AABB) volume.

Definition at line 160 of file kDOP.h.

◆ volume() [5/6]

FCL_REAL hpp::fcl::kIOS::volume ( ) const

Volume of the kIOS.

Definition at line 119 of file kIOS.cpp.

◆ volume() [6/6]

FCL_REAL hpp::fcl::AABB::volume ( ) const
inline

Volume of the AABB.

Definition at line 169 of file BV/AABB.h.

◆ width() [1/6]

FCL_REAL hpp::fcl::OBB::width ( ) const
inline

Width of the OBB.

Definition at line 114 of file include/hpp/fcl/BV/OBB.h.

◆ width() [2/6]

FCL_REAL hpp::fcl::OBBRSS::width ( ) const
inline

Width of the OBRSS.

Definition at line 118 of file BV/OBBRSS.h.

◆ width() [3/6]

FCL_REAL hpp::fcl::RSS::width ( ) const
inline

Width of the RSS.

Definition at line 126 of file BV/RSS.h.

◆ width() [4/6]

FCL_REAL hpp::fcl::kIOS::width ( ) const

Width of the kIOS.

Definition at line 113 of file kIOS.cpp.

◆ width() [5/6]

template<short N>
FCL_REAL hpp::fcl::KDOP< N >::width ( ) const
inline

The (AABB) width.

Definition at line 151 of file kDOP.h.

◆ width() [6/6]

FCL_REAL hpp::fcl::AABB::width ( ) const
inline

Width of the AABB.

Definition at line 160 of file BV/AABB.h.

Variable Documentation

◆ axes [1/2]

Matrix3f hpp::fcl::OBB::axes

Orientation of OBB. axis[i] is the ith column of the orientation matrix for the box; it is also the i-th principle direction of the box. We assume that axis[0] corresponds to the axis with the longest box edge, axis[1] corresponds to the shorter one and axis[2] corresponds to the shortest one.

Definition at line 58 of file include/hpp/fcl/BV/OBB.h.

◆ axes [2/2]

Matrix3f hpp::fcl::RSS::axes

Orientation of RSS. axis[i] is the ith column of the orientation matrix for the RSS; it is also the i-th principle direction of the RSS. We assume that axis[0] corresponds to the axis with the longest length, axis[1] corresponds to the shorter one and axis[2] corresponds to the shortest one.

Definition at line 59 of file BV/RSS.h.

◆ dist_

template<short N>
Eigen::Array<FCL_REAL, N, 1> hpp::fcl::KDOP< N >::dist_
protected

Origin's distances to N KDOP planes.

Definition at line 95 of file kDOP.h.

◆ extent

Vec3f hpp::fcl::OBB::extent

Half dimensions of OBB.

Definition at line 64 of file include/hpp/fcl/BV/OBB.h.

◆ length

FCL_REAL hpp::fcl::RSS::length[2]

Side lengths of rectangle.

Definition at line 65 of file BV/RSS.h.

◆ max_

Vec3f hpp::fcl::AABB::max_

The max point in the AABB.

Definition at line 59 of file BV/AABB.h.

◆ min_

Vec3f hpp::fcl::AABB::min_

The min point in the AABB.

Definition at line 57 of file BV/AABB.h.

◆ num_spheres

unsigned int hpp::fcl::kIOS::num_spheres

The number of spheres, no larger than 5.

Definition at line 114 of file kIOS.h.

◆ o

Vec3f hpp::fcl::kIOS::kIOS_Sphere::o

Definition at line 56 of file kIOS.h.

◆ obb [1/2]

OBB hpp::fcl::OBBRSS::obb

OBB member, for rotation.

Definition at line 56 of file BV/OBBRSS.h.

◆ obb [2/2]

OBB hpp::fcl::kIOS::obb

@ OBB related with kIOS

Definition at line 117 of file kIOS.h.

◆ r

FCL_REAL hpp::fcl::kIOS::kIOS_Sphere::r

Definition at line 57 of file kIOS.h.

◆ radius

FCL_REAL hpp::fcl::RSS::radius

Radius of sphere summed with rectangle to form RSS.

Definition at line 68 of file BV/RSS.h.

◆ rss

RSS hpp::fcl::OBBRSS::rss

RSS member, for distance.

Definition at line 59 of file BV/OBBRSS.h.

◆ spheres

kIOS_Sphere hpp::fcl::kIOS::spheres[5]

The (at most) five spheres for intersection.

Definition at line 111 of file kIOS.h.

◆ To

Vec3f hpp::fcl::OBB::To

Center of OBB.

Definition at line 61 of file include/hpp/fcl/BV/OBB.h.

◆ Tr

Vec3f hpp::fcl::RSS::Tr

Origin of the rectangle in RSS.

Definition at line 62 of file BV/RSS.h.



hpp-fcl
Author(s):
autogenerated on Fri Mar 8 2024 03:46:34