hpp-fcl: Bounding volumes

hpp-fcl 1.7.3 HPP fork of FCL -- The Flexible Collision Library

Classes | Functions | Variables
Bounding volumes

## 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::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 Vec3f &v)
| Creating an AABB at position v with zero size. More...
| 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 AABB &core, const Vec3f &delta)
| Creating an AABB centered as core and is of half-dimension delta. More...
| hpp::fcl::AABB::AABB (const Vec3f &a, const Vec3f &b, const Vec3f &c)
| Creating an AABB contains three points. More...
bool | hpp::fcl::AABB::operator== (const AABB &other) const
| Comparison operator. More...
bool | hpp::fcl::AABB::contain (const AABB &other) const
| Check whether the AABB contains another AABB. 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...
AABB & | hpp::fcl::AABB::expand (const Vec3f &delta)
| expand the half size of the AABB by delta, and keep the center unchanged. More...
AABB & | hpp::fcl::AABB::expand (const AABB &core, FCL_REAL ratio)
| expand the aabb by increase the thickness of the plate by a ratio More...
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...
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::KDOP< N >::KDOP ()
| Creating kDOP containing nothing. More...
| hpp::fcl::KDOP< N >::KDOP (const Vec3f &v)
| Creating kDOP containing only one point. More...
| hpp::fcl::KDOP< N >::KDOP (const Vec3f &a, const Vec3f &b)
| Creating kDOP containing two points. More...
bool | hpp::fcl::KDOP< N >::operator== (const KDOP &other) const
| Equality operator. More...
bool | hpp::fcl::KDOP< N >::operator!= (const KDOP &other) const
| Difference operator. 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...
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...
KDOP< N > & | hpp::fcl::KDOP< N >::operator+= (const Vec3f &p)
| Merge the point and the KDOP. More...
KDOP< N > & | hpp::fcl::KDOP< N >::operator+= (const KDOP< N > &other)
| Merge two KDOPs. More...
KDOP< N > | hpp::fcl::KDOP< N >::operator+ (const KDOP< N > &other) const
| Create a KDOP by mergin two KDOPs. More...
FCL_REAL | hpp::fcl::KDOP< N >::size () const
| Size of the kDOP (used in BV_Splitter to order two kDOPs) More...
Vec3f | hpp::fcl::KDOP< N >::center () const
| The (AABB) center. More...
FCL_REAL | hpp::fcl::KDOP< N >::width () const
| The (AABB) width. More...
FCL_REAL | hpp::fcl::KDOP< N >::height () const
| The (AABB) height. More...
FCL_REAL | hpp::fcl::KDOP< N >::depth () const
| The (AABB) depth. More...
FCL_REAL | hpp::fcl::KDOP< N >::volume () const
| The (AABB) volume. More...
FCL_REAL | hpp::fcl::KDOP< N >::dist (short i) const
FCL_REAL & | hpp::fcl::KDOP< N >::dist (short i)
bool | hpp::fcl::KDOP< N >::inside (const Vec3f &p) const
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 &)
template<short N>
KDOP< N > | hpp::fcl::translate (const KDOP< N > &bv, const Vec3f &t)
| translate the KDOP BV More...
bool | hpp::fcl::kIOS::kIOS_Sphere::operator== (const kIOS_Sphere &other) const
bool | hpp::fcl::kIOS::kIOS_Sphere::operator!= (const kIOS_Sphere &other) const
bool | hpp::fcl::kIOS::operator== (const kIOS &other) const
| Equality operator. More...
bool | hpp::fcl::kIOS::operator!= (const kIOS &other) const
| Difference operator. More...
bool | hpp::fcl::kIOS::contain (const Vec3f &p) const
| Check whether the kIOS contains a point. 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...
FCL_REAL | hpp::fcl::kIOS::distance (const kIOS &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
| The distance between two kIOS. More...
kIOS & | hpp::fcl::kIOS::operator+= (const Vec3f &p)
| A simple way to merge the kIOS and a point. More...
kIOS & | hpp::fcl::kIOS::operator+= (const kIOS &other)
| Merge the kIOS and another kIOS. More...
kIOS | hpp::fcl::kIOS::operator+ (const kIOS &other) const
| Return the merged kIOS of current kIOS and the other one. More...
FCL_REAL | hpp::fcl::kIOS::size () const
| size of the kIOS (used in BV_Splitter to order two kIOSs) More...
const Vec3f & | hpp::fcl::kIOS::center () const
| Center of the kIOS. More...
FCL_REAL | hpp::fcl::kIOS::width () const
| Width of the kIOS. More...
FCL_REAL | hpp::fcl::kIOS::height () const
| Height of the kIOS. More...
FCL_REAL | hpp::fcl::kIOS::depth () const
| Depth of the kIOS. More...
FCL_REAL | hpp::fcl::kIOS::volume () const
| Volume of the kIOS. More...
kIOS | hpp::fcl::translate (const kIOS &bv, const Vec3f &t)
| Translate the kIOS BV. More...
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...
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...
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...
| hpp::fcl::OBB::OBB ()
bool | hpp::fcl::OBB::operator== (const OBB &other) const
| Equality operator. More...
bool | hpp::fcl::OBB::operator!= (const OBB &other) const
| Difference operator. More...
bool | hpp::fcl::OBB::contain (const Vec3f &p) const
| Check whether the OBB contains a point. 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
FCL_REAL | hpp::fcl::OBB::distance (const OBB &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
| Distance between two OBBs, not implemented. More...
OBB & | hpp::fcl::OBB::operator+= (const Vec3f &p)
| A simple way to merge the OBB and a point (the result is not compact). More...
OBB & | hpp::fcl::OBB::operator+= (const OBB &other)
| Merge the OBB and another OBB (the result is not compact). 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...
FCL_REAL | hpp::fcl::OBB::size () const
| Size of the OBB (used in BV_Splitter to order two OBBs) More...
const Vec3f & | hpp::fcl::OBB::center () const
| Center of the OBB. More...
FCL_REAL | hpp::fcl::OBB::width () const
| Width of the OBB. More...
FCL_REAL | hpp::fcl::OBB::height () const
| Height of the OBB. More...
FCL_REAL | hpp::fcl::OBB::depth () const
| Depth of the OBB. More...
FCL_REAL | hpp::fcl::OBB::volume () const
| Volume of the OBB. More...
OBB | hpp::fcl::translate (const OBB &bv, const Vec3f &t)
| Translate the OBB bv. More...
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...
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::obbDisjoint (const Matrix3f &B, const Vec3f &T, const Vec3f &a, const Vec3f &b)
bool | hpp::fcl::OBBRSS::operator== (const OBBRSS &other) const
| Equality operator. More...
bool | hpp::fcl::OBBRSS::operator!= (const OBBRSS &other) const
| Difference operator. More...
bool | hpp::fcl::OBBRSS::contain (const Vec3f &p) const
| Check whether the OBBRSS contains a point. More...
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
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...
OBBRSS & | hpp::fcl::OBBRSS::operator+= (const Vec3f &p)
| Merge the OBBRSS and a point. More...
OBBRSS & | hpp::fcl::OBBRSS::operator+= (const OBBRSS &other)
| Merge two OBBRSS. More...
OBBRSS | hpp::fcl::OBBRSS::operator+ (const OBBRSS &other) const
| Merge two OBBRSS. More...
FCL_REAL | hpp::fcl::OBBRSS::size () const
| Size of the OBBRSS (used in BV_Splitter to order two OBBRSS) More...
const Vec3f & | hpp::fcl::OBBRSS::center () const
| Center of the OBBRSS. More...
FCL_REAL | hpp::fcl::OBBRSS::width () const
| Width of the OBRSS. More...
FCL_REAL | hpp::fcl::OBBRSS::height () const
| Height of the OBBRSS. More...
FCL_REAL | hpp::fcl::OBBRSS::depth () const
| Depth of the OBBRSS. More...
FCL_REAL | hpp::fcl::OBBRSS::volume () const
| Volume of the OBBRSS. 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)
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::RSS::RSS ()
| More...
bool | hpp::fcl::RSS::operator== (const RSS &other) const
| Equality operator. More...
bool | hpp::fcl::RSS::operator!= (const RSS &other) const
| Difference operator. More...
bool | hpp::fcl::RSS::contain (const Vec3f &p) const
| Check whether the RSS contains a point. More...
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...
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...
RSS & | hpp::fcl::RSS::operator+= (const Vec3f &p)
| A simple way to merge the RSS and a point, not compact. More...
RSS & | hpp::fcl::RSS::operator+= (const RSS &other)
| Merge the RSS and another RSS. More...
RSS | hpp::fcl::RSS::operator+ (const RSS &other) const
| Return the merged RSS of current RSS and the other one. More...
FCL_REAL | hpp::fcl::RSS::size () const
| Size of the RSS (used in BV_Splitter to order two RSSs) More...
const Vec3f & | hpp::fcl::RSS::center () const
| The RSS center. More...
FCL_REAL | hpp::fcl::RSS::width () const
| Width of the RSS. More...
FCL_REAL | hpp::fcl::RSS::height () const
| Height of the RSS. More...
FCL_REAL | hpp::fcl::RSS::depth () const
| Depth of the RSS. More...
FCL_REAL | hpp::fcl::RSS::volume () const
| Volume of the RSS. 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...
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...
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...
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...

## Variables
Vec3f | hpp::fcl::AABB::min_
| The min point in the AABB. More...
Vec3f | hpp::fcl::AABB::max_
| The max point in the AABB. More...
Eigen::Array< FCL_REAL, N, 1 > | hpp::fcl::KDOP< N >::dist_
| Origin's distances to N KDOP planes. More...
Vec3f | hpp::fcl::kIOS::kIOS_Sphere::o
FCL_REAL | hpp::fcl::kIOS::kIOS_Sphere::r
kIOS_Sphere | hpp::fcl::kIOS::spheres [5]
| The (at most) five spheres for intersection. More...
unsigned int | hpp::fcl::kIOS::num_spheres
| The number of spheres, no larger than 5. More...
OBB | hpp::fcl::kIOS::obb
| @ OBB related with kIOS More...
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...
Vec3f | hpp::fcl::OBB::To
| Center of OBB. More...
Vec3f | hpp::fcl::OBB::extent
| Half dimensions of OBB. More...
OBB | hpp::fcl::OBBRSS::obb
| OBB member, for rotation. More...
RSS | hpp::fcl::OBBRSS::rss
| RSS member, for distance. 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...
Vec3f | hpp::fcl::RSS::Tr
| Origin of the rectangle in RSS. More...
FCL_REAL | hpp::fcl::RSS::length [2]
| Side lengths of rectangle. More...
FCL_REAL | hpp::fcl::RSS::radius
| Radius of sphere summed with rectangle to form 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...
AABB & | hpp::fcl::AABB::operator+= (const Vec3f &p)
| Merge the AABB and a point. More...
AABB & | hpp::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/5]

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

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

