00001
00002 #ifndef APPLANIX_MSGS_MESSAGE_NAVIGATIONPERFORMANCE_H
00003 #define APPLANIX_MSGS_MESSAGE_NAVIGATIONPERFORMANCE_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "applanix_msgs/TimeDistance.h"
00018
00019 namespace applanix_msgs
00020 {
00021 template <class ContainerAllocator>
00022 struct NavigationPerformance_ {
00023 typedef NavigationPerformance_<ContainerAllocator> Type;
00024
00025 NavigationPerformance_()
00026 : td()
00027 , north_pos_rms_err(0.0)
00028 , east_pos_rms_err(0.0)
00029 , down_pos_rms_err(0.0)
00030 , north_vel_rms_err(0.0)
00031 , east_vel_rms_err(0.0)
00032 , down_vel_rms_err(0.0)
00033 , roll_rms_err(0.0)
00034 , pitch_rms_err(0.0)
00035 , heading_rms_err(0.0)
00036 , err_ellipsoid_semi_major(0.0)
00037 , err_ellipsoid_semi_minor(0.0)
00038 , err_ellipsoid_orientation(0.0)
00039 {
00040 }
00041
00042 NavigationPerformance_(const ContainerAllocator& _alloc)
00043 : td(_alloc)
00044 , north_pos_rms_err(0.0)
00045 , east_pos_rms_err(0.0)
00046 , down_pos_rms_err(0.0)
00047 , north_vel_rms_err(0.0)
00048 , east_vel_rms_err(0.0)
00049 , down_vel_rms_err(0.0)
00050 , roll_rms_err(0.0)
00051 , pitch_rms_err(0.0)
00052 , heading_rms_err(0.0)
00053 , err_ellipsoid_semi_major(0.0)
00054 , err_ellipsoid_semi_minor(0.0)
00055 , err_ellipsoid_orientation(0.0)
00056 {
00057 }
00058
00059 typedef ::applanix_msgs::TimeDistance_<ContainerAllocator> _td_type;
00060 ::applanix_msgs::TimeDistance_<ContainerAllocator> td;
00061
00062 typedef float _north_pos_rms_err_type;
00063 float north_pos_rms_err;
00064
00065 typedef float _east_pos_rms_err_type;
00066 float east_pos_rms_err;
00067
00068 typedef float _down_pos_rms_err_type;
00069 float down_pos_rms_err;
00070
00071 typedef float _north_vel_rms_err_type;
00072 float north_vel_rms_err;
00073
00074 typedef float _east_vel_rms_err_type;
00075 float east_vel_rms_err;
00076
00077 typedef float _down_vel_rms_err_type;
00078 float down_vel_rms_err;
00079
00080 typedef float _roll_rms_err_type;
00081 float roll_rms_err;
00082
00083 typedef float _pitch_rms_err_type;
00084 float pitch_rms_err;
00085
00086 typedef float _heading_rms_err_type;
00087 float heading_rms_err;
00088
00089 typedef float _err_ellipsoid_semi_major_type;
00090 float err_ellipsoid_semi_major;
00091
00092 typedef float _err_ellipsoid_semi_minor_type;
00093 float err_ellipsoid_semi_minor;
00094
00095 typedef float _err_ellipsoid_orientation_type;
00096 float err_ellipsoid_orientation;
00097
00098
00099 typedef boost::shared_ptr< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> > Ptr;
00100 typedef boost::shared_ptr< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> const> ConstPtr;
00101 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00102 };
00103 typedef ::applanix_msgs::NavigationPerformance_<std::allocator<void> > NavigationPerformance;
00104
00105 typedef boost::shared_ptr< ::applanix_msgs::NavigationPerformance> NavigationPerformancePtr;
00106 typedef boost::shared_ptr< ::applanix_msgs::NavigationPerformance const> NavigationPerformanceConstPtr;
00107
00108
00109 template<typename ContainerAllocator>
00110 std::ostream& operator<<(std::ostream& s, const ::applanix_msgs::NavigationPerformance_<ContainerAllocator> & v)
00111 {
00112 ros::message_operations::Printer< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> >::stream(s, "", v);
00113 return s;}
00114
00115 }
00116
00117 namespace ros
00118 {
00119 namespace message_traits
00120 {
00121 template<class ContainerAllocator> struct IsMessage< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> > : public TrueType {};
00122 template<class ContainerAllocator> struct IsMessage< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> const> : public TrueType {};
00123 template<class ContainerAllocator>
00124 struct MD5Sum< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> > {
00125 static const char* value()
00126 {
00127 return "87142b322e1d6228f4c064ddcf1697bc";
00128 }
00129
00130 static const char* value(const ::applanix_msgs::NavigationPerformance_<ContainerAllocator> &) { return value(); }
00131 static const uint64_t static_value1 = 0x87142b322e1d6228ULL;
00132 static const uint64_t static_value2 = 0xf4c064ddcf1697bcULL;
00133 };
00134
00135 template<class ContainerAllocator>
00136 struct DataType< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> > {
00137 static const char* value()
00138 {
00139 return "applanix_msgs/NavigationPerformance";
00140 }
00141
00142 static const char* value(const ::applanix_msgs::NavigationPerformance_<ContainerAllocator> &) { return value(); }
00143 };
00144
00145 template<class ContainerAllocator>
00146 struct Definition< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> > {
00147 static const char* value()
00148 {
00149 return "TimeDistance td\n\
00150 \n\
00151 float32 north_pos_rms_err\n\
00152 float32 east_pos_rms_err\n\
00153 float32 down_pos_rms_err\n\
00154 \n\
00155 float32 north_vel_rms_err\n\
00156 float32 east_vel_rms_err\n\
00157 float32 down_vel_rms_err\n\
00158 \n\
00159 float32 roll_rms_err\n\
00160 float32 pitch_rms_err\n\
00161 float32 heading_rms_err\n\
00162 \n\
00163 float32 err_ellipsoid_semi_major\n\
00164 float32 err_ellipsoid_semi_minor\n\
00165 float32 err_ellipsoid_orientation\n\
00166 \n\
00167 ================================================================================\n\
00168 MSG: applanix_msgs/TimeDistance\n\
00169 float64 time1\n\
00170 float64 time2\n\
00171 float64 distance\n\
00172 uint8 time_types\n\
00173 uint8 distance_type\n\
00174 \n\
00175 ";
00176 }
00177
00178 static const char* value(const ::applanix_msgs::NavigationPerformance_<ContainerAllocator> &) { return value(); }
00179 };
00180
00181 template<class ContainerAllocator> struct IsFixedSize< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> > : public TrueType {};
00182 }
00183 }
00184
00185 namespace ros
00186 {
00187 namespace serialization
00188 {
00189
00190 template<class ContainerAllocator> struct Serializer< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> >
00191 {
00192 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00193 {
00194 stream.next(m.td);
00195 stream.next(m.north_pos_rms_err);
00196 stream.next(m.east_pos_rms_err);
00197 stream.next(m.down_pos_rms_err);
00198 stream.next(m.north_vel_rms_err);
00199 stream.next(m.east_vel_rms_err);
00200 stream.next(m.down_vel_rms_err);
00201 stream.next(m.roll_rms_err);
00202 stream.next(m.pitch_rms_err);
00203 stream.next(m.heading_rms_err);
00204 stream.next(m.err_ellipsoid_semi_major);
00205 stream.next(m.err_ellipsoid_semi_minor);
00206 stream.next(m.err_ellipsoid_orientation);
00207 }
00208
00209 ROS_DECLARE_ALLINONE_SERIALIZER;
00210 };
00211 }
00212 }
00213
00214 namespace ros
00215 {
00216 namespace message_operations
00217 {
00218
00219 template<class ContainerAllocator>
00220 struct Printer< ::applanix_msgs::NavigationPerformance_<ContainerAllocator> >
00221 {
00222 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::applanix_msgs::NavigationPerformance_<ContainerAllocator> & v)
00223 {
00224 s << indent << "td: ";
00225 s << std::endl;
00226 Printer< ::applanix_msgs::TimeDistance_<ContainerAllocator> >::stream(s, indent + " ", v.td);
00227 s << indent << "north_pos_rms_err: ";
00228 Printer<float>::stream(s, indent + " ", v.north_pos_rms_err);
00229 s << indent << "east_pos_rms_err: ";
00230 Printer<float>::stream(s, indent + " ", v.east_pos_rms_err);
00231 s << indent << "down_pos_rms_err: ";
00232 Printer<float>::stream(s, indent + " ", v.down_pos_rms_err);
00233 s << indent << "north_vel_rms_err: ";
00234 Printer<float>::stream(s, indent + " ", v.north_vel_rms_err);
00235 s << indent << "east_vel_rms_err: ";
00236 Printer<float>::stream(s, indent + " ", v.east_vel_rms_err);
00237 s << indent << "down_vel_rms_err: ";
00238 Printer<float>::stream(s, indent + " ", v.down_vel_rms_err);
00239 s << indent << "roll_rms_err: ";
00240 Printer<float>::stream(s, indent + " ", v.roll_rms_err);
00241 s << indent << "pitch_rms_err: ";
00242 Printer<float>::stream(s, indent + " ", v.pitch_rms_err);
00243 s << indent << "heading_rms_err: ";
00244 Printer<float>::stream(s, indent + " ", v.heading_rms_err);
00245 s << indent << "err_ellipsoid_semi_major: ";
00246 Printer<float>::stream(s, indent + " ", v.err_ellipsoid_semi_major);
00247 s << indent << "err_ellipsoid_semi_minor: ";
00248 Printer<float>::stream(s, indent + " ", v.err_ellipsoid_semi_minor);
00249 s << indent << "err_ellipsoid_orientation: ";
00250 Printer<float>::stream(s, indent + " ", v.err_ellipsoid_orientation);
00251 }
00252 };
00253
00254
00255 }
00256 }
00257
00258 #endif // APPLANIX_MSGS_MESSAGE_NAVIGATIONPERFORMANCE_H
00259