-
-
Notifications
You must be signed in to change notification settings - Fork 74
/
Copy pathros-noetic-moveit-ros-planning.win.patch
146 lines (127 loc) · 7.37 KB
/
ros-noetic-moveit-ros-planning.win.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2f73370cbd..5f2620eb0a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,7 +21,7 @@ find_package(catkin REQUIRED COMPONENTS
tf2_ros
)
moveit_build_options()
-
+set(CMAKE_CXX_STANDARD 17)
find_package(Eigen3 REQUIRED)
generate_dynamic_reconfigure_options(
diff --git a/planning_pipeline/include/moveit/planning_pipeline/planning_pipeline.h b/planning_pipeline/include/moveit/planning_pipeline/planning_pipeline.h
index e7514f670..530b3929a 100644
--- a/planning_pipeline/include/moveit/planning_pipeline/planning_pipeline.h
+++ b/planning_pipeline/include/moveit/planning_pipeline/planning_pipeline.h
@@ -43,6 +43,18 @@
#include <memory>
+// Import/export for windows dll's and visibility for gcc shared libraries.
+
+#ifdef ROS_BUILD_SHARED_LIBS // ros is being built around shared libraries
+ #ifdef moveit_planning_pipeline_EXPORTS // we are building a shared lib/dll
+ #define MOVEIT_PLANNING_PIPELINE_DECL ROS_HELPER_EXPORT
+ #else // we are using shared lib/dll
+ #define MOVEIT_PLANNING_PIPELINE_DECL ROS_HELPER_IMPORT
+ #endif
+#else // ros is being built around static libraries
+ #define MOVEIT_PLANNING_PIPELINE_DECL
+#endif
+
/** \brief Planning pipeline */
namespace planning_pipeline
{
@@ -57,15 +69,15 @@ class PlanningPipeline
public:
/** \brief When motion plans are computed and they are supposed to be automatically displayed, they are sent to this
* topic (moveit_msgs::DisplauTrajectory) */
- static const std::string DISPLAY_PATH_TOPIC;
+ static MOVEIT_PLANNING_PIPELINE_DECL const std::string DISPLAY_PATH_TOPIC;
/** \brief When motion planning requests are received and they are supposed to be automatically published, they are
* sent to this topic (moveit_msgs::MotionPlanRequest) */
- static const std::string MOTION_PLAN_REQUEST_TOPIC;
+ static MOVEIT_PLANNING_PIPELINE_DECL const std::string MOTION_PLAN_REQUEST_TOPIC;
/** \brief When contacts are found in the solution path reported by a planner, they can be published as markers on
* this topic (visualization_msgs::MarkerArray) */
- static const std::string MOTION_CONTACTS_TOPIC;
+ static MOVEIT_PLANNING_PIPELINE_DECL const std::string MOTION_CONTACTS_TOPIC;
/** \brief Given a robot model (\e model), a node handle (\e nh), initialize the planning pipeline.
\param model The robot model for which this pipeline is initialized.
diff --git a/planning_scene_monitor/include/moveit/planning_scene_monitor/planning_scene_monitor.h b/planning_scene_monitor/include/moveit/planning_scene_monitor/planning_scene_monitor.h
index b0716f346..aa92407a8 100644
--- a/planning_scene_monitor/include/moveit/planning_scene_monitor/planning_scene_monitor.h
+++ b/planning_scene_monitor/include/moveit/planning_scene_monitor/planning_scene_monitor.h
@@ -51,6 +51,18 @@
#include <boost/thread/recursive_mutex.hpp>
#include <memory>
+// Import/export for windows dll's and visibility for gcc shared libraries.
+
+#ifdef ROS_BUILD_SHARED_LIBS // ros is being built around shared libraries
+ #ifdef moveit_planning_scene_monitor_EXPORTS // we are building a shared lib/dll
+ #define MOVEIT_PLANNING_SCENE_MONITOR_DECL ROS_HELPER_EXPORT
+ #else // we are using shared lib/dll
+ #define MOVEIT_PLANNING_SCENE_MONITOR_DECL ROS_HELPER_IMPORT
+ #endif
+#else // ros is being built around static libraries
+ #define MOVEIT_PLANNING_SCENE_MONITOR_DECL
+#endif
+
namespace planning_scene_monitor
{
MOVEIT_CLASS_FORWARD(PlanningSceneMonitor);
@@ -81,27 +93,27 @@ public:
};
/// The name of the topic used by default for receiving joint states
- static const std::string DEFAULT_JOINT_STATES_TOPIC; // "/joint_states"
+ static MOVEIT_PLANNING_SCENE_MONITOR_DECL const std::string DEFAULT_JOINT_STATES_TOPIC; // "/joint_states"
/// The name of the topic used by default for attached collision objects
- static const std::string DEFAULT_ATTACHED_COLLISION_OBJECT_TOPIC; // "/attached_collision_object"
+ static MOVEIT_PLANNING_SCENE_MONITOR_DECL const std::string DEFAULT_ATTACHED_COLLISION_OBJECT_TOPIC; // "/attached_collision_object"
/// The name of the topic used by default for receiving collision objects in the world
- static const std::string DEFAULT_COLLISION_OBJECT_TOPIC; // "/collision_object"
+ static MOVEIT_PLANNING_SCENE_MONITOR_DECL const std::string DEFAULT_COLLISION_OBJECT_TOPIC; // "/collision_object"
/// The name of the topic used by default for receiving geometry information about a planning scene (complete
/// overwrite of world geometry)
- static const std::string DEFAULT_PLANNING_SCENE_WORLD_TOPIC; // "/planning_scene_world"
+ static MOVEIT_PLANNING_SCENE_MONITOR_DECL const std::string DEFAULT_PLANNING_SCENE_WORLD_TOPIC; // "/planning_scene_world"
/// The name of the topic used by default for receiving full planning scenes or planning scene diffs
- static const std::string DEFAULT_PLANNING_SCENE_TOPIC; // "/planning_scene"
+ static MOVEIT_PLANNING_SCENE_MONITOR_DECL const std::string DEFAULT_PLANNING_SCENE_TOPIC; // "/planning_scene"
/// The name of the service used by default for requesting full planning scene state
- static const std::string DEFAULT_PLANNING_SCENE_SERVICE; // "/get_planning_scene"
+ static MOVEIT_PLANNING_SCENE_MONITOR_DECL const std::string DEFAULT_PLANNING_SCENE_SERVICE; // "/get_planning_scene"
/// The name of the topic used by default for publishing the monitored planning scene (this is without "/" in the
/// name, so the topic is prefixed by the node name)
- static const std::string MONITORED_PLANNING_SCENE_TOPIC; // "monitored_planning_scene"
+ static MOVEIT_PLANNING_SCENE_MONITOR_DECL const std::string MONITORED_PLANNING_SCENE_TOPIC; // "monitored_planning_scene"
/** @brief Constructor
* @param robot_description The name of the ROS parameter that contains the URDF (in string format)
diff --git a/trajectory_execution_manager/include/moveit/trajectory_execution_manager/trajectory_execution_manager.h b/trajectory_execution_manager/include/moveit/trajectory_execution_manager/trajectory_execution_manager.h
index 22a7ee9ee..c2945f930 100644
--- a/trajectory_execution_manager/include/moveit/trajectory_execution_manager/trajectory_execution_manager.h
+++ b/trajectory_execution_manager/include/moveit/trajectory_execution_manager/trajectory_execution_manager.h
@@ -49,6 +49,18 @@
#include <memory>
+// Import/export for windows dll's and visibility for gcc shared libraries.
+
+#ifdef ROS_BUILD_SHARED_LIBS // ros is being built around shared libraries
+ #ifdef moveit_trajectory_execution_manager_EXPORTS // we are building a shared lib/dll
+ #define MOVEIT_TRAJECTORY_EXECUTION_MANAGER_DECL ROS_HELPER_EXPORT
+ #else // we are using shared lib/dll
+ #define MOVEIT_TRAJECTORY_EXECUTION_MANAGER_DECL ROS_HELPER_IMPORT
+ #endif
+#else // ros is being built around static libraries
+ #define MOVEIT_TRAJECTORY_EXECUTION_MANAGER_DECL
+#endif
+
namespace trajectory_execution_manager
{
MOVEIT_CLASS_FORWARD(TrajectoryExecutionManager);
@@ -59,7 +71,7 @@ MOVEIT_CLASS_FORWARD(TrajectoryExecutionManager);
class TrajectoryExecutionManager
{
public:
- static const std::string EXECUTION_EVENT_TOPIC;
+ static MOVEIT_TRAJECTORY_EXECUTION_MANAGER_DECL const std::string EXECUTION_EVENT_TOPIC;
/// Definition of the function signature that is called when the execution of all the pushed trajectories completes.
/// The status of the overall execution is passed as argument