catchrobo2022 / Mbed 2 deprecated catchrobo2022_mbed

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers JointConstraint.h Source File

JointConstraint.h

00001 #ifndef _ROS_moveit_msgs_JointConstraint_h
00002 #define _ROS_moveit_msgs_JointConstraint_h
00003 
00004 #include <stdint.h>
00005 #include <string.h>
00006 #include <stdlib.h>
00007 #include "ros/msg.h"
00008 
00009 namespace moveit_msgs
00010 {
00011 
00012   class JointConstraint : public ros::Msg
00013   {
00014     public:
00015       typedef const char* _joint_name_type;
00016       _joint_name_type joint_name;
00017       typedef double _position_type;
00018       _position_type position;
00019       typedef double _tolerance_above_type;
00020       _tolerance_above_type tolerance_above;
00021       typedef double _tolerance_below_type;
00022       _tolerance_below_type tolerance_below;
00023       typedef double _weight_type;
00024       _weight_type weight;
00025 
00026     JointConstraint():
00027       joint_name(""),
00028       position(0),
00029       tolerance_above(0),
00030       tolerance_below(0),
00031       weight(0)
00032     {
00033     }
00034 
00035     virtual int serialize(unsigned char *outbuffer) const
00036     {
00037       int offset = 0;
00038       uint32_t length_joint_name = strlen(this->joint_name);
00039       varToArr(outbuffer + offset, length_joint_name);
00040       offset += 4;
00041       memcpy(outbuffer + offset, this->joint_name, length_joint_name);
00042       offset += length_joint_name;
00043       union {
00044         double real;
00045         uint64_t base;
00046       } u_position;
00047       u_position.real = this->position;
00048       *(outbuffer + offset + 0) = (u_position.base >> (8 * 0)) & 0xFF;
00049       *(outbuffer + offset + 1) = (u_position.base >> (8 * 1)) & 0xFF;
00050       *(outbuffer + offset + 2) = (u_position.base >> (8 * 2)) & 0xFF;
00051       *(outbuffer + offset + 3) = (u_position.base >> (8 * 3)) & 0xFF;
00052       *(outbuffer + offset + 4) = (u_position.base >> (8 * 4)) & 0xFF;
00053       *(outbuffer + offset + 5) = (u_position.base >> (8 * 5)) & 0xFF;
00054       *(outbuffer + offset + 6) = (u_position.base >> (8 * 6)) & 0xFF;
00055       *(outbuffer + offset + 7) = (u_position.base >> (8 * 7)) & 0xFF;
00056       offset += sizeof(this->position);
00057       union {
00058         double real;
00059         uint64_t base;
00060       } u_tolerance_above;
00061       u_tolerance_above.real = this->tolerance_above;
00062       *(outbuffer + offset + 0) = (u_tolerance_above.base >> (8 * 0)) & 0xFF;
00063       *(outbuffer + offset + 1) = (u_tolerance_above.base >> (8 * 1)) & 0xFF;
00064       *(outbuffer + offset + 2) = (u_tolerance_above.base >> (8 * 2)) & 0xFF;
00065       *(outbuffer + offset + 3) = (u_tolerance_above.base >> (8 * 3)) & 0xFF;
00066       *(outbuffer + offset + 4) = (u_tolerance_above.base >> (8 * 4)) & 0xFF;
00067       *(outbuffer + offset + 5) = (u_tolerance_above.base >> (8 * 5)) & 0xFF;
00068       *(outbuffer + offset + 6) = (u_tolerance_above.base >> (8 * 6)) & 0xFF;
00069       *(outbuffer + offset + 7) = (u_tolerance_above.base >> (8 * 7)) & 0xFF;
00070       offset += sizeof(this->tolerance_above);
00071       union {
00072         double real;
00073         uint64_t base;
00074       } u_tolerance_below;
00075       u_tolerance_below.real = this->tolerance_below;
00076       *(outbuffer + offset + 0) = (u_tolerance_below.base >> (8 * 0)) & 0xFF;
00077       *(outbuffer + offset + 1) = (u_tolerance_below.base >> (8 * 1)) & 0xFF;
00078       *(outbuffer + offset + 2) = (u_tolerance_below.base >> (8 * 2)) & 0xFF;
00079       *(outbuffer + offset + 3) = (u_tolerance_below.base >> (8 * 3)) & 0xFF;
00080       *(outbuffer + offset + 4) = (u_tolerance_below.base >> (8 * 4)) & 0xFF;
00081       *(outbuffer + offset + 5) = (u_tolerance_below.base >> (8 * 5)) & 0xFF;
00082       *(outbuffer + offset + 6) = (u_tolerance_below.base >> (8 * 6)) & 0xFF;
00083       *(outbuffer + offset + 7) = (u_tolerance_below.base >> (8 * 7)) & 0xFF;
00084       offset += sizeof(this->tolerance_below);
00085       union {
00086         double real;
00087         uint64_t base;
00088       } u_weight;
00089       u_weight.real = this->weight;
00090       *(outbuffer + offset + 0) = (u_weight.base >> (8 * 0)) & 0xFF;
00091       *(outbuffer + offset + 1) = (u_weight.base >> (8 * 1)) & 0xFF;
00092       *(outbuffer + offset + 2) = (u_weight.base >> (8 * 2)) & 0xFF;
00093       *(outbuffer + offset + 3) = (u_weight.base >> (8 * 3)) & 0xFF;
00094       *(outbuffer + offset + 4) = (u_weight.base >> (8 * 4)) & 0xFF;
00095       *(outbuffer + offset + 5) = (u_weight.base >> (8 * 5)) & 0xFF;
00096       *(outbuffer + offset + 6) = (u_weight.base >> (8 * 6)) & 0xFF;
00097       *(outbuffer + offset + 7) = (u_weight.base >> (8 * 7)) & 0xFF;
00098       offset += sizeof(this->weight);
00099       return offset;
00100     }
00101 
00102     virtual int deserialize(unsigned char *inbuffer)
00103     {
00104       int offset = 0;
00105       uint32_t length_joint_name;
00106       arrToVar(length_joint_name, (inbuffer + offset));
00107       offset += 4;
00108       for(unsigned int k= offset; k< offset+length_joint_name; ++k){
00109           inbuffer[k-1]=inbuffer[k];
00110       }
00111       inbuffer[offset+length_joint_name-1]=0;
00112       this->joint_name = (char *)(inbuffer + offset-1);
00113       offset += length_joint_name;
00114       union {
00115         double real;
00116         uint64_t base;
00117       } u_position;
00118       u_position.base = 0;
00119       u_position.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00120       u_position.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00121       u_position.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00122       u_position.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00123       u_position.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00124       u_position.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00125       u_position.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00126       u_position.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00127       this->position = u_position.real;
00128       offset += sizeof(this->position);
00129       union {
00130         double real;
00131         uint64_t base;
00132       } u_tolerance_above;
00133       u_tolerance_above.base = 0;
00134       u_tolerance_above.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00135       u_tolerance_above.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00136       u_tolerance_above.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00137       u_tolerance_above.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00138       u_tolerance_above.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00139       u_tolerance_above.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00140       u_tolerance_above.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00141       u_tolerance_above.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00142       this->tolerance_above = u_tolerance_above.real;
00143       offset += sizeof(this->tolerance_above);
00144       union {
00145         double real;
00146         uint64_t base;
00147       } u_tolerance_below;
00148       u_tolerance_below.base = 0;
00149       u_tolerance_below.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00150       u_tolerance_below.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00151       u_tolerance_below.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00152       u_tolerance_below.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00153       u_tolerance_below.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00154       u_tolerance_below.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00155       u_tolerance_below.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00156       u_tolerance_below.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00157       this->tolerance_below = u_tolerance_below.real;
00158       offset += sizeof(this->tolerance_below);
00159       union {
00160         double real;
00161         uint64_t base;
00162       } u_weight;
00163       u_weight.base = 0;
00164       u_weight.base |= ((uint64_t) (*(inbuffer + offset + 0))) << (8 * 0);
00165       u_weight.base |= ((uint64_t) (*(inbuffer + offset + 1))) << (8 * 1);
00166       u_weight.base |= ((uint64_t) (*(inbuffer + offset + 2))) << (8 * 2);
00167       u_weight.base |= ((uint64_t) (*(inbuffer + offset + 3))) << (8 * 3);
00168       u_weight.base |= ((uint64_t) (*(inbuffer + offset + 4))) << (8 * 4);
00169       u_weight.base |= ((uint64_t) (*(inbuffer + offset + 5))) << (8 * 5);
00170       u_weight.base |= ((uint64_t) (*(inbuffer + offset + 6))) << (8 * 6);
00171       u_weight.base |= ((uint64_t) (*(inbuffer + offset + 7))) << (8 * 7);
00172       this->weight = u_weight.real;
00173       offset += sizeof(this->weight);
00174      return offset;
00175     }
00176 
00177     virtual const char * getType(){ return "moveit_msgs/JointConstraint"; };
00178     virtual const char * getMD5(){ return "c02a15146bec0ce13564807805b008f0"; };
00179 
00180   };
00181 
00182 }
00183 #endif