ROS Serial library for Mbed platforms for ROS Indigo Igloo. Check http://wiki.ros.org/rosserial_mbed/ for more information
Dependents: rosserial_mbed_hello_world_publisher rtos_base_control rosserial_mbed_F64MA ROS-RTOS ... more
ODEJointProperties.h
00001 #ifndef _ROS_gazebo_msgs_ODEJointProperties_h 00002 #define _ROS_gazebo_msgs_ODEJointProperties_h 00003 00004 #include <stdint.h> 00005 #include <string.h> 00006 #include <stdlib.h> 00007 #include "ros/msg.h" 00008 00009 namespace gazebo_msgs 00010 { 00011 00012 class ODEJointProperties : public ros::Msg 00013 { 00014 public: 00015 uint8_t damping_length; 00016 double st_damping; 00017 double * damping; 00018 uint8_t hiStop_length; 00019 double st_hiStop; 00020 double * hiStop; 00021 uint8_t loStop_length; 00022 double st_loStop; 00023 double * loStop; 00024 uint8_t erp_length; 00025 double st_erp; 00026 double * erp; 00027 uint8_t cfm_length; 00028 double st_cfm; 00029 double * cfm; 00030 uint8_t stop_erp_length; 00031 double st_stop_erp; 00032 double * stop_erp; 00033 uint8_t stop_cfm_length; 00034 double st_stop_cfm; 00035 double * stop_cfm; 00036 uint8_t fudge_factor_length; 00037 double st_fudge_factor; 00038 double * fudge_factor; 00039 uint8_t fmax_length; 00040 double st_fmax; 00041 double * fmax; 00042 uint8_t vel_length; 00043 double st_vel; 00044 double * vel; 00045 00046 ODEJointProperties(): 00047 damping_length(0), damping(NULL), 00048 hiStop_length(0), hiStop(NULL), 00049 loStop_length(0), loStop(NULL), 00050 erp_length(0), erp(NULL), 00051 cfm_length(0), cfm(NULL), 00052 stop_erp_length(0), stop_erp(NULL), 00053 stop_cfm_length(0), stop_cfm(NULL), 00054 fudge_factor_length(0), fudge_factor(NULL), 00055 fmax_length(0), fmax(NULL), 00056 vel_length(0), vel(NULL) 00057 { 00058 } 00059 00060 virtual int serialize(unsigned char *outbuffer) const 00061 { 00062 int offset = 0; 00063 *(outbuffer + offset++) = damping_length; 00064 *(outbuffer + offset++) = 0; 00065 *(outbuffer + offset++) = 0; 00066 *(outbuffer + offset++) = 0; 00067 for( uint8_t i = 0; i < damping_length; i++){ 00068 union { 00069 double real; 00070 uint64_t base; 00071 } u_dampingi; 00072 u_dampingi.real = this->damping[i]; 00073 *(outbuffer + offset + 0) = (u_dampingi.base >> (8 * 0)) & 0xFF; 00074 *(outbuffer + offset + 1) = (u_dampingi.base >> (8 * 1)) & 0xFF; 00075 *(outbuffer + offset + 2) = (u_dampingi.base >> (8 * 2)) & 0xFF; 00076 *(outbuffer + offset + 3) = (u_dampingi.base >> (8 * 3)) & 0xFF; 00077 *(outbuffer + offset + 4) = (u_dampingi.base >> (8 * 4)) & 0xFF; 00078 *(outbuffer + offset + 5) = (u_dampingi.base >> (8 * 5)) & 0xFF; 00079 *(outbuffer + offset + 6) = (u_dampingi.base >> (8 * 6)) & 0xFF; 00080 *(outbuffer + offset + 7) = (u_dampingi.base >> (8 * 7)) & 0xFF; 00081 offset += sizeof(this->damping[i]); 00082 } 00083 *(outbuffer + offset++) = hiStop_length; 00084 *(outbuffer + offset++) = 0; 00085 *(outbuffer + offset++) = 0; 00086 *(outbuffer + offset++) = 0; 00087 for( uint8_t i = 0; i < hiStop_length; i++){ 00088 union { 00089 double real; 00090 uint64_t base; 00091 } u_hiStopi; 00092 u_hiStopi.real = this->hiStop[i]; 00093 *(outbuffer + offset + 0) = (u_hiStopi.base >> (8 * 0)) & 0xFF; 00094 *(outbuffer + offset + 1) = (u_hiStopi.base >> (8 * 1)) & 0xFF; 00095 *(outbuffer + offset + 2) = (u_hiStopi.base >> (8 * 2)) & 0xFF; 00096 *(outbuffer + offset + 3) = (u_hiStopi.base >> (8 * 3)) & 0xFF; 00097 *(outbuffer + offset + 4) = (u_hiStopi.base >> (8 * 4)) & 0xFF; 00098 *(outbuffer + offset + 5) = (u_hiStopi.base >> (8 * 5)) & 0xFF; 00099 *(outbuffer + offset + 6) = (u_hiStopi.base >> (8 * 6)) & 0xFF; 00100 *(outbuffer + offset + 7) = (u_hiStopi.base >> (8 * 7)) & 0xFF; 00101 offset += sizeof(this->hiStop[i]); 00102 } 00103 *(outbuffer + offset++) = loStop_length; 00104 *(outbuffer + offset++) = 0; 00105 *(outbuffer + offset++) = 0; 00106 *(outbuffer + offset++) = 0; 00107 for( uint8_t i = 0; i < loStop_length; i++){ 00108 union { 00109 double real; 00110 uint64_t base; 00111 } u_loStopi; 00112 u_loStopi.real = this->loStop[i]; 00113 *(outbuffer + offset + 0) = (u_loStopi.base >> (8 * 0)) & 0xFF; 00114 *(outbuffer + offset + 1) = (u_loStopi.base >> (8 * 1)) & 0xFF; 00115 *(outbuffer + offset + 2) = (u_loStopi.base >> (8 * 2)) & 0xFF; 00116 *(outbuffer + offset + 3) = (u_loStopi.base >> (8 * 3)) & 0xFF; 00117 *(outbuffer + offset + 4) = (u_loStopi.base >> (8 * 4)) & 0xFF; 00118 *(outbuffer + offset + 5) = (u_loStopi.base >> (8 * 5)) & 0xFF; 00119 *(outbuffer + offset + 6) = (u_loStopi.base >> (8 * 6)) & 0xFF; 00120 *(outbuffer + offset + 7) = (u_loStopi.base >> (8 * 7)) & 0xFF; 00121 offset += sizeof(this->loStop[i]); 00122 } 00123 *(outbuffer + offset++) = erp_length; 00124 *(outbuffer + offset++) = 0; 00125 *(outbuffer + offset++) = 0; 00126 *(outbuffer + offset++) = 0; 00127 for( uint8_t i = 0; i < erp_length; i++){ 00128 union { 00129 double real; 00130 uint64_t base; 00131 } u_erpi; 00132 u_erpi.real = this->erp[i]; 00133 *(outbuffer + offset + 0) = (u_erpi.base >> (8 * 0)) & 0xFF; 00134 *(outbuffer + offset + 1) = (u_erpi.base >> (8 * 1)) & 0xFF; 00135 *(outbuffer + offset + 2) = (u_erpi.base >> (8 * 2)) & 0xFF; 00136 *(outbuffer + offset + 3) = (u_erpi.base >> (8 * 3)) & 0xFF; 00137 *(outbuffer + offset + 4) = (u_erpi.base >> (8 * 4)) & 0xFF; 00138 *(outbuffer + offset + 5) = (u_erpi.base >> (8 * 5)) & 0xFF; 00139 *(outbuffer + offset + 6) = (u_erpi.base >> (8 * 6)) & 0xFF; 00140 *(outbuffer + offset + 7) = (u_erpi.base >> (8 * 7)) & 0xFF; 00141 offset += sizeof(this->erp[i]); 00142 } 00143 *(outbuffer + offset++) = cfm_length; 00144 *(outbuffer + offset++) = 0; 00145 *(outbuffer + offset++) = 0; 00146 *(outbuffer + offset++) = 0; 00147 for( uint8_t i = 0; i < cfm_length; i++){ 00148 union { 00149 double real; 00150 uint64_t base; 00151 } u_cfmi; 00152 u_cfmi.real = this->cfm[i]; 00153 *(outbuffer + offset + 0) = (u_cfmi.base >> (8 * 0)) & 0xFF; 00154 *(outbuffer + offset + 1) = (u_cfmi.base >> (8 * 1)) & 0xFF; 00155 *(outbuffer + offset + 2) = (u_cfmi.base >> (8 * 2)) & 0xFF; 00156 *(outbuffer + offset + 3) = (u_cfmi.base >> (8 * 3)) & 0xFF; 00157 *(outbuffer + offset + 4) = (u_cfmi.base >> (8 * 4)) & 0xFF; 00158 *(outbuffer + offset + 5) = (u_cfmi.base >> (8 * 5)) & 0xFF; 00159 *(outbuffer + offset + 6) = (u_cfmi.base >> (8 * 6)) & 0xFF; 00160 *(outbuffer + offset + 7) = (u_cfmi.base >> (8 * 7)) & 0xFF; 00161 offset += sizeof(this->cfm[i]); 00162 } 00163 *(outbuffer + offset++) = stop_erp_length; 00164 *(outbuffer + offset++) = 0; 00165 *(outbuffer + offset++) = 0; 00166 *(outbuffer + offset++) = 0; 00167 for( uint8_t i = 0; i < stop_erp_length; i++){ 00168 union { 00169 double real; 00170 uint64_t base; 00171 } u_stop_erpi; 00172 u_stop_erpi.real = this->stop_erp[i]; 00173 *(outbuffer + offset + 0) = (u_stop_erpi.base >> (8 * 0)) & 0xFF; 00174 *(outbuffer + offset + 1) = (u_stop_erpi.base >> (8 * 1)) & 0xFF; 00175 *(outbuffer + offset + 2) = (u_stop_erpi.base >> (8 * 2)) & 0xFF; 00176 *(outbuffer + offset + 3) = (u_stop_erpi.base >> (8 * 3)) & 0xFF; 00177 *(outbuffer + offset + 4) = (u_stop_erpi.base >> (8 * 4)) & 0xFF; 00178 *(outbuffer + offset + 5) = (u_stop_erpi.base >> (8 * 5)) & 0xFF; 00179 *(outbuffer + offset + 6) = (u_stop_erpi.base >> (8 * 6)) & 0xFF; 00180 *(outbuffer + offset + 7) = (u_stop_erpi.base >> (8 * 7)) & 0xFF; 00181 offset += sizeof(this->stop_erp[i]); 00182 } 00183 *(outbuffer + offset++) = stop_cfm_length; 00184 *(outbuffer + offset++) = 0; 00185 *(outbuffer + offset++) = 0; 00186 *(outbuffer + offset++) = 0; 00187 for( uint8_t i = 0; i < stop_cfm_length; i++){ 00188 union { 00189 double real; 00190 uint64_t base; 00191 } u_stop_cfmi; 00192 u_stop_cfmi.real = this->stop_cfm[i]; 00193 *(outbuffer + offset + 0) = (u_stop_cfmi.base >> (8 * 0)) & 0xFF; 00194 *(outbuffer + offset + 1) = (u_stop_cfmi.base >> (8 * 1)) & 0xFF; 00195 *(outbuffer + offset + 2) = (u_stop_cfmi.base >> (8 * 2)) & 0xFF; 00196 *(outbuffer + offset + 3) = (u_stop_cfmi.base >> (8 * 3)) & 0xFF; 00197 *(outbuffer + offset + 4) = (u_stop_cfmi.base >> (8 * 4)) & 0xFF; 00198 *(outbuffer + offset + 5) = (u_stop_cfmi.base >> (8 * 5)) & 0xFF; 00199 *(outbuffer + offset + 6) = (u_stop_cfmi.base >> (8 * 6)) & 0xFF; 00200 *(outbuffer + offset + 7) = (u_stop_cfmi.base >> (8 * 7)) & 0xFF; 00201 offset += sizeof(this->stop_cfm[i]); 00202 } 00203 *(outbuffer + offset++) = fudge_factor_length; 00204 *(outbuffer + offset++) = 0; 00205 *(outbuffer + offset++) = 0; 00206 *(outbuffer + offset++) = 0; 00207 for( uint8_t i = 0; i < fudge_factor_length; i++){ 00208 union { 00209 double real; 00210 uint64_t base; 00211 } u_fudge_factori; 00212 u_fudge_factori.real = this->fudge_factor[i]; 00213 *(outbuffer + offset + 0) = (u_fudge_factori.base >> (8 * 0)) & 0xFF; 00214 *(outbuffer + offset + 1) = (u_fudge_factori.base >> (8 * 1)) & 0xFF; 00215 *(outbuffer + offset + 2) = (u_fudge_factori.base >> (8 * 2)) & 0xFF; 00216 *(outbuffer + offset + 3) = (u_fudge_factori.base >> (8 * 3)) & 0xFF; 00217 *(outbuffer + offset + 4) = (u_fudge_factori.base >> (8 * 4)) & 0xFF; 00218 *(outbuffer + offset + 5) = (u_fudge_factori.base >> (8 * 5)) & 0xFF; 00219 *(outbuffer + offset + 6) = (u_fudge_factori.base >> (8 * 6)) & 0xFF; 00220 *(outbuffer + offset + 7) = (u_fudge_factori.base >> (8 * 7)) & 0xFF; 00221 offset += sizeof(this->fudge_factor[i]); 00222 } 00223 *(outbuffer + offset++) = fmax_length; 00224 *(outbuffer + offset++) = 0; 00225 *(outbuffer + offset++) = 0; 00226 *(outbuffer + offset++) = 0; 00227 for( uint8_t i = 0; i < fmax_length; i++){ 00228 union { 00229 double real; 00230 uint64_t base; 00231 } u_fmaxi; 00232 u_fmaxi.real = this->fmax[i]; 00233 *(outbuffer + offset + 0) = (u_fmaxi.base >> (8 * 0)) & 0xFF; 00234 *(outbuffer + offset + 1) = (u_fmaxi.base >> (8 * 1)) & 0xFF; 00235 *(outbuffer + offset + 2) = (u_fmaxi.base >> (8 * 2)) & 0xFF; 00236 *(outbuffer + offset + 3) = (u_fmaxi.base >> (8 * 3)) & 0xFF; 00237 *(outbuffer + offset + 4) = (u_fmaxi.base >> (8 * 4)) & 0xFF; 00238 *(outbuffer + offset + 5) = (u_fmaxi.base >> (8 * 5)) & 0xFF; 00239 *(outbuffer + offset + 6) = (u_fmaxi.base >> (8 * 6)) & 0xFF; 00240 *(outbuffer + offset + 7) = (u_fmaxi.base >> (8 * 7)) & 0xFF; 00241 offset += sizeof(this->fmax[i]); 00242 } 00243 *(outbuffer + offset++) = vel_length; 00244 *(outbuffer + offset++) = 0; 00245 *(outbuffer + offset++) = 0; 00246 *(outbuffer + offset++) = 0; 00247 for( uint8_t i = 0; i < vel_length; i++){ 00248 union { 00249 double real; 00250 uint64_t base; 00251 } u_veli; 00252 u_veli.real = this->vel[i]; 00253 *(outbuffer + offset + 0) = (u_veli.base >> (8 * 0)) & 0xFF; 00254 *(outbuffer + offset + 1) = (u_veli.base >> (8 * 1)) & 0xFF; 00255 *(outbuffer + offset + 2) = (u_veli.base >> (8 * 2)) & 0xFF; 00256 *(outbuffer + offset + 3) = (u_veli.base >> (8 * 3)) & 0xFF; 00257 *(outbuffer + offset + 4) = (u_veli.base >> (8 * 4)) & 0xFF; 00258 *(outbuffer + offset + 5) = (u_veli.base >> (8 * 5)) & 0xFF; 00259 *(outbuffer + offset + 6) = (u_veli.base >> (8 * 6)) & 0xFF; 00260 *(outbuffer + offset + 7) = (u_veli.base >> (8 * 7)) & 0xFF; 00261 offset += sizeof(this->vel[i]); 00262 } 00263 return offset; 00264 } 00265 00266 virtual int deserialize(unsigned char *inbuffer) 00267 { 00268 int offset = 0; 00269 uint8_t damping_lengthT = *(inbuffer + offset++); 00270 if(damping_lengthT > damping_length) 00271 this->damping = (double*)realloc(this->damping, damping_lengthT * sizeof(double)); 00272 offset += 3; 00273 damping_length = damping_lengthT; 00274 for( uint8_t i = 0; i < damping_length; i++){ 00275 union { 00276 double real; 00277 uint64_t base; 00278 } u_st_damping; 00279 u_st_damping.base = 0; 00280 u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00281 u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00282 u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00283 u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00284 u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00285 u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00286 u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00287 u_st_damping.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00288 this->st_damping = u_st_damping.real; 00289 offset += sizeof(this->st_damping); 00290 memcpy( &(this->damping[i]), &(this->st_damping), sizeof(double)); 00291 } 00292 uint8_t hiStop_lengthT = *(inbuffer + offset++); 00293 if(hiStop_lengthT > hiStop_length) 00294 this->hiStop = (double*)realloc(this->hiStop, hiStop_lengthT * sizeof(double)); 00295 offset += 3; 00296 hiStop_length = hiStop_lengthT; 00297 for( uint8_t i = 0; i < hiStop_length; i++){ 00298 union { 00299 double real; 00300 uint64_t base; 00301 } u_st_hiStop; 00302 u_st_hiStop.base = 0; 00303 u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00304 u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00305 u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00306 u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00307 u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00308 u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00309 u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00310 u_st_hiStop.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00311 this->st_hiStop = u_st_hiStop.real; 00312 offset += sizeof(this->st_hiStop); 00313 memcpy( &(this->hiStop[i]), &(this->st_hiStop), sizeof(double)); 00314 } 00315 uint8_t loStop_lengthT = *(inbuffer + offset++); 00316 if(loStop_lengthT > loStop_length) 00317 this->loStop = (double*)realloc(this->loStop, loStop_lengthT * sizeof(double)); 00318 offset += 3; 00319 loStop_length = loStop_lengthT; 00320 for( uint8_t i = 0; i < loStop_length; i++){ 00321 union { 00322 double real; 00323 uint64_t base; 00324 } u_st_loStop; 00325 u_st_loStop.base = 0; 00326 u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00327 u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00328 u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00329 u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00330 u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00331 u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00332 u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00333 u_st_loStop.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00334 this->st_loStop = u_st_loStop.real; 00335 offset += sizeof(this->st_loStop); 00336 memcpy( &(this->loStop[i]), &(this->st_loStop), sizeof(double)); 00337 } 00338 uint8_t erp_lengthT = *(inbuffer + offset++); 00339 if(erp_lengthT > erp_length) 00340 this->erp = (double*)realloc(this->erp, erp_lengthT * sizeof(double)); 00341 offset += 3; 00342 erp_length = erp_lengthT; 00343 for( uint8_t i = 0; i < erp_length; i++){ 00344 union { 00345 double real; 00346 uint64_t base; 00347 } u_st_erp; 00348 u_st_erp.base = 0; 00349 u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00350 u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00351 u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00352 u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00353 u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00354 u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00355 u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00356 u_st_erp.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00357 this->st_erp = u_st_erp.real; 00358 offset += sizeof(this->st_erp); 00359 memcpy( &(this->erp[i]), &(this->st_erp), sizeof(double)); 00360 } 00361 uint8_t cfm_lengthT = *(inbuffer + offset++); 00362 if(cfm_lengthT > cfm_length) 00363 this->cfm = (double*)realloc(this->cfm, cfm_lengthT * sizeof(double)); 00364 offset += 3; 00365 cfm_length = cfm_lengthT; 00366 for( uint8_t i = 0; i < cfm_length; i++){ 00367 union { 00368 double real; 00369 uint64_t base; 00370 } u_st_cfm; 00371 u_st_cfm.base = 0; 00372 u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00373 u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00374 u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00375 u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00376 u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00377 u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00378 u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00379 u_st_cfm.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00380 this->st_cfm = u_st_cfm.real; 00381 offset += sizeof(this->st_cfm); 00382 memcpy( &(this->cfm[i]), &(this->st_cfm), sizeof(double)); 00383 } 00384 uint8_t stop_erp_lengthT = *(inbuffer + offset++); 00385 if(stop_erp_lengthT > stop_erp_length) 00386 this->stop_erp = (double*)realloc(this->stop_erp, stop_erp_lengthT * sizeof(double)); 00387 offset += 3; 00388 stop_erp_length = stop_erp_lengthT; 00389 for( uint8_t i = 0; i < stop_erp_length; i++){ 00390 union { 00391 double real; 00392 uint64_t base; 00393 } u_st_stop_erp; 00394 u_st_stop_erp.base = 0; 00395 u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00396 u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00397 u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00398 u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00399 u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00400 u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00401 u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00402 u_st_stop_erp.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00403 this->st_stop_erp = u_st_stop_erp.real; 00404 offset += sizeof(this->st_stop_erp); 00405 memcpy( &(this->stop_erp[i]), &(this->st_stop_erp), sizeof(double)); 00406 } 00407 uint8_t stop_cfm_lengthT = *(inbuffer + offset++); 00408 if(stop_cfm_lengthT > stop_cfm_length) 00409 this->stop_cfm = (double*)realloc(this->stop_cfm, stop_cfm_lengthT * sizeof(double)); 00410 offset += 3; 00411 stop_cfm_length = stop_cfm_lengthT; 00412 for( uint8_t i = 0; i < stop_cfm_length; i++){ 00413 union { 00414 double real; 00415 uint64_t base; 00416 } u_st_stop_cfm; 00417 u_st_stop_cfm.base = 0; 00418 u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00419 u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00420 u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00421 u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00422 u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00423 u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00424 u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00425 u_st_stop_cfm.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00426 this->st_stop_cfm = u_st_stop_cfm.real; 00427 offset += sizeof(this->st_stop_cfm); 00428 memcpy( &(this->stop_cfm[i]), &(this->st_stop_cfm), sizeof(double)); 00429 } 00430 uint8_t fudge_factor_lengthT = *(inbuffer + offset++); 00431 if(fudge_factor_lengthT > fudge_factor_length) 00432 this->fudge_factor = (double*)realloc(this->fudge_factor, fudge_factor_lengthT * sizeof(double)); 00433 offset += 3; 00434 fudge_factor_length = fudge_factor_lengthT; 00435 for( uint8_t i = 0; i < fudge_factor_length; i++){ 00436 union { 00437 double real; 00438 uint64_t base; 00439 } u_st_fudge_factor; 00440 u_st_fudge_factor.base = 0; 00441 u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00442 u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00443 u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00444 u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00445 u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00446 u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00447 u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00448 u_st_fudge_factor.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00449 this->st_fudge_factor = u_st_fudge_factor.real; 00450 offset += sizeof(this->st_fudge_factor); 00451 memcpy( &(this->fudge_factor[i]), &(this->st_fudge_factor), sizeof(double)); 00452 } 00453 uint8_t fmax_lengthT = *(inbuffer + offset++); 00454 if(fmax_lengthT > fmax_length) 00455 this->fmax = (double*)realloc(this->fmax, fmax_lengthT * sizeof(double)); 00456 offset += 3; 00457 fmax_length = fmax_lengthT; 00458 for( uint8_t i = 0; i < fmax_length; i++){ 00459 union { 00460 double real; 00461 uint64_t base; 00462 } u_st_fmax; 00463 u_st_fmax.base = 0; 00464 u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00465 u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00466 u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00467 u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00468 u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00469 u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00470 u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00471 u_st_fmax.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00472 this->st_fmax = u_st_fmax.real; 00473 offset += sizeof(this->st_fmax); 00474 memcpy( &(this->fmax[i]), &(this->st_fmax), sizeof(double)); 00475 } 00476 uint8_t vel_lengthT = *(inbuffer + offset++); 00477 if(vel_lengthT > vel_length) 00478 this->vel = (double*)realloc(this->vel, vel_lengthT * sizeof(double)); 00479 offset += 3; 00480 vel_length = vel_lengthT; 00481 for( uint8_t i = 0; i < vel_length; i++){ 00482 union { 00483 double real; 00484 uint64_t base; 00485 } u_st_vel; 00486 u_st_vel.base = 0; 00487 u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00488 u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00489 u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00490 u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00491 u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00492 u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00493 u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00494 u_st_vel.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00495 this->st_vel = u_st_vel.real; 00496 offset += sizeof(this->st_vel); 00497 memcpy( &(this->vel[i]), &(this->st_vel), sizeof(double)); 00498 } 00499 return offset; 00500 } 00501 00502 const char * getType(){ return "gazebo_msgs/ODEJointProperties"; }; 00503 const char * getMD5(){ return "1b744c32a920af979f53afe2f9c3511f"; }; 00504 00505 }; 00506 00507 } 00508 #endif
Generated on Tue Jul 12 2022 18:39:40 by 1.7.2