hpp-fcl  1.4.4
HPP fork of FCL -- The Flexible Collision Library
Geometric shapes

Classes

class  hpp::fcl::TriangleP
 Triangle stores the points instead of only indices of points. More...
 
class  hpp::fcl::Box
 Center at zero point, axis aligned box. More...
 
class  hpp::fcl::Sphere
 Center at zero point sphere. More...
 
class  hpp::fcl::Capsule
 Capsule It is $ { x \in \mathcal{R}^3, d(x, AB) < radius } $ where $ d(x, AB) $ is the distance between the point x and the capsule segment AB, with $ A = (0,0,-halfLength), B = (0,0,halfLength) $. More...
 
class  hpp::fcl::Cone
 Cone The base of the cone is at $ z = - halfLength $ and the top is at $ z = halfLength $. More...
 
class  hpp::fcl::Cylinder
 Cylinder along Z axis. The cylinder is defined at its centroid. More...
 
struct  hpp::fcl::ConvexBase::Neighbors
 
class  hpp::fcl::ConvexBase
 Base for convex polytope. More...
 
class  hpp::fcl::Convex< PolygonT >
 Convex polytope. More...
 
class  hpp::fcl::Halfspace
 Half Space: this is equivalent to the Plane in ODE. The separation plane is defined as n * x = d; Points in the negative side of the separation plane (i.e. {x | n * x < d}) are inside the half space and points in the positive side of the separation plane (i.e. {x | n * x > d}) are outside the half space. More...
 
class  hpp::fcl::Plane
 Infinite plane. More...
 

Functions

 hpp::fcl::ShapeBase::ShapeBase ()
 
virtual hpp::fcl::ShapeBase::~ShapeBase ()
 
OBJECT_TYPE hpp::fcl::ShapeBase::getObjectType () const
 Get object type: a geometric shape. More...
 
 hpp::fcl::TriangleP::TriangleP (const Vec3f &a_, const Vec3f &b_, const Vec3f &c_)
 
void hpp::fcl::TriangleP::computeLocalAABB ()
 virtual function of compute AABB in local coordinate More...
 
NODE_TYPE hpp::fcl::TriangleP::getNodeType () const
 get the node type More...
 
 hpp::fcl::Box::Box (FCL_REAL x, FCL_REAL y, FCL_REAL z)
 
 hpp::fcl::Box::Box (const Vec3f &side_)
 
 hpp::fcl::Box::Box ()
 
void hpp::fcl::Box::computeLocalAABB ()
 Compute AABB. More...
 
NODE_TYPE hpp::fcl::Box::getNodeType () const
 Get node type: a box. More...
 
FCL_REAL hpp::fcl::Box::computeVolume () const
 compute the volume More...
 
Matrix3f hpp::fcl::Box::computeMomentofInertia () const
 compute the inertia matrix, related to the origin More...
 
 hpp::fcl::Sphere::Sphere (FCL_REAL radius_)
 
void hpp::fcl::Sphere::computeLocalAABB ()
 Compute AABB. More...
 
NODE_TYPE hpp::fcl::Sphere::getNodeType () const
 Get node type: a sphere. More...
 
Matrix3f hpp::fcl::Sphere::computeMomentofInertia () const
 compute the inertia matrix, related to the origin More...
 
FCL_REAL hpp::fcl::Sphere::computeVolume () const
 compute the volume More...
 
 hpp::fcl::Capsule::Capsule (FCL_REAL radius_, FCL_REAL lz_)
 
void hpp::fcl::Capsule::computeLocalAABB ()
 Compute AABB. More...
 
NODE_TYPE hpp::fcl::Capsule::getNodeType () const
 Get node type: a capsule. More...
 
FCL_REAL hpp::fcl::Capsule::computeVolume () const
 compute the volume More...
 
Matrix3f hpp::fcl::Capsule::computeMomentofInertia () const
 compute the inertia matrix, related to the origin More...
 
 hpp::fcl::Cone::Cone (FCL_REAL radius_, FCL_REAL lz_)
 
void hpp::fcl::Cone::computeLocalAABB ()
 Compute AABB. More...
 
NODE_TYPE hpp::fcl::Cone::getNodeType () const
 Get node type: a cone. More...
 
FCL_REAL hpp::fcl::Cone::computeVolume () const
 compute the volume More...
 
Matrix3f hpp::fcl::Cone::computeMomentofInertia () const
 compute the inertia matrix, related to the origin More...
 
Vec3f hpp::fcl::Cone::computeCOM () const
 compute center of mass More...
 
 hpp::fcl::Cylinder::Cylinder (FCL_REAL radius_, FCL_REAL lz_)
 
