mrs_lib
Various reusable classes, functions and utilities for use in MRS projects
Loading...
Searching...
No Matches
msg_extractor.h
Go to the documentation of this file.
1// clang: TomasFormat
6#ifndef MRS_LIB_MSG_EXTRACTOR_H
7#define MRS_LIB_MSG_EXTRACTOR_H
8
9#include <mrs_msgs/msg/reference.hpp>
10#include <mrs_msgs/msg/reference_stamped.hpp>
11#include <mrs_msgs/msg/tracker_command.hpp>
12
13#include <nav_msgs/msg/odometry.hpp>
14
16
17namespace mrs_lib
18{
19
20 /* geometry_msgs::msg::Point //{ */
21
29 std::tuple<double, double, double> getXYZ(const geometry_msgs::msg::Point& data);
30
38 std::tuple<double, double, double> getXYZ(const geometry_msgs::msg::Point::SharedPtr& data);
39
47 std::tuple<double, double, double> getXYZ(const geometry_msgs::msg::Point::ConstSharedPtr& data);
48
49 //}
50
51 /* geometry_msgs::msg::Vector3 //{ */
52
60 std::tuple<double, double, double> getXYZ(const geometry_msgs::msg::Vector3& data);
61
69 std::tuple<double, double, double> getXYZ(const geometry_msgs::msg::Vector3::SharedPtr& data);
70
78 std::tuple<double, double, double> getXYZ(const geometry_msgs::msg::Vector3::ConstSharedPtr& data);
79
80 //}
81
82 /* geometry_msgs::msg::Pose //{ */
83
84 /* getPosition() //{ */
85
93 std::tuple<double, double, double> getPosition(const geometry_msgs::msg::Pose& data);
94
102 std::tuple<double, double, double> getPosition(const geometry_msgs::msg::Pose::SharedPtr& data);
103
111 std::tuple<double, double, double> getPosition(const geometry_msgs::msg::Pose::ConstSharedPtr& data);
112
113 //}
114
115 /* getHeading() //{ */
116
124 double getHeading(const geometry_msgs::msg::Pose& data);
125
133 double getHeading(const geometry_msgs::msg::Pose::SharedPtr& data);
134
142 double getHeading(const geometry_msgs::msg::Pose::ConstSharedPtr& data);
143
144 //}
145
146 /* getYaw() //{ */
147
155 double getYaw(const geometry_msgs::msg::Pose& data);
156
164 double getYaw(const geometry_msgs::msg::Pose::SharedPtr& data);
165
173 double getYaw(const geometry_msgs::msg::Pose::ConstSharedPtr& data);
174
175 //}
176
177 //}
178
179 /* geometry_msgs::msg::PoseWithCovariance //{ */
180
181 /* getPosition() //{ */
182
190 std::tuple<double, double, double> getPosition(const geometry_msgs::msg::PoseWithCovariance& data);
191
199 std::tuple<double, double, double> getPosition(const geometry_msgs::msg::PoseWithCovariance::SharedPtr& data);
200
208 std::tuple<double, double, double> getPosition(const geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr& data);
209
210 //}
211
212 /* getHeading() //{ */
213
221 double getHeading(const geometry_msgs::msg::PoseWithCovariance& data);
222
230 double getHeading(const geometry_msgs::msg::PoseWithCovariance::SharedPtr& data);
231
239 double getHeading(const geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr& data);
240
241 //}
242
243 /* getYaw() //{ */
244
252 double getYaw(const geometry_msgs::msg::PoseWithCovariance& data);
253
261 double getYaw(const geometry_msgs::msg::PoseWithCovariance::SharedPtr& data);
262
270 double getYaw(const geometry_msgs::msg::PoseWithCovariance::ConstSharedPtr& data);
271
272 //}
273
274 //}
275
276 /* geometry_msgs::msg::Twist //{ */
277
278 /* getVelocity() //{ */
279
287 std::tuple<double, double, double> getVelocity(const geometry_msgs::msg::Twist& data);
288
296 std::tuple<double, double, double> getVelocity(const geometry_msgs::msg::Twist::SharedPtr& data);
297
305 std::tuple<double, double, double> getVelocity(const geometry_msgs::msg::Twist::ConstSharedPtr& data);
306
307 //}
308
309 //}
310
311 /* geometry_msgs::msg::TwistWithCovariance //{ */
312
313 /* getVelocity() //{ */
314
322 std::tuple<double, double, double> getVelocity(const geometry_msgs::msg::TwistWithCovariance& data);
323
331 std::tuple<double, double, double> getVelocity(const geometry_msgs::msg::TwistWithCovariance::SharedPtr& data);
332
340 std::tuple<double, double, double> getVelocity(const geometry_msgs::msg::TwistWithCovariance::ConstSharedPtr& data);
341
342 //}
343
344 //}
345
346 /* nav_msgs::msg::Odometry //{ */
347
348 /* getPosition() //{ */
349
357 std::tuple<double, double, double> getPosition(const nav_msgs::msg::Odometry& data);
358
366 std::tuple<double, double, double> getPosition(const nav_msgs::msg::Odometry::SharedPtr& data);
367
375 std::tuple<double, double, double> getPosition(const nav_msgs::msg::Odometry::ConstSharedPtr& data);
376
377 //}
378
379 /* getVelocity() //{ */
380
388 std::tuple<double, double, double> getVelocity(const nav_msgs::msg::Odometry& data);
389
397 std::tuple<double, double, double> getVelocity(const nav_msgs::msg::Odometry::SharedPtr& data);
398
406 std::tuple<double, double, double> getVelocity(const nav_msgs::msg::Odometry::ConstSharedPtr& data);
407
408
409 //}
410
411 /* getHeading() //{ */
412
420 double getHeading(const nav_msgs::msg::Odometry& data);
421
429 double getHeading(const nav_msgs::msg::Odometry::SharedPtr& data);
430
438 double getHeading(const nav_msgs::msg::Odometry::ConstSharedPtr& data);
439
440 //}
441
442 /* getHeading() //{ */
443
451 double getHeading(const nav_msgs::msg::Odometry& data);
452
460 double getHeading(const nav_msgs::msg::Odometry::SharedPtr& data);
461
469 double getHeading(const nav_msgs::msg::Odometry::ConstSharedPtr& data);
470
471 //}
472
473 /* getYaw() //{ */
474
482 double getYaw(const nav_msgs::msg::Odometry& data);
483
491 double getYaw(const nav_msgs::msg::Odometry::SharedPtr& data);
492
500 double getYaw(const nav_msgs::msg::Odometry::ConstSharedPtr& data);
501
502 //}
503
504 /* getPose() //{ */
505
513 geometry_msgs::msg::Pose getPose(const nav_msgs::msg::Odometry& data);
514
522 geometry_msgs::msg::Pose getPose(const nav_msgs::msg::Odometry::SharedPtr& data);
523
531 geometry_msgs::msg::Pose getPose(const nav_msgs::msg::Odometry::ConstSharedPtr& data);
532
533 //}
534
535 //}
536
537 /* mrs_msgs::msg::TrackerCommand //{ */
538
539 /* getPosition() //{ */
540
548 std::tuple<double, double, double> getPosition(const mrs_msgs::msg::TrackerCommand& data);
549
557 std::tuple<double, double, double> getPosition(const mrs_msgs::msg::TrackerCommand::SharedPtr& data);
558
566 std::tuple<double, double, double> getPosition(const mrs_msgs::msg::TrackerCommand::ConstSharedPtr& data);
567
568
569 //}
570
571 /* getVelocity() //{ */
572
580 std::tuple<double, double, double> getVelocity(const mrs_msgs::msg::TrackerCommand& data);
581
589 std::tuple<double, double, double> getVelocity(const mrs_msgs::msg::TrackerCommand::SharedPtr& data);
590
598 std::tuple<double, double, double> getVelocity(const mrs_msgs::msg::TrackerCommand::ConstSharedPtr& data);
599
600
601 //}
602
603 /* getHeading() //{ */
604
612 double getHeading(const mrs_msgs::msg::TrackerCommand& data);
613
621 double getHeading(const mrs_msgs::msg::TrackerCommand::SharedPtr& data);
622
630 double getHeading(const mrs_msgs::msg::TrackerCommand::ConstSharedPtr& data);
631
632 //}
633
634 //}
635
636 /* mrs_msgs::msg::Reference //{ */
637
638 /* getPosition() //{ */
639
647 std::tuple<double, double, double> getPosition(const mrs_msgs::msg::Reference& data);
648
656 std::tuple<double, double, double> getPosition(const mrs_msgs::msg::Reference::SharedPtr& data);
657
665 std::tuple<double, double, double> getPosition(const mrs_msgs::msg::Reference::ConstSharedPtr& data);
666
667 //}
668
669 /* getHeading() //{ */
670
678 double getHeading(const mrs_msgs::msg::Reference& data);
679
687 double getHeading(const mrs_msgs::msg::Reference::SharedPtr& data);
688
696 double getHeading(const mrs_msgs::msg::Reference::ConstSharedPtr& data);
697
698 //}
699
700 //}
701
702 /* mrs_msgs::msg::ReferenceStamped //{ */
703
704 /* getPosition() //{ */
705
713 std::tuple<double, double, double> getPosition(const mrs_msgs::msg::ReferenceStamped& data);
714
722 std::tuple<double, double, double> getPosition(const mrs_msgs::msg::ReferenceStamped::SharedPtr& data);
723
731 std::tuple<double, double, double> getPosition(const mrs_msgs::msg::ReferenceStamped::ConstSharedPtr& data);
732
733 //}
734
735 /* getHeading() //{ */
736
744 double getHeading(const mrs_msgs::msg::ReferenceStamped& data);
745
753 double getHeading(const mrs_msgs::msg::ReferenceStamped::SharedPtr& data);
754
762 double getHeading(const mrs_msgs::msg::ReferenceStamped::ConstSharedPtr& data);
763
764 //}
765
766 //}
767
768} // namespace mrs_lib
769
770//}
771
772#endif // MRS_LIB_MSG_EXTRACTOR_H
Conversions between various representations of object attitude in 3D. Supports Quaternions,...
All mrs_lib functions, classes, variables and definitions are contained in this namespace.
Definition attitude_converter.h:24
geometry_msgs::msg::Pose getPose(const nav_msgs::msg::Odometry &data)
returns the Pose part of the nav_msgs::msg::Odometry message
Definition msg_extractor.cpp:292
double getHeading(const geometry_msgs::msg::Pose &data)
get heading from geometry_msgs::msg::Pose
Definition msg_extractor.cpp:78
std::tuple< double, double, double > getVelocity(const geometry_msgs::msg::Twist &data)
get velocity from geometry_msgs::msg::Twist
Definition msg_extractor.cpp:176
std::tuple< double, double, double > getPosition(const geometry_msgs::msg::Pose &data)
get position from geometry_msgs::msg::Pose
Definition msg_extractor.cpp:60
double getYaw(const geometry_msgs::msg::Pose &data)
get yaw from geometry_msgs::msg::Pose
Definition msg_extractor.cpp:96
std::tuple< double, double, double > getXYZ(const geometry_msgs::msg::Point &data)
get XYZ from geometry_msgs::msg::Point
Definition msg_extractor.cpp:8