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

Convex polytope. More...

#include <hpp/fcl/shape/geometric_shapes.h>

Inheritance diagram for hpp::fcl::Convex< PolygonT >:
[legend]
Collaboration diagram for hpp::fcl::Convex< PolygonT >:
[legend]

Public Member Functions

 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 ()
 
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 ()
 
virtual ~ShapeBase ()
 
OBJECT_TYPE getObjectType () const
 Get object type: a geometric shape. More...
 
- Public Member Functions inherited from hpp::fcl::CollisionGeometry
 CollisionGeometry ()
 
virtual ~CollisionGeometry ()
 
void * getUserData () const
 get user data in geometry More...
 
void setUserData (void *data)
 set user data in geometry More...
 
bool isOccupied () const HPP_FCL_DEPRECATED
 whether the object is completely occupied More...
 
bool isFree () const HPP_FCL_DEPRECATED
 whether the object is completely free More...
 
bool isUncertain () const HPP_FCL_DEPRECATED
 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. More...
 
int num_polygons
 
- Public Attributes inherited from hpp::fcl::ConvexBase
Vec3fpoints
 An array of the points of the polygon. More...
 
int num_points
 
Neighborsneighbors
 Neighbors of each vertex. More...
 
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 (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...
 
 ConvexBase (const ConvexBase &other)
 Copy constructor Only the list of neighbors is copied. More...
 

Additional Inherited Members

- 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
PolygonTthe polygon class. It must have method size() and operator[](int i)

Constructor & Destructor Documentation

◆ Convex() [1/2]

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
own_storagewhether 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_.

References hpp::fcl::Convex< PolygonT >::fillNeighbors().

◆ Convex() [2/2]

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

Copy constructor Only the list of neighbors is copied.

References hpp::fcl::Convex< PolygonT >::num_polygons, hpp::fcl::ConvexBase::own_storage_, and hpp::fcl::Convex< PolygonT >::polygons.

◆ ~Convex()

template<typename PolygonT >
hpp::fcl::Convex< PolygonT >::~Convex ( )

Member Function Documentation

◆ computeCOM()

template<typename PolygonT >
Vec3f hpp::fcl::Convex< PolygonT >::computeCOM ( ) const
virtual

◆ computeMomentofInertia()

template<typename PolygonT >
Matrix3f hpp::fcl::Convex< PolygonT >::computeMomentofInertia ( ) const
virtual

◆ computeVolume()

template<typename PolygonT >
FCL_REAL hpp::fcl::Convex< PolygonT >::computeVolume ( ) const
virtual

◆ 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