## ◆ AABB() [2/5]

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

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

## ◆ AABB() [3/5]

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

Creating an AABB with two endpoints a and b.

## ◆ AABB() [4/5]

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

Creating an AABB contains three points.

## ◆ AABB() [5/5]

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

Creating an AABB at position v with zero size.

## ◆ center() [1/6]

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

Center of the AABB.

## ◆ center() [2/6]

template<short N>

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

The (AABB) center.

## ◆ center() [3/6]

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

Center of the kIOS.

## ◆ center() [4/6]

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

Center of the OBB.

## ◆ center() [5/6]

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

Center of the OBBRSS.

## ◆ center() [6/6]

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

The RSS center.

## ◆ contain() [1/6]

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

Check whether the AABB contains another AABB.

## ◆ contain() [2/6]

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

Check whether the AABB contains a point.

## ◆ contain() [3/6]

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

Check whether the kIOS contains a point.

## ◆ contain() [4/6]

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

Check whether the OBB contains a point.

## ◆ contain() [5/6]

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

Check whether the OBBRSS contains a point.

## ◆ contain() [6/6]

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

Check whether the RSS contains a point.

## ◆ depth() [1/6]

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

Depth of the AABB.

## ◆ depth() [2/6]

template<short N>

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

The (AABB) depth.

