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:
Inheritance graph
[legend]

List of all members.

Public Member Functions

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 btVector3 &p, bool verbose=false) const
 Check is a point is inside the body.
 ConvexMesh (const shapes::Shape *shape)
 ConvexMesh (void)
virtual bool intersectsRay (const btVector3 &origin, const btVector3 &dir, std::vector< btVector3 > *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 btVector4 &planeNormal) const
bool isPointInsidePlanes (const btVector3 &point) const
virtual void updateInternalData (void)
virtual void useDimensions (const shapes::Shape *shape)

Protected Attributes

Box m_boundingBox
btVector3 m_boxOffset
btVector3 m_center
btTransform m_iPose
btVector3 m_meshCenter
double m_meshRadiusB
std::vector< btVector4 > m_planes
double m_radiusB
double m_radiusBSqr
std::vector< btVector3 > m_scaledVertices
std::vector< unsigned int > m_triangles
std::vector< btVector3 > m_vertices

Detailed Description

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

Definition at line 339 of file bodies.h.


Constructor & Destructor Documentation

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

Definition at line 343 of file bodies.h.

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

Definition at line 348 of file bodies.h.

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

Definition at line 354 of file bodies.h.


Member Function Documentation

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 862 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 894 of file bodies.cpp.

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

Check is a point is inside the body.

Implements bodies::Body.

Definition at line 706 of file bodies.cpp.

unsigned int bodies::ConvexMesh::countVerticesBehindPlane ( const btVector4 &  planeNormal  )  const [protected]

Definition at line 881 of file bodies.cpp.

bool bodies::ConvexMesh::intersectsRay ( const btVector3 &  origin,
const btVector3 &  dir,
std::vector< btVector3 > *  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 907 of file bodies.cpp.

bool bodies::ConvexMesh::isPointInsidePlanes ( const btVector3 &  point  )  const [protected]

Definition at line 868 of file bodies.cpp.

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

Implements bodies::Body.

Definition at line 840 of file bodies.cpp.

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

Implements bodies::Body.

Definition at line 718 of file bodies.cpp.


Member Data Documentation

Definition at line 385 of file bodies.h.

btVector3 bodies::ConvexMesh::m_boxOffset [protected]

Definition at line 384 of file bodies.h.

btVector3 bodies::ConvexMesh::m_center [protected]

Definition at line 378 of file bodies.h.

btTransform bodies::ConvexMesh::m_iPose [protected]

Definition at line 376 of file bodies.h.

btVector3 bodies::ConvexMesh::m_meshCenter [protected]

Definition at line 379 of file bodies.h.

Definition at line 382 of file bodies.h.

std::vector<btVector4> bodies::ConvexMesh::m_planes [protected]

Definition at line 372 of file bodies.h.

double bodies::ConvexMesh::m_radiusB [protected]

Definition at line 380 of file bodies.h.

Definition at line 381 of file bodies.h.

std::vector<btVector3> bodies::ConvexMesh::m_scaledVertices [protected]

Definition at line 374 of file bodies.h.

std::vector<unsigned int> bodies::ConvexMesh::m_triangles [protected]

Definition at line 375 of file bodies.h.

std::vector<btVector3> bodies::ConvexMesh::m_vertices [protected]

Definition at line 373 of file bodies.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Enumerations Enumerator


pr2_navigation_self_filter
Author(s): Eitan Marder-Eppstein
autogenerated on Fri Jan 11 09:35:23 2013