ros melodic library with custom message

Dependents:   Robot_team1_QEI_Douglas Robot_team1

Committer:
scarter1
Date:
Wed Oct 30 14:59:49 2019 +0000
Revision:
0:020db18a476d
melodic library;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
scarter1 0:020db18a476d 1 #ifndef _ROS_map_msgs_ProjectedMapInfo_h
scarter1 0:020db18a476d 2 #define _ROS_map_msgs_ProjectedMapInfo_h
scarter1 0:020db18a476d 3
scarter1 0:020db18a476d 4 #include <stdint.h>
scarter1 0:020db18a476d 5 #include <string.h>
scarter1 0:020db18a476d 6 #include <stdlib.h>
scarter1 0:020db18a476d 7 #include "ros/msg.h"
scarter1 0:020db18a476d 8
scarter1 0:020db18a476d 9 namespace map_msgs
scarter1 0:020db18a476d 10 {
scarter1 0:020db18a476d 11
scarter1 0:020db18a476d 12 class ProjectedMapInfo : public ros::Msg
scarter1 0:020db18a476d 13 {
scarter1 0:020db18a476d 14 public:
scarter1 0:020db18a476d 15 typedef const char* _frame_id_type;
scarter1 0:020db18a476d 16 _frame_id_type frame_id;
scarter1 0:020db18a476d 17 typedef double _x_type;
scarter1 0:020db18a476d 18 _x_type x;
scarter1 0:020db18a476d 19 typedef double _y_type;
scarter1 0:020db18a476d 20 _y_type y;
scarter1 0:020db18a476d 21 typedef double _width_type;
scarter1 0:020db18a476d 22 _width_type width;
scarter1 0:020db18a476d 23 typedef double _height_type;
scarter1 0:020db18a476d 24 _height_type height;
scarter1 0:020db18a476d 25 typedef double _min_z_type;
scarter1 0:020db18a476d 26 _min_z_type min_z;
scarter1 0:020db18a476d 27 typedef double _max_z_type;
scarter1 0:020db18a476d 28 _max_z_type max_z;
scarter1 0:020db18a476d 29
scarter1 0:020db18a476d 30 ProjectedMapInfo():
scarter1 0:020db18a476d 31 frame_id(""),
scarter1 0:020db18a476d 32 x(0),
scarter1 0:020db18a476d 33 y(0),
scarter1 0:020db18a476d 34 width(0),
scarter1 0:020db18a476d 35 height(0),
scarter1 0:020db18a476d 36 min_z(0),
scarter1 0:020db18a476d 37 max_z(0)
scarter1 0:020db18a476d 38 {
scarter1 0:020db18a476d 39 }
scarter1 0:020db18a476d 40
scarter1 0:020db18a476d 41 virtual int serialize(unsigned char *outbuffer) const
scarter1 0:020db18a476d 42 {
scarter1 0:020db18a476d 43 int offset = 0;
scarter1 0:020db18a476d 44 uint32_t length_frame_id = strlen(this->frame_id);
scarter1 0:020db18a476d 45 varToArr(outbuffer + offset, length_frame_id);
scarter1 0:020db18a476d 46 offset += 4;
scarter1 0:020db18a476d 47 memcpy(outbuffer + offset, this->frame_id, length_frame_id);
scarter1 0:020db18a476d 48 offset += length_frame_id;
scarter1 0:020db18a476d 49 union {
scarter1 0:020db18a476d 50 double real;
scarter1 0:020db18a476d 51 uint64_t base;
scarter1 0:020db18a476d 52 } u_x;
scarter1 0:020db18a476d 53 u_x.real = this->x;
scarter1 0:020db18a476d 54 *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF;
scarter1 0:020db18a476d 55 *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF;
scarter1 0:020db18a476d 56 *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF;
scarter1 0:020db18a476d 57 *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF;
scarter1 0:020db18a476d 58 *(outbuffer + offset + 4) = (u_x.base >> (8 * 4)) & 0xFF;
scarter1 0:020db18a476d 59 *(outbuffer + offset + 5) = (u_x.base >> (8 * 5)) & 0xFF;
scarter1 0:020db18a476d 60 *(outbuffer + offset + 6) = (u_x.base >> (8 * 6)) & 0xFF;
scarter1 0:020db18a476d 61 *(outbuffer + offset + 7) = (u_x.base >> (8 * 7)) & 0xFF;
scarter1 0:020db18a476d 62 offset += sizeof(this->x);
scarter1 0:020db18a476d 63 union {
scarter1 0:020db18a476d 64 double real;
scarter1 0:020db18a476d 65 uint64_t base;
scarter1 0:020db18a476d 66 } u_y;
scarter1 0:020db18a476d 67 u_y.real = this->y;
scarter1 0:020db18a476d 68 *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF;
scarter1 0:020db18a476d 69 *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF;
scarter1 0:020db18a476d 70 *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF;
scarter1 0:020db18a476d 71 *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF;
scarter1 0:020db18a476d 72 *(outbuffer + offset + 4) = (u_y.base >> (8 * 4)) & 0xFF;
scarter1 0:020db18a476d 73 *(outbuffer + offset + 5) = (u_y.base >> (8 * 5)) & 0xFF;
scarter1 0:020db18a476d 74 *(outbuffer + offset + 6) = (u_y.base >> (8 * 6)) & 0xFF;
scarter1 0:020db18a476d 75 *(outbuffer + offset + 7) = (u_y.base >> (8 * 7)) & 0xFF;
scarter1 0:020db18a476d 76 offset += sizeof(this->y);
scarter1 0:020db18a476d 77 union {
scarter1 0:020db18a476d 78 double real;
scarter1 0:020db18a476d 79 uint64_t base;
scarter1 0:020db18a476d 80 } u_width;
scarter1 0:020db18a476d 81 u_width.real = this->width;
scarter1 0:020db18a476d 82 *(outbuffer + offset + 0) = (u_width.base >> (8 * 0)) & 0xFF;
scarter1 0:020db18a476d 83 *(outbuffer + offset + 1) = (u_width.base >> (8 * 1)) & 0xFF;
scarter1 0:020db18a476d 84 *(outbuffer + offset + 2) = (u_width.base >> (8 * 2)) & 0xFF;
scarter1 0:020db18a476d 85 *(outbuffer + offset + 3) = (u_width.base >> (8 * 3)) & 0xFF;
scarter1 0:020db18a476d 86 *(outbuffer + offset + 4) = (u_width.base >> (8 * 4)) & 0xFF;
scarter1 0:020db18a476d 87 *(outbuffer + offset + 5) = (u_width.base >> (8 * 5)) & 0xFF;
scarter1 0:020db18a476d 88 *(outbuffer + offset + 6) = (u_width.base >> (8 * 6)) & 0xFF;
scarter1 0:020db18a476d 89 *(outbuffer + offset + 7) = (u_width.base >> (8 * 7)) & 0xFF;
scarter1 0:020db18a476d 90 offset += sizeof(this->width);
scarter1 0:020db18a476d 91 union {
scarter1 0:020db18a476d 92 double real;
scarter1 0:020db18a476d 93 uint64_t base;
scarter1 0:020db18a476d 94 } u_height;
scarter1 0:020db18a476d 95 u_height.real = this->height;
scarter1 0:020db18a476d 96 *(outbuffer + offset + 0) = (u_height.base >> (8 * 0)) & 0xFF;
scarter1 0:020db18a476d 97 *(outbuffer + offset + 1) = (u_height.base >> (8 * 1)) & 0xFF;
scarter1 0:020db18a476d 98 *(outbuffer + offset + 2) = (u_height.base >> (8 * 2)) & 0xFF;
scarter1 0:020db18a476d 99 *(outbuffer + offset + 3) = (u_height.base >> (8 * 3)) & 0xFF;
scarter1 0:020db18a476d 100 *(outbuffer + offset + 4) = (u_height.base >> (8 * 4)) & 0xFF;
scarter1 0:020db18a476d 101 *(outbuffer + offset + 5) = (u_height.base >> (8 * 5)) & 0xFF;
scarter1 0:020db18a476d 102 *(outbuffer + offset + 6) = (u_height.base >> (8 * 6)) & 0xFF;
scarter1 0:020db18a476d 103 *(outbuffer + offset + 7) = (u_height.base >> (8 * 7)) & 0xFF;
scarter1 0:020db18a476d 104 offset += sizeof(this->height);
scarter1 0:020db18a476d 105 union {
scarter1 0:020db18a476d 106 double real;
scarter1 0:020db18a476d 107 uint64_t base;
scarter1 0:020db18a476d 108 } u_min_z;
scarter1 0:020db18a476d 109 u_min_z.real = this->min_z;
scarter1 0:020db18a476d 110 *(outbuffer + offset + 0) = (u_min_z.base >> (8 * 0)) & 0xFF;
scarter1 0:020db18a476d 111 *(outbuffer + offset + 1) = (u_min_z.base >> (8 * 1)) & 0xFF;
scarter1 0:020db18a476d 112 *(outbuffer + offset + 2) = (u_min_z.base >> (8 * 2)) & 0xFF;
scarter1 0:020db18a476d 113 *(outbuffer + offset + 3) = (u_min_z.base >> (8 * 3)) & 0xFF;
scarter1 0:020db18a476d 114 *(outbuffer + offset + 4) = (u_min_z.base >> (8 * 4)) & 0xFF;
scarter1 0:020db18a476d 115 *(outbuffer + offset + 5) = (u_min_z.base >> (8 * 5)) & 0xFF;
scarter1 0:020db18a476d 116 *(outbuffer + offset + 6) = (u_min_z.base >> (8 * 6)) & 0xFF;
scarter1 0:020db18a476d 117 *(outbuffer + offset + 7) = (u_min_z.base >> (8 * 7)) & 0xFF;
scarter1 0:020db18a476d 118 offset += sizeof(this->min_z);
scarter1 0:020db18a476d 119 union {
scarter1 0:020db18a476d 120 double real;
scarter1 0:020db18a476d 121 uint64_t base;
scarter1 0:020db18a476d 122 } u_max_z;
scarter1 0:020db18a476d 123 u_max_z.real = this->max_z;
scarter1 0:020db18a476d 124 *(outbuffer + offset + 0) = (u_max_z.base >> (8 * 0)) & 0xFF;
scarter1 0:020db18a476d 125 *(outbuffer + offset + 1) = (u_max_z.base >> (8 * 1)) & 0xFF;
scarter1 0:020db18a476d 126 *(outbuffer + offset + 2) = (u_max_z.base >> (8 * 2)) & 0xFF;
scarter1 0:020db18a476d 127 *(outbuffer + offset + 3) = (u_max_z.base >> (8 * 3)) & 0xFF;
scarter1 0:020db18a476d 128 *(outbuffer + offset + 4) = (u_max_z.base >> (8 * 4)) & 0xFF;
scarter1 0:020db18a476d 129 *(outbuffer + offset + 5) = (u_max_z.base >> (8 * 5)) & 0xFF;
scarter1 0:020db18a476d 130 *(outbuffer + offset + 6) = (u_max_z.base >> (8 * 6)) & 0xFF;
scarter1 0:020db18a476d 131 *(outbuffer + offset + 7) = (u_max_z.base >> (8 * 7)) & 0xFF;
scarter1 0:020db18a476d 132 offset += sizeof(this->max_z);
scarter1 0:020db18a476d 133 return offset;
scarter1 0:020db18a476d 134 }
scarter1 0:020db18a476d 135
scarter1 0:020db18a476d 136 virtual int deserialize(unsigned char *inbuffer)
scarter1 0:020db18a476d 137 {
scarter1 0:020db18a476d 138 int offset = 0;
scarter1 0:020db18a476d 139 uint32_t length_frame_id;
scarter1 0:020db18a476d 140 arrToVar(length_frame_id, (inbuffer + offset));
scarter1 0:020db18a476d 141 offset += 4;
scarter1 0:020db18a476d 142 for(unsigned int k= offset; k< offset+length_frame_id; ++k){
scarter1 0:020db18a476d 143 inbuffer[k-1]=inbuffer[k];
scarter1 0:020db18a476d 144 }
scarter1 0:020db18a476d 145 inbuffer[offset+length_frame_id-1]=0;
scarter1 0:020db18a476d 146 this->frame_id = (char *)(inbuffer + offset-1);
scarter1 0:020db18a476d 147 offset += length_frame_id;
scarter1 0:020db18a476d 148 union {
scarter1 0:020db18a476d 149 double real;
scarter1 0:020db18a476d 150 uint64_t base;
scarter1 0:020db18a476d 151 } u_x;
scarter1 0:020db18a476d 152 u_x.base = 0;
scarter1 0:020db18a476d 153 u_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
scarter1 0:020db18a476d 154 u_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
scarter1 0:020db18a476d 155 u_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
scarter1 0:020db18a476d 156 u_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
scarter1 0:020db18a476d 157 u_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
scarter1 0:020db18a476d 158 u_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
scarter1 0:020db18a476d 159 u_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
scarter1 0:020db18a476d 160 u_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
scarter1 0:020db18a476d 161 this->x = u_x.real;
scarter1 0:020db18a476d 162 offset += sizeof(this->x);
scarter1 0:020db18a476d 163 union {
scarter1 0:020db18a476d 164 double real;
scarter1 0:020db18a476d 165 uint64_t base;
scarter1 0:020db18a476d 166 } u_y;
scarter1 0:020db18a476d 167 u_y.base = 0;
scarter1 0:020db18a476d 168 u_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
scarter1 0:020db18a476d 169 u_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
scarter1 0:020db18a476d 170 u_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
scarter1 0:020db18a476d 171 u_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
scarter1 0:020db18a476d 172 u_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
scarter1 0:020db18a476d 173 u_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
scarter1 0:020db18a476d 174 u_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
scarter1 0:020db18a476d 175 u_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
scarter1 0:020db18a476d 176 this->y = u_y.real;
scarter1 0:020db18a476d 177 offset += sizeof(this->y);
scarter1 0:020db18a476d 178 union {
scarter1 0:020db18a476d 179 double real;
scarter1 0:020db18a476d 180 uint64_t base;
scarter1 0:020db18a476d 181 } u_width;
scarter1 0:020db18a476d 182 u_width.base = 0;
scarter1 0:020db18a476d 183 u_width.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
scarter1 0:020db18a476d 184 u_width.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
scarter1 0:020db18a476d 185 u_width.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
scarter1 0:020db18a476d 186 u_width.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
scarter1 0:020db18a476d 187 u_width.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
scarter1 0:020db18a476d 188 u_width.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
scarter1 0:020db18a476d 189 u_width.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
scarter1 0:020db18a476d 190 u_width.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
scarter1 0:020db18a476d 191 this->width = u_width.real;
scarter1 0:020db18a476d 192 offset += sizeof(this->width);
scarter1 0:020db18a476d 193 union {
scarter1 0:020db18a476d 194 double real;
scarter1 0:020db18a476d 195 uint64_t base;
scarter1 0:020db18a476d 196 } u_height;
scarter1 0:020db18a476d 197 u_height.base = 0;
scarter1 0:020db18a476d 198 u_height.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
scarter1 0:020db18a476d 199 u_height.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
scarter1 0:020db18a476d 200 u_height.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
scarter1 0:020db18a476d 201 u_height.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
scarter1 0:020db18a476d 202 u_height.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
scarter1 0:020db18a476d 203 u_height.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
scarter1 0:020db18a476d 204 u_height.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
scarter1 0:020db18a476d 205 u_height.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
scarter1 0:020db18a476d 206 this->height = u_height.real;
scarter1 0:020db18a476d 207 offset += sizeof(this->height);
scarter1 0:020db18a476d 208 union {
scarter1 0:020db18a476d 209 double real;
scarter1 0:020db18a476d 210 uint64_t base;
scarter1 0:020db18a476d 211 } u_min_z;
scarter1 0:020db18a476d 212 u_min_z.base = 0;
scarter1 0:020db18a476d 213 u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
scarter1 0:020db18a476d 214 u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
scarter1 0:020db18a476d 215 u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
scarter1 0:020db18a476d 216 u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
scarter1 0:020db18a476d 217 u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
scarter1 0:020db18a476d 218 u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
scarter1 0:020db18a476d 219 u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
scarter1 0:020db18a476d 220 u_min_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
scarter1 0:020db18a476d 221 this->min_z = u_min_z.real;
scarter1 0:020db18a476d 222 offset += sizeof(this->min_z);
scarter1 0:020db18a476d 223 union {
scarter1 0:020db18a476d 224 double real;
scarter1 0:020db18a476d 225 uint64_t base;
scarter1 0:020db18a476d 226 } u_max_z;
scarter1 0:020db18a476d 227 u_max_z.base = 0;
scarter1 0:020db18a476d 228 u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
scarter1 0:020db18a476d 229 u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
scarter1 0:020db18a476d 230 u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
scarter1 0:020db18a476d 231 u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
scarter1 0:020db18a476d 232 u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
scarter1 0:020db18a476d 233 u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
scarter1 0:020db18a476d 234 u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
scarter1 0:020db18a476d 235 u_max_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
scarter1 0:020db18a476d 236 this->max_z = u_max_z.real;
scarter1 0:020db18a476d 237 offset += sizeof(this->max_z);
scarter1 0:020db18a476d 238 return offset;
scarter1 0:020db18a476d 239 }
scarter1 0:020db18a476d 240
scarter1 0:020db18a476d 241 const char * getType(){ return "map_msgs/ProjectedMapInfo"; };
scarter1 0:020db18a476d 242 const char * getMD5(){ return "2dc10595ae94de23f22f8a6d2a0eef7a"; };
scarter1 0:020db18a476d 243
scarter1 0:020db18a476d 244 };
scarter1 0:020db18a476d 245
scarter1 0:020db18a476d 246 }
scarter1 0:020db18a476d 247 #endif