Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
robot_self_filter::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 robot_self_filter::bodies::ConvexMesh:
Inheritance graph
[legend]

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::TransformgetPose (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::tfVector4m_planes
 
double m_radiusB
 
double m_radiusBSqr
 
std::vector< tf::Vector3m_scaledVertices
 
std::vector< unsigned int > m_triangles
 
std::vector< tf::Vector3m_vertices
 
- Protected Attributes inherited from robot_self_filter::bodies::Body
double m_padding
 
tf::Transform m_pose
 
double m_scale
 
shapes::ShapeType m_type
 

Detailed Description

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

Definition at line 355 of file bodies.h.

Constructor & Destructor Documentation

robot_self_filter::bodies::ConvexMesh::ConvexMesh ( void  )
inline

Definition at line 359 of file bodies.h.

robot_self_filter::bodies::ConvexMesh::ConvexMesh ( const shapes::Shape shape)
inline

Definition at line 364 of file bodies.h.

virtual robot_self_filter::bodies::ConvexMesh::~ConvexMesh ( void  )
inlinevirtual

Definition at line 370 of file bodies.h.

Member Function Documentation

void robot_self_filter::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 robot_self_filter::bodies::Body.

Definition at line 865 of file bodies.cpp.

double robot_self_filter::bodies::ConvexMesh::computeVolume ( void  ) const
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.

bool robot_self_filter::bodies::ConvexMesh::containsPoint ( const tf::Vector3 p,
bool  verbose = false 
) const
virtual

Check is a point is inside the body.

Implements robot_self_filter::bodies::Body.

Definition at line 708 of file bodies.cpp.

unsigned int robot_self_filter::bodies::ConvexMesh::countVerticesBehindPlane ( const tf::tfVector4 planeNormal) const
protected

Definition at line 884 of file bodies.cpp.

bool robot_self_filter::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 robot_self_filter::bodies::Body.

Definition at line 910 of file bodies.cpp.

bool robot_self_filter::bodies::ConvexMesh::isPointInsidePlanes ( const tf::Vector3 point) const
protected

Definition at line 871 of file bodies.cpp.

void robot_self_filter::bodies::ConvexMesh::updateInternalData ( void  )
protectedvirtual

Implements robot_self_filter::bodies::Body.

Definition at line 843 of file bodies.cpp.

void robot_self_filter::bodies::ConvexMesh::useDimensions ( const shapes::Shape shape)
protectedvirtual

Implements robot_self_filter::bodies::Body.

Definition at line 720 of file bodies.cpp.

Member Data Documentation

Box robot_self_filter::bodies::ConvexMesh::m_boundingBox
protected

Definition at line 401 of file bodies.h.

tf::Vector3 robot_self_filter::bodies::ConvexMesh::m_boxOffset
protected

Definition at line 400 of file bodies.h.

tf::Vector3 robot_self_filter::bodies::ConvexMesh::m_center
protected

Definition at line 394 of file bodies.h.

tf::Transform robot_self_filter::bodies::ConvexMesh::m_iPose
protected

Definition at line 392 of file bodies.h.

tf::Vector3 robot_self_filter::bodies::ConvexMesh::m_meshCenter
protected

Definition at line 395 of file bodies.h.

double robot_self_filter::bodies::ConvexMesh::m_meshRadiusB
protected

Definition at line 398 of file bodies.h.

std::vector<tf::tfVector4> robot_self_filter::bodies::ConvexMesh::m_planes
protected

Definition at line 388 of file bodies.h.

double robot_self_filter::bodies::ConvexMesh::m_radiusB
protected

Definition at line 396 of file bodies.h.

double robot_self_filter::bodies::ConvexMesh::m_radiusBSqr
protected

Definition at line 397 of file bodies.h.

std::vector<tf::Vector3> robot_self_filter::bodies::ConvexMesh::m_scaledVertices
protected

Definition at line 390 of file bodies.h.

std::vector<unsigned int> robot_self_filter::bodies::ConvexMesh::m_triangles
protected

Definition at line 391 of file bodies.h.

std::vector<tf::Vector3> robot_self_filter::bodies::ConvexMesh::m_vertices
protected

Definition at line 389 of file bodies.h.


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


robot_self_filter
Author(s): Eitan Marder-Eppstein
autogenerated on Thu Jun 6 2019 19:59:05