Definition of a convex mesh. Convex hull is computed for a given shape::Mesh. More...
#include <bodies.h>
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. More... | |
virtual double | computeVolume (void) const |
Compute the volume of the body. This method includes changes induced by scaling and padding. More... | |
virtual bool | containsPoint (const tf::Vector3 &p, bool verbose=false) const |
Check is a point is inside the body. More... | |
ConvexMesh (void) | |
ConvexMesh (const shapes::Shape *shape) | |
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. More... | |
virtual | ~ConvexMesh (void) |
Public Member Functions inherited from robot_self_filter::bodies::Body | |
Body (void) | |
bool | containsPoint (double x, double y, double z) const |
Check is a point is inside the body. More... | |
double | getPadding (void) const |
Retrieve the current padding. More... | |
const tf::Transform & | getPose (void) const |
Retrieve the pose of the body. More... | |
double | getScale (void) const |
Retrieve the current scale. More... | |
shapes::ShapeType | getType (void) const |
Get the type of shape this body represents. More... | |
void | setDimensions (const shapes::Shape *shape) |
Set the dimensions of the body (from corresponding shape) More... | |
void | setPadding (double padd) |
If constant padding should be added to the body, this method sets the padding. Default is 0.0. More... | |
void | setPose (const tf::Transform &pose) |
Set the pose of the body. Default is identity. More... | |
void | setScale (double scale) |
If the dimension of the body should be scaled, this method sets the scale. Default is 1.0. More... | |
virtual | ~Body (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 |
tf::Vector3 | m_boxOffset |
tf::Vector3 | m_center |
tf::Transform | m_iPose |
tf::Vector3 | m_meshCenter |
double | m_meshRadiusB |
std::vector< tf::tfVector4 > | m_planes |
double | m_radiusB |
double | m_radiusBSqr |
std::vector< tf::Vector3 > | m_scaledVertices |
std::vector< unsigned int > | m_triangles |
std::vector< tf::Vector3 > | m_vertices |
Protected Attributes inherited from robot_self_filter::bodies::Body | |
double | m_padding |
tf::Transform | m_pose |
double | m_scale |
shapes::ShapeType | m_type |
Definition of a convex mesh. Convex hull is computed for a given shape::Mesh.
|
inline |
|
inline |
|
inlinevirtual |
|
virtual |
Compute the bounding radius for the body, in its current pose. Scaling and padding are accounted for.
Implements robot_self_filter::bodies::Body.
Definition at line 865 of file bodies.cpp.
|
virtual |
Compute the volume of the body. This method includes changes induced by scaling and padding.
Implements robot_self_filter::bodies::Body.
Definition at line 897 of file bodies.cpp.
|
virtual |
Check is a point is inside the body.
Implements robot_self_filter::bodies::Body.
Definition at line 708 of file bodies.cpp.
|
protected |
Definition at line 884 of file bodies.cpp.
|
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 robot_self_filter::bodies::Body.
Definition at line 910 of file bodies.cpp.
|
protected |
Definition at line 871 of file bodies.cpp.
|
protectedvirtual |
Implements robot_self_filter::bodies::Body.
Definition at line 843 of file bodies.cpp.
|
protectedvirtual |
Implements robot_self_filter::bodies::Body.
Definition at line 720 of file bodies.cpp.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |