hpp-fcl: hpp::fcl::Convex< PolygonT > Class Template Reference

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

Public Member Functions | Public Attributes | Protected Member Functions | List of all members
hpp::fcl::Convex< PolygonT > Class Template Reference
Geometric shapes

Convex polytope. More...

`#include <hpp/fcl/shape/convex.h>`

Inheritance diagram for hpp::fcl::Convex< PolygonT >:

## Public Member Functions
| Convex ()
| Construct an uninitialized convex object. More...
| Convex (bool ownStorage, Vec3f *points_, int num_points_, PolygonT *polygons_, int num_polygons_)
| Constructing a convex, providing normal and offset of each polytype surface, and the points and shape topology information. More...
| Convex (const Convex &other)
| Copy constructor Only the list of neighbors is copied. More...
| ~Convex ()
Matrix3f | computeMomentofInertia () const
| based on http://number-none.com/blow/inertia/bb_inertia.doc More...
Vec3f | computeCOM () const
| compute center of mass More...
FCL_REAL | computeVolume () const
| compute the volume More...
Public Member Functions inherited from hpp::fcl::ConvexBase
virtual | ~ConvexBase ()
virtual ConvexBase * | clone () const
| More...
void | computeLocalAABB ()
| Compute AABB. More...
NODE_TYPE | getNodeType () const
| Get node type: a conex polytope. More...
Public Member Functions inherited from hpp::fcl::ShapeBase
| ShapeBase ()
| ShapeBase (const ShapeBase &other)
| More...
virtual | ~ShapeBase ()
OBJECT_TYPE | getObjectType () const
| Get object type: a geometric shape. More...
Public Member Functions inherited from hpp::fcl::CollisionGeometry
| CollisionGeometry ()
| CollisionGeometry (const CollisionGeometry &other)
| Copy constructor. More...
virtual | ~CollisionGeometry ()
bool | operator== (const CollisionGeometry &other) const
| Equality operator. More...
bool | operator!= (const CollisionGeometry &other) const
| Difference operator. More...
void * | getUserData () const
| get user data in geometry More...
void | setUserData (void *data)
| set user data in geometry More...
bool | isOccupied () const
| whether the object is completely occupied More...
bool | isFree () const
| whether the object is completely free More...
bool | isUncertain () const
| whether the object has some uncertainty More...
virtual Matrix3f | computeMomentofInertiaRelatedToCOM () const
| compute the inertia matrix, related to the com More...

## Public Attributes
PolygonT * | polygons
| An array of PolygonT object. PolygonT should contains a list of vertices for each polygon, in counter clockwise order. More...
int | num_polygons
Public Attributes inherited from hpp::fcl::ConvexBase
Vec3f * | points
| An array of the points of the polygon. More...
int | num_points
Neighbors * | neighbors
Vec3f | 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...
Public Attributes inherited from hpp::fcl::CollisionGeometry
Vec3f | aabb_center
| AABB center in local coordinate. More...
FCL_REAL | aabb_radius
| AABB radius. More...
AABB | aabb_local
| AABB in local coordinate, used for tight AABB when only translation transform. More...
void * | user_data
| pointer to user defined data specific to this object More...
FCL_REAL | cost_density
| collision cost for unit volume More...
FCL_REAL | threshold_occupied
| threshold for occupied ( >= is occupied) More...
FCL_REAL | threshold_free
| threshold for free (<= is free) More...

## Protected Member Functions
void | fillNeighbors ()
Protected Member Functions inherited from hpp::fcl::ConvexBase
| ConvexBase ()
| Construct an uninitialized convex object Initialization is done with ConvexBase::initialize. More...
void | initialize (bool ownStorage, Vec3f *points_, int num_points_)
| Initialize the points of the convex shape This also initializes the ConvexBase::center. More...
| ConvexBase (const ConvexBase &other)
| Copy constructor Only the list of neighbors is copied. More...

## Additional Inherited Members
Static Public Member Functions inherited from hpp::fcl::ConvexBase
static ConvexBase * | convexHull (const Vec3f *points, int num_points, bool keepTriangles, const char *qhullCommand=NULL)
| Build a convex hull based on Qhull library and store the vertices and optionally the triangles. More...
Protected Attributes inherited from hpp::fcl::ConvexBase
unsigned int * | nneighbors_
bool | own_storage_

## Detailed Description

### template<typename PolygonT>
class hpp::fcl::Convex< PolygonT >

Convex polytope.

Template Parameters

  PolygonT | the polygon class. It must have method `size()` and `operator[](int i)`

## Constructor & Destructor Documentation

## ◆ Convex() [1/3]

template<typename PolygonT >

hpp::fcl::Convex< PolygonT >::Convex | ( |  | ) |
| inline

Construct an uninitialized convex object.

## ◆ Convex() [2/3]

template<typename PolygonT >

hpp::fcl::Convex< PolygonT >::Convex | ( | bool | ownStorage,
|  | Vec3f * | points_,
|  | int | num_points_,
|  | PolygonT * | polygons_,
|  | int | num_polygons_
| ) |  |

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

Parameters

  ownStorage | whether this class owns the pointers of points and polygons. If owned, they are deleted upon destruction.
  points_ | list of 3D points
  num_points_ | number of 3D points
  polygons_ | An array of PolygonT object. PolygonT should contains a list of vertices for each polygon, in counter clockwise order.
  num_polygons_ | the number of polygons.

Note
  num_polygons_ is not the allocated size of polygons_.

## ◆ Convex() [3/3]

template<typename PolygonT >

hpp::fcl::Convex< PolygonT >::Convex | ( | const Convex< PolygonT > & | other | ) |

Copy constructor Only the list of neighbors is copied.

## ◆ ~Convex()

template<typename PolygonT >

hpp::fcl::Convex< PolygonT >::~Convex

## Member Function Documentation

## ◆ computeCOM()

template<typename PolygonT >

Vec3f hpp::fcl::Convex< PolygonT >::computeCOM
| virtual

compute center of mass

Reimplemented from hpp::fcl::CollisionGeometry.

## ◆ computeMomentofInertia()

template<typename PolygonT >

Matrix3f hpp::fcl::Convex< PolygonT >::computeMomentofInertia
| virtual

based on http://number-none.com/blow/inertia/bb_inertia.doc

Reimplemented from hpp::fcl::CollisionGeometry.

## ◆ computeVolume()

template<typename PolygonT >

FCL_REAL hpp::fcl::Convex< PolygonT >::computeVolume
| virtual

compute the volume

Reimplemented from hpp::fcl::CollisionGeometry.

## ◆ fillNeighbors()

template<typename PolygonT >

void hpp::fcl::Convex< PolygonT >::fillNeighbors
| protected

## Member Data Documentation

## ◆ num_polygons

template<typename PolygonT >

int hpp::fcl::Convex< PolygonT >::num_polygons

## ◆ polygons

template<typename PolygonT >

PolygonT* hpp::fcl::Convex< PolygonT >::polygons

An array of PolygonT object. PolygonT should contains a list of vertices for each polygon, in counter clockwise order.

The documentation for this class was generated from the following files:

- include/hpp/fcl/shape/convex.h
- include/hpp/fcl/shape/details/convex.hxx