bodies::ConvexMesh Class Reference

Definition of a convex mesh. Convex hull is computed for a given shape::Mesh. More...

`#include <bodies.h>`

Inheritance diagram for bodies::ConvexMesh:
[legend]

List of all members.

## Public Member Functions

virtual void computeBoundingCylinder (BoundingCylinder &cylinder) const
Compute the bounding cylinder for the body, in its current pose. Scaling and padding are accounted for.
virtual void computeBoundingSphere (BoundingSphere &sphere) const
Compute the bounding radius for the body, in its current pose. Scaling and padding are accounted for.
virtual double computeVolume (void) const
Compute the volume of the body. This method includes changes induced by scaling and padding.
virtual bool containsPoint (const tf::Vector3 &p, bool verbose=false) const
Check is a point is inside the body.
ConvexMesh (void)
ConvexMesh (const shapes::Shape *shape)
const std::vector< tf::Vector3 > & getScaledVertices () const
const std::vector< unsigned int > & getTriangles () const
const std::vector< tf::Vector3 > & getVertices () const
virtual bool intersectsRay (const tf::Vector3 &origin, const tf::Vector3 &dir, std::vector< tf::Vector3 > *intersections=NULL, unsigned int count=0) const
Check is a ray intersects the body, and find the set of intersections, in order, along the ray. A maximum number of intersections can be specified as well. If that number is 0, all intersections are returned.
virtual ~ConvexMesh (void)

## Protected Member Functions

unsigned int countVerticesBehindPlane (const tf::tfVector4 &planeNormal) const
bool isPointInsidePlanes (const tf::Vector3 &point) const
virtual void updateInternalData (void)
virtual void useDimensions (const shapes::Shape *shape)

## Protected Attributes

Box m_boundingBox
BoundingCylinder m_boundingCylinder
tf::Vector3 m_boxOffset
tf::Vector3 m_center
tf::Transform m_iPose
tf::Vector3 m_meshCenter
std::vector< tf::tfVector4m_planes
std::vector< tf::Vector3 > m_scaledVertices
std::vector< unsigned int > m_triangles
std::vector< tf::Vector3 > m_vertices

## Detailed Description

Definition of a convex mesh. Convex hull is computed for a given shape::Mesh.

Definition at line 367 of file bodies.h.

## Constructor & Destructor Documentation

 bodies::ConvexMesh::ConvexMesh ( void ) ` [inline]`

Definition at line 371 of file bodies.h.

 bodies::ConvexMesh::ConvexMesh ( const shapes::Shape * shape ) ` [inline]`

Definition at line 376 of file bodies.h.

 virtual bodies::ConvexMesh::~ConvexMesh ( void ) ` [inline, virtual]`

Definition at line 382 of file bodies.h.

## Member Function Documentation

 void bodies::ConvexMesh::computeBoundingCylinder ( BoundingCylinder & cylinder ) const` [virtual]`

Compute the bounding cylinder for the body, in its current pose. Scaling and padding are accounted for.

Implements bodies::Body.

Definition at line 1049 of file bodies.cpp.

 void bodies::ConvexMesh::computeBoundingSphere ( BoundingSphere & sphere ) const` [virtual]`

Compute the bounding radius for the body, in its current pose. Scaling and padding are accounted for.

Implements bodies::Body.

Definition at line 1043 of file bodies.cpp.

 double bodies::ConvexMesh::computeVolume ( void ) const` [virtual]`

Compute the volume of the body. This method includes changes induced by scaling and padding.

Implements bodies::Body.

Definition at line 1085 of file bodies.cpp.

 bool bodies::ConvexMesh::containsPoint ( const tf::Vector3 & p, bool verbose = `false` ) const` [virtual]`

Check is a point is inside the body.

Implements bodies::Body.

Definition at line 772 of file bodies.cpp.

 unsigned int bodies::ConvexMesh::countVerticesBehindPlane ( const tf::tfVector4 & planeNormal ) const` [protected]`

Definition at line 1072 of file bodies.cpp.

 const std::vector& bodies::ConvexMesh::getScaledVertices ( ) const` [inline]`

Definition at line 401 of file bodies.h.

 const std::vector& bodies::ConvexMesh::getTriangles ( ) const` [inline]`

Definition at line 393 of file bodies.h.

 const std::vector& bodies::ConvexMesh::getVertices ( ) const` [inline]`

Definition at line 397 of file bodies.h.

 bool bodies::ConvexMesh::intersectsRay ( const tf::Vector3 & origin, const tf::Vector3 & dir, std::vector< tf::Vector3 > * intersections = `NULL`, unsigned int count = `0` ) const` [virtual]`

Check is a ray intersects the body, and find the set of intersections, in order, along the ray. A maximum number of intersections can be specified as well. If that number is 0, all intersections are returned.

Implements bodies::Body.

Definition at line 1098 of file bodies.cpp.

 bool bodies::ConvexMesh::isPointInsidePlanes ( const tf::Vector3 & point ) const` [protected]`

Definition at line 1059 of file bodies.cpp.

 void bodies::ConvexMesh::updateInternalData ( void ) ` [protected, virtual]`

Implements bodies::Body.

Definition at line 1021 of file bodies.cpp.

 void bodies::ConvexMesh::useDimensions ( const shapes::Shape * shape ) ` [protected, virtual]`

Implements bodies::Body.

Definition at line 784 of file bodies.cpp.

## Member Data Documentation

 Box bodies::ConvexMesh::m_boundingBox` [protected]`

Definition at line 426 of file bodies.h.

 BoundingCylinder bodies::ConvexMesh::m_boundingCylinder` [protected]`

Definition at line 427 of file bodies.h.

 tf::Vector3 bodies::ConvexMesh::m_boxOffset` [protected]`

Definition at line 425 of file bodies.h.

 tf::Vector3 bodies::ConvexMesh::m_center` [protected]`

Definition at line 419 of file bodies.h.

 tf::Transform bodies::ConvexMesh::m_iPose` [protected]`

Definition at line 417 of file bodies.h.

 tf::Vector3 bodies::ConvexMesh::m_meshCenter` [protected]`

Definition at line 420 of file bodies.h.

 double bodies::ConvexMesh::m_meshRadiusB` [protected]`

Definition at line 423 of file bodies.h.

 std::vector bodies::ConvexMesh::m_planes` [protected]`

Definition at line 413 of file bodies.h.

 double bodies::ConvexMesh::m_radiusB` [protected]`

Definition at line 421 of file bodies.h.

 double bodies::ConvexMesh::m_radiusBSqr` [protected]`

Definition at line 422 of file bodies.h.

 std::vector bodies::ConvexMesh::m_scaledVertices` [protected]`

Definition at line 415 of file bodies.h.

 std::vector bodies::ConvexMesh::m_triangles` [protected]`

Definition at line 416 of file bodies.h.

 std::vector bodies::ConvexMesh::m_vertices` [protected]`

Definition at line 414 of file bodies.h.

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

geometric_shapes
Author(s): Ioan Sucan
autogenerated on Thu Dec 12 2013 11:08:56