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

Convex polytope. More...

#include <convex.h>

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

Public Member Functions

virtual Convex< PolygonT > * clone () const
   More...
 
Vec3f computeCOM () const
 compute center of mass More...
 
Matrix3f computeMomentofInertia () const
 based on http://number-none.com/blow/inertia/bb_inertia.doc More...
 
FCL_REAL computeVolume () const
 compute the volume More...
 
 Convex ()
 Construct an uninitialized convex object. More...
 
 Convex (bool ownStorage, Vec3f *points_, unsigned int num_points_, PolygonT *polygons_, unsigned 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...
 
void set (bool ownStorage, Vec3f *points, unsigned int num_points, PolygonT *polygons, unsigned int num_polygons)
 Set the current Convex from a list of points and polygons. More...
 
 ~Convex ()
 
- Public Member Functions inherited from hpp::fcl::ConvexBase
void computeLocalAABB ()
 Compute AABB. More...
 
NODE_TYPE getNodeType () const
 Get node type: a conex polytope. More...
 
virtual ~ConvexBase ()
 
- Public Member Functions inherited from hpp::fcl::ShapeBase
OBJECT_TYPE getObjectType () const
 Get object type: a geometric shape. More...
 
ShapeBaseoperator= (const ShapeBase &other)=default
 
 ShapeBase ()
 
 ShapeBase (const ShapeBase &other)
   More...
 
virtual ~ShapeBase ()
 
- Public Member Functions inherited from hpp::fcl::CollisionGeometry
 CollisionGeometry ()
 
 CollisionGeometry (const CollisionGeometry &other)=default
 Copy constructor. More...
 
virtual Matrix3f computeMomentofInertiaRelatedToCOM () const
 compute the inertia matrix, related to the com More...
 
void * getUserData () const
 get user data in geometry More...
 
bool isFree () const
 whether the object is completely free More...
 
bool isOccupied () const
 whether the object is completely occupied More...
 
bool isUncertain () const
 whether the object has some uncertainty More...
 
bool operator!= (const CollisionGeometry &other) const
 Difference operator. More...
 
bool operator== (const CollisionGeometry &other) const
 Equality operator. More...
 
void setUserData (void *data)
 set user data in geometry More...
 
virtual ~CollisionGeometry ()
 

Public Attributes

unsigned int num_polygons
 
PolygonT * polygons
 An array of PolygonT object. PolygonT should contains a list of vertices for each polygon, in counter clockwise order. More...
 
- Public Attributes inherited from hpp::fcl::ConvexBase
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...
 
Neighborsneighbors
 
unsigned int num_points
 
Vec3fpoints
 An array of the points of the polygon. More...
 
- Public Attributes inherited from hpp::fcl::CollisionGeometry
Vec3f aabb_center
 AABB center in local coordinate. More...
 
AABB aabb_local
 AABB in local coordinate, used for tight AABB when only translation transform. More...
 
FCL_REAL aabb_radius
 AABB radius. More...
 
FCL_REAL cost_density
 collision cost for unit volume More...
 
FCL_REAL threshold_free
 threshold for free (<= is free) More...
 
FCL_REAL threshold_occupied
 threshold for occupied ( >= is occupied) More...
 
void * user_data
 pointer to user defined data specific to this object 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...
 
 ConvexBase (const ConvexBase &other)
 Copy constructor Only the list of neighbors is copied. More...
 
void initialize (bool ownStorage, Vec3f *points_, unsigned int num_points_)
 Initialize the points of the convex shape This also initializes the ConvexBase::center. More...
 
void set (bool ownStorage, Vec3f *points_, unsigned int num_points_)
 Set the points of the convex shape. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from hpp::fcl::ConvexBase
static ConvexBaseconvexHull (const Vec3f *points, unsigned 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
PolygonTthe polygon class. It must have method size() and operator[](int i)

Definition at line 50 of file shape/convex.h.

Constructor & Destructor Documentation

◆ Convex() [1/3]

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

Construct an uninitialized convex object.

Definition at line 53 of file shape/convex.h.

◆ Convex() [2/3]

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

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

Parameters
ownStoragewhether 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

◆ clone()

template<typename PolygonT >
virtual Convex<PolygonT>* hpp::fcl::Convex< PolygonT >::clone ( ) const
virtual

 

Clone (deep copy).

Reimplemented from hpp::fcl::ConvexBase.

◆ computeCOM()

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

compute center of mass

Reimplemented from hpp::fcl::CollisionGeometry.

◆ 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

compute the volume

Reimplemented from hpp::fcl::CollisionGeometry.

◆ fillNeighbors()

template<typename PolygonT >
void hpp::fcl::Convex< PolygonT >::fillNeighbors ( )
protected

◆ set()

template<typename PolygonT >
void hpp::fcl::Convex< PolygonT >::set ( bool  ownStorage,
Vec3f points,
unsigned int  num_points,
PolygonT *  polygons,
unsigned int  num_polygons 
)

Set the current Convex from a list of points and polygons.

Parameters
ownStoragewhether this class owns the pointers of points and polygons. If owned, they are deleted upon destruction.
pointslist of 3D points
num_pointsnumber of 3D points
polygonsAn array of PolygonT object. PolygonT should contains a list of vertices for each polygon, in counter clockwise order.
num_polygonsthe number of polygons.
Note
num_polygons is not the allocated size of polygons.

Member Data Documentation

◆ num_polygons

template<typename PolygonT >
unsigned int hpp::fcl::Convex< PolygonT >::num_polygons

Definition at line 77 of file shape/convex.h.

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

Definition at line 76 of file shape/convex.h.


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


hpp-fcl
Author(s):
autogenerated on Fri Jan 26 2024 03:46:16