Go to the documentation of this file.00001 #ifndef _ROS_SERVICE_GetMap_h
00002 #define _ROS_SERVICE_GetMap_h
00003 #include <stdint.h>
00004 #include <string.h>
00005 #include <stdlib.h>
00006 #include "ros/msg.h"
00007 #include "rtabmap/MapData.h"
00008
00009 namespace rtabmap
00010 {
00011
00012 static const char GETMAP[] = "rtabmap/GetMap";
00013
00014 class GetMapRequest : public ros::Msg
00015 {
00016 public:
00017 bool global;
00018 bool optimized;
00019 bool graphOnly;
00020
00021 virtual int serialize(unsigned char *outbuffer) const
00022 {
00023 int offset = 0;
00024 union {
00025 bool real;
00026 uint8_t base;
00027 } u_global;
00028 u_global.real = this->global;
00029 *(outbuffer + offset + 0) = (u_global.base >> (8 * 0)) & 0xFF;
00030 offset += sizeof(this->global);
00031 union {
00032 bool real;
00033 uint8_t base;
00034 } u_optimized;
00035 u_optimized.real = this->optimized;
00036 *(outbuffer + offset + 0) = (u_optimized.base >> (8 * 0)) & 0xFF;
00037 offset += sizeof(this->optimized);
00038 union {
00039 bool real;
00040 uint8_t base;
00041 } u_graphOnly;
00042 u_graphOnly.real = this->graphOnly;
00043 *(outbuffer + offset + 0) = (u_graphOnly.base >> (8 * 0)) & 0xFF;
00044 offset += sizeof(this->graphOnly);
00045 return offset;
00046 }
00047
00048 virtual int deserialize(unsigned char *inbuffer)
00049 {
00050 int offset = 0;
00051 union {
00052 bool real;
00053 uint8_t base;
00054 } u_global;
00055 u_global.base = 0;
00056 u_global.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0);
00057 this->global = u_global.real;
00058 offset += sizeof(this->global);
00059 union {
00060 bool real;
00061 uint8_t base;
00062 } u_optimized;
00063 u_optimized.base = 0;
00064 u_optimized.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0);
00065 this->optimized = u_optimized.real;
00066 offset += sizeof(this->optimized);
00067 union {
00068 bool real;
00069 uint8_t base;
00070 } u_graphOnly;
00071 u_graphOnly.base = 0;
00072 u_graphOnly.base |= ((uint8_t) (*(inbuffer + offset + 0))) << (8 * 0);
00073 this->graphOnly = u_graphOnly.real;
00074 offset += sizeof(this->graphOnly);
00075 return offset;
00076 }
00077
00078 const char * getType(){ return GETMAP; };
00079 const char * getMD5(){ return "6213f9f13cced23f4d224b22f59d839c"; };
00080
00081 };
00082
00083 class GetMapResponse : public ros::Msg
00084 {
00085 public:
00086 rtabmap::MapData data;
00087
00088 virtual int serialize(unsigned char *outbuffer) const
00089 {
00090 int offset = 0;
00091 offset += this->data.serialize(outbuffer + offset);
00092 return offset;
00093 }
00094
00095 virtual int deserialize(unsigned char *inbuffer)
00096 {
00097 int offset = 0;
00098 offset += this->data.deserialize(inbuffer + offset);
00099 return offset;
00100 }
00101
00102 const char * getType(){ return GETMAP; };
00103 const char * getMD5(){ return "69f766e520db62e04759ab65a6133a3c"; };
00104
00105 };
00106
00107 class GetMap {
00108 public:
00109 typedef GetMapRequest Request;
00110 typedef GetMapResponse Response;
00111 };
00112
00113 }
00114 #endif