Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Quaternion.h
00001 #ifndef _ROS_geometry_msgs_Quaternion_h 00002 #define _ROS_geometry_msgs_Quaternion_h 00003 00004 #include <stdint.h> 00005 #include <string.h> 00006 #include <stdlib.h> 00007 #include "ros/msg.h" 00008 00009 namespace geometry_msgs 00010 { 00011 00012 class Quaternion : public ros::Msg 00013 { 00014 public: 00015 typedef double _x_type; 00016 _x_type x; 00017 typedef double _y_type; 00018 _y_type y; 00019 typedef double _z_type; 00020 _z_type z; 00021 typedef double _w_type; 00022 _w_type w; 00023 00024 Quaternion(): 00025 x(0), 00026 y(0), 00027 z(0), 00028 w(0) 00029 { 00030 } 00031 00032 virtual int serialize(unsigned char *outbuffer) const 00033 { 00034 int offset = 0; 00035 union { 00036 double real; 00037 uint64_t base; 00038 } u_x; 00039 u_x.real = this->x; 00040 *(outbuffer + offset + 0) = (u_x.base >> (8 * 0)) & 0xFF; 00041 *(outbuffer + offset + 1) = (u_x.base >> (8 * 1)) & 0xFF; 00042 *(outbuffer + offset + 2) = (u_x.base >> (8 * 2)) & 0xFF; 00043 *(outbuffer + offset + 3) = (u_x.base >> (8 * 3)) & 0xFF; 00044 *(outbuffer + offset + 4) = (u_x.base >> (8 * 4)) & 0xFF; 00045 *(outbuffer + offset + 5) = (u_x.base >> (8 * 5)) & 0xFF; 00046 *(outbuffer + offset + 6) = (u_x.base >> (8 * 6)) & 0xFF; 00047 *(outbuffer + offset + 7) = (u_x.base >> (8 * 7)) & 0xFF; 00048 offset += sizeof(this->x); 00049 union { 00050 double real; 00051 uint64_t base; 00052 } u_y; 00053 u_y.real = this->y; 00054 *(outbuffer + offset + 0) = (u_y.base >> (8 * 0)) & 0xFF; 00055 *(outbuffer + offset + 1) = (u_y.base >> (8 * 1)) & 0xFF; 00056 *(outbuffer + offset + 2) = (u_y.base >> (8 * 2)) & 0xFF; 00057 *(outbuffer + offset + 3) = (u_y.base >> (8 * 3)) & 0xFF; 00058 *(outbuffer + offset + 4) = (u_y.base >> (8 * 4)) & 0xFF; 00059 *(outbuffer + offset + 5) = (u_y.base >> (8 * 5)) & 0xFF; 00060 *(outbuffer + offset + 6) = (u_y.base >> (8 * 6)) & 0xFF; 00061 *(outbuffer + offset + 7) = (u_y.base >> (8 * 7)) & 0xFF; 00062 offset += sizeof(this->y); 00063 union { 00064 double real; 00065 uint64_t base; 00066 } u_z; 00067 u_z.real = this->z; 00068 *(outbuffer + offset + 0) = (u_z.base >> (8 * 0)) & 0xFF; 00069 *(outbuffer + offset + 1) = (u_z.base >> (8 * 1)) & 0xFF; 00070 *(outbuffer + offset + 2) = (u_z.base >> (8 * 2)) & 0xFF; 00071 *(outbuffer + offset + 3) = (u_z.base >> (8 * 3)) & 0xFF; 00072 *(outbuffer + offset + 4) = (u_z.base >> (8 * 4)) & 0xFF; 00073 *(outbuffer + offset + 5) = (u_z.base >> (8 * 5)) & 0xFF; 00074 *(outbuffer + offset + 6) = (u_z.base >> (8 * 6)) & 0xFF; 00075 *(outbuffer + offset + 7) = (u_z.base >> (8 * 7)) & 0xFF; 00076 offset += sizeof(this->z); 00077 union { 00078 double real; 00079 uint64_t base; 00080 } u_w; 00081 u_w.real = this->w; 00082 *(outbuffer + offset + 0) = (u_w.base >> (8 * 0)) & 0xFF; 00083 *(outbuffer + offset + 1) = (u_w.base >> (8 * 1)) & 0xFF; 00084 *(outbuffer + offset + 2) = (u_w.base >> (8 * 2)) & 0xFF; 00085 *(outbuffer + offset + 3) = (u_w.base >> (8 * 3)) & 0xFF; 00086 *(outbuffer + offset + 4) = (u_w.base >> (8 * 4)) & 0xFF; 00087 *(outbuffer + offset + 5) = (u_w.base >> (8 * 5)) & 0xFF; 00088 *(outbuffer + offset + 6) = (u_w.base >> (8 * 6)) & 0xFF; 00089 *(outbuffer + offset + 7) = (u_w.base >> (8 * 7)) & 0xFF; 00090 offset += sizeof(this->w); 00091 return offset; 00092 } 00093 00094 virtual int deserialize(unsigned char *inbuffer) 00095 { 00096 int offset = 0; 00097 union { 00098 double real; 00099 uint64_t base; 00100 } u_x; 00101 u_x.base = 0; 00102 u_x.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00103 u_x.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00104 u_x.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00105 u_x.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00106 u_x.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00107 u_x.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00108 u_x.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00109 u_x.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00110 this->x = u_x.real; 00111 offset += sizeof(this->x); 00112 union { 00113 double real; 00114 uint64_t base; 00115 } u_y; 00116 u_y.base = 0; 00117 u_y.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00118 u_y.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00119 u_y.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00120 u_y.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00121 u_y.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00122 u_y.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00123 u_y.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00124 u_y.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00125 this->y = u_y.real; 00126 offset += sizeof(this->y); 00127 union { 00128 double real; 00129 uint64_t base; 00130 } u_z; 00131 u_z.base = 0; 00132 u_z.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00133 u_z.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00134 u_z.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00135 u_z.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00136 u_z.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00137 u_z.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00138 u_z.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00139 u_z.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00140 this->z = u_z.real; 00141 offset += sizeof(this->z); 00142 union { 00143 double real; 00144 uint64_t base; 00145 } u_w; 00146 u_w.base = 0; 00147 u_w.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0); 00148 u_w.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1); 00149 u_w.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2); 00150 u_w.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3); 00151 u_w.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4); 00152 u_w.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5); 00153 u_w.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6); 00154 u_w.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7); 00155 this->w = u_w.real; 00156 offset += sizeof(this->w); 00157 return offset; 00158 } 00159 00160 const char * getType(){ return "geometry_msgs/Quaternion"; }; 00161 const char * getMD5(){ return "a779879fadf0160734f906b8c19c7004"; }; 00162 00163 }; 00164 00165 } 00166 #endif
Generated on Wed Jul 13 2022 23:30:18 by