void hpp::fcl::Cylinder::computeLocalAABB ()
 Compute AABB. More...
 
NODE_TYPE hpp::fcl::Cylinder::getNodeType () const
 Get node type: a cylinder. More...
 
FCL_REAL hpp::fcl::Cylinder::computeVolume () const
 compute the volume More...
 
Matrix3f hpp::fcl::Cylinder::computeMomentofInertia () const
 compute the inertia matrix, related to the origin More...
 
virtual hpp::fcl::ConvexBase::~ConvexBase ()
 
void hpp::fcl::ConvexBase::computeLocalAABB ()
 Compute AABB. More...
 
NODE_TYPE hpp::fcl::ConvexBase::getNodeType () const
 Get node type: a conex polytope. More...
 
unsigned char const & hpp::fcl::ConvexBase::Neighbors::count () const
 
unsigned int & hpp::fcl::ConvexBase::Neighbors::operator[] (int i)
 
unsigned int const & hpp::fcl::ConvexBase::Neighbors::operator[] (int i) const
 
 hpp::fcl::ConvexBase::ConvexBase (bool ownStorage, Vec3f *points_, int num_points_)
 Constructing a convex, providing normal and offset of each polytype surface, and the points and shape topology information. More...
 
 hpp::fcl::ConvexBase::ConvexBase (const ConvexBase &other)
 Copy constructor Only the list of neighbors is copied. More...
 
 hpp::fcl::Halfspace::Halfspace (const Vec3f &n_, FCL_REAL d_)
 Construct a half space with normal direction and offset. More...
 
 hpp::fcl::Halfspace::Halfspace (FCL_REAL a, FCL_REAL b, FCL_REAL c, FCL_REAL d_)
 Construct a plane with normal direction and offset. More...
 
 hpp::fcl::Halfspace::Halfspace ()
 
FCL_REAL hpp::fcl::Halfspace::signedDistance (const Vec3f &p) const
 
FCL_REAL hpp::fcl::Halfspace::distance (const Vec3f &p) const
 
void hpp::fcl::Halfspace::computeLocalAABB ()
 Compute AABB. More...
 
NODE_TYPE hpp::fcl::Halfspace::getNodeType () const
 Get node type: a half space. More...
 
void hpp::fcl::Halfspace::unitNormalTest ()
 Turn non-unit normal into unit. More...
 
 hpp::fcl::Plane::Plane (const Vec3f &n_, FCL_REAL d_)
 Construct a plane with normal direction and offset. More...
 
 hpp::fcl::Plane::Plane (FCL_REAL a, FCL_REAL b, FCL_REAL c, FCL_REAL d_)
 Construct a plane with normal direction and offset. More...
 
 hpp::fcl::Plane::Plane ()
 
FCL_REAL hpp::fcl::Plane::signedDistance (const Vec3f &p) const
 
FCL_REAL hpp::fcl::Plane::distance (const Vec3f &p) const
 
void hpp::fcl::Plane::computeLocalAABB ()
 Compute AABB. More...
 
NODE_TYPE hpp::fcl::Plane::getNodeType () const
 Get node type: a plane. More...
 
void hpp::fcl::Plane::unitNormalTest ()
 Turn non-unit normal into unit. More...
 

Variables

Vec3f hpp::fcl::TriangleP::a
 
Vec3f hpp::fcl::TriangleP::b
 
Vec3f hpp::fcl::TriangleP::c
 
Vec3f hpp::fcl::Box::halfSide
 box side half-length More...
 
FCL_REAL hpp::fcl::Sphere::radius
 Radius of the sphere. More...
 
FCL_REAL hpp::fcl::Capsule::radius
 Radius of capsule. More...
 
FCL_REAL hpp::fcl::Capsule::halfLength
 Half Length along z axis. More...
 
FCL_REAL hpp::fcl::Cone::radius
 Radius of the cone. More...
 
FCL_REAL hpp::fcl::Cone::halfLength
 Half Length along z axis. More...
 
FCL_REAL hpp::fcl::Cylinder::radius
 Radius of the cylinder. More...
 
FCL_REAL hpp::fcl::Cylinder::halfLength
 Half Length along z axis. More...
 
Vec3fhpp::fcl::ConvexBase::points
 An array of the points of the polygon. More...
 
int hpp::fcl::ConvexBase::num_points
 
unsigned char hpp::fcl::ConvexBase::Neighbors::count_
 
unsigned int * hpp::fcl::ConvexBase::Neighbors::n_
 
Neighborshpp::fcl::ConvexBase::neighbors
 
