00001
00002 #ifndef MAV_MSGS_MESSAGE_HEIGHT_H
00003 #define MAV_MSGS_MESSAGE_HEIGHT_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013 #include "std_msgs/Header.h"
00014
00015 namespace mav_msgs
00016 {
00017 template <class ContainerAllocator>
00018 struct Height_ : public ros::Message
00019 {
00020 typedef Height_<ContainerAllocator> Type;
00021
00022 Height_()
00023 : header()
00024 , height(0.0)
00025 , height_variance(0.0)
00026 , climb(0.0)
00027 , climb_variance(0.0)
00028 {
00029 }
00030
00031 Height_(const ContainerAllocator& _alloc)
00032 : header(_alloc)
00033 , height(0.0)
00034 , height_variance(0.0)
00035 , climb(0.0)
00036 , climb_variance(0.0)
00037 {
00038 }
00039
00040 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00041 ::std_msgs::Header_<ContainerAllocator> header;
00042
00043 typedef double _height_type;
00044 double height;
00045
00046 typedef double _height_variance_type;
00047 double height_variance;
00048
00049 typedef double _climb_type;
00050 double climb;
00051
00052 typedef double _climb_variance_type;
00053 double climb_variance;
00054
00055
00056 private:
00057 static const char* __s_getDataType_() { return "mav_msgs/Height"; }
00058 public:
00059 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00060
00061 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00062
00063 private:
00064 static const char* __s_getMD5Sum_() { return "a78e1294ab4281402b080d0478dd360c"; }
00065 public:
00066 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00067
00068 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00069
00070 private:
00071 static const char* __s_getMessageDefinition_() { return "# Software License Agreement (BSD License)\n\
00072 #\n\
00073 # Copyright (c) 2010\n\
00074 # Ivan Dryanovski <ivan.dryanovski@gmail.com>\n\
00075 # All rights reserved.\n\
00076 #\n\
00077 # Redistribution and use in source and binary forms, with or without\n\
00078 # modification, are permitted provided that the following conditions\n\
00079 # are met:\n\
00080 #\n\
00081 # * Redistributions of source code must retain the above copyright\n\
00082 # notice, this list of conditions and the following disclaimer.\n\
00083 # * Redistributions in binary form must reproduce the above\n\
00084 # copyright notice, this list of conditions and the following\n\
00085 # disclaimer in the documentation and/or other materials provided\n\
00086 # with the distribution.\n\
00087 # * Neither the name of CCNY Robotics Lab nor the names of its\n\
00088 # contributors may be used to endorse or promote products derived\n\
00089 # from this software without specific prior written permission.\n\
00090 #\n\
00091 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\
00092 # \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\
00093 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n\
00094 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n\
00095 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n\
00096 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n\
00097 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\
00098 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n\
00099 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n\
00100 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n\
00101 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n\
00102 # POSSIBILITY OF SUCH DAMAGE.\n\
00103 \n\
00104 Header header\n\
00105 \n\
00106 float64 height\n\
00107 float64 height_variance\n\
00108 \n\
00109 float64 climb\n\
00110 float64 climb_variance\n\
00111 \n\
00112 ================================================================================\n\
00113 MSG: std_msgs/Header\n\
00114 # Standard metadata for higher-level stamped data types.\n\
00115 # This is generally used to communicate timestamped data \n\
00116 # in a particular coordinate frame.\n\
00117 # \n\
00118 # sequence ID: consecutively increasing ID \n\
00119 uint32 seq\n\
00120 #Two-integer timestamp that is expressed as:\n\
00121 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00122 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00123 # time-handling sugar is provided by the client library\n\
00124 time stamp\n\
00125 #Frame this data is associated with\n\
00126 # 0: no frame\n\
00127 # 1: global frame\n\
00128 string frame_id\n\
00129 \n\
00130 "; }
00131 public:
00132 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00133
00134 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00135
00136 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00137 {
00138 ros::serialization::OStream stream(write_ptr, 1000000000);
00139 ros::serialization::serialize(stream, header);
00140 ros::serialization::serialize(stream, height);
00141 ros::serialization::serialize(stream, height_variance);
00142 ros::serialization::serialize(stream, climb);
00143 ros::serialization::serialize(stream, climb_variance);
00144 return stream.getData();
00145 }
00146
00147 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00148 {
00149 ros::serialization::IStream stream(read_ptr, 1000000000);
00150 ros::serialization::deserialize(stream, header);
00151 ros::serialization::deserialize(stream, height);
00152 ros::serialization::deserialize(stream, height_variance);
00153 ros::serialization::deserialize(stream, climb);
00154 ros::serialization::deserialize(stream, climb_variance);
00155 return stream.getData();
00156 }
00157
00158 ROS_DEPRECATED virtual uint32_t serializationLength() const
00159 {
00160 uint32_t size = 0;
00161 size += ros::serialization::serializationLength(header);
00162 size += ros::serialization::serializationLength(height);
00163 size += ros::serialization::serializationLength(height_variance);
00164 size += ros::serialization::serializationLength(climb);
00165 size += ros::serialization::serializationLength(climb_variance);
00166 return size;
00167 }
00168
00169 typedef boost::shared_ptr< ::mav_msgs::Height_<ContainerAllocator> > Ptr;
00170 typedef boost::shared_ptr< ::mav_msgs::Height_<ContainerAllocator> const> ConstPtr;
00171 };
00172 typedef ::mav_msgs::Height_<std::allocator<void> > Height;
00173
00174 typedef boost::shared_ptr< ::mav_msgs::Height> HeightPtr;
00175 typedef boost::shared_ptr< ::mav_msgs::Height const> HeightConstPtr;
00176
00177
00178 template<typename ContainerAllocator>
00179 std::ostream& operator<<(std::ostream& s, const ::mav_msgs::Height_<ContainerAllocator> & v)
00180 {
00181 ros::message_operations::Printer< ::mav_msgs::Height_<ContainerAllocator> >::stream(s, "", v);
00182 return s;}
00183
00184 }
00185
00186 namespace ros
00187 {
00188 namespace message_traits
00189 {
00190 template<class ContainerAllocator>
00191 struct MD5Sum< ::mav_msgs::Height_<ContainerAllocator> > {
00192 static const char* value()
00193 {
00194 return "a78e1294ab4281402b080d0478dd360c";
00195 }
00196
00197 static const char* value(const ::mav_msgs::Height_<ContainerAllocator> &) { return value(); }
00198 static const uint64_t static_value1 = 0xa78e1294ab428140ULL;
00199 static const uint64_t static_value2 = 0x2b080d0478dd360cULL;
00200 };
00201
00202 template<class ContainerAllocator>
00203 struct DataType< ::mav_msgs::Height_<ContainerAllocator> > {
00204 static const char* value()
00205 {
00206 return "mav_msgs/Height";
00207 }
00208
00209 static const char* value(const ::mav_msgs::Height_<ContainerAllocator> &) { return value(); }
00210 };
00211
00212 template<class ContainerAllocator>
00213 struct Definition< ::mav_msgs::Height_<ContainerAllocator> > {
00214 static const char* value()
00215 {
00216 return "# Software License Agreement (BSD License)\n\
00217 #\n\
00218 # Copyright (c) 2010\n\
00219 # Ivan Dryanovski <ivan.dryanovski@gmail.com>\n\
00220 # All rights reserved.\n\
00221 #\n\
00222 # Redistribution and use in source and binary forms, with or without\n\
00223 # modification, are permitted provided that the following conditions\n\
00224 # are met:\n\
00225 #\n\
00226 # * Redistributions of source code must retain the above copyright\n\
00227 # notice, this list of conditions and the following disclaimer.\n\
00228 # * Redistributions in binary form must reproduce the above\n\
00229 # copyright notice, this list of conditions and the following\n\
00230 # disclaimer in the documentation and/or other materials provided\n\
00231 # with the distribution.\n\
00232 # * Neither the name of CCNY Robotics Lab nor the names of its\n\
00233 # contributors may be used to endorse or promote products derived\n\
00234 # from this software without specific prior written permission.\n\
00235 #\n\
00236 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n\
00237 # \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n\
00238 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n\
00239 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n\
00240 # COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n\
00241 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n\
00242 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n\
00243 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n\
00244 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n\
00245 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\n\
00246 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n\
00247 # POSSIBILITY OF SUCH DAMAGE.\n\
00248 \n\
00249 Header header\n\
00250 \n\
00251 float64 height\n\
00252 float64 height_variance\n\
00253 \n\
00254 float64 climb\n\
00255 float64 climb_variance\n\
00256 \n\
00257 ================================================================================\n\
00258 MSG: std_msgs/Header\n\
00259 # Standard metadata for higher-level stamped data types.\n\
00260 # This is generally used to communicate timestamped data \n\
00261 # in a particular coordinate frame.\n\
00262 # \n\
00263 # sequence ID: consecutively increasing ID \n\
00264 uint32 seq\n\
00265 #Two-integer timestamp that is expressed as:\n\
00266 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00267 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00268 # time-handling sugar is provided by the client library\n\
00269 time stamp\n\
00270 #Frame this data is associated with\n\
00271 # 0: no frame\n\
00272 # 1: global frame\n\
00273 string frame_id\n\
00274 \n\
00275 ";
00276 }
00277
00278 static const char* value(const ::mav_msgs::Height_<ContainerAllocator> &) { return value(); }
00279 };
00280
00281 template<class ContainerAllocator> struct HasHeader< ::mav_msgs::Height_<ContainerAllocator> > : public TrueType {};
00282 template<class ContainerAllocator> struct HasHeader< const ::mav_msgs::Height_<ContainerAllocator> > : public TrueType {};
00283 }
00284 }
00285
00286 namespace ros
00287 {
00288 namespace serialization
00289 {
00290
00291 template<class ContainerAllocator> struct Serializer< ::mav_msgs::Height_<ContainerAllocator> >
00292 {
00293 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00294 {
00295 stream.next(m.header);
00296 stream.next(m.height);
00297 stream.next(m.height_variance);
00298 stream.next(m.climb);
00299 stream.next(m.climb_variance);
00300 }
00301
00302 ROS_DECLARE_ALLINONE_SERIALIZER;
00303 };
00304 }
00305 }
00306
00307 namespace ros
00308 {
00309 namespace message_operations
00310 {
00311
00312 template<class ContainerAllocator>
00313 struct Printer< ::mav_msgs::Height_<ContainerAllocator> >
00314 {
00315 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::mav_msgs::Height_<ContainerAllocator> & v)
00316 {
00317 s << indent << "header: ";
00318 s << std::endl;
00319 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00320 s << indent << "height: ";
00321 Printer<double>::stream(s, indent + " ", v.height);
00322 s << indent << "height_variance: ";
00323 Printer<double>::stream(s, indent + " ", v.height_variance);
00324 s << indent << "climb: ";
00325 Printer<double>::stream(s, indent + " ", v.climb);
00326 s << indent << "climb_variance: ";
00327 Printer<double>::stream(s, indent + " ", v.climb_variance);
00328 }
00329 };
00330
00331
00332 }
00333 }
00334
00335 #endif // MAV_MSGS_MESSAGE_HEIGHT_H
00336