## ◆ depth() [3/6]

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

Depth of the kIOS.

## ◆ depth() [4/6]

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

Depth of the OBB.

## ◆ depth() [5/6]

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

Depth of the OBBRSS.

## ◆ depth() [6/6]

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

Depth of the RSS.

## ◆ dist() [1/2]

template<short N>

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

## ◆ dist() [2/2]

template<short N>

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

## ◆ distance() [1/10]

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

Distance between two AABBs.

## ◆ 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.

## ◆ 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.

## ◆ distance() [4/10]

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

The distance between two kIOS.

## ◆ 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

## ◆ 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.

## ◆ 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)

## ◆ 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.

## ◆ 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.

## ◆ 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

## ◆ expand() [1/2]

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

## ◆ expand() [2/2]

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

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

## ◆ height() [1/6]

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

Height of the AABB.

## ◆ height() [2/6]

template<short N>

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

The (AABB) height.

## ◆ height() [3/6]

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

Height of the kIOS.

## ◆ height() [4/6]

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

Height of the OBB.

## ◆ height() [5/6]

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

Height of the OBBRSS.

## ◆ height() [6/6]

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

Height of the RSS.

## ◆ inside()

template<short N>

bool hpp::fcl::KDOP< N >::inside | ( | const Vec3f & | p | ) | const

