#include <collision_scene_fcl.h>

Classes | |
| struct | CollisionData |
Public Member Functions | |
| std::vector< std::string > | GetCollisionRobotLinks () override |
| Gets the collision robot links. More... | |
| std::vector< std::string > | GetCollisionWorldLinks () override |
| Gets the collision world links. More... | |
| Eigen::Vector3d | GetTranslation (const std::string &name) override |
| bool | IsCollisionFree (const std::string &o1, const std::string &o2, double safe_distance=0.0) override |
| bool | IsStateValid (bool self=true, double safe_distance=0.0) override |
| Check if the whole robot is valid (collision only). More... | |
| void | Setup () override |
| void | UpdateCollisionObjects (const std::map< std::string, std::weak_ptr< KinematicElement >> &objects) override |
| Creates the collision scene from kinematic elements. More... | |
| void | UpdateCollisionObjectTransforms () override |
| Updates collision object transformations from the kinematic tree. More... | |
Public Member Functions inherited from exotica::CollisionScene | |
| void | AssignScene (std::shared_ptr< Scene > scene) |
| CollisionScene () | |
| virtual std::vector< ContinuousCollisionProxy > | ContinuousCollisionCast (const std::vector< std::vector< std::tuple< std::string, Eigen::Isometry3d, Eigen::Isometry3d >>> &motion_transforms) |
| virtual ContinuousCollisionProxy | ContinuousCollisionCheck (const std::string &o1, const KDL::Frame &tf1_beg, const KDL::Frame &tf1_end, const std::string &o2, const KDL::Frame &tf2_beg, const KDL::Frame &tf2_end) |
| bool | get_replace_cylinders_with_capsules () const |
| bool | GetAlwaysExternallyUpdatedCollisionScene () const |
| virtual std::vector< CollisionProxy > | GetCollisionDistance (const std::string &o1, const std::string &o2) |
| virtual std::vector< CollisionProxy > | GetCollisionDistance (const std::string &o1, const bool &self) |
| virtual std::vector< CollisionProxy > | GetCollisionDistance (const std::string &o1, const bool &self, const bool &disable_collision_scene_update) |
| virtual std::vector< CollisionProxy > | GetCollisionDistance (const std::vector< std::string > &objects, const bool &self) |
| virtual std::vector< CollisionProxy > | GetCollisionDistance (bool self) |
| bool | GetReplacePrimitiveShapesWithMeshes () const |
| double | GetRobotLinkPadding () const |
| double | GetRobotLinkScale () const |
| virtual std::vector< CollisionProxy > | GetRobotToRobotCollisionDistance (double check_margin) |
| virtual std::vector< CollisionProxy > | GetRobotToWorldCollisionDistance (double check_margin) |
| double | GetWorldLinkPadding () const |
| double | GetWorldLinkScale () const |
| virtual bool | IsAllowedToCollide (const std::string &o1, const std::string &o2, const bool &self) |
| void | set_replace_cylinders_with_capsules (const bool value) |
| void | SetACM (const AllowedCollisionMatrix &acm) |
| void | SetAlwaysExternallyUpdatedCollisionScene (const bool value) |
| void | SetReplacePrimitiveShapesWithMeshes (const bool value) |
| void | SetRobotLinkPadding (const double padding) |
| void | SetRobotLinkScale (const double scale) |
| void | SetWorldLinkPadding (const double padding) |
| void | SetWorldLinkScale (const double scale) |
| virtual | ~CollisionScene () |
Public Member Functions inherited from exotica::Uncopyable | |
| Uncopyable ()=default | |
| ~Uncopyable ()=default | |
Static Public Member Functions | |
| static bool | CollisionCallback (fcl::CollisionObject *o1, fcl::CollisionObject *o2, void *data) |
| static bool | IsAllowedToCollide (fcl::CollisionObject *o1, fcl::CollisionObject *o2, bool self, CollisionSceneFCL *scene) |
Private Member Functions | |
| std::shared_ptr< fcl::CollisionObject > | ConstructFclCollisionObject (long i, std::shared_ptr< KinematicElement > element) |
Static Private Member Functions | |
| static void | CheckCollision (fcl::CollisionObject *o1, fcl::CollisionObject *o2, CollisionData *data) |
Private Attributes | |
| std::map< std::string, std::shared_ptr< fcl::CollisionObject > > | fcl_cache_ |
| std::vector< fcl::CollisionObject * > | fcl_objects_ |
| std::vector< std::weak_ptr< KinematicElement > > | kinematic_elements_ |
Additional Inherited Members | |
Public Attributes inherited from exotica::CollisionScene | |
| bool | debug_ |
Protected Attributes inherited from exotica::CollisionScene | |
| AllowedCollisionMatrix | acm_ |
| bool | always_externally_updated_collision_scene_ |
| bool | needs_update_of_collision_objects_ |
| bool | replace_cylinders_with_capsules_ |
| bool | replace_primitive_shapes_with_meshes_ |
| double | robot_link_padding_ |
| double | robot_link_scale_ |
| std::weak_ptr< Scene > | scene_ |
| double | world_link_padding_ |
| double | world_link_scale_ |
Definition at line 49 of file collision_scene_fcl.h.
|
staticprivate |
Definition at line 230 of file collision_scene_fcl.cpp.
|
static |
Definition at line 246 of file collision_scene_fcl.cpp.
|
private |
Definition at line 95 of file collision_scene_fcl.cpp.
|
overridevirtual |
Gets the collision robot links.
Implements exotica::CollisionScene.
Definition at line 323 of file collision_scene_fcl.cpp.
|
overridevirtual |
Gets the collision world links.
Implements exotica::CollisionScene.
Definition at line 309 of file collision_scene_fcl.cpp.
|
overridevirtual |
Implements exotica::CollisionScene.
Definition at line 296 of file collision_scene_fcl.cpp.
|
static |
Definition at line 205 of file collision_scene_fcl.cpp.
|
overridevirtual |
Reimplemented from exotica::CollisionScene.
Definition at line 269 of file collision_scene_fcl.cpp.
|
overridevirtual |
Check if the whole robot is valid (collision only).
| self | Indicate if self collision check is required. |
Implements exotica::CollisionScene.
Definition at line 256 of file collision_scene_fcl.cpp.
|
overridevirtual |
Reimplemented from exotica::CollisionScene.
Definition at line 47 of file collision_scene_fcl.cpp.
|
overridevirtual |
Creates the collision scene from kinematic elements.
| objects | Vector kinematic element pointers of collision objects. |
Implements exotica::CollisionScene.
Definition at line 52 of file collision_scene_fcl.cpp.
|
overridevirtual |
Updates collision object transformations from the kinematic tree.
Implements exotica::CollisionScene.
Definition at line 79 of file collision_scene_fcl.cpp.
|
private |
Definition at line 94 of file collision_scene_fcl.h.
|
private |
Definition at line 96 of file collision_scene_fcl.h.
|
private |
Definition at line 97 of file collision_scene_fcl.h.