Vec3f hpp::fcl::ConvexBase::center
 center of the convex polytope, this is used for collision: center is guaranteed in the internal of the polytope (as it is convex) More...
 
unsigned int * hpp::fcl::ConvexBase::nneighbors_
 
bool hpp::fcl::ConvexBase::own_storage_
 
Vec3f hpp::fcl::Halfspace::n
 Plane normal. More...
 
FCL_REAL hpp::fcl::Halfspace::d
 Plane offset. More...
 
Vec3f hpp::fcl::Plane::n
 Plane normal. More...
 
FCL_REAL hpp::fcl::Plane::d
 Plane offset. More...
 

Detailed Description

Classes of different types of geometric shapes.

Function Documentation

◆ Box() [1/3]

hpp::fcl::Box::Box ( FCL_REAL  x,
FCL_REAL  y,
FCL_REAL  z 
)
inline

◆ Box() [2/3]

hpp::fcl::Box::Box ( const Vec3f side_)
inline

◆ Box() [3/3]

hpp::fcl::Box::Box ( )
inline

◆ Capsule()

hpp::fcl::Capsule::Capsule ( FCL_REAL  radius_,
FCL_REAL  lz_ 
)
inline

◆ computeCOM()

Vec3f hpp::fcl::Cone::computeCOM ( ) const
inlinevirtual

compute center of mass

Reimplemented from hpp::fcl::CollisionGeometry.

◆ computeLocalAABB() [1/9]

void hpp::fcl::TriangleP::computeLocalAABB ( )
virtual

virtual function of compute AABB in local coordinate

Implements hpp::fcl::CollisionGeometry.

◆ computeLocalAABB() [2/9]

void hpp::fcl::Box::computeLocalAABB ( )
virtual

Compute AABB.

Implements hpp::fcl::CollisionGeometry.

◆ computeLocalAABB() [3/9]

void hpp::fcl::Sphere::computeLocalAABB ( )
virtual

Compute AABB.

Implements hpp::fcl::CollisionGeometry.

◆ computeLocalAABB() [4/9]

void hpp::fcl::Capsule::computeLocalAABB ( )
virtual

Compute AABB.

Implements hpp::fcl::CollisionGeometry.

◆ computeLocalAABB() [5/9]

void hpp::fcl::Cone::computeLocalAABB ( )
virtual

Compute AABB.

Implements hpp::fcl::CollisionGeometry.

◆ computeLocalAABB() [6/9]

void hpp::fcl::Cylinder::computeLocalAABB ( )
virtual

Compute AABB.

Implements hpp::fcl::CollisionGeometry.

◆ computeLocalAABB() [7/9]

void hpp::fcl::ConvexBase::computeLocalAABB ( )
virtual

Compute AABB.

Implements hpp::fcl::CollisionGeometry.

◆ computeLocalAABB() [8/9]

void hpp::fcl::Halfspace::computeLocalAABB ( )
virtual

Compute AABB.

Implements hpp::fcl::CollisionGeometry.

◆ computeLocalAABB() [9/9]

void hpp::fcl::Plane::computeLocalAABB ( )
virtual

Compute AABB.

Implements hpp::fcl::CollisionGeometry.

◆ computeMomentofInertia() [1/5]

Matrix3f hpp::fcl::Box::computeMomentofInertia ( ) const
inlinevirtual

compute the inertia matrix, related to the origin

Reimplemented from hpp::fcl::CollisionGeometry.

◆ computeMomentofInertia() [2/5]

Matrix3f hpp::fcl::Sphere::computeMomentofInertia ( ) const
inlinevirtual

compute the inertia matrix, related to the origin

Reimplemented from hpp::fcl::CollisionGeometry.

◆ computeMomentofInertia() [3/5]

Matrix3f hpp::fcl::Capsule::computeMomentofInertia ( ) const
inlinevirtual

compute the inertia matrix, related to the origin

Reimplemented from hpp::fcl::CollisionGeometry.

◆ computeMomentofInertia() [4/5]

Matrix3f hpp::fcl::Cone::computeMomentofInertia ( ) const
inlinevirtual

compute the inertia matrix, related to the origin

Reimplemented from hpp::fcl::CollisionGeometry.

◆ computeMomentofInertia() [5/5]

Matrix3f hpp::fcl::Cylinder::computeMomentofInertia ( ) const
inlinevirtual

compute the inertia matrix, related to the origin

Reimplemented from hpp::fcl::CollisionGeometry.

◆ computeVolume() [1/5]

FCL_REAL hpp::fcl::Box::computeVolume ( ) const
inlinevirtual

compute the volume

Reimplemented from hpp::fcl::CollisionGeometry.

