00001
00002 #ifndef PR2_INTERACTIVE_SEGMENTATION_SERVICE_ESTIMATERIGID_H
00003 #define PR2_INTERACTIVE_SEGMENTATION_SERVICE_ESTIMATERIGID_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/Point.h"
00020 #include "geometry_msgs/Point.h"
00021
00022
00023
00024 namespace pr2_interactive_segmentation
00025 {
00026 template <class ContainerAllocator>
00027 struct estimateRigidRequest_ {
00028 typedef estimateRigidRequest_<ContainerAllocator> Type;
00029
00030 estimateRigidRequest_()
00031 : features_old()
00032 , features_new()
00033 {
00034 }
00035
00036 estimateRigidRequest_(const ContainerAllocator& _alloc)
00037 : features_old(_alloc)
00038 , features_new(_alloc)
00039 {
00040 }
00041
00042 typedef std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > _features_old_type;
00043 std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > features_old;
00044
00045 typedef std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > _features_new_type;
00046 std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > features_new;
00047
00048
00049 ROS_DEPRECATED uint32_t get_features_old_size() const { return (uint32_t)features_old.size(); }
00050 ROS_DEPRECATED void set_features_old_size(uint32_t size) { features_old.resize((size_t)size); }
00051 ROS_DEPRECATED void get_features_old_vec(std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > & vec) const { vec = this->features_old; }
00052 ROS_DEPRECATED void set_features_old_vec(const std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > & vec) { this->features_old = vec; }
00053 ROS_DEPRECATED uint32_t get_features_new_size() const { return (uint32_t)features_new.size(); }
00054 ROS_DEPRECATED void set_features_new_size(uint32_t size) { features_new.resize((size_t)size); }
00055 ROS_DEPRECATED void get_features_new_vec(std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > & vec) const { vec = this->features_new; }
00056 ROS_DEPRECATED void set_features_new_vec(const std::vector< ::geometry_msgs::Point_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Point_<ContainerAllocator> >::other > & vec) { this->features_new = vec; }
00057 private:
00058 static const char* __s_getDataType_() { return "pr2_interactive_segmentation/estimateRigidRequest"; }
00059 public:
00060 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00061
00062 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00063
00064 private:
00065 static const char* __s_getMD5Sum_() { return "eaeb4f6d418a85830ffa122d5a7a9cc8"; }
00066 public:
00067 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00068
00069 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00070
00071 private:
00072 static const char* __s_getServerMD5Sum_() { return "536808d5a729d88f5d653c8f3bc1c5db"; }
00073 public:
00074 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00075
00076 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00077
00078 private:
00079 static const char* __s_getMessageDefinition_() { return "geometry_msgs/Point[] features_old\n\
00080 geometry_msgs/Point[] features_new\n\
00081 \n\
00082 ================================================================================\n\
00083 MSG: geometry_msgs/Point\n\
00084 # This contains the position of a point in free space\n\
00085 float64 x\n\
00086 float64 y\n\
00087 float64 z\n\
00088 \n\
00089 "; }
00090 public:
00091 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00092
00093 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00094
00095 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00096 {
00097 ros::serialization::OStream stream(write_ptr, 1000000000);
00098 ros::serialization::serialize(stream, features_old);
00099 ros::serialization::serialize(stream, features_new);
00100 return stream.getData();
00101 }
00102
00103 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00104 {
00105 ros::serialization::IStream stream(read_ptr, 1000000000);
00106 ros::serialization::deserialize(stream, features_old);
00107 ros::serialization::deserialize(stream, features_new);
00108 return stream.getData();
00109 }
00110
00111 ROS_DEPRECATED virtual uint32_t serializationLength() const
00112 {
00113 uint32_t size = 0;
00114 size += ros::serialization::serializationLength(features_old);
00115 size += ros::serialization::serializationLength(features_new);
00116 return size;
00117 }
00118
00119 typedef boost::shared_ptr< ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> > Ptr;
00120 typedef boost::shared_ptr< ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> const> ConstPtr;
00121 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00122 };
00123 typedef ::pr2_interactive_segmentation::estimateRigidRequest_<std::allocator<void> > estimateRigidRequest;
00124
00125 typedef boost::shared_ptr< ::pr2_interactive_segmentation::estimateRigidRequest> estimateRigidRequestPtr;
00126 typedef boost::shared_ptr< ::pr2_interactive_segmentation::estimateRigidRequest const> estimateRigidRequestConstPtr;
00127
00128
00129 template <class ContainerAllocator>
00130 struct estimateRigidResponse_ {
00131 typedef estimateRigidResponse_<ContainerAllocator> Type;
00132
00133 estimateRigidResponse_()
00134 : inliers()
00135 , success(0)
00136 {
00137 }
00138
00139 estimateRigidResponse_(const ContainerAllocator& _alloc)
00140 : inliers(_alloc)
00141 , success(0)
00142 {
00143 }
00144
00145 typedef std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > _inliers_type;
00146 std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > inliers;
00147
00148 typedef int32_t _success_type;
00149 int32_t success;
00150
00151
00152 ROS_DEPRECATED uint32_t get_inliers_size() const { return (uint32_t)inliers.size(); }
00153 ROS_DEPRECATED void set_inliers_size(uint32_t size) { inliers.resize((size_t)size); }
00154 ROS_DEPRECATED void get_inliers_vec(std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > & vec) const { vec = this->inliers; }
00155 ROS_DEPRECATED void set_inliers_vec(const std::vector<int32_t, typename ContainerAllocator::template rebind<int32_t>::other > & vec) { this->inliers = vec; }
00156 private:
00157 static const char* __s_getDataType_() { return "pr2_interactive_segmentation/estimateRigidResponse"; }
00158 public:
00159 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00160
00161 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00162
00163 private:
00164 static const char* __s_getMD5Sum_() { return "f8cc7c148e0090fd4023bed192be4679"; }
00165 public:
00166 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00167
00168 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00169
00170 private:
00171 static const char* __s_getServerMD5Sum_() { return "536808d5a729d88f5d653c8f3bc1c5db"; }
00172 public:
00173 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00174
00175 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00176
00177 private:
00178 static const char* __s_getMessageDefinition_() { return "int32[] inliers\n\
00179 int32 success\n\
00180 \n\
00181 "; }
00182 public:
00183 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00184
00185 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00186
00187 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00188 {
00189 ros::serialization::OStream stream(write_ptr, 1000000000);
00190 ros::serialization::serialize(stream, inliers);
00191 ros::serialization::serialize(stream, success);
00192 return stream.getData();
00193 }
00194
00195 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00196 {
00197 ros::serialization::IStream stream(read_ptr, 1000000000);
00198 ros::serialization::deserialize(stream, inliers);
00199 ros::serialization::deserialize(stream, success);
00200 return stream.getData();
00201 }
00202
00203 ROS_DEPRECATED virtual uint32_t serializationLength() const
00204 {
00205 uint32_t size = 0;
00206 size += ros::serialization::serializationLength(inliers);
00207 size += ros::serialization::serializationLength(success);
00208 return size;
00209 }
00210
00211 typedef boost::shared_ptr< ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> > Ptr;
00212 typedef boost::shared_ptr< ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> const> ConstPtr;
00213 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00214 };
00215 typedef ::pr2_interactive_segmentation::estimateRigidResponse_<std::allocator<void> > estimateRigidResponse;
00216
00217 typedef boost::shared_ptr< ::pr2_interactive_segmentation::estimateRigidResponse> estimateRigidResponsePtr;
00218 typedef boost::shared_ptr< ::pr2_interactive_segmentation::estimateRigidResponse const> estimateRigidResponseConstPtr;
00219
00220 struct estimateRigid
00221 {
00222
00223 typedef estimateRigidRequest Request;
00224 typedef estimateRigidResponse Response;
00225 Request request;
00226 Response response;
00227
00228 typedef Request RequestType;
00229 typedef Response ResponseType;
00230 };
00231 }
00232
00233 namespace ros
00234 {
00235 namespace message_traits
00236 {
00237 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> > : public TrueType {};
00238 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> const> : public TrueType {};
00239 template<class ContainerAllocator>
00240 struct MD5Sum< ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> > {
00241 static const char* value()
00242 {
00243 return "eaeb4f6d418a85830ffa122d5a7a9cc8";
00244 }
00245
00246 static const char* value(const ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> &) { return value(); }
00247 static const uint64_t static_value1 = 0xeaeb4f6d418a8583ULL;
00248 static const uint64_t static_value2 = 0x0ffa122d5a7a9cc8ULL;
00249 };
00250
00251 template<class ContainerAllocator>
00252 struct DataType< ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> > {
00253 static const char* value()
00254 {
00255 return "pr2_interactive_segmentation/estimateRigidRequest";
00256 }
00257
00258 static const char* value(const ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> &) { return value(); }
00259 };
00260
00261 template<class ContainerAllocator>
00262 struct Definition< ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> > {
00263 static const char* value()
00264 {
00265 return "geometry_msgs/Point[] features_old\n\
00266 geometry_msgs/Point[] features_new\n\
00267 \n\
00268 ================================================================================\n\
00269 MSG: geometry_msgs/Point\n\
00270 # This contains the position of a point in free space\n\
00271 float64 x\n\
00272 float64 y\n\
00273 float64 z\n\
00274 \n\
00275 ";
00276 }
00277
00278 static const char* value(const ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> &) { return value(); }
00279 };
00280
00281 }
00282 }
00283
00284
00285 namespace ros
00286 {
00287 namespace message_traits
00288 {
00289 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> > : public TrueType {};
00290 template<class ContainerAllocator> struct IsMessage< ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> const> : public TrueType {};
00291 template<class ContainerAllocator>
00292 struct MD5Sum< ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> > {
00293 static const char* value()
00294 {
00295 return "f8cc7c148e0090fd4023bed192be4679";
00296 }
00297
00298 static const char* value(const ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> &) { return value(); }
00299 static const uint64_t static_value1 = 0xf8cc7c148e0090fdULL;
00300 static const uint64_t static_value2 = 0x4023bed192be4679ULL;
00301 };
00302
00303 template<class ContainerAllocator>
00304 struct DataType< ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> > {
00305 static const char* value()
00306 {
00307 return "pr2_interactive_segmentation/estimateRigidResponse";
00308 }
00309
00310 static const char* value(const ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> &) { return value(); }
00311 };
00312
00313 template<class ContainerAllocator>
00314 struct Definition< ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> > {
00315 static const char* value()
00316 {
00317 return "int32[] inliers\n\
00318 int32 success\n\
00319 \n\
00320 ";
00321 }
00322
00323 static const char* value(const ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> &) { return value(); }
00324 };
00325
00326 }
00327 }
00328
00329 namespace ros
00330 {
00331 namespace serialization
00332 {
00333
00334 template<class ContainerAllocator> struct Serializer< ::pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> >
00335 {
00336 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00337 {
00338 stream.next(m.features_old);
00339 stream.next(m.features_new);
00340 }
00341
00342 ROS_DECLARE_ALLINONE_SERIALIZER;
00343 };
00344 }
00345 }
00346
00347
00348 namespace ros
00349 {
00350 namespace serialization
00351 {
00352
00353 template<class ContainerAllocator> struct Serializer< ::pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> >
00354 {
00355 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00356 {
00357 stream.next(m.inliers);
00358 stream.next(m.success);
00359 }
00360
00361 ROS_DECLARE_ALLINONE_SERIALIZER;
00362 };
00363 }
00364 }
00365
00366 namespace ros
00367 {
00368 namespace service_traits
00369 {
00370 template<>
00371 struct MD5Sum<pr2_interactive_segmentation::estimateRigid> {
00372 static const char* value()
00373 {
00374 return "536808d5a729d88f5d653c8f3bc1c5db";
00375 }
00376
00377 static const char* value(const pr2_interactive_segmentation::estimateRigid&) { return value(); }
00378 };
00379
00380 template<>
00381 struct DataType<pr2_interactive_segmentation::estimateRigid> {
00382 static const char* value()
00383 {
00384 return "pr2_interactive_segmentation/estimateRigid";
00385 }
00386
00387 static const char* value(const pr2_interactive_segmentation::estimateRigid&) { return value(); }
00388 };
00389
00390 template<class ContainerAllocator>
00391 struct MD5Sum<pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> > {
00392 static const char* value()
00393 {
00394 return "536808d5a729d88f5d653c8f3bc1c5db";
00395 }
00396
00397 static const char* value(const pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> &) { return value(); }
00398 };
00399
00400 template<class ContainerAllocator>
00401 struct DataType<pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> > {
00402 static const char* value()
00403 {
00404 return "pr2_interactive_segmentation/estimateRigid";
00405 }
00406
00407 static const char* value(const pr2_interactive_segmentation::estimateRigidRequest_<ContainerAllocator> &) { return value(); }
00408 };
00409
00410 template<class ContainerAllocator>
00411 struct MD5Sum<pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> > {
00412 static const char* value()
00413 {
00414 return "536808d5a729d88f5d653c8f3bc1c5db";
00415 }
00416
00417 static const char* value(const pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> &) { return value(); }
00418 };
00419
00420 template<class ContainerAllocator>
00421 struct DataType<pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> > {
00422 static const char* value()
00423 {
00424 return "pr2_interactive_segmentation/estimateRigid";
00425 }
00426
00427 static const char* value(const pr2_interactive_segmentation::estimateRigidResponse_<ContainerAllocator> &) { return value(); }
00428 };
00429
00430 }
00431 }
00432
00433 #endif // PR2_INTERACTIVE_SEGMENTATION_SERVICE_ESTIMATERIGID_H
00434