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.
Dependencies: mbed
MarkerSetPose.h
00001 #ifndef _ROS_SERVICE_MarkerSetPose_h 00002 #define _ROS_SERVICE_MarkerSetPose_h 00003 #include <stdint.h> 00004 #include <string.h> 00005 #include <stdlib.h> 00006 #include "ros/msg.h" 00007 #include "geometry_msgs/PoseStamped.h" 00008 #include "visualization_msgs/Marker.h" 00009 00010 namespace jsk_interactive_marker 00011 { 00012 00013 static const char MARKERSETPOSE[] = "jsk_interactive_marker/MarkerSetPose"; 00014 00015 class MarkerSetPoseRequest : public ros::Msg 00016 { 00017 public: 00018 typedef const char* _marker_name_type; 00019 _marker_name_type marker_name; 00020 typedef geometry_msgs::PoseStamped _pose_type; 00021 _pose_type pose; 00022 uint32_t markers_length; 00023 typedef visualization_msgs::Marker _markers_type; 00024 _markers_type st_markers; 00025 _markers_type * markers; 00026 00027 MarkerSetPoseRequest(): 00028 marker_name(""), 00029 pose(), 00030 markers_length(0), markers(NULL) 00031 { 00032 } 00033 00034 virtual int serialize(unsigned char *outbuffer) const 00035 { 00036 int offset = 0; 00037 uint32_t length_marker_name = strlen(this->marker_name); 00038 varToArr(outbuffer + offset, length_marker_name); 00039 offset += 4; 00040 memcpy(outbuffer + offset, this->marker_name, length_marker_name); 00041 offset += length_marker_name; 00042 offset += this->pose.serialize(outbuffer + offset); 00043 *(outbuffer + offset + 0) = (this->markers_length >> (8 * 0)) & 0xFF; 00044 *(outbuffer + offset + 1) = (this->markers_length >> (8 * 1)) & 0xFF; 00045 *(outbuffer + offset + 2) = (this->markers_length >> (8 * 2)) & 0xFF; 00046 *(outbuffer + offset + 3) = (this->markers_length >> (8 * 3)) & 0xFF; 00047 offset += sizeof(this->markers_length); 00048 for( uint32_t i = 0; i < markers_length; i++){ 00049 offset += this->markers[i].serialize(outbuffer + offset); 00050 } 00051 return offset; 00052 } 00053 00054 virtual int deserialize(unsigned char *inbuffer) 00055 { 00056 int offset = 0; 00057 uint32_t length_marker_name; 00058 arrToVar(length_marker_name, (inbuffer + offset)); 00059 offset += 4; 00060 for(unsigned int k= offset; k< offset+length_marker_name; ++k){ 00061 inbuffer[k-1]=inbuffer[k]; 00062 } 00063 inbuffer[offset+length_marker_name-1]=0; 00064 this->marker_name = (char *)(inbuffer + offset-1); 00065 offset += length_marker_name; 00066 offset += this->pose.deserialize(inbuffer + offset); 00067 uint32_t markers_lengthT = ((uint32_t) (*(inbuffer + offset))); 00068 markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 00069 markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 00070 markers_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 00071 offset += sizeof(this->markers_length); 00072 if(markers_lengthT > markers_length) 00073 this->markers = (visualization_msgs::Marker*)realloc(this->markers, markers_lengthT * sizeof(visualization_msgs::Marker)); 00074 markers_length = markers_lengthT; 00075 for( uint32_t i = 0; i < markers_length; i++){ 00076 offset += this->st_markers.deserialize(inbuffer + offset); 00077 memcpy( &(this->markers[i]), &(this->st_markers), sizeof(visualization_msgs::Marker)); 00078 } 00079 return offset; 00080 } 00081 00082 virtual const char * getType(){ return MARKERSETPOSE; }; 00083 virtual const char * getMD5(){ return "ad9cd9afd2203415fba0c5648ca2decb"; }; 00084 00085 }; 00086 00087 class MarkerSetPoseResponse : public ros::Msg 00088 { 00089 public: 00090 typedef geometry_msgs::PoseStamped _pose_type; 00091 _pose_type pose; 00092 00093 MarkerSetPoseResponse(): 00094 pose() 00095 { 00096 } 00097 00098 virtual int serialize(unsigned char *outbuffer) const 00099 { 00100 int offset = 0; 00101 offset += this->pose.serialize(outbuffer + offset); 00102 return offset; 00103 } 00104 00105 virtual int deserialize(unsigned char *inbuffer) 00106 { 00107 int offset = 0; 00108 offset += this->pose.deserialize(inbuffer + offset); 00109 return offset; 00110 } 00111 00112 virtual const char * getType(){ return MARKERSETPOSE; }; 00113 virtual const char * getMD5(){ return "3f8930d968a3e84d471dff917bb1cdae"; }; 00114 00115 }; 00116 00117 class MarkerSetPose { 00118 public: 00119 typedef MarkerSetPoseRequest Request; 00120 typedef MarkerSetPoseResponse Response; 00121 }; 00122 00123 } 00124 #endif
Generated on Mon Sep 26 2022 13:47:02 by
