MTC
marker_tools.h
1 #pragma once
2 
3 #include <rviz_marker_tools/marker_creation.h>
4 #include <visualization_msgs/Marker.h>
5 #include <moveit/macros/class_forward.h>
6 #include <functional>
7 
8 namespace planning_scene {
9 MOVEIT_CLASS_FORWARD(PlanningScene);
10 }
11 namespace moveit {
12 namespace core {
13 MOVEIT_CLASS_FORWARD(RobotState);
14 MOVEIT_CLASS_FORWARD(LinkModel);
15 } // namespace core
16 } // namespace moveit
17 
18 namespace moveit {
19 namespace task_constructor {
20 
22 using MarkerCallback = std::function<void(visualization_msgs::Marker&, const std::string&)>;
23 
26 void generateMarkersForObjects(const planning_scene::PlanningSceneConstPtr& scene, const MarkerCallback& callback,
27  const std::vector<std::string>& object_names = {});
28 
31 void generateCollisionMarkers(const moveit::core::RobotState& robot_state, const MarkerCallback& callback,
32  const std::vector<std::string>& link_names = {});
33 void generateCollisionMarkers(const moveit::core::RobotState& robot_state, const MarkerCallback& callback,
34  const std::vector<const moveit::core::LinkModel*>& link_models);
35 
38 void generateVisualMarkers(const moveit::core::RobotState& robot_state, const MarkerCallback& callback,
39  const std::vector<std::string>& link_names = {});
40 void generateVisualMarkers(const moveit::core::RobotState& robot_state, const MarkerCallback& callback,
41  const std::vector<const moveit::core::LinkModel*>& link_models);
42 
45 void generateMarkersForScene(const planning_scene::PlanningSceneConstPtr& scene, const MarkerCallback& callback);
46 } // namespace task_constructor
47 } // namespace moveit