Go to the documentation of this file.00001
00002 #ifndef DYNAMIC_TF_PUBLISHER_SERVICE_SETDYNAMICTF_H
00003 #define DYNAMIC_TF_PUBLISHER_SERVICE_SETDYNAMICTF_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 "ros/service_traits.h"
00018
00019 #include "geometry_msgs/TransformStamped.h"
00020
00021
00022
00023 namespace dynamic_tf_publisher
00024 {
00025 template <class ContainerAllocator>
00026 struct SetDynamicTFRequest_ {
00027 typedef SetDynamicTFRequest_<ContainerAllocator> Type;
00028
00029 SetDynamicTFRequest_()
00030 : freq(0.0)
00031 , cur_tf()
00032 {
00033 }
00034
00035 SetDynamicTFRequest_(const ContainerAllocator& _alloc)
00036 : freq(0.0)
00037 , cur_tf(_alloc)
00038 {
00039 }
00040
00041 typedef float _freq_type;
00042 float freq;
00043
00044 typedef ::geometry_msgs::TransformStamped_<ContainerAllocator> _cur_tf_type;
00045 ::geometry_msgs::TransformStamped_<ContainerAllocator> cur_tf;
00046
00047
00048 typedef boost::shared_ptr< ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> > Ptr;
00049 typedef boost::shared_ptr< ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> const> ConstPtr;
00050 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00051 };
00052 typedef ::dynamic_tf_publisher::SetDynamicTFRequest_<std::allocator<void> > SetDynamicTFRequest;
00053
00054 typedef boost::shared_ptr< ::dynamic_tf_publisher::SetDynamicTFRequest> SetDynamicTFRequestPtr;
00055 typedef boost::shared_ptr< ::dynamic_tf_publisher::SetDynamicTFRequest const> SetDynamicTFRequestConstPtr;
00056
00057
00058 template <class ContainerAllocator>
00059 struct SetDynamicTFResponse_ {
00060 typedef SetDynamicTFResponse_<ContainerAllocator> Type;
00061
00062 SetDynamicTFResponse_()
00063 {
00064 }
00065
00066 SetDynamicTFResponse_(const ContainerAllocator& _alloc)
00067 {
00068 }
00069
00070
00071 typedef boost::shared_ptr< ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> > Ptr;
00072 typedef boost::shared_ptr< ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> const> ConstPtr;
00073 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00074 };
00075 typedef ::dynamic_tf_publisher::SetDynamicTFResponse_<std::allocator<void> > SetDynamicTFResponse;
00076
00077 typedef boost::shared_ptr< ::dynamic_tf_publisher::SetDynamicTFResponse> SetDynamicTFResponsePtr;
00078 typedef boost::shared_ptr< ::dynamic_tf_publisher::SetDynamicTFResponse const> SetDynamicTFResponseConstPtr;
00079
00080 struct SetDynamicTF
00081 {
00082
00083 typedef SetDynamicTFRequest Request;
00084 typedef SetDynamicTFResponse Response;
00085 Request request;
00086 Response response;
00087
00088 typedef Request RequestType;
00089 typedef Response ResponseType;
00090 };
00091 }
00092
00093 namespace ros
00094 {
00095 namespace message_traits
00096 {
00097 template<class ContainerAllocator> struct IsMessage< ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> > : public TrueType {};
00098 template<class ContainerAllocator> struct IsMessage< ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> const> : public TrueType {};
00099 template<class ContainerAllocator>
00100 struct MD5Sum< ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> > {
00101 static const char* value()
00102 {
00103 return "257be6eb2c49e846d6c3c12c85bb0fb1";
00104 }
00105
00106 static const char* value(const ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> &) { return value(); }
00107 static const uint64_t static_value1 = 0x257be6eb2c49e846ULL;
00108 static const uint64_t static_value2 = 0xd6c3c12c85bb0fb1ULL;
00109 };
00110
00111 template<class ContainerAllocator>
00112 struct DataType< ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> > {
00113 static const char* value()
00114 {
00115 return "dynamic_tf_publisher/SetDynamicTFRequest";
00116 }
00117
00118 static const char* value(const ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> &) { return value(); }
00119 };
00120
00121 template<class ContainerAllocator>
00122 struct Definition< ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> > {
00123 static const char* value()
00124 {
00125 return "float32 freq\n\
00126 geometry_msgs/TransformStamped cur_tf\n\
00127 \n\
00128 ================================================================================\n\
00129 MSG: geometry_msgs/TransformStamped\n\
00130 # This expresses a transform from coordinate frame header.frame_id\n\
00131 # to the coordinate frame child_frame_id\n\
00132 #\n\
00133 # This message is mostly used by the \n\
00134 # <a href=\"http://www.ros.org/wiki/tf\">tf</a> package. \n\
00135 # See it's documentation for more information.\n\
00136 \n\
00137 Header header\n\
00138 string child_frame_id # the frame id of the child frame\n\
00139 Transform transform\n\
00140 \n\
00141 ================================================================================\n\
00142 MSG: std_msgs/Header\n\
00143 # Standard metadata for higher-level stamped data types.\n\
00144 # This is generally used to communicate timestamped data \n\
00145 # in a particular coordinate frame.\n\
00146 # \n\
00147 # sequence ID: consecutively increasing ID \n\
00148 uint32 seq\n\
00149 #Two-integer timestamp that is expressed as:\n\
00150 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00151 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00152 # time-handling sugar is provided by the client library\n\
00153 time stamp\n\
00154 #Frame this data is associated with\n\
00155 # 0: no frame\n\
00156 # 1: global frame\n\
00157 string frame_id\n\
00158 \n\
00159 ================================================================================\n\
00160 MSG: geometry_msgs/Transform\n\
00161 # This represents the transform between two coordinate frames in free space.\n\
00162 \n\
00163 Vector3 translation\n\
00164 Quaternion rotation\n\
00165 \n\
00166 ================================================================================\n\
00167 MSG: geometry_msgs/Vector3\n\
00168 # This represents a vector in free space. \n\
00169 \n\
00170 float64 x\n\
00171 float64 y\n\
00172 float64 z\n\
00173 ================================================================================\n\
00174 MSG: geometry_msgs/Quaternion\n\
00175 # This represents an orientation in free space in quaternion form.\n\
00176 \n\
00177 float64 x\n\
00178 float64 y\n\
00179 float64 z\n\
00180 float64 w\n\
00181 \n\
00182 ";
00183 }
00184
00185 static const char* value(const ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> &) { return value(); }
00186 };
00187
00188 }
00189 }
00190
00191
00192 namespace ros
00193 {
00194 namespace message_traits
00195 {
00196 template<class ContainerAllocator> struct IsMessage< ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> > : public TrueType {};
00197 template<class ContainerAllocator> struct IsMessage< ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> const> : public TrueType {};
00198 template<class ContainerAllocator>
00199 struct MD5Sum< ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> > {
00200 static const char* value()
00201 {
00202 return "d41d8cd98f00b204e9800998ecf8427e";
00203 }
00204
00205 static const char* value(const ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> &) { return value(); }
00206 static const uint64_t static_value1 = 0xd41d8cd98f00b204ULL;
00207 static const uint64_t static_value2 = 0xe9800998ecf8427eULL;
00208 };
00209
00210 template<class ContainerAllocator>
00211 struct DataType< ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> > {
00212 static const char* value()
00213 {
00214 return "dynamic_tf_publisher/SetDynamicTFResponse";
00215 }
00216
00217 static const char* value(const ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> &) { return value(); }
00218 };
00219
00220 template<class ContainerAllocator>
00221 struct Definition< ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> > {
00222 static const char* value()
00223 {
00224 return "\n\
00225 \n\
00226 ";
00227 }
00228
00229 static const char* value(const ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> &) { return value(); }
00230 };
00231
00232 template<class ContainerAllocator> struct IsFixedSize< ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> > : public TrueType {};
00233 }
00234 }
00235
00236 namespace ros
00237 {
00238 namespace serialization
00239 {
00240
00241 template<class ContainerAllocator> struct Serializer< ::dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> >
00242 {
00243 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00244 {
00245 stream.next(m.freq);
00246 stream.next(m.cur_tf);
00247 }
00248
00249 ROS_DECLARE_ALLINONE_SERIALIZER;
00250 };
00251 }
00252 }
00253
00254
00255 namespace ros
00256 {
00257 namespace serialization
00258 {
00259
00260 template<class ContainerAllocator> struct Serializer< ::dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> >
00261 {
00262 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00263 {
00264 }
00265
00266 ROS_DECLARE_ALLINONE_SERIALIZER;
00267 };
00268 }
00269 }
00270
00271 namespace ros
00272 {
00273 namespace service_traits
00274 {
00275 template<>
00276 struct MD5Sum<dynamic_tf_publisher::SetDynamicTF> {
00277 static const char* value()
00278 {
00279 return "257be6eb2c49e846d6c3c12c85bb0fb1";
00280 }
00281
00282 static const char* value(const dynamic_tf_publisher::SetDynamicTF&) { return value(); }
00283 };
00284
00285 template<>
00286 struct DataType<dynamic_tf_publisher::SetDynamicTF> {
00287 static const char* value()
00288 {
00289 return "dynamic_tf_publisher/SetDynamicTF";
00290 }
00291
00292 static const char* value(const dynamic_tf_publisher::SetDynamicTF&) { return value(); }
00293 };
00294
00295 template<class ContainerAllocator>
00296 struct MD5Sum<dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> > {
00297 static const char* value()
00298 {
00299 return "257be6eb2c49e846d6c3c12c85bb0fb1";
00300 }
00301
00302 static const char* value(const dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> &) { return value(); }
00303 };
00304
00305 template<class ContainerAllocator>
00306 struct DataType<dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> > {
00307 static const char* value()
00308 {
00309 return "dynamic_tf_publisher/SetDynamicTF";
00310 }
00311
00312 static const char* value(const dynamic_tf_publisher::SetDynamicTFRequest_<ContainerAllocator> &) { return value(); }
00313 };
00314
00315 template<class ContainerAllocator>
00316 struct MD5Sum<dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> > {
00317 static const char* value()
00318 {
00319 return "257be6eb2c49e846d6c3c12c85bb0fb1";
00320 }
00321
00322 static const char* value(const dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> &) { return value(); }
00323 };
00324
00325 template<class ContainerAllocator>
00326 struct DataType<dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> > {
00327 static const char* value()
00328 {
00329 return "dynamic_tf_publisher/SetDynamicTF";
00330 }
00331
00332 static const char* value(const dynamic_tf_publisher::SetDynamicTFResponse_<ContainerAllocator> &) { return value(); }
00333 };
00334
00335 }
00336 }
00337
00338 #endif // DYNAMIC_TF_PUBLISHER_SERVICE_SETDYNAMICTF_H
00339