◆ computeVolume() [2/5]

FCL_REAL hpp::fcl::Sphere::computeVolume ( ) const
inlinevirtual

compute the volume

Reimplemented from hpp::fcl::CollisionGeometry.

◆ computeVolume() [3/5]

FCL_REAL hpp::fcl::Capsule::computeVolume ( ) const
inlinevirtual

compute the volume

Reimplemented from hpp::fcl::CollisionGeometry.

◆ computeVolume() [4/5]

FCL_REAL hpp::fcl::Cone::computeVolume ( ) const
inlinevirtual

compute the volume

Reimplemented from hpp::fcl::CollisionGeometry.

◆ computeVolume() [5/5]

FCL_REAL hpp::fcl::Cylinder::computeVolume ( ) const
inlinevirtual

compute the volume

Reimplemented from hpp::fcl::CollisionGeometry.

◆ Cone()

hpp::fcl::Cone::Cone ( FCL_REAL  radius_,
FCL_REAL  lz_ 
)
inline

◆ ConvexBase() [1/2]

hpp::fcl::ConvexBase::ConvexBase ( bool  ownStorage,
Vec3f points_,
int  num_points_ 
)
protected

Constructing a convex, providing normal and offset of each polytype surface, and the points and shape topology information.

Parameters
points_list of 3D points
num_points_number of 3D points

◆ ConvexBase() [2/2]

hpp::fcl::ConvexBase::ConvexBase ( const ConvexBase other)
protected

Copy constructor Only the list of neighbors is copied.

◆ count()

unsigned char const& hpp::fcl::ConvexBase::Neighbors::count ( ) const
inline

◆ Cylinder()

hpp::fcl::Cylinder::Cylinder ( FCL_REAL  radius_,
FCL_REAL  lz_ 
)
inline

◆ distance() [1/2]

FCL_REAL hpp::fcl::Halfspace::distance ( const Vec3f p) const
inline

◆ distance() [2/2]

FCL_REAL hpp::fcl::Plane::distance ( const Vec3f p) const
inline

◆ getNodeType() [1/9]

NODE_TYPE hpp::fcl::TriangleP::getNodeType ( ) const
inlinevirtual

get the node type

Reimplemented from hpp::fcl::CollisionGeometry.

◆ getNodeType() [2/9]

NODE_TYPE hpp::fcl::Box::getNodeType ( ) const
inlinevirtual

Get node type: a box.

Reimplemented from hpp::fcl::CollisionGeometry.

◆ getNodeType() [3/9]

NODE_TYPE hpp::fcl::Sphere::getNodeType ( ) const
inlinevirtual

Get node type: a sphere.

Reimplemented from hpp::fcl::CollisionGeometry.

◆ getNodeType() [4/9]

NODE_TYPE hpp::fcl::Capsule::getNodeType ( ) const
inlinevirtual

Get node type: a capsule.

Reimplemented from hpp::fcl::CollisionGeometry.

◆ getNodeType() [5/9]

NODE_TYPE hpp::fcl::Cone::getNodeType ( ) const
inlinevirtual

Get node type: a cone.

Reimplemented from hpp::fcl::CollisionGeometry.

◆ getNodeType() [6/9]

NODE_TYPE hpp::fcl::Cylinder::getNodeType ( ) const
inlinevirtual

Get node type: a cylinder.

Reimplemented from hpp::fcl::CollisionGeometry.

◆ getNodeType() [7/9]

NODE_TYPE hpp::fcl::ConvexBase::getNodeType ( ) const
inlinevirtual

Get node type: a conex polytope.

Reimplemented from hpp::fcl::CollisionGeometry.

◆ getNodeType() [8/9]

NODE_TYPE hpp::fcl::Halfspace::getNodeType ( ) const
inlinevirtual

Get node type: a half space.

Reimplemented from hpp::fcl::CollisionGeometry.

◆ getNodeType() [9/9]

NODE_TYPE hpp::fcl::Plane::getNodeType ( ) const
inlinevirtual

Get node type: a plane.

Reimplemented from hpp::fcl::CollisionGeometry.

◆ getObjectType()

OBJECT_TYPE hpp::fcl::ShapeBase::getObjectType ( ) const
inlinevirtual

Get object type: a geometric shape.

Reimplemented from hpp::fcl::CollisionGeometry.

◆ Halfspace() [1/3]

hpp::fcl::Halfspace::Halfspace ( const Vec3f n_,
FCL_REAL  d_ 
)
inline

Construct a half space with normal direction and offset.

◆ Halfspace() [2/3]

hpp::fcl::Halfspace::Halfspace ( FCL_REAL  a,
FCL_REAL  b,
FCL_REAL  c,
FCL_REAL  d_ 
)
inline

