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.
TFMessage.h
00001 #ifndef _ROS_tf2_msgs_TFMessage_h 00002 #define _ROS_tf2_msgs_TFMessage_h 00003 00004 #include <stdint.h> 00005 #include <string.h> 00006 #include <stdlib.h> 00007 #include "ros/msg.h" 00008 #include "geometry_msgs/TransformStamped.h" 00009 00010 namespace tf2_msgs 00011 { 00012 00013 class TFMessage : public ros::Msg 00014 { 00015 public: 00016 uint32_t transforms_length; 00017 typedef geometry_msgs::TransformStamped _transforms_type; 00018 _transforms_type st_transforms; 00019 _transforms_type * transforms; 00020 00021 TFMessage(): 00022 transforms_length(0), transforms(NULL) 00023 { 00024 } 00025 00026 virtual int serialize(unsigned char *outbuffer) const 00027 { 00028 int offset = 0; 00029 *(outbuffer + offset + 0) = (this->transforms_length >> (8 * 0)) & 0xFF; 00030 *(outbuffer + offset + 1) = (this->transforms_length >> (8 * 1)) & 0xFF; 00031 *(outbuffer + offset + 2) = (this->transforms_length >> (8 * 2)) & 0xFF; 00032 *(outbuffer + offset + 3) = (this->transforms_length >> (8 * 3)) & 0xFF; 00033 offset += sizeof(this->transforms_length); 00034 for( uint32_t i = 0; i < transforms_length; i++){ 00035 offset += this->transforms[i].serialize(outbuffer + offset); 00036 } 00037 return offset; 00038 } 00039 00040 virtual int deserialize(unsigned char *inbuffer) 00041 { 00042 int offset = 0; 00043 uint32_t transforms_lengthT = ((uint32_t) (*(inbuffer + offset))); 00044 transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 1))) << (8 * 1); 00045 transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 2))) << (8 * 2); 00046 transforms_lengthT |= ((uint32_t) (*(inbuffer + offset + 3))) << (8 * 3); 00047 offset += sizeof(this->transforms_length); 00048 if(transforms_lengthT > transforms_length) 00049 this->transforms = (geometry_msgs::TransformStamped*)realloc(this->transforms, transforms_lengthT * sizeof(geometry_msgs::TransformStamped)); 00050 transforms_length = transforms_lengthT; 00051 for( uint32_t i = 0; i < transforms_length; i++){ 00052 offset += this->st_transforms.deserialize(inbuffer + offset); 00053 memcpy( &(this->transforms[i]), &(this->st_transforms), sizeof(geometry_msgs::TransformStamped)); 00054 } 00055 return offset; 00056 } 00057 00058 const char * getType(){ return "tf2_msgs/TFMessage"; }; 00059 const char * getMD5(){ return "94810edda583a504dfda3829e70d7eec"; }; 00060 00061 }; 00062 00063 } 00064 #endif
Generated on Wed Jul 13 2022 23:30:19 by
