Working towards recieving twists

Dependencies:   BufferedSerial

Fork of ros_lib_kinetic by Gary Servin

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Inertia.h Source File

Inertia.h

00001 #ifndef _ROS_geometry_msgs_Inertia_h
00002 #define _ROS_geometry_msgs_Inertia_h
00003 
00004 #include <stdint.h>
00005 #include <string.h>
00006 #include <stdlib.h>
00007 #include "ros/msg.h"
00008 #include "geometry_msgs/Vector3.h"
00009 
00010 namespace geometry_msgs
00011 {
00012 
00013   class Inertia : public ros::Msg
00014   {
00015     public:
00016       typedef double _m_type;
00017       _m_type m;
00018       typedef geometry_msgs::Vector3 _com_type;
00019       _com_type com;
00020       typedef double _ixx_type;
00021       _ixx_type ixx;
00022       typedef double _ixy_type;
00023       _ixy_type ixy;
00024       typedef double _ixz_type;
00025       _ixz_type ixz;
00026       typedef double _iyy_type;
00027       _iyy_type iyy;
00028       typedef double _iyz_type;
00029       _iyz_type iyz;
00030       typedef double _izz_type;
00031       _izz_type izz;
00032 
00033     Inertia():
00034       m(0),
00035       com(),
00036       ixx(0),
00037       ixy(0),
00038       ixz(0),
00039       iyy(0),
00040       iyz(0),
00041       izz(0)
00042     {
00043     }
00044 
00045     virtual int serialize(unsigned char *outbuffer) const
00046     {
00047       int offset = 0;
00048       union {
00049         double real;
00050         uint64_t base;
00051       } u_m;
00052       u_m.real = this->m;
00053       *(outbuffer + offset + 0) = (u_m.base >> (8 * 0)) & 0xFF;
00054       *(outbuffer + offset + 1) = (u_m.base >> (8 * 1)) & 0xFF;
00055       *(outbuffer + offset + 2) = (u_m.base >> (8 * 2)) & 0xFF;
00056       *(outbuffer + offset + 3) = (u_m.base >> (8 * 3)) & 0xFF;
00057       *(outbuffer + offset + 4) = (u_m.base >> (8 * 4)) & 0xFF;
00058       *(outbuffer + offset + 5) = (u_m.base >> (8 * 5)) & 0xFF;
00059       *(outbuffer + offset + 6) = (u_m.base >> (8 * 6)) & 0xFF;
00060       *(outbuffer + offset + 7) = (u_m.base >> (8 * 7)) & 0xFF;
00061       offset += sizeof(this->m);
00062       offset += this->com.serialize(outbuffer + offset);
00063       union {
00064         double real;
00065         uint64_t base;
00066       } u_ixx;
00067       u_ixx.real = this->ixx;
00068       *(outbuffer + offset + 0) = (u_ixx.base >> (8 * 0)) & 0xFF;
00069       *(outbuffer + offset + 1) = (u_ixx.base >> (8 * 1)) & 0xFF;
00070       *(outbuffer + offset + 2) = (u_ixx.base >> (8 * 2)) & 0xFF;
00071       *(outbuffer + offset + 3) = (u_ixx.base >> (8 * 3)) & 0xFF;
00072       *(outbuffer + offset + 4) = (u_ixx.base >> (8 * 4)) & 0xFF;
00073       *(outbuffer + offset + 5) = (u_ixx.base >> (8 * 5)) & 0xFF;
00074       *(outbuffer + offset + 6) = (u_ixx.base >> (8 * 6)) & 0xFF;
00075       *(outbuffer + offset + 7) = (u_ixx.base >> (8 * 7)) & 0xFF;
00076       offset += sizeof(this->ixx);
00077       union {
00078         double real;
00079         uint64_t base;
00080       } u_ixy;
00081       u_ixy.real = this->ixy;
00082       *(outbuffer + offset + 0) = (u_ixy.base >> (8 * 0)) & 0xFF;
00083       *(outbuffer + offset + 1) = (u_ixy.base >> (8 * 1)) & 0xFF;
00084       *(outbuffer + offset + 2) = (u_ixy.base >> (8 * 2)) & 0xFF;
00085       *(outbuffer + offset + 3) = (u_ixy.base >> (8 * 3)) & 0xFF;
00086       *(outbuffer + offset + 4) = (u_ixy.base >> (8 * 4)) & 0xFF;
00087       *(outbuffer + offset + 5) = (u_ixy.base >> (8 * 5)) & 0xFF;
00088       *(outbuffer + offset + 6) = (u_ixy.base >> (8 * 6)) & 0xFF;
00089       *(outbuffer + offset + 7) = (u_ixy.base >> (8 * 7)) & 0xFF;
00090       offset += sizeof(this->ixy);
00091       union {
00092         double real;
00093         uint64_t base;
00094       } u_ixz;
00095       u_ixz.real = this->ixz;
00096       *(outbuffer + offset + 0) = (u_ixz.base >> (8 * 0)) & 0xFF;
00097       *(outbuffer + offset + 1) = (u_ixz.base >> (8 * 1)) & 0xFF;
00098       *(outbuffer + offset + 2) = (u_ixz.base >> (8 * 2)) & 0xFF;
00099       *(outbuffer + offset + 3) = (u_ixz.base >> (8 * 3)) & 0xFF;
00100       *(outbuffer + offset + 4) = (u_ixz.base >> (8 * 4)) & 0xFF;
00101       *(outbuffer + offset + 5) = (u_ixz.base >> (8 * 5)) & 0xFF;
00102       *(outbuffer + offset + 6) = (u_ixz.base >> (8 * 6)) & 0xFF;
00103       *(outbuffer + offset + 7) = (u_ixz.base >> (8 * 7)) & 0xFF;
00104       offset += sizeof(this->ixz);
00105       union {
00106         double real;
00107         uint64_t base;
00108       } u_iyy;
00109       u_iyy.real = this->iyy;
00110       *(outbuffer + offset + 0) = (u_iyy.base >> (8 * 0)) & 0xFF;
00111       *(outbuffer + offset + 1) = (u_iyy.base >> (8 * 1)) & 0xFF;
00112       *(outbuffer + offset + 2) = (u_iyy.base >> (8 * 2)) & 0xFF;
00113       *(outbuffer + offset + 3) = (u_iyy.base >> (8 * 3)) & 0xFF;
00114       *(outbuffer + offset + 4) = (u_iyy.base >> (8 * 4)) & 0xFF;
00115       *(outbuffer + offset + 5) = (u_iyy.base >> (8 * 5)) & 0xFF;
00116       *(outbuffer + offset + 6) = (u_iyy.base >> (8 * 6)) & 0xFF;
00117       *(outbuffer + offset + 7) = (u_iyy.base >> (8 * 7)) & 0xFF;
00118       offset += sizeof(this->iyy);
00119       union {
00120         double real;
00121         uint64_t base;
00122       } u_iyz;
00123       u_iyz.real = this->iyz;
00124       *(outbuffer + offset + 0) = (u_iyz.base >> (8 * 0)) & 0xFF;
00125       *(outbuffer + offset + 1) = (u_iyz.base >> (8 * 1)) & 0xFF;
00126       *(outbuffer + offset + 2) = (u_iyz.base >> (8 * 2)) & 0xFF;
00127       *(outbuffer + offset + 3) = (u_iyz.base >> (8 * 3)) & 0xFF;
00128       *(outbuffer + offset + 4) = (u_iyz.base >> (8 * 4)) & 0xFF;
00129       *(outbuffer + offset + 5) = (u_iyz.base >> (8 * 5)) & 0xFF;
00130       *(outbuffer + offset + 6) = (u_iyz.base >> (8 * 6)) & 0xFF;
00131       *(outbuffer + offset + 7) = (u_iyz.base >> (8 * 7)) & 0xFF;
00132       offset += sizeof(this->iyz);
00133       union {
00134         double real;
00135         uint64_t base;
00136       } u_izz;
00137       u_izz.real = this->izz;
00138       *(outbuffer + offset + 0) = (u_izz.base >> (8 * 0)) & 0xFF;
00139       *(outbuffer + offset + 1) = (u_izz.base >> (8 * 1)) & 0xFF;
00140       *(outbuffer + offset + 2) = (u_izz.base >> (8 * 2)) & 0xFF;
00141       *(outbuffer + offset + 3) = (u_izz.base >> (8 * 3)) & 0xFF;
00142       *(outbuffer + offset + 4) = (u_izz.base >> (8 * 4)) & 0xFF;
00143       *(outbuffer + offset + 5) = (u_izz.base >> (8 * 5)) & 0xFF;
00144       *(outbuffer + offset + 6) = (u_izz.base >> (8 * 6)) & 0xFF;
00145       *(outbuffer + offset + 7) = (u_izz.base >> (8 * 7)) & 0xFF;
00146       offset += sizeof(this->izz);
00147       return offset;
00148     }
00149 
00150     virtual int deserialize(unsigned char *inbuffer)
00151     {
00152       int offset = 0;
00153       union {
00154         double real;
00155         uint64_t base;
00156       } u_m;
00157       u_m.base = 0;
00158       u_m.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00159       u_m.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00160       u_m.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00161       u_m.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00162       u_m.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00163       u_m.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00164       u_m.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00165       u_m.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00166       this->m = u_m.real;
00167       offset += sizeof(this->m);
00168       offset += this->com.deserialize(inbuffer + offset);
00169       union {
00170         double real;
00171         uint64_t base;
00172       } u_ixx;
00173       u_ixx.base = 0;
00174       u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00175       u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00176       u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00177       u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00178       u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00179       u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00180       u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00181       u_ixx.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00182       this->ixx = u_ixx.real;
00183       offset += sizeof(this->ixx);
00184       union {
00185         double real;
00186         uint64_t base;
00187       } u_ixy;
00188       u_ixy.base = 0;
00189       u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00190       u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00191       u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00192       u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00193       u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00194       u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00195       u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00196       u_ixy.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00197       this->ixy = u_ixy.real;
00198       offset += sizeof(this->ixy);
00199       union {
00200         double real;
00201         uint64_t base;
00202       } u_ixz;
00203       u_ixz.base = 0;
00204       u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00205       u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00206       u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00207       u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00208       u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00209       u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00210       u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00211       u_ixz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00212       this->ixz = u_ixz.real;
00213       offset += sizeof(this->ixz);
00214       union {
00215         double real;
00216         uint64_t base;
00217       } u_iyy;
00218       u_iyy.base = 0;
00219       u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00220       u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00221       u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00222       u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00223       u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00224       u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00225       u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00226       u_iyy.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00227       this->iyy = u_iyy.real;
00228       offset += sizeof(this->iyy);
00229       union {
00230         double real;
00231         uint64_t base;
00232       } u_iyz;
00233       u_iyz.base = 0;
00234       u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00235       u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00236       u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00237       u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00238       u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00239       u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00240       u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00241       u_iyz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00242       this->iyz = u_iyz.real;
00243       offset += sizeof(this->iyz);
00244       union {
00245         double real;
00246         uint64_t base;
00247       } u_izz;
00248       u_izz.base = 0;
00249       u_izz.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00250       u_izz.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00251       u_izz.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00252       u_izz.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00253       u_izz.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00254       u_izz.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00255       u_izz.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00256       u_izz.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00257       this->izz = u_izz.real;
00258       offset += sizeof(this->izz);
00259      return offset;
00260     }
00261 
00262     const char * getType(){ return "geometry_msgs/Inertia"; };
00263     const char * getMD5(){ return "1d26e4bb6c83ff141c5cf0d883c2b0fe"; };
00264 
00265   };
00266 
00267 }
00268 #endif