## ◆ KDOP() [1/3]

template<short N>

hpp::fcl::KDOP< N >::KDOP | ( |  | ) |

Creating kDOP containing nothing.

## ◆ KDOP() [2/3]

template<short N>

hpp::fcl::KDOP< N >::KDOP | ( | const Vec3f & | a,
|  | const Vec3f & | b
| ) |  |

Creating kDOP containing two points.

## ◆ KDOP() [3/3]

template<short N>

hpp::fcl::KDOP< N >::KDOP | ( | const Vec3f & | v | ) |

Creating kDOP containing only one point.

## ◆ OBB()

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

## ◆ obbDisjoint()

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

Check collision between two boxes

Parameters

  B,T | orientation and position of first box,
  a | half dimensions of first box,
  b | half dimensions of second box. The second box is in identity configuration.

## ◆ operator!=() [1/6]

template<short N>

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

Difference operator.

## ◆ operator!=() [2/6]

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

Difference operator.

## ◆ operator!=() [3/6]

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

## ◆ operator!=() [4/6]

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

Difference operator.

## ◆ operator!=() [5/6]

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

Difference operator.

## ◆ operator!=() [6/6]

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

Difference operator.

## ◆ operator+() [1/6]

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

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

## ◆ 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.

## ◆ operator+() [3/6]

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

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

## ◆ 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).

## ◆ operator+() [5/6]

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

Merge two OBBRSS.

## ◆ operator+() [6/6]

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

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

## ◆ operator+=() [1/12]

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

Merge the AABB and another AABB.

## ◆ operator+=() [2/12]

template<short N>

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

Merge two KDOPs.

## ◆ operator+=() [3/12]

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

Merge the kIOS and another kIOS.

## ◆ operator+=() [4/12]

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

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

## ◆ operator+=() [5/12]

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

Merge two OBBRSS.

## ◆ operator+=() [6/12]

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

Merge the RSS and another RSS.

## ◆ operator+=() [7/12]

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

Merge the AABB and a point.

## ◆ operator+=() [8/12]

template<short N>

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

Merge the point and the KDOP.

## ◆ operator+=() [9/12]

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

A simple way to merge the kIOS and a point.

## ◆ operator+=() [10/12]

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

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

## ◆ operator+=() [11/12]

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

Merge the OBBRSS and a point.

## ◆ operator+=() [12/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.

## ◆ operator==() [1/7]

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

Comparison operator.

## ◆ operator==() [2/7]

template<short N>

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

Equality operator.

## ◆ operator==() [3/7]

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

Equality operator.

## ◆ operator==() [4/7]

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

## ◆ operator==() [5/7]

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

Equality operator.

## ◆ operator==() [6/7]

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

Equality operator.

## ◆ operator==() [7/7]

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

Equality operator.

## ◆ overlap() [1/26]

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

Check whether two AABB are overlap.

## ◆ 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.

