00001
00002 #ifndef SRS_ENV_MODEL_PERCP_SERVICE_ESTIMATE2DHULLMESH_H
00003 #define SRS_ENV_MODEL_PERCP_SERVICE_ESTIMATE2DHULLMESH_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 "std_msgs/Header.h"
00020 #include "arm_navigation_msgs/Shape.h"
00021
00022
00023 #include "geometry_msgs/Polygon.h"
00024
00025 namespace srs_env_model_percp
00026 {
00027 template <class ContainerAllocator>
00028 struct Estimate2DHullMeshRequest_ {
00029 typedef Estimate2DHullMeshRequest_<ContainerAllocator> Type;
00030
00031 Estimate2DHullMeshRequest_()
00032 : header()
00033 , mesh()
00034 {
00035 }
00036
00037 Estimate2DHullMeshRequest_(const ContainerAllocator& _alloc)
00038 : header(_alloc)
00039 , mesh(_alloc)
00040 {
00041 }
00042
00043 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00044 ::std_msgs::Header_<ContainerAllocator> header;
00045
00046 typedef ::arm_navigation_msgs::Shape_<ContainerAllocator> _mesh_type;
00047 ::arm_navigation_msgs::Shape_<ContainerAllocator> mesh;
00048
00049
00050 private:
00051 static const char* __s_getDataType_() { return "srs_env_model_percp/Estimate2DHullMeshRequest"; }
00052 public:
00053 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00054
00055 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00056
00057 private:
00058 static const char* __s_getMD5Sum_() { return "9c05409a5132ae03b3447a07d79be879"; }
00059 public:
00060 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00061
00062 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00063
00064 private:
00065 static const char* __s_getServerMD5Sum_() { return "6a2889ab927091c2a5c3e57dd5a07dda"; }
00066 public:
00067 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00068
00069 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00070
00071 private:
00072 static const char* __s_getMessageDefinition_() { return "\n\
00073 \n\
00074 \n\
00075 Header header\n\
00076 \n\
00077 \n\
00078 arm_navigation_msgs/Shape mesh\n\
00079 \n\
00080 ================================================================================\n\
00081 MSG: std_msgs/Header\n\
00082 # Standard metadata for higher-level stamped data types.\n\
00083 # This is generally used to communicate timestamped data \n\
00084 # in a particular coordinate frame.\n\
00085 # \n\
00086 # sequence ID: consecutively increasing ID \n\
00087 uint32 seq\n\
00088 #Two-integer timestamp that is expressed as:\n\
00089 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00090 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00091 # time-handling sugar is provided by the client library\n\
00092 time stamp\n\
00093 #Frame this data is associated with\n\
00094 # 0: no frame\n\
00095 # 1: global frame\n\
00096 string frame_id\n\
00097 \n\
00098 ================================================================================\n\
00099 MSG: arm_navigation_msgs/Shape\n\
00100 byte SPHERE=0\n\
00101 byte BOX=1\n\
00102 byte CYLINDER=2\n\
00103 byte MESH=3\n\
00104 \n\
00105 byte type\n\
00106 \n\
00107 \n\
00108 #### define sphere, box, cylinder ####\n\
00109 # the origin of each shape is considered at the shape's center\n\
00110 \n\
00111 # for sphere\n\
00112 # radius := dimensions[0]\n\
00113 \n\
00114 # for cylinder\n\
00115 # radius := dimensions[0]\n\
00116 # length := dimensions[1]\n\
00117 # the length is along the Z axis\n\
00118 \n\
00119 # for box\n\
00120 # size_x := dimensions[0]\n\
00121 # size_y := dimensions[1]\n\
00122 # size_z := dimensions[2]\n\
00123 float64[] dimensions\n\
00124 \n\
00125 \n\
00126 #### define mesh ####\n\
00127 \n\
00128 # list of triangles; triangle k is defined by tre vertices located\n\
00129 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00130 int32[] triangles\n\
00131 geometry_msgs/Point[] vertices\n\
00132 \n\
00133 ================================================================================\n\
00134 MSG: geometry_msgs/Point\n\
00135 # This contains the position of a point in free space\n\
00136 float64 x\n\
00137 float64 y\n\
00138 float64 z\n\
00139 \n\
00140 "; }
00141 public:
00142 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00143
00144 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00145
00146 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00147 {
00148 ros::serialization::OStream stream(write_ptr, 1000000000);
00149 ros::serialization::serialize(stream, header);
00150 ros::serialization::serialize(stream, mesh);
00151 return stream.getData();
00152 }
00153
00154 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00155 {
00156 ros::serialization::IStream stream(read_ptr, 1000000000);
00157 ros::serialization::deserialize(stream, header);
00158 ros::serialization::deserialize(stream, mesh);
00159 return stream.getData();
00160 }
00161
00162 ROS_DEPRECATED virtual uint32_t serializationLength() const
00163 {
00164 uint32_t size = 0;
00165 size += ros::serialization::serializationLength(header);
00166 size += ros::serialization::serializationLength(mesh);
00167 return size;
00168 }
00169
00170 typedef boost::shared_ptr< ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> > Ptr;
00171 typedef boost::shared_ptr< ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> const> ConstPtr;
00172 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00173 };
00174 typedef ::srs_env_model_percp::Estimate2DHullMeshRequest_<std::allocator<void> > Estimate2DHullMeshRequest;
00175
00176 typedef boost::shared_ptr< ::srs_env_model_percp::Estimate2DHullMeshRequest> Estimate2DHullMeshRequestPtr;
00177 typedef boost::shared_ptr< ::srs_env_model_percp::Estimate2DHullMeshRequest const> Estimate2DHullMeshRequestConstPtr;
00178
00179
00180 template <class ContainerAllocator>
00181 struct Estimate2DHullMeshResponse_ {
00182 typedef Estimate2DHullMeshResponse_<ContainerAllocator> Type;
00183
00184 Estimate2DHullMeshResponse_()
00185 : convexHull()
00186 {
00187 }
00188
00189 Estimate2DHullMeshResponse_(const ContainerAllocator& _alloc)
00190 : convexHull(_alloc)
00191 {
00192 }
00193
00194 typedef ::geometry_msgs::Polygon_<ContainerAllocator> _convexHull_type;
00195 ::geometry_msgs::Polygon_<ContainerAllocator> convexHull;
00196
00197
00198 private:
00199 static const char* __s_getDataType_() { return "srs_env_model_percp/Estimate2DHullMeshResponse"; }
00200 public:
00201 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00202
00203 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00204
00205 private:
00206 static const char* __s_getMD5Sum_() { return "00af134be58b0bb036eccab2a39f05f6"; }
00207 public:
00208 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00209
00210 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00211
00212 private:
00213 static const char* __s_getServerMD5Sum_() { return "6a2889ab927091c2a5c3e57dd5a07dda"; }
00214 public:
00215 ROS_DEPRECATED static const std::string __s_getServerMD5Sum() { return __s_getServerMD5Sum_(); }
00216
00217 ROS_DEPRECATED const std::string __getServerMD5Sum() const { return __s_getServerMD5Sum_(); }
00218
00219 private:
00220 static const char* __s_getMessageDefinition_() { return "\n\
00221 \n\
00222 \n\
00223 \n\
00224 geometry_msgs/Polygon convexHull\n\
00225 \n\
00226 \n\
00227 \n\
00228 ================================================================================\n\
00229 MSG: geometry_msgs/Polygon\n\
00230 #A specification of a polygon where the first and last points are assumed to be connected\n\
00231 geometry_msgs/Point32[] points\n\
00232 \n\
00233 ================================================================================\n\
00234 MSG: geometry_msgs/Point32\n\
00235 # This contains the position of a point in free space(with 32 bits of precision).\n\
00236 # It is recommeded to use Point wherever possible instead of Point32. \n\
00237 # \n\
00238 # This recommendation is to promote interoperability. \n\
00239 #\n\
00240 # This message is designed to take up less space when sending\n\
00241 # lots of points at once, as in the case of a PointCloud. \n\
00242 \n\
00243 float32 x\n\
00244 float32 y\n\
00245 float32 z\n\
00246 "; }
00247 public:
00248 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00249
00250 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00251
00252 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00253 {
00254 ros::serialization::OStream stream(write_ptr, 1000000000);
00255 ros::serialization::serialize(stream, convexHull);
00256 return stream.getData();
00257 }
00258
00259 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00260 {
00261 ros::serialization::IStream stream(read_ptr, 1000000000);
00262 ros::serialization::deserialize(stream, convexHull);
00263 return stream.getData();
00264 }
00265
00266 ROS_DEPRECATED virtual uint32_t serializationLength() const
00267 {
00268 uint32_t size = 0;
00269 size += ros::serialization::serializationLength(convexHull);
00270 return size;
00271 }
00272
00273 typedef boost::shared_ptr< ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> > Ptr;
00274 typedef boost::shared_ptr< ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> const> ConstPtr;
00275 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00276 };
00277 typedef ::srs_env_model_percp::Estimate2DHullMeshResponse_<std::allocator<void> > Estimate2DHullMeshResponse;
00278
00279 typedef boost::shared_ptr< ::srs_env_model_percp::Estimate2DHullMeshResponse> Estimate2DHullMeshResponsePtr;
00280 typedef boost::shared_ptr< ::srs_env_model_percp::Estimate2DHullMeshResponse const> Estimate2DHullMeshResponseConstPtr;
00281
00282 struct Estimate2DHullMesh
00283 {
00284
00285 typedef Estimate2DHullMeshRequest Request;
00286 typedef Estimate2DHullMeshResponse Response;
00287 Request request;
00288 Response response;
00289
00290 typedef Request RequestType;
00291 typedef Response ResponseType;
00292 };
00293 }
00294
00295 namespace ros
00296 {
00297 namespace message_traits
00298 {
00299 template<class ContainerAllocator> struct IsMessage< ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> > : public TrueType {};
00300 template<class ContainerAllocator> struct IsMessage< ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> const> : public TrueType {};
00301 template<class ContainerAllocator>
00302 struct MD5Sum< ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> > {
00303 static const char* value()
00304 {
00305 return "9c05409a5132ae03b3447a07d79be879";
00306 }
00307
00308 static const char* value(const ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> &) { return value(); }
00309 static const uint64_t static_value1 = 0x9c05409a5132ae03ULL;
00310 static const uint64_t static_value2 = 0xb3447a07d79be879ULL;
00311 };
00312
00313 template<class ContainerAllocator>
00314 struct DataType< ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> > {
00315 static const char* value()
00316 {
00317 return "srs_env_model_percp/Estimate2DHullMeshRequest";
00318 }
00319
00320 static const char* value(const ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> &) { return value(); }
00321 };
00322
00323 template<class ContainerAllocator>
00324 struct Definition< ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> > {
00325 static const char* value()
00326 {
00327 return "\n\
00328 \n\
00329 \n\
00330 Header header\n\
00331 \n\
00332 \n\
00333 arm_navigation_msgs/Shape mesh\n\
00334 \n\
00335 ================================================================================\n\
00336 MSG: std_msgs/Header\n\
00337 # Standard metadata for higher-level stamped data types.\n\
00338 # This is generally used to communicate timestamped data \n\
00339 # in a particular coordinate frame.\n\
00340 # \n\
00341 # sequence ID: consecutively increasing ID \n\
00342 uint32 seq\n\
00343 #Two-integer timestamp that is expressed as:\n\
00344 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00345 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00346 # time-handling sugar is provided by the client library\n\
00347 time stamp\n\
00348 #Frame this data is associated with\n\
00349 # 0: no frame\n\
00350 # 1: global frame\n\
00351 string frame_id\n\
00352 \n\
00353 ================================================================================\n\
00354 MSG: arm_navigation_msgs/Shape\n\
00355 byte SPHERE=0\n\
00356 byte BOX=1\n\
00357 byte CYLINDER=2\n\
00358 byte MESH=3\n\
00359 \n\
00360 byte type\n\
00361 \n\
00362 \n\
00363 #### define sphere, box, cylinder ####\n\
00364 # the origin of each shape is considered at the shape's center\n\
00365 \n\
00366 # for sphere\n\
00367 # radius := dimensions[0]\n\
00368 \n\
00369 # for cylinder\n\
00370 # radius := dimensions[0]\n\
00371 # length := dimensions[1]\n\
00372 # the length is along the Z axis\n\
00373 \n\
00374 # for box\n\
00375 # size_x := dimensions[0]\n\
00376 # size_y := dimensions[1]\n\
00377 # size_z := dimensions[2]\n\
00378 float64[] dimensions\n\
00379 \n\
00380 \n\
00381 #### define mesh ####\n\
00382 \n\
00383 # list of triangles; triangle k is defined by tre vertices located\n\
00384 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\
00385 int32[] triangles\n\
00386 geometry_msgs/Point[] vertices\n\
00387 \n\
00388 ================================================================================\n\
00389 MSG: geometry_msgs/Point\n\
00390 # This contains the position of a point in free space\n\
00391 float64 x\n\
00392 float64 y\n\
00393 float64 z\n\
00394 \n\
00395 ";
00396 }
00397
00398 static const char* value(const ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> &) { return value(); }
00399 };
00400
00401 template<class ContainerAllocator> struct HasHeader< ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> > : public TrueType {};
00402 template<class ContainerAllocator> struct HasHeader< const ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> > : public TrueType {};
00403 }
00404 }
00405
00406
00407 namespace ros
00408 {
00409 namespace message_traits
00410 {
00411 template<class ContainerAllocator> struct IsMessage< ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> > : public TrueType {};
00412 template<class ContainerAllocator> struct IsMessage< ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> const> : public TrueType {};
00413 template<class ContainerAllocator>
00414 struct MD5Sum< ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> > {
00415 static const char* value()
00416 {
00417 return "00af134be58b0bb036eccab2a39f05f6";
00418 }
00419
00420 static const char* value(const ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> &) { return value(); }
00421 static const uint64_t static_value1 = 0x00af134be58b0bb0ULL;
00422 static const uint64_t static_value2 = 0x36eccab2a39f05f6ULL;
00423 };
00424
00425 template<class ContainerAllocator>
00426 struct DataType< ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> > {
00427 static const char* value()
00428 {
00429 return "srs_env_model_percp/Estimate2DHullMeshResponse";
00430 }
00431
00432 static const char* value(const ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> &) { return value(); }
00433 };
00434
00435 template<class ContainerAllocator>
00436 struct Definition< ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> > {
00437 static const char* value()
00438 {
00439 return "\n\
00440 \n\
00441 \n\
00442 \n\
00443 geometry_msgs/Polygon convexHull\n\
00444 \n\
00445 \n\
00446 \n\
00447 ================================================================================\n\
00448 MSG: geometry_msgs/Polygon\n\
00449 #A specification of a polygon where the first and last points are assumed to be connected\n\
00450 geometry_msgs/Point32[] points\n\
00451 \n\
00452 ================================================================================\n\
00453 MSG: geometry_msgs/Point32\n\
00454 # This contains the position of a point in free space(with 32 bits of precision).\n\
00455 # It is recommeded to use Point wherever possible instead of Point32. \n\
00456 # \n\
00457 # This recommendation is to promote interoperability. \n\
00458 #\n\
00459 # This message is designed to take up less space when sending\n\
00460 # lots of points at once, as in the case of a PointCloud. \n\
00461 \n\
00462 float32 x\n\
00463 float32 y\n\
00464 float32 z\n\
00465 ";
00466 }
00467
00468 static const char* value(const ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> &) { return value(); }
00469 };
00470
00471 }
00472 }
00473
00474 namespace ros
00475 {
00476 namespace serialization
00477 {
00478
00479 template<class ContainerAllocator> struct Serializer< ::srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> >
00480 {
00481 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00482 {
00483 stream.next(m.header);
00484 stream.next(m.mesh);
00485 }
00486
00487 ROS_DECLARE_ALLINONE_SERIALIZER;
00488 };
00489 }
00490 }
00491
00492
00493 namespace ros
00494 {
00495 namespace serialization
00496 {
00497
00498 template<class ContainerAllocator> struct Serializer< ::srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> >
00499 {
00500 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00501 {
00502 stream.next(m.convexHull);
00503 }
00504
00505 ROS_DECLARE_ALLINONE_SERIALIZER;
00506 };
00507 }
00508 }
00509
00510 namespace ros
00511 {
00512 namespace service_traits
00513 {
00514 template<>
00515 struct MD5Sum<srs_env_model_percp::Estimate2DHullMesh> {
00516 static const char* value()
00517 {
00518 return "6a2889ab927091c2a5c3e57dd5a07dda";
00519 }
00520
00521 static const char* value(const srs_env_model_percp::Estimate2DHullMesh&) { return value(); }
00522 };
00523
00524 template<>
00525 struct DataType<srs_env_model_percp::Estimate2DHullMesh> {
00526 static const char* value()
00527 {
00528 return "srs_env_model_percp/Estimate2DHullMesh";
00529 }
00530
00531 static const char* value(const srs_env_model_percp::Estimate2DHullMesh&) { return value(); }
00532 };
00533
00534 template<class ContainerAllocator>
00535 struct MD5Sum<srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> > {
00536 static const char* value()
00537 {
00538 return "6a2889ab927091c2a5c3e57dd5a07dda";
00539 }
00540
00541 static const char* value(const srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> &) { return value(); }
00542 };
00543
00544 template<class ContainerAllocator>
00545 struct DataType<srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> > {
00546 static const char* value()
00547 {
00548 return "srs_env_model_percp/Estimate2DHullMesh";
00549 }
00550
00551 static const char* value(const srs_env_model_percp::Estimate2DHullMeshRequest_<ContainerAllocator> &) { return value(); }
00552 };
00553
00554 template<class ContainerAllocator>
00555 struct MD5Sum<srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> > {
00556 static const char* value()
00557 {
00558 return "6a2889ab927091c2a5c3e57dd5a07dda";
00559 }
00560
00561 static const char* value(const srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> &) { return value(); }
00562 };
00563
00564 template<class ContainerAllocator>
00565 struct DataType<srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> > {
00566 static const char* value()
00567 {
00568 return "srs_env_model_percp/Estimate2DHullMesh";
00569 }
00570
00571 static const char* value(const srs_env_model_percp::Estimate2DHullMeshResponse_<ContainerAllocator> &) { return value(); }
00572 };
00573
00574 }
00575 }
00576
00577 #endif // SRS_ENV_MODEL_PERCP_SERVICE_ESTIMATE2DHULLMESH_H
00578