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 Vertices.h Source File

Vertices.h

00001 #ifndef _ROS_pcl_msgs_Vertices_h
00002 #define _ROS_pcl_msgs_Vertices_h
00003 
00004 #include <stdint.h>
00005 #include <string.h>
00006 #include <stdlib.h>
00007 #include "ros/msg.h"
00008 
00009 namespace pcl_msgs
00010 {
00011 
00012   class Vertices : public ros::Msg
00013   {
00014     public:
00015       uint32_t vertices_length;
00016       typedef uint32_t _vertices_type;
00017       _vertices_type st_vertices;
00018       _vertices_type * vertices;
00019 
00020     Vertices():
00021       vertices_length(0), vertices(NULL)
00022     {
00023     }
00024 
00025     virtual int serialize(unsigned char *outbuffer) const
00026     {
00027       int offset = 0;
00028       *(outbuffer + offset + 0) = (this->vertices_length >> (8 * 0)) & 0xFF;
00029       *(outbuffer + offset + 1) = (this->vertices_length >> (8 * 1)) & 0xFF;
00030       *(outbuffer + offset + 2) = (this->vertices_length >> (8 * 2)) & 0xFF;
00031       *(outbuffer + offset + 3) = (this->vertices_length >> (8 * 3)) & 0xFF;
00032       offset += sizeof(this->vertices_length);
00033       for( uint32_t i = 0; i < vertices_length; i++){
00034       *(outbuffer + offset + 0) = (this->vertices[i] >> (8 * 0)) & 0xFF;
00035       *(outbuffer + offset + 1) = (this->vertices[i] >> (8 * 1)) & 0xFF;
00036       *(outbuffer + offset + 2) = (this->vertices[i] >> (8 * 2)) & 0xFF;
00037       *(outbuffer + offset + 3) = (this->vertices[i] >> (8 * 3)) & 0xFF;
00038       offset += sizeof(this->vertices[i]);
00039       }
00040       return offset;
00041     }
00042 
00043     virtual int deserialize(unsigned char *inbuffer)
00044     {
00045       int offset = 0;
00046       uint32_t vertices_lengthT = ((uint32_t) (*(inbuffer + offset))); 
00047       vertices_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 
00048       vertices_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 
00049       vertices_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 
00050       offset += sizeof(this->vertices_length);
00051       if(vertices_lengthT > vertices_length)
00052         this->vertices = (uint32_t*)realloc(this->vertices, vertices_lengthT * sizeof(uint32_t));
00053       vertices_length = vertices_lengthT;
00054       for( uint32_t i = 0; i < vertices_length; i++){
00055       this->st_vertices =  ((uint32_t) (*(inbuffer + offset)));
00056       this->st_vertices |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1);
00057       this->st_vertices |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2);
00058       this->st_vertices |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3);
00059       offset += sizeof(this->st_vertices);
00060         memcpy( &(this->vertices[i]), &(this->st_vertices), sizeof(uint32_t));
00061       }
00062      return offset;
00063     }
00064 
00065     const char * getType(){ return "pcl_msgs/Vertices"; };
00066     const char * getMD5(){ return "39bd7b1c23763ddd1b882b97cb7cfe11"; };
00067 
00068   };
00069 
00070 }
00071 #endif