factories.hpp
Go to the documentation of this file.
1 // Copyright 2018 Open Source Robotics Foundation, Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef ROS_IGN_BRIDGE__BUILTIN_INTERFACES_FACTORIES_HPP_
16 #define ROS_IGN_BRIDGE__BUILTIN_INTERFACES_FACTORIES_HPP_
17 
18 // ROS messages
19 #include <geometry_msgs/Quaternion.h>
20 #include <geometry_msgs/Point.h>
21 #include <geometry_msgs/Pose.h>
22 #include <geometry_msgs/PoseArray.h>
23 #include <geometry_msgs/PoseStamped.h>
24 #include <geometry_msgs/Transform.h>
25 #include <geometry_msgs/TransformStamped.h>
26 #include <geometry_msgs/Twist.h>
27 #include <geometry_msgs/Vector3.h>
28 // #include <mav_msgs/Actuators.h>
29 #include <nav_msgs/OccupancyGrid.h>
30 #include <nav_msgs/Odometry.h>
31 #include <rosgraph_msgs/Clock.h>
32 #include <sensor_msgs/BatteryState.h>
33 #include <sensor_msgs/CameraInfo.h>
34 #include <sensor_msgs/FluidPressure.h>
35 #include <sensor_msgs/Image.h>
36 #include <sensor_msgs/Imu.h>
37 #include <sensor_msgs/JointState.h>
38 #include <sensor_msgs/LaserScan.h>
39 #include <sensor_msgs/MagneticField.h>
40 #include <sensor_msgs/NavSatFix.h>
41 #include <sensor_msgs/PointCloud2.h>
42 #include <std_msgs/Bool.h>
43 #include <std_msgs/ColorRGBA.h>
44 #include <std_msgs/Empty.h>
45 #include <std_msgs/Float32.h>
46 #include <std_msgs/Float64.h>
47 #include <std_msgs/Header.h>
48 #include <std_msgs/Int32.h>
49 #include <std_msgs/String.h>
50 #include <tf2_msgs/TFMessage.h>
51 #include <visualization_msgs/Marker.h>
52 #include <visualization_msgs/MarkerArray.h>
53 
54 // Ignition messages
55 #include <ignition/msgs.hh>
56 
57 #include "factory.hpp"
58 
59 #include <memory>
60 #include <string>
61 
62 namespace ros_ign_bridge
63 {
64 std::shared_ptr<FactoryInterface>
65 get_factory(const std::string & ros_type_name,
66  const std::string & ign_type_name);
67 
68 // conversion functions for available interfaces
69 
70 // std_msgs
71 template<>
72 void
73 Factory<
74  std_msgs::Bool,
75  ignition::msgs::Boolean
77  const std_msgs::Bool & ros_msg,
78  ignition::msgs::Boolean & ign_msg);
79 
80 template<>
81 void
82 Factory<
83  std_msgs::Bool,
84  ignition::msgs::Boolean
86  const ignition::msgs::Boolean & ign_msg,
87  std_msgs::Bool & ros_msg);
88 
89 template<>
90 void
91 Factory<
92  std_msgs::ColorRGBA,
93  ignition::msgs::Color
95  const std_msgs::ColorRGBA & ros_msg,
96  ignition::msgs::Color & ign_msg);
97 
98 template<>
99 void
100 Factory<
101  std_msgs::ColorRGBA,
102  ignition::msgs::Color
104  const ignition::msgs::Color & ign_msg,
105  std_msgs::ColorRGBA & ros_msg);
106 
107 template<>
108 void
109 Factory<
110  std_msgs::Empty,
111  ignition::msgs::Empty
113  const std_msgs::Empty & ros_msg,
114  ignition::msgs::Empty & ign_msg);
115 
116 template<>
117 void
118 Factory<
119  std_msgs::Empty,
120  ignition::msgs::Empty
122  const ignition::msgs::Empty & ign_msg,
123  std_msgs::Empty & ros_msg);
124 
125 template<>
126 void
127 Factory<
128  std_msgs::Int32,
129  ignition::msgs::Int32
131  const std_msgs::Int32 & ros_msg,
132  ignition::msgs::Int32 & ign_msg);
133 
134 template<>
135 void
136 Factory<
137  std_msgs::Int32,
138  ignition::msgs::Int32
140  const ignition::msgs::Int32 & ign_msg,
141  std_msgs::Int32 & ros_msg);
142 
143 template<>
144 void
145 Factory<
146  std_msgs::Float32,
147  ignition::msgs::Float
149  const std_msgs::Float32 & ros_msg,
150  ignition::msgs::Float & ign_msg);
151 
152 template<>
153 void
154 Factory<
155  std_msgs::Float32,
156  ignition::msgs::Float
158  const ignition::msgs::Float & ign_msg,
159  std_msgs::Float32 & ros_msg);
160 
161 template<>
162 void
163 Factory<
164  std_msgs::Float64,
165  ignition::msgs::Double
167  const std_msgs::Float64 & ros_msg,
168  ignition::msgs::Double & ign_msg);
169 
170 template<>
171 void
172 Factory<
173  std_msgs::Float64,
174  ignition::msgs::Double
176  const ignition::msgs::Double & ign_msg,
177  std_msgs::Float64 & ros_msg);
178 
179 template<>
180 void
181 Factory<
182  std_msgs::Header,
183  ignition::msgs::Header
185  const std_msgs::Header & ros_msg,
186  ignition::msgs::Header & ign_msg);
187 
188 template<>
189 void
190 Factory<
191  std_msgs::Header,
192  ignition::msgs::Header
194  const ignition::msgs::Header & ign_msg,
195  std_msgs::Header & ros_msg);
196 
197 template<>
198 void
199 Factory<
200  std_msgs::String,
201  ignition::msgs::StringMsg
203  const std_msgs::String & ros_msg,
204  ignition::msgs::StringMsg & ign_msg);
205 
206 template<>
207 void
208 Factory<
209  std_msgs::String,
210  ignition::msgs::StringMsg
212  const ignition::msgs::StringMsg & ign_msg,
213  std_msgs::String & ros_msg);
214 
215 // rosgraph_msgs
216 template<>
217 void
218 Factory<
219  rosgraph_msgs::Clock,
220  ignition::msgs::Clock
222  const rosgraph_msgs::Clock & ros_msg,
223  ignition::msgs::Clock & ign_msg);
224 
225 template<>
226 void
227 Factory<
228  rosgraph_msgs::Clock,
229  ignition::msgs::Clock
231  const ignition::msgs::Clock & ign_msg,
232  rosgraph_msgs::Clock & ros_msg);
233 
234 // geometry_msgs
235 template<>
236 void
237 Factory<
238  geometry_msgs::Quaternion,
239  ignition::msgs::Quaternion
241  const geometry_msgs::Quaternion & ros_msg,
242  ignition::msgs::Quaternion & ign_msg);
243 
244 template<>
245 void
246 Factory<
247  geometry_msgs::Quaternion,
248  ignition::msgs::Quaternion
250  const ignition::msgs::Quaternion & ign_msg,
251  geometry_msgs::Quaternion & ros_msg);
252 
253 template<>
254 void
255 Factory<
256  geometry_msgs::Vector3,
257  ignition::msgs::Vector3d
259  const geometry_msgs::Vector3 & ros_msg,
260  ignition::msgs::Vector3d & ign_msg);
261 
262 template<>
263 void
264 Factory<
265  geometry_msgs::Vector3,
266  ignition::msgs::Vector3d
268  const ignition::msgs::Vector3d & ign_msg,
269  geometry_msgs::Vector3 & ros_msg);
270 
271 template<>
272 void
273 Factory<
274  geometry_msgs::Point,
275  ignition::msgs::Vector3d
277  const geometry_msgs::Point & ros_msg,
278  ignition::msgs::Vector3d & ign_msg);
279 
280 template<>
281 void
282 Factory<
283  geometry_msgs::Point,
284  ignition::msgs::Vector3d
286  const ignition::msgs::Vector3d & ign_msg,
287  geometry_msgs::Point & ros_msg);
288 
289 template<>
290 void
291 Factory<
292  geometry_msgs::Pose,
293  ignition::msgs::Pose
295  const geometry_msgs::Pose & ros_msg,
296  ignition::msgs::Pose & ign_msg);
297 
298 template<>
299 void
300 Factory<
301  geometry_msgs::Pose,
302  ignition::msgs::Pose
304  const ignition::msgs::Pose & ign_msg,
305  geometry_msgs::Pose & ros_msg);
306 
307 template<>
308 void
309 Factory<
310  geometry_msgs::PoseArray,
311  ignition::msgs::Pose_V
313  const geometry_msgs::PoseArray & ros_msg,
314  ignition::msgs::Pose_V & ign_msg);
315 
316 template<>
317 void
318 Factory<
319  geometry_msgs::PoseArray,
320  ignition::msgs::Pose_V
322  const ignition::msgs::Pose_V & ign_msg,
323  geometry_msgs::PoseArray & ros_msg);
324 
325 template<>
326 void
327 Factory<
328  geometry_msgs::PoseStamped,
329  ignition::msgs::Pose
331  const geometry_msgs::PoseStamped & ros_msg,
332  ignition::msgs::Pose & ign_msg);
333 
334 template<>
335 void
336 Factory<
337  geometry_msgs::PoseStamped,
338  ignition::msgs::Pose
340  const ignition::msgs::Pose & ign_msg,
341  geometry_msgs::PoseStamped & ros_msg);
342 
343 template<>
344 void
345 Factory<
346  geometry_msgs::Transform,
347  ignition::msgs::Pose
349  const geometry_msgs::Transform & ros_msg,
350  ignition::msgs::Pose & ign_msg);
351 
352 template<>
353 void
354 Factory<
355  geometry_msgs::Transform,
356  ignition::msgs::Pose
358  const ignition::msgs::Pose & ign_msg,
359  geometry_msgs::Transform & ros_msg);
360 
361 template<>
362 void
363 Factory<
364  geometry_msgs::TransformStamped,
365  ignition::msgs::Pose
367  const geometry_msgs::TransformStamped & ros_msg,
368  ignition::msgs::Pose & ign_msg);
369 
370 template<>
371 void
372 Factory<
373  geometry_msgs::TransformStamped,
374  ignition::msgs::Pose
376  const ignition::msgs::Pose & ign_msg,
377  geometry_msgs::TransformStamped & ros_msg);
378 
379 template<>
380 void
381 Factory<
382  tf2_msgs::TFMessage,
383  ignition::msgs::Pose_V
385  const tf2_msgs::TFMessage & ros_msg,
386  ignition::msgs::Pose_V & ign_msg);
387 
388 template<>
389 void
390 Factory<
391  tf2_msgs::TFMessage,
392  ignition::msgs::Pose_V
394  const ignition::msgs::Pose_V & ign_msg,
395  tf2_msgs::TFMessage & ros_msg);
396 
397 template<>
398 void
399 Factory<
400  geometry_msgs::Twist,
401  ignition::msgs::Twist
403  const geometry_msgs::Twist & ros_msg,
404  ignition::msgs::Twist & ign_msg);
405 
406 template<>
407 void
408 Factory<
409  geometry_msgs::Twist,
410  ignition::msgs::Twist
412  const ignition::msgs::Twist & ign_msg,
413  geometry_msgs::Twist & ros_msg);
414 
415 // mav_msgs
416 // template<>
417 // void
418 // Factory<
419 // mav_msgs::Actuators,
420 // ignition::msgs::Actuators
421 // >::convert_ros_to_ign(
422 // const mav_msgs::Actuators & ros_msg,
423 // ignition::msgs::Actuators & ign_msg);
424 //
425 // template<>
426 // void
427 // Factory<
428 // mav_msgs::Actuators,
429 // ignition::msgs::Actuators
430 // >::convert_ign_to_ros(
431 // const ignition::msgs::Actuators & ign_msg,
432 // mav_msgs::Actuators & ros_msg);
433 
434 // nav_msgs
435 template<>
436 void
437 Factory<
438  nav_msgs::OccupancyGrid,
439  ignition::msgs::OccupancyGrid
441  const nav_msgs::OccupancyGrid & ros_msg,
442  ignition::msgs::OccupancyGrid & ign_msg);
443 
444 template<>
445 void
446 Factory<
447  nav_msgs::OccupancyGrid,
448  ignition::msgs::OccupancyGrid
450  const ignition::msgs::OccupancyGrid & ign_msg,
451  nav_msgs::OccupancyGrid & ros_msg);
452 
453 template<>
454 void
455 Factory<
456  nav_msgs::Odometry,
457  ignition::msgs::Odometry
459  const nav_msgs::Odometry & ros_msg,
460  ignition::msgs::Odometry & ign_msg);
461 
462 template<>
463 void
464 Factory<
465  nav_msgs::Odometry,
466  ignition::msgs::Odometry
468  const ignition::msgs::Odometry & ign_msg,
469  nav_msgs::Odometry & ros_msg);
470 
471 // sensor_msgs
472 template<>
473 void
474 Factory<
475  sensor_msgs::FluidPressure,
476  ignition::msgs::FluidPressure
478  const sensor_msgs::FluidPressure & ros_msg,
479  ignition::msgs::FluidPressure & ign_msg);
480 
481 template<>
482 void
483 Factory<
484  sensor_msgs::FluidPressure,
485  ignition::msgs::FluidPressure
487  const ignition::msgs::FluidPressure & ign_msg,
488  sensor_msgs::FluidPressure & ros_msg);
489 
490 template<>
491 void
492 Factory<
493  sensor_msgs::Image,
494  ignition::msgs::Image
496  const sensor_msgs::Image & ros_msg,
497  ignition::msgs::Image & ign_msg);
498 
499 template<>
500 void
501 Factory<
502  sensor_msgs::Image,
503  ignition::msgs::Image
505  const ignition::msgs::Image & ign_msg,
506  sensor_msgs::Image & ros_msg);
507 
508 template<>
509 void
510 Factory<
511  sensor_msgs::CameraInfo,
512  ignition::msgs::CameraInfo
514  const sensor_msgs::CameraInfo & ros_msg,
515  ignition::msgs::CameraInfo & ign_msg);
516 
517 template<>
518 void
519 Factory<
520  sensor_msgs::CameraInfo,
521  ignition::msgs::CameraInfo
523  const ignition::msgs::CameraInfo & ign_msg,
524  sensor_msgs::CameraInfo & ros_msg);
525 
526 template<>
527 void
528 Factory<
529  sensor_msgs::Imu,
530  ignition::msgs::IMU
532  const sensor_msgs::Imu & ros_msg,
533  ignition::msgs::IMU & ign_msg);
534 
535 template<>
536 void
537 Factory<
538  sensor_msgs::Imu,
539  ignition::msgs::IMU
541  const ignition::msgs::IMU & ign_msg,
542  sensor_msgs::Imu & ros_msg);
543 
544 template<>
545 void
546 Factory<
547  sensor_msgs::JointState,
548  ignition::msgs::Model
550  const sensor_msgs::JointState & ros_msg,
551  ignition::msgs::Model & ign_msg);
552 
553 template<>
554 void
555 Factory<
556  sensor_msgs::JointState,
557  ignition::msgs::Model
559  const ignition::msgs::Model & ign_msg,
560  sensor_msgs::JointState & ros_msg);
561 
562 template<>
563 void
564 Factory<
565  sensor_msgs::LaserScan,
566  ignition::msgs::LaserScan
568  const sensor_msgs::LaserScan & ros_msg,
569  ignition::msgs::LaserScan & ign_msg);
570 
571 template<>
572 void
573 Factory<
574  sensor_msgs::LaserScan,
575  ignition::msgs::LaserScan
577  const ignition::msgs::LaserScan & ign_msg,
578  sensor_msgs::LaserScan & ros_msg);
579 
580 template<>
581 void
582 Factory<
583  sensor_msgs::MagneticField,
584  ignition::msgs::Magnetometer
586  const sensor_msgs::MagneticField & ros_msg,
587  ignition::msgs::Magnetometer & ign_msg);
588 
589 template<>
590 void
591 Factory<
592  sensor_msgs::MagneticField,
593  ignition::msgs::Magnetometer
595  const ignition::msgs::Magnetometer & ign_msg,
596  sensor_msgs::MagneticField & ros_msg);
597 
598 template<>
599 void
600 Factory<
601  sensor_msgs::NavSatFix,
602  ignition::msgs::NavSat
604  const sensor_msgs::NavSatFix & ros_msg,
605  ignition::msgs::NavSat & ign_msg);
606 
607 template<>
608 void
609 Factory<
610  sensor_msgs::NavSatFix,
611  ignition::msgs::NavSat
613  const ignition::msgs::NavSat & ign_msg,
614  sensor_msgs::NavSatFix & ros_msg);
615 
616 template<>
617 void
618 Factory<
619  sensor_msgs::PointCloud2,
620  ignition::msgs::PointCloudPacked
622  const sensor_msgs::PointCloud2 & ros_msg,
623  ignition::msgs::PointCloudPacked & ign_msg);
624 
625 template<>
626 void
627 Factory<
628  sensor_msgs::PointCloud2,
629  ignition::msgs::PointCloudPacked
631  const ignition::msgs::PointCloudPacked & ign_msg,
632  sensor_msgs::PointCloud2 & ros_msg);
633 
634 template<>
635 void
636 Factory<
637  sensor_msgs::BatteryState,
638  ignition::msgs::BatteryState
640  const sensor_msgs::BatteryState & ros_msg,
641  ignition::msgs::BatteryState & ign_msg);
642 
643 template<>
644 void
645 Factory<
646  sensor_msgs::BatteryState,
647  ignition::msgs::BatteryState
649  const ignition::msgs::BatteryState & ign_msg,
650  sensor_msgs::BatteryState & ros_msg);
651 
652 template<>
653 void
654 Factory<
655  visualization_msgs::Marker,
656  ignition::msgs::Marker
658  const visualization_msgs::Marker & ros_msg,
659  ignition::msgs::Marker & ign_msg);
660 
661 template<>
662 void
663 Factory<
664  visualization_msgs::Marker,
665  ignition::msgs::Marker
667  const ignition::msgs::Marker & ign_msg,
668  visualization_msgs::Marker & ros_msg);
669 
670 template<>
671 void
672 Factory<
673  visualization_msgs::MarkerArray,
674  ignition::msgs::Marker_V
676  const visualization_msgs::MarkerArray & ros_msg,
677  ignition::msgs::Marker_V & ign_msg);
678 
679 template<>
680 void
681 Factory<
682  visualization_msgs::MarkerArray,
683  ignition::msgs::Marker_V
685  const ignition::msgs::Marker_V & ign_msg,
686  visualization_msgs::MarkerArray & ros_msg);
687 
688 } // namespace ros_ign_bridge
689 
690 #endif // ROS_IGN_BRIDGE__BUILTIN_INTERFACES_FACTORIES_HPP_
factory.hpp
ros_ign_bridge::get_factory
std::shared_ptr< FactoryInterface > get_factory(const std::string &ros_type_name, const std::string &ign_type_name)
Definition: factories.cpp:408
ros_ign_bridge::convert_ros_to_ign
void convert_ros_to_ign(const std_msgs::Bool &ros_msg, ignition::msgs::Boolean &ign_msg)
Definition: convert.cpp:63
ros_ign_bridge::convert_ign_to_ros
void convert_ign_to_ros(const ignition::msgs::Boolean &ign_msg, std_msgs::Bool &ros_msg)
Definition: convert.cpp:72
ros_ign_bridge
Definition: convert.hpp:59


ros_ign_bridge
Author(s):
autogenerated on Sat Mar 11 2023 04:02:16