00001
00002 #ifndef APPLANIX_MSGS_MESSAGE_CALIBRATEDINSTALLATIONPARAMETERS_H
00003 #define APPLANIX_MSGS_MESSAGE_CALIBRATEDINSTALLATIONPARAMETERS_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 #include "geometry_msgs/Point32.h"
00019 #include "geometry_msgs/Point32.h"
00020 #include "geometry_msgs/Point32.h"
00021 #include "geometry_msgs/Point32.h"
00022
00023 namespace applanix_msgs
00024 {
00025 template <class ContainerAllocator>
00026 struct CalibratedInstallationParameters_ {
00027 typedef CalibratedInstallationParameters_<ContainerAllocator> Type;
00028
00029 CalibratedInstallationParameters_()
00030 : td()
00031 , status(0)
00032 , primary_gnss_lever_arm()
00033 , primary_gnss_lever_fom(0)
00034 , aux_1_gnss_lever_arm()
00035 , aux_1_gnss_lever_fom(0)
00036 , aux_2_gnss_lever_arm()
00037 , aux_2_gnss_lever_fom(0)
00038 , dmi_lever_arm()
00039 , dmi_lever_fom(0)
00040 , dmi_scale_factor(0.0)
00041 , dmi_scale_factor_fom(0)
00042 {
00043 }
00044
00045 CalibratedInstallationParameters_(const ContainerAllocator& _alloc)
00046 : td(_alloc)
00047 , status(0)
00048 , primary_gnss_lever_arm(_alloc)
00049 , primary_gnss_lever_fom(0)
00050 , aux_1_gnss_lever_arm(_alloc)
00051 , aux_1_gnss_lever_fom(0)
00052 , aux_2_gnss_lever_arm(_alloc)
00053 , aux_2_gnss_lever_fom(0)
00054 , dmi_lever_arm(_alloc)
00055 , dmi_lever_fom(0)
00056 , dmi_scale_factor(0.0)
00057 , dmi_scale_factor_fom(0)
00058 {
00059 }
00060
00061 typedef ::applanix_msgs::TimeDistance_<ContainerAllocator> _td_type;
00062 ::applanix_msgs::TimeDistance_<ContainerAllocator> td;
00063
00064 typedef uint16_t _status_type;
00065 uint16_t status;
00066
00067 typedef ::geometry_msgs::Point32_<ContainerAllocator> _primary_gnss_lever_arm_type;
00068 ::geometry_msgs::Point32_<ContainerAllocator> primary_gnss_lever_arm;
00069
00070 typedef uint16_t _primary_gnss_lever_fom_type;
00071 uint16_t primary_gnss_lever_fom;
00072
00073 typedef ::geometry_msgs::Point32_<ContainerAllocator> _aux_1_gnss_lever_arm_type;
00074 ::geometry_msgs::Point32_<ContainerAllocator> aux_1_gnss_lever_arm;
00075
00076 typedef uint16_t _aux_1_gnss_lever_fom_type;
00077 uint16_t aux_1_gnss_lever_fom;
00078
00079 typedef ::geometry_msgs::Point32_<ContainerAllocator> _aux_2_gnss_lever_arm_type;
00080 ::geometry_msgs::Point32_<ContainerAllocator> aux_2_gnss_lever_arm;
00081
00082 typedef uint16_t _aux_2_gnss_lever_fom_type;
00083 uint16_t aux_2_gnss_lever_fom;
00084
00085 typedef ::geometry_msgs::Point32_<ContainerAllocator> _dmi_lever_arm_type;
00086 ::geometry_msgs::Point32_<ContainerAllocator> dmi_lever_arm;
00087
00088 typedef uint16_t _dmi_lever_fom_type;
00089 uint16_t dmi_lever_fom;
00090
00091 typedef float _dmi_scale_factor_type;
00092 float dmi_scale_factor;
00093
00094 typedef uint16_t _dmi_scale_factor_fom_type;
00095 uint16_t dmi_scale_factor_fom;
00096
00097 enum { STATUS_PRIMARY_GNSS_LEVER_ARM_CALIBRATING = 1 };
00098 enum { STATUS_AUX_1_GNSS_LEVER_ARM_CALIBRATING = 2 };
00099 enum { STATUS_AUX_2_GNSS_LEVER_ARM_CALIBRATING = 4 };
00100 enum { STATUS_DMI_LEVER_ARM_CALIBRATING = 8 };
00101 enum { STATUS_DMI_SCALE_FACTOR_CALIBRATING = 16 };
00102 enum { STATUS_POSITION_FIX_LEVER_ARM_CALIBRATING = 64 };
00103 enum { STATUS_PRIMARY_GNSS_LEVER_ARM_CALIBRATED = 256 };
00104 enum { STATUS_AUX_1_GNSS_LEVER_ARM_CALIBRATED = 512 };
00105 enum { STATUS_AUX_2_GNSS_LEVER_ARM_CALIBRATED = 1024 };
00106 enum { STATUS_DMI_LEVER_ARM_CALIBRATED = 2048 };
00107 enum { STATUS_DMI_SCALE_FACTOR_CALIBRATED = 4096 };
00108 enum { STATUS_POSITION_FIX_LEVER_ARM_CALIBRATED = 16384 };
00109
00110 typedef boost::shared_ptr< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> > Ptr;
00111 typedef boost::shared_ptr< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> const> ConstPtr;
00112 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00113 };
00114 typedef ::applanix_msgs::CalibratedInstallationParameters_<std::allocator<void> > CalibratedInstallationParameters;
00115
00116 typedef boost::shared_ptr< ::applanix_msgs::CalibratedInstallationParameters> CalibratedInstallationParametersPtr;
00117 typedef boost::shared_ptr< ::applanix_msgs::CalibratedInstallationParameters const> CalibratedInstallationParametersConstPtr;
00118
00119
00120 template<typename ContainerAllocator>
00121 std::ostream& operator<<(std::ostream& s, const ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> & v)
00122 {
00123 ros::message_operations::Printer< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> >::stream(s, "", v);
00124 return s;}
00125
00126 }
00127
00128 namespace ros
00129 {
00130 namespace message_traits
00131 {
00132 template<class ContainerAllocator> struct IsMessage< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> > : public TrueType {};
00133 template<class ContainerAllocator> struct IsMessage< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> const> : public TrueType {};
00134 template<class ContainerAllocator>
00135 struct MD5Sum< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> > {
00136 static const char* value()
00137 {
00138 return "1477542d348ed571610f2395143ec8d8";
00139 }
00140
00141 static const char* value(const ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> &) { return value(); }
00142 static const uint64_t static_value1 = 0x1477542d348ed571ULL;
00143 static const uint64_t static_value2 = 0x610f2395143ec8d8ULL;
00144 };
00145
00146 template<class ContainerAllocator>
00147 struct DataType< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> > {
00148 static const char* value()
00149 {
00150 return "applanix_msgs/CalibratedInstallationParameters";
00151 }
00152
00153 static const char* value(const ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> &) { return value(); }
00154 };
00155
00156 template<class ContainerAllocator>
00157 struct Definition< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> > {
00158 static const char* value()
00159 {
00160 return "# Group 14\n\
00161 TimeDistance td\n\
00162 \n\
00163 # Bitfield\n\
00164 uint16 STATUS_PRIMARY_GNSS_LEVER_ARM_CALIBRATING=1\n\
00165 uint16 STATUS_AUX_1_GNSS_LEVER_ARM_CALIBRATING=2\n\
00166 uint16 STATUS_AUX_2_GNSS_LEVER_ARM_CALIBRATING=4\n\
00167 uint16 STATUS_DMI_LEVER_ARM_CALIBRATING=8\n\
00168 uint16 STATUS_DMI_SCALE_FACTOR_CALIBRATING=16\n\
00169 uint16 STATUS_POSITION_FIX_LEVER_ARM_CALIBRATING=64\n\
00170 uint16 STATUS_PRIMARY_GNSS_LEVER_ARM_CALIBRATED=256\n\
00171 uint16 STATUS_AUX_1_GNSS_LEVER_ARM_CALIBRATED=512\n\
00172 uint16 STATUS_AUX_2_GNSS_LEVER_ARM_CALIBRATED=1024\n\
00173 uint16 STATUS_DMI_LEVER_ARM_CALIBRATED=2048\n\
00174 uint16 STATUS_DMI_SCALE_FACTOR_CALIBRATED=4096\n\
00175 uint16 STATUS_POSITION_FIX_LEVER_ARM_CALIBRATED=16384\n\
00176 uint16 status\n\
00177 \n\
00178 geometry_msgs/Point32 primary_gnss_lever_arm\n\
00179 uint16 primary_gnss_lever_fom\n\
00180 \n\
00181 geometry_msgs/Point32 aux_1_gnss_lever_arm\n\
00182 uint16 aux_1_gnss_lever_fom\n\
00183 \n\
00184 geometry_msgs/Point32 aux_2_gnss_lever_arm\n\
00185 uint16 aux_2_gnss_lever_fom\n\
00186 \n\
00187 geometry_msgs/Point32 dmi_lever_arm\n\
00188 uint16 dmi_lever_fom\n\
00189 \n\
00190 float32 dmi_scale_factor\n\
00191 uint16 dmi_scale_factor_fom\n\
00192 \n\
00193 ================================================================================\n\
00194 MSG: applanix_msgs/TimeDistance\n\
00195 float64 time1\n\
00196 float64 time2\n\
00197 float64 distance\n\
00198 uint8 time_types\n\
00199 uint8 distance_type\n\
00200 \n\
00201 ================================================================================\n\
00202 MSG: geometry_msgs/Point32\n\
00203 # This contains the position of a point in free space(with 32 bits of precision).\n\
00204 # It is recommeded to use Point wherever possible instead of Point32. \n\
00205 # \n\
00206 # This recommendation is to promote interoperability. \n\
00207 #\n\
00208 # This message is designed to take up less space when sending\n\
00209 # lots of points at once, as in the case of a PointCloud. \n\
00210 \n\
00211 float32 x\n\
00212 float32 y\n\
00213 float32 z\n\
00214 ";
00215 }
00216
00217 static const char* value(const ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> &) { return value(); }
00218 };
00219
00220 template<class ContainerAllocator> struct IsFixedSize< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> > : public TrueType {};
00221 }
00222 }
00223
00224 namespace ros
00225 {
00226 namespace serialization
00227 {
00228
00229 template<class ContainerAllocator> struct Serializer< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> >
00230 {
00231 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00232 {
00233 stream.next(m.td);
00234 stream.next(m.status);
00235 stream.next(m.primary_gnss_lever_arm);
00236 stream.next(m.primary_gnss_lever_fom);
00237 stream.next(m.aux_1_gnss_lever_arm);
00238 stream.next(m.aux_1_gnss_lever_fom);
00239 stream.next(m.aux_2_gnss_lever_arm);
00240 stream.next(m.aux_2_gnss_lever_fom);
00241 stream.next(m.dmi_lever_arm);
00242 stream.next(m.dmi_lever_fom);
00243 stream.next(m.dmi_scale_factor);
00244 stream.next(m.dmi_scale_factor_fom);
00245 }
00246
00247 ROS_DECLARE_ALLINONE_SERIALIZER;
00248 };
00249 }
00250 }
00251
00252 namespace ros
00253 {
00254 namespace message_operations
00255 {
00256
00257 template<class ContainerAllocator>
00258 struct Printer< ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> >
00259 {
00260 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::applanix_msgs::CalibratedInstallationParameters_<ContainerAllocator> & v)
00261 {
00262 s << indent << "td: ";
00263 s << std::endl;
00264 Printer< ::applanix_msgs::TimeDistance_<ContainerAllocator> >::stream(s, indent + " ", v.td);
00265 s << indent << "status: ";
00266 Printer<uint16_t>::stream(s, indent + " ", v.status);
00267 s << indent << "primary_gnss_lever_arm: ";
00268 s << std::endl;
00269 Printer< ::geometry_msgs::Point32_<ContainerAllocator> >::stream(s, indent + " ", v.primary_gnss_lever_arm);
00270 s << indent << "primary_gnss_lever_fom: ";
00271 Printer<uint16_t>::stream(s, indent + " ", v.primary_gnss_lever_fom);
00272 s << indent << "aux_1_gnss_lever_arm: ";
00273 s << std::endl;
00274 Printer< ::geometry_msgs::Point32_<ContainerAllocator> >::stream(s, indent + " ", v.aux_1_gnss_lever_arm);
00275 s << indent << "aux_1_gnss_lever_fom: ";
00276 Printer<uint16_t>::stream(s, indent + " ", v.aux_1_gnss_lever_fom);
00277 s << indent << "aux_2_gnss_lever_arm: ";
00278 s << std::endl;
00279 Printer< ::geometry_msgs::Point32_<ContainerAllocator> >::stream(s, indent + " ", v.aux_2_gnss_lever_arm);
00280 s << indent << "aux_2_gnss_lever_fom: ";
00281 Printer<uint16_t>::stream(s, indent + " ", v.aux_2_gnss_lever_fom);
00282 s << indent << "dmi_lever_arm: ";
00283 s << std::endl;
00284 Printer< ::geometry_msgs::Point32_<ContainerAllocator> >::stream(s, indent + " ", v.dmi_lever_arm);
00285 s << indent << "dmi_lever_fom: ";
00286 Printer<uint16_t>::stream(s, indent + " ", v.dmi_lever_fom);
00287 s << indent << "dmi_scale_factor: ";
00288 Printer<float>::stream(s, indent + " ", v.dmi_scale_factor);
00289 s << indent << "dmi_scale_factor_fom: ";
00290 Printer<uint16_t>::stream(s, indent + " ", v.dmi_scale_factor_fom);
00291 }
00292 };
00293
00294
00295 }
00296 }
00297
00298 #endif // APPLANIX_MSGS_MESSAGE_CALIBRATEDINSTALLATIONPARAMETERS_H
00299