Construct a plane with normal direction and offset.

◆ Halfspace() [3/3]

hpp::fcl::Halfspace::Halfspace ( )
inline

◆ operator[]() [1/2]

unsigned int& hpp::fcl::ConvexBase::Neighbors::operator[] ( int  i)
inline

◆ operator[]() [2/2]

unsigned int const& hpp::fcl::ConvexBase::Neighbors::operator[] ( int  i) const
inline

◆ Plane() [1/3]

hpp::fcl::Plane::Plane ( const Vec3f n_,
FCL_REAL  d_ 
)
inline

Construct a plane with normal direction and offset.

◆ Plane() [2/3]

hpp::fcl::Plane::Plane ( FCL_REAL  a,
FCL_REAL  b,
FCL_REAL  c,
FCL_REAL  d_ 
)
inline

Construct a plane with normal direction and offset.

◆ Plane() [3/3]

hpp::fcl::Plane::Plane ( )
inline

◆ ShapeBase()

hpp::fcl::ShapeBase::ShapeBase ( )
inline

◆ signedDistance() [1/2]

FCL_REAL hpp::fcl::Halfspace::signedDistance ( const Vec3f p) const
inline

◆ signedDistance() [2/2]

FCL_REAL hpp::fcl::Plane::signedDistance ( const Vec3f p) const
inline

◆ Sphere()

hpp::fcl::Sphere::Sphere ( FCL_REAL  radius_)
inline

◆ TriangleP()

hpp::fcl::TriangleP::TriangleP ( const Vec3f a_,
const Vec3f b_,
const Vec3f c_ 
)
inline

◆ unitNormalTest() [1/2]

void hpp::fcl::Halfspace::unitNormalTest ( )
protected

Turn non-unit normal into unit.

◆ unitNormalTest() [2/2]

void hpp::fcl::Plane::unitNormalTest ( )
protected

Turn non-unit normal into unit.

◆ ~ConvexBase()

virtual hpp::fcl::ConvexBase::~ConvexBase ( )
virtual

◆ ~ShapeBase()

virtual hpp::fcl::ShapeBase::~ShapeBase ( )
inlinevirtual

Variable Documentation

◆ a

Vec3f hpp::fcl::TriangleP::a

◆ b

Vec3f hpp::fcl::TriangleP::b

◆ c

Vec3f hpp::fcl::TriangleP::c

◆ center

Vec3f hpp::fcl::ConvexBase::center

center of the convex polytope, this is used for collision: center is guaranteed in the internal of the polytope (as it is convex)

◆ count_

unsigned char hpp::fcl::ConvexBase::Neighbors::count_

◆ d [1/2]

FCL_REAL hpp::fcl::Halfspace::d

Plane offset.

◆ d [2/2]

FCL_REAL hpp::fcl::Plane::d

Plane offset.

◆ halfLength [1/3]

FCL_REAL hpp::fcl::Capsule::halfLength

Half Length along z axis.

◆ halfLength [2/3]

FCL_REAL hpp::fcl::Cone::halfLength

Half Length along z axis.

◆ halfLength [3/3]

FCL_REAL hpp::fcl::Cylinder::halfLength

Half Length along z axis.

◆ halfSide

Vec3f hpp::fcl::Box::halfSide

box side half-length

◆ n [1/2]

Vec3f hpp::fcl::Halfspace::n

Plane normal.

◆ n [2/2]

Vec3f hpp::fcl::Plane::n

Plane normal.

◆ n_

unsigned int* hpp::fcl::ConvexBase::Neighbors::n_

◆ neighbors

Neighbors* hpp::fcl::ConvexBase::neighbors

Neighbors of each vertex. It is an array of size num_points. For each vertex, it contains the number of neighbors and a list of indices to them.

◆ nneighbors_

unsigned int* hpp::fcl::ConvexBase::nneighbors_
protected

◆ num_points

int hpp::fcl::ConvexBase::num_points

◆ own_storage_

bool hpp::fcl::ConvexBase::own_storage_
protected

◆ points

Vec3f* hpp::fcl::ConvexBase::points

An array of the points of the polygon.

◆ radius [1/4]

FCL_REAL hpp::fcl::Sphere::radius

Radius of the sphere.

◆ radius [2/4]

FCL_REAL hpp::fcl::Capsule::radius

Radius of capsule.

◆ radius [3/4]

FCL_REAL hpp::fcl::Cone::radius

Radius of the cone.

◆ radius [4/4]

FCL_REAL hpp::fcl::Cylinder::radius

Radius of the cylinder.