Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef TRAJECTORY_TRACKER_RVIZ_PLUGINS_VALIDATE_FLOATS_H
00031 #define TRAJECTORY_TRACKER_RVIZ_PLUGINS_VALIDATE_FLOATS_H
00032
00033 #include <vector>
00034
00035 #include <rviz/validate_floats.h>
00036 #ifdef HAVE_VALIDATE_QUATERNION_H
00037 #include <rviz/validate_quaternions.h>
00038 #endif
00039
00040 #include <trajectory_tracker_msgs/PathWithVelocity.h>
00041 #include <trajectory_tracker_msgs/PoseStampedWithVelocity.h>
00042
00043 namespace trajectory_tracker_rviz_plugins
00044 {
00045 inline bool validateFloats(const trajectory_tracker_msgs::PoseStampedWithVelocity& msg)
00046 {
00047 return rviz::validateFloats(msg.pose.position) &&
00048 rviz::validateFloats(msg.pose.orientation);
00049
00050 }
00051
00052 template <typename T>
00053 inline bool validateFloats(const std::vector<T>& vec)
00054 {
00055 for (const T& e : vec)
00056 {
00057 if (!validateFloats(e))
00058 return false;
00059 }
00060 return true;
00061 }
00062
00063 inline bool validateFloats(const trajectory_tracker_msgs::PathWithVelocity& msg)
00064 {
00065 return validateFloats(msg.poses);
00066 }
00067
00068 #ifdef HAVE_VALIDATE_QUATERNION_H
00069 inline bool validateQuaternions(const trajectory_tracker_msgs::PoseStampedWithVelocity& msg)
00070 {
00071 return rviz::validateQuaternions(msg.pose.orientation);
00072 }
00073
00074 template <typename T>
00075 inline bool validateQuaternions(const std::vector<T>& vec)
00076 {
00077 for (const T& e : vec)
00078 {
00079 if (!validateQuaternions(e))
00080 return false;
00081 }
00082 return true;
00083 }
00084 #endif
00085
00086 }
00087
00088 #endif // TRAJECTORY_TRACKER_RVIZ_PLUGINS_VALIDATE_FLOATS_H