$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-clearpath_common/doc_stacks/2013-03-01_14-27-57.340522/clearpath_common/clearpath_base/msg/DifferentialControl.msg */ 00002 #ifndef CLEARPATH_BASE_MESSAGE_DIFFERENTIALCONTROL_H 00003 #define CLEARPATH_BASE_MESSAGE_DIFFERENTIALCONTROL_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 "std_msgs/Header.h" 00018 00019 namespace clearpath_base 00020 { 00021 template <class ContainerAllocator> 00022 struct DifferentialControl_ { 00023 typedef DifferentialControl_<ContainerAllocator> Type; 00024 00025 DifferentialControl_() 00026 : header() 00027 , l_p(0.0) 00028 , l_i(0.0) 00029 , l_d(0.0) 00030 , l_ffwd(0.0) 00031 , l_stic(0.0) 00032 , l_sat(0.0) 00033 , r_p(0.0) 00034 , r_i(0.0) 00035 , r_d(0.0) 00036 , r_ffwd(0.0) 00037 , r_stic(0.0) 00038 , r_sat(0.0) 00039 { 00040 } 00041 00042 DifferentialControl_(const ContainerAllocator& _alloc) 00043 : header(_alloc) 00044 , l_p(0.0) 00045 , l_i(0.0) 00046 , l_d(0.0) 00047 , l_ffwd(0.0) 00048 , l_stic(0.0) 00049 , l_sat(0.0) 00050 , r_p(0.0) 00051 , r_i(0.0) 00052 , r_d(0.0) 00053 , r_ffwd(0.0) 00054 , r_stic(0.0) 00055 , r_sat(0.0) 00056 { 00057 } 00058 00059 typedef ::std_msgs::Header_<ContainerAllocator> _header_type; 00060 ::std_msgs::Header_<ContainerAllocator> header; 00061 00062 typedef double _l_p_type; 00063 double l_p; 00064 00065 typedef double _l_i_type; 00066 double l_i; 00067 00068 typedef double _l_d_type; 00069 double l_d; 00070 00071 typedef double _l_ffwd_type; 00072 double l_ffwd; 00073 00074 typedef double _l_stic_type; 00075 double l_stic; 00076 00077 typedef double _l_sat_type; 00078 double l_sat; 00079 00080 typedef double _r_p_type; 00081 double r_p; 00082 00083 typedef double _r_i_type; 00084 double r_i; 00085 00086 typedef double _r_d_type; 00087 double r_d; 00088 00089 typedef double _r_ffwd_type; 00090 double r_ffwd; 00091 00092 typedef double _r_stic_type; 00093 double r_stic; 00094 00095 typedef double _r_sat_type; 00096 double r_sat; 00097 00098 00099 private: 00100 static const char* __s_getDataType_() { return "clearpath_base/DifferentialControl"; } 00101 public: 00102 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00103 00104 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00105 00106 private: 00107 static const char* __s_getMD5Sum_() { return "ae0672163e13fc0bb6491960c53a3259"; } 00108 public: 00109 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00110 00111 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00112 00113 private: 00114 static const char* __s_getMessageDefinition_() { return "Header header\n\ 00115 float64 l_p\n\ 00116 float64 l_i\n\ 00117 float64 l_d\n\ 00118 float64 l_ffwd\n\ 00119 float64 l_stic\n\ 00120 float64 l_sat\n\ 00121 float64 r_p\n\ 00122 float64 r_i\n\ 00123 float64 r_d\n\ 00124 float64 r_ffwd\n\ 00125 float64 r_stic\n\ 00126 float64 r_sat\n\ 00127 \n\ 00128 ================================================================================\n\ 00129 MSG: std_msgs/Header\n\ 00130 # Standard metadata for higher-level stamped data types.\n\ 00131 # This is generally used to communicate timestamped data \n\ 00132 # in a particular coordinate frame.\n\ 00133 # \n\ 00134 # sequence ID: consecutively increasing ID \n\ 00135 uint32 seq\n\ 00136 #Two-integer timestamp that is expressed as:\n\ 00137 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00138 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00139 # time-handling sugar is provided by the client library\n\ 00140 time stamp\n\ 00141 #Frame this data is associated with\n\ 00142 # 0: no frame\n\ 00143 # 1: global frame\n\ 00144 string frame_id\n\ 00145 \n\ 00146 "; } 00147 public: 00148 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00149 00150 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00151 00152 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00153 { 00154 ros::serialization::OStream stream(write_ptr, 1000000000); 00155 ros::serialization::serialize(stream, header); 00156 ros::serialization::serialize(stream, l_p); 00157 ros::serialization::serialize(stream, l_i); 00158 ros::serialization::serialize(stream, l_d); 00159 ros::serialization::serialize(stream, l_ffwd); 00160 ros::serialization::serialize(stream, l_stic); 00161 ros::serialization::serialize(stream, l_sat); 00162 ros::serialization::serialize(stream, r_p); 00163 ros::serialization::serialize(stream, r_i); 00164 ros::serialization::serialize(stream, r_d); 00165 ros::serialization::serialize(stream, r_ffwd); 00166 ros::serialization::serialize(stream, r_stic); 00167 ros::serialization::serialize(stream, r_sat); 00168 return stream.getData(); 00169 } 00170 00171 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00172 { 00173 ros::serialization::IStream stream(read_ptr, 1000000000); 00174 ros::serialization::deserialize(stream, header); 00175 ros::serialization::deserialize(stream, l_p); 00176 ros::serialization::deserialize(stream, l_i); 00177 ros::serialization::deserialize(stream, l_d); 00178 ros::serialization::deserialize(stream, l_ffwd); 00179 ros::serialization::deserialize(stream, l_stic); 00180 ros::serialization::deserialize(stream, l_sat); 00181 ros::serialization::deserialize(stream, r_p); 00182 ros::serialization::deserialize(stream, r_i); 00183 ros::serialization::deserialize(stream, r_d); 00184 ros::serialization::deserialize(stream, r_ffwd); 00185 ros::serialization::deserialize(stream, r_stic); 00186 ros::serialization::deserialize(stream, r_sat); 00187 return stream.getData(); 00188 } 00189 00190 ROS_DEPRECATED virtual uint32_t serializationLength() const 00191 { 00192 uint32_t size = 0; 00193 size += ros::serialization::serializationLength(header); 00194 size += ros::serialization::serializationLength(l_p); 00195 size += ros::serialization::serializationLength(l_i); 00196 size += ros::serialization::serializationLength(l_d); 00197 size += ros::serialization::serializationLength(l_ffwd); 00198 size += ros::serialization::serializationLength(l_stic); 00199 size += ros::serialization::serializationLength(l_sat); 00200 size += ros::serialization::serializationLength(r_p); 00201 size += ros::serialization::serializationLength(r_i); 00202 size += ros::serialization::serializationLength(r_d); 00203 size += ros::serialization::serializationLength(r_ffwd); 00204 size += ros::serialization::serializationLength(r_stic); 00205 size += ros::serialization::serializationLength(r_sat); 00206 return size; 00207 } 00208 00209 typedef boost::shared_ptr< ::clearpath_base::DifferentialControl_<ContainerAllocator> > Ptr; 00210 typedef boost::shared_ptr< ::clearpath_base::DifferentialControl_<ContainerAllocator> const> ConstPtr; 00211 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00212 }; // struct DifferentialControl 00213 typedef ::clearpath_base::DifferentialControl_<std::allocator<void> > DifferentialControl; 00214 00215 typedef boost::shared_ptr< ::clearpath_base::DifferentialControl> DifferentialControlPtr; 00216 typedef boost::shared_ptr< ::clearpath_base::DifferentialControl const> DifferentialControlConstPtr; 00217 00218 00219 template<typename ContainerAllocator> 00220 std::ostream& operator<<(std::ostream& s, const ::clearpath_base::DifferentialControl_<ContainerAllocator> & v) 00221 { 00222 ros::message_operations::Printer< ::clearpath_base::DifferentialControl_<ContainerAllocator> >::stream(s, "", v); 00223 return s;} 00224 00225 } // namespace clearpath_base 00226 00227 namespace ros 00228 { 00229 namespace message_traits 00230 { 00231 template<class ContainerAllocator> struct IsMessage< ::clearpath_base::DifferentialControl_<ContainerAllocator> > : public TrueType {}; 00232 template<class ContainerAllocator> struct IsMessage< ::clearpath_base::DifferentialControl_<ContainerAllocator> const> : public TrueType {}; 00233 template<class ContainerAllocator> 00234 struct MD5Sum< ::clearpath_base::DifferentialControl_<ContainerAllocator> > { 00235 static const char* value() 00236 { 00237 return "ae0672163e13fc0bb6491960c53a3259"; 00238 } 00239 00240 static const char* value(const ::clearpath_base::DifferentialControl_<ContainerAllocator> &) { return value(); } 00241 static const uint64_t static_value1 = 0xae0672163e13fc0bULL; 00242 static const uint64_t static_value2 = 0xb6491960c53a3259ULL; 00243 }; 00244 00245 template<class ContainerAllocator> 00246 struct DataType< ::clearpath_base::DifferentialControl_<ContainerAllocator> > { 00247 static const char* value() 00248 { 00249 return "clearpath_base/DifferentialControl"; 00250 } 00251 00252 static const char* value(const ::clearpath_base::DifferentialControl_<ContainerAllocator> &) { return value(); } 00253 }; 00254 00255 template<class ContainerAllocator> 00256 struct Definition< ::clearpath_base::DifferentialControl_<ContainerAllocator> > { 00257 static const char* value() 00258 { 00259 return "Header header\n\ 00260 float64 l_p\n\ 00261 float64 l_i\n\ 00262 float64 l_d\n\ 00263 float64 l_ffwd\n\ 00264 float64 l_stic\n\ 00265 float64 l_sat\n\ 00266 float64 r_p\n\ 00267 float64 r_i\n\ 00268 float64 r_d\n\ 00269 float64 r_ffwd\n\ 00270 float64 r_stic\n\ 00271 float64 r_sat\n\ 00272 \n\ 00273 ================================================================================\n\ 00274 MSG: std_msgs/Header\n\ 00275 # Standard metadata for higher-level stamped data types.\n\ 00276 # This is generally used to communicate timestamped data \n\ 00277 # in a particular coordinate frame.\n\ 00278 # \n\ 00279 # sequence ID: consecutively increasing ID \n\ 00280 uint32 seq\n\ 00281 #Two-integer timestamp that is expressed as:\n\ 00282 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00283 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00284 # time-handling sugar is provided by the client library\n\ 00285 time stamp\n\ 00286 #Frame this data is associated with\n\ 00287 # 0: no frame\n\ 00288 # 1: global frame\n\ 00289 string frame_id\n\ 00290 \n\ 00291 "; 00292 } 00293 00294 static const char* value(const ::clearpath_base::DifferentialControl_<ContainerAllocator> &) { return value(); } 00295 }; 00296 00297 template<class ContainerAllocator> struct HasHeader< ::clearpath_base::DifferentialControl_<ContainerAllocator> > : public TrueType {}; 00298 template<class ContainerAllocator> struct HasHeader< const ::clearpath_base::DifferentialControl_<ContainerAllocator> > : public TrueType {}; 00299 } // namespace message_traits 00300 } // namespace ros 00301 00302 namespace ros 00303 { 00304 namespace serialization 00305 { 00306 00307 template<class ContainerAllocator> struct Serializer< ::clearpath_base::DifferentialControl_<ContainerAllocator> > 00308 { 00309 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00310 { 00311 stream.next(m.header); 00312 stream.next(m.l_p); 00313 stream.next(m.l_i); 00314 stream.next(m.l_d); 00315 stream.next(m.l_ffwd); 00316 stream.next(m.l_stic); 00317 stream.next(m.l_sat); 00318 stream.next(m.r_p); 00319 stream.next(m.r_i); 00320 stream.next(m.r_d); 00321 stream.next(m.r_ffwd); 00322 stream.next(m.r_stic); 00323 stream.next(m.r_sat); 00324 } 00325 00326 ROS_DECLARE_ALLINONE_SERIALIZER; 00327 }; // struct DifferentialControl_ 00328 } // namespace serialization 00329 } // namespace ros 00330 00331 namespace ros 00332 { 00333 namespace message_operations 00334 { 00335 00336 template<class ContainerAllocator> 00337 struct Printer< ::clearpath_base::DifferentialControl_<ContainerAllocator> > 00338 { 00339 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::clearpath_base::DifferentialControl_<ContainerAllocator> & v) 00340 { 00341 s << indent << "header: "; 00342 s << std::endl; 00343 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header); 00344 s << indent << "l_p: "; 00345 Printer<double>::stream(s, indent + " ", v.l_p); 00346 s << indent << "l_i: "; 00347 Printer<double>::stream(s, indent + " ", v.l_i); 00348 s << indent << "l_d: "; 00349 Printer<double>::stream(s, indent + " ", v.l_d); 00350 s << indent << "l_ffwd: "; 00351 Printer<double>::stream(s, indent + " ", v.l_ffwd); 00352 s << indent << "l_stic: "; 00353 Printer<double>::stream(s, indent + " ", v.l_stic); 00354 s << indent << "l_sat: "; 00355 Printer<double>::stream(s, indent + " ", v.l_sat); 00356 s << indent << "r_p: "; 00357 Printer<double>::stream(s, indent + " ", v.r_p); 00358 s << indent << "r_i: "; 00359 Printer<double>::stream(s, indent + " ", v.r_i); 00360 s << indent << "r_d: "; 00361 Printer<double>::stream(s, indent + " ", v.r_d); 00362 s << indent << "r_ffwd: "; 00363 Printer<double>::stream(s, indent + " ", v.r_ffwd); 00364 s << indent << "r_stic: "; 00365 Printer<double>::stream(s, indent + " ", v.r_stic); 00366 s << indent << "r_sat: "; 00367 Printer<double>::stream(s, indent + " ", v.r_sat); 00368 } 00369 }; 00370 00371 00372 } // namespace message_operations 00373 } // namespace ros 00374 00375 #endif // CLEARPATH_BASE_MESSAGE_DIFFERENTIALCONTROL_H 00376