moveit2
The MoveIt Motion Planning Framework for ROS 2.
|
Tesseract bullet collision object. More...
#include <bullet_utils.h>
Public Member Functions | |
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... | |
const std::string & | getName () const |
Get the collision object name. More... | |
const collision_detection::BodyType & | getTypeID () const |
Get a user defined type. More... | |
bool | sameObject (const CollisionObjectWrapper &other) const |
Check if two CollisionObjectWrapper objects point to the same source object. More... | |
void | getAABB (btVector3 &aabb_min, btVector3 &aabb_max) const |
Get the collision objects axis aligned bounding box. More... | |
std::shared_ptr< CollisionObjectWrapper > | clone () |
Clones the collision objects but not the collision shape which is const. More... | |
template<class T > | |
void | manage (T *t) |
Manage memory of a raw pointer shape. More... | |
template<class T > | |
void | manage (std::shared_ptr< T > t) |
Manage memory of a shared pointer shape. 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::string | m_name |
The name of the object, must be unique. More... | |
collision_detection::BodyType | m_type_id |
std::vector< shapes::ShapeConstPtr > | m_shapes |
The shapes that define the collision object. More... | |
AlignedVector< Eigen::Isometry3d > | m_shape_poses |
The poses of the shapes, must be same length as m_shapes. More... | |
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... | |
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 109 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 536 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 602 of file bullet_utils.cpp.
|
protected |
Special constructor used by the clone method.
Definition at line 612 of file bullet_utils.cpp.
|
inline |
Clones the collision objects but not the collision shape which is const.
Definition at line 181 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 169 of file bullet_utils.h.
|
inline |
Get the collision object name.
Definition at line 144 of file bullet_utils.h.
|
inline |
Get a user defined type.
Definition at line 150 of file bullet_utils.h.
|
inline |
Manage memory of a shared pointer shape.
Definition at line 205 of file bullet_utils.h.
|
inline |
Manage memory of a raw pointer shape.
Definition at line 198 of file bullet_utils.h.
|
inline |
Check if two CollisionObjectWrapper objects point to the same source object.
Definition at line 157 of file bullet_utils.h.
|
protected |
The shape collision object type to be used.
Definition at line 230 of file bullet_utils.h.
short int collision_detection_bullet::CollisionObjectWrapper::m_collisionFilterGroup |
Bitfield specifies to which group the object belongs.
Definition at line 132 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 135 of file bullet_utils.h.
|
protected |
Manages the collision shape pointer so they get destroyed.
Definition at line 233 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 138 of file bullet_utils.h.
|
protected |
The name of the object, must be unique.
Definition at line 219 of file bullet_utils.h.
|
protected |
The poses of the shapes, must be same length as m_shapes.
Definition at line 227 of file bullet_utils.h.
|
protected |
The shapes that define the collision object.
Definition at line 224 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 141 of file bullet_utils.h.
|
protected |
Definition at line 221 of file bullet_utils.h.