Tesseract bullet collision object. More...
#include <bullet_utils.h>
Public Member Functions | |
std::shared_ptr< CollisionObjectWrapper > | clone () |
Clones the collision objects but not the collision shape wich is const. More... | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | CollisionObjectWrapper (const std::string &name, const collision_detection::BodyType &type_id, const std::vector< shapes::ShapeConstPtr > &shapes, const AlignedVector< Eigen::Isometry3d > &shape_poses, const std::vector< CollisionObjectType > &collision_object_types, bool active=true) |
Standard constructor. More... | |
CollisionObjectWrapper (const std::string &name, const collision_detection::BodyType &type_id, const std::vector< shapes::ShapeConstPtr > &shapes, const AlignedVector< Eigen::Isometry3d > &shape_poses, const std::vector< CollisionObjectType > &collision_object_types, const std::set< std::string > &touch_links) | |
Constructor for attached robot objects. More... | |
void | getAABB (btVector3 &aabb_min, btVector3 &aabb_max) const |
Get the collision objects axis aligned bounding box. More... | |
const std::string & | getName () const |
Get the collision object name. More... | |
const collision_detection::BodyType & | getTypeID () const |
Get a user defined type. More... | |
template<class T > | |
void | manage (std::shared_ptr< T > t) |
Manage memory of a shared pointer shape. More... | |
template<class T > | |
void | manage (T *t) |
Manage memory of a raw pointer shape. More... | |
bool | sameObject (const CollisionObjectWrapper &other) const |
Check if two CollisionObjectWrapper objects point to the same source object. More... | |
Public Attributes | |
short int | m_collisionFilterGroup |
Bitfield specifies to which group the object belongs. More... | |
short int | m_collisionFilterMask |
Bitfield specifies against which other groups the object is collision checked. More... | |
bool | m_enabled { true } |
Indicates if the collision object is used for a collision check. More... | |
std::set< std::string > | m_touch_links |
The robot links the collision objects is allowed to touch. More... | |
Protected Member Functions | |
CollisionObjectWrapper (const std::string &name, const collision_detection::BodyType &type_id, const std::vector< shapes::ShapeConstPtr > &shapes, const AlignedVector< Eigen::Isometry3d > &shape_poses, const std::vector< CollisionObjectType > &collision_object_types, const std::vector< std::shared_ptr< void >> &data) | |
Special constructor used by the clone method. More... | |
Protected Attributes | |
std::vector< CollisionObjectType > | m_collision_object_types |
The shape collision object type to be used. More... | |
std::vector< std::shared_ptr< void > > | m_data |
Manages the collision shape pointer so they get destroyed. More... | |
std::string | m_name |
The name of the object, must be unique. More... | |
AlignedVector< Eigen::Isometry3d > | m_shape_poses |
The poses of the shapes, must be same length as m_shapes. More... | |
std::vector< shapes::ShapeConstPtr > | m_shapes |
The shapes that define the collison object. More... | |
collision_detection::BodyType | m_type_id |
Tesseract bullet collision object.
A wrapper around bullet's collision object which contains specific information related to bullet. One of the main differences is that a bullet collision object has a single world transformation and all shapes have transformation relative to this world transform. The default collision object category is active and active objects are checked against active objects and static objects whereas static objects are only checked against active ones.
Definition at line 173 of file bullet_utils.h.
collision_detection_bullet::CollisionObjectWrapper::CollisionObjectWrapper | ( | const std::string & | name, |
const collision_detection::BodyType & | type_id, | ||
const std::vector< shapes::ShapeConstPtr > & | shapes, | ||
const AlignedVector< Eigen::Isometry3d > & | shape_poses, | ||
const std::vector< CollisionObjectType > & | collision_object_types, | ||
bool | active = true |
||
) |
Standard constructor.
shape_poses | Assumes all poses are in a single global frame |
Definition at line 298 of file bullet_utils.cpp.
collision_detection_bullet::CollisionObjectWrapper::CollisionObjectWrapper | ( | const std::string & | name, |
const collision_detection::BodyType & | type_id, | ||
const std::vector< shapes::ShapeConstPtr > & | shapes, | ||
const AlignedVector< Eigen::Isometry3d > & | shape_poses, | ||
const std::vector< CollisionObjectType > & | collision_object_types, | ||
const std::set< std::string > & | touch_links | ||
) |
Constructor for attached robot objects.
shape_poses | These poses are in the global (planning) frame |
Definition at line 364 of file bullet_utils.cpp.
|
protected |
Special constructor used by the clone method.
Definition at line 374 of file bullet_utils.cpp.
|
inline |
Clones the collision objects but not the collision shape wich is const.
Definition at line 245 of file bullet_utils.h.
|
inline |
Get the collision objects axis aligned bounding box.
aabb_min | The minimum point |
aabb_max | The maximum point |
Definition at line 233 of file bullet_utils.h.
|
inline |
Get the collision object name.
Definition at line 208 of file bullet_utils.h.
|
inline |
Get a user defined type.
Definition at line 214 of file bullet_utils.h.
|
inline |
Manage memory of a shared pointer shape.
Definition at line 269 of file bullet_utils.h.
|
inline |
Manage memory of a raw pointer shape.
Definition at line 262 of file bullet_utils.h.
|
inline |
Check if two CollisionObjectWrapper objects point to the same source object.
Definition at line 221 of file bullet_utils.h.
|
protected |
The shape collision object type to be used.
Definition at line 294 of file bullet_utils.h.
short int collision_detection_bullet::CollisionObjectWrapper::m_collisionFilterGroup |
Bitfield specifies to which group the object belongs.
Definition at line 196 of file bullet_utils.h.
short int collision_detection_bullet::CollisionObjectWrapper::m_collisionFilterMask |
Bitfield specifies against which other groups the object is collision checked.
Definition at line 199 of file bullet_utils.h.
|
protected |
Manages the collision shape pointer so they get destroyed.
Definition at line 297 of file bullet_utils.h.
bool collision_detection_bullet::CollisionObjectWrapper::m_enabled { true } |
Indicates if the collision object is used for a collision check.
Definition at line 202 of file bullet_utils.h.
|
protected |
The name of the object, must be unique.
Definition at line 283 of file bullet_utils.h.
|
protected |
The poses of the shapes, must be same length as m_shapes.
Definition at line 291 of file bullet_utils.h.
|
protected |
The shapes that define the collison object.
Definition at line 288 of file bullet_utils.h.
std::set<std::string> collision_detection_bullet::CollisionObjectWrapper::m_touch_links |
The robot links the collision objects is allowed to touch.
Definition at line 205 of file bullet_utils.h.
|
protected |
Definition at line 285 of file bullet_utils.h.