## ◆ overlap() [3/26]

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

Check whether two AABB are overlap.

## ◆ overlap() [4/26]

template<short N>

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

Check whether two KDOPs overlap.

## ◆ 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

  sqrDistLowerBound | squared lower bound on distance between boxes if they do not overlap.

## ◆ overlap() [6/26]

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

Check collision between two kIOS.

## ◆ overlap() [7/26]

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

Check collision between two kIOS.

## ◆ overlap() [8/26]

template<short N>

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

## ◆ overlap() [9/26]

template<short N>

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

## ◆ 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.

## ◆ 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.

## ◆ 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

## ◆ 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

## ◆ 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.

## ◆ 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.

## ◆ 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.

## ◆ 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,T0 | configuration of b1
  b1 | first OBBRSS in configuration (R0, T0)
  b2 | second OBBRSS in identity position

Return values

  sqrDistLowerBound | squared lower bound on the distance if OBBRSS do not overlap.

## ◆ 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.

## ◆ 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.

## ◆ overlap() [20/26]

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

Check collision between two OBB

Returns
  true if collision happens.

## ◆ 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

  sqrDistLowerBound | squared lower bound on distance between boxes if they do not overlap.

## ◆ overlap() [22/26]

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

Check collision between two OBBRSS.

## ◆ 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

  sqrDistLowerBound | squared lower bound on distance between objects if they do not overlap.

## ◆ overlap() [24/26]

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

Check collision between two RSS.

## ◆ overlap() [25/26]

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

Not implemented.

## ◆ 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.

## ◆ RSS()

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

Default constructor with default values

## ◆ size() [1/6]

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

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

## ◆ size() [2/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)

## ◆ size() [3/6]

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

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

## ◆ size() [4/6]

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

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

## ◆ size() [5/6]

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

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

## ◆ size() [6/6]

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

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

## ◆ translate() [1/3]

template<short N>

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

translate the KDOP BV

## ◆ translate() [2/3]

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

Translate the kIOS BV.

## ◆ translate() [3/3]

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

Translate the OBB bv.

## ◆ volume() [1/6]

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

Volume of the AABB.

## ◆ volume() [2/6]

template<short N>

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

The (AABB) volume.

## ◆ volume() [3/6]

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

Volume of the kIOS.

## ◆ volume() [4/6]

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

Volume of the OBB.

## ◆ volume() [5/6]

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

Volume of the OBBRSS.

## ◆ volume() [6/6]

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

Volume of the RSS.

## ◆ width() [1/6]

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

Width of the AABB.

## ◆ width() [2/6]

template<short N>

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

The (AABB) width.

## ◆ width() [3/6]

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

Width of the kIOS.

## ◆ width() [4/6]

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

Width of the OBB.

## ◆ width() [5/6]

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

Width of the OBRSS.

## ◆ width() [6/6]

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

Width of the RSS.

## 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.

## ◆ 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.

## ◆ dist_

template<short N>

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

Origin's distances to N KDOP planes.

## ◆ extent

Vec3f hpp::fcl::OBB::extent

Half dimensions of OBB.

## ◆ length

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

Side lengths of rectangle.

## ◆ max_

Vec3f hpp::fcl::AABB::max_

The max point in the AABB.

## ◆ min_

Vec3f hpp::fcl::AABB::min_

The min point in the AABB.

## ◆ num_spheres

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

The number of spheres, no larger than 5.

## ◆ o

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

## ◆ obb [1/2]

OBB hpp::fcl::kIOS::obb

@ OBB related with kIOS

## ◆ obb [2/2]

OBB hpp::fcl::OBBRSS::obb

OBB member, for rotation.

## ◆ r

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

## ◆ radius

FCL_REAL hpp::fcl::RSS::radius

Radius of sphere summed with rectangle to form RSS.

## ◆ rss

RSS hpp::fcl::OBBRSS::rss

RSS member, for distance.

## ◆ spheres

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

The (at most) five spheres for intersection.

## ◆ To

Vec3f hpp::fcl::OBB::To

Center of OBB.

## ◆ Tr

Vec3f hpp::fcl::RSS::Tr

Origin of the rectangle in RSS.