00001
00002 #ifndef VREP_COMMON_MESSAGE_OBJECTGROUPDATA_H
00003 #define VREP_COMMON_MESSAGE_OBJECTGROUPDATA_H
00004 #include <string>
00005 #include <vector>
00006 #include <map>
00007 #include <ostream>
00008 #include "ros/serialization.h"
00009 #include "ros/builtin_message_traits.h"
00010 #include "ros/message_operations.h"
00011 #include "ros/time.h"
00012
00013 #include "ros/macros.h"
00014
00015 #include "ros/assert.h"
00016
00017 #include "std_msgs/Int32MultiArray.h"
00018 #include "std_msgs/Int32MultiArray.h"
00019 #include "std_msgs/Float32MultiArray.h"
00020 #include "std_msgs/String.h"
00021
00022 namespace vrep_common
00023 {
00024 template <class ContainerAllocator>
00025 struct ObjectGroupData_ {
00026 typedef ObjectGroupData_<ContainerAllocator> Type;
00027
00028 ObjectGroupData_()
00029 : handles()
00030 , intData()
00031 , floatData()
00032 , stringData()
00033 {
00034 }
00035
00036 ObjectGroupData_(const ContainerAllocator& _alloc)
00037 : handles(_alloc)
00038 , intData(_alloc)
00039 , floatData(_alloc)
00040 , stringData(_alloc)
00041 {
00042 }
00043
00044 typedef ::std_msgs::Int32MultiArray_<ContainerAllocator> _handles_type;
00045 ::std_msgs::Int32MultiArray_<ContainerAllocator> handles;
00046
00047 typedef ::std_msgs::Int32MultiArray_<ContainerAllocator> _intData_type;
00048 ::std_msgs::Int32MultiArray_<ContainerAllocator> intData;
00049
00050 typedef ::std_msgs::Float32MultiArray_<ContainerAllocator> _floatData_type;
00051 ::std_msgs::Float32MultiArray_<ContainerAllocator> floatData;
00052
00053 typedef ::std_msgs::String_<ContainerAllocator> _stringData_type;
00054 ::std_msgs::String_<ContainerAllocator> stringData;
00055
00056
00057 typedef boost::shared_ptr< ::vrep_common::ObjectGroupData_<ContainerAllocator> > Ptr;
00058 typedef boost::shared_ptr< ::vrep_common::ObjectGroupData_<ContainerAllocator> const> ConstPtr;
00059 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00060 };
00061 typedef ::vrep_common::ObjectGroupData_<std::allocator<void> > ObjectGroupData;
00062
00063 typedef boost::shared_ptr< ::vrep_common::ObjectGroupData> ObjectGroupDataPtr;
00064 typedef boost::shared_ptr< ::vrep_common::ObjectGroupData const> ObjectGroupDataConstPtr;
00065
00066
00067 template<typename ContainerAllocator>
00068 std::ostream& operator<<(std::ostream& s, const ::vrep_common::ObjectGroupData_<ContainerAllocator> & v)
00069 {
00070 ros::message_operations::Printer< ::vrep_common::ObjectGroupData_<ContainerAllocator> >::stream(s, "", v);
00071 return s;}
00072
00073 }
00074
00075 namespace ros
00076 {
00077 namespace message_traits
00078 {
00079 template<class ContainerAllocator> struct IsMessage< ::vrep_common::ObjectGroupData_<ContainerAllocator> > : public TrueType {};
00080 template<class ContainerAllocator> struct IsMessage< ::vrep_common::ObjectGroupData_<ContainerAllocator> const> : public TrueType {};
00081 template<class ContainerAllocator>
00082 struct MD5Sum< ::vrep_common::ObjectGroupData_<ContainerAllocator> > {
00083 static const char* value()
00084 {
00085 return "d73f2682eafdfd3c477ba05ceeae1ada";
00086 }
00087
00088 static const char* value(const ::vrep_common::ObjectGroupData_<ContainerAllocator> &) { return value(); }
00089 static const uint64_t static_value1 = 0xd73f2682eafdfd3cULL;
00090 static const uint64_t static_value2 = 0x477ba05ceeae1adaULL;
00091 };
00092
00093 template<class ContainerAllocator>
00094 struct DataType< ::vrep_common::ObjectGroupData_<ContainerAllocator> > {
00095 static const char* value()
00096 {
00097 return "vrep_common/ObjectGroupData";
00098 }
00099
00100 static const char* value(const ::vrep_common::ObjectGroupData_<ContainerAllocator> &) { return value(); }
00101 };
00102
00103 template<class ContainerAllocator>
00104 struct Definition< ::vrep_common::ObjectGroupData_<ContainerAllocator> > {
00105 static const char* value()
00106 {
00107 return "std_msgs/Int32MultiArray handles\n\
00108 std_msgs/Int32MultiArray intData\n\
00109 std_msgs/Float32MultiArray floatData\n\
00110 std_msgs/String stringData\n\
00111 \n\
00112 ================================================================================\n\
00113 MSG: std_msgs/Int32MultiArray\n\
00114 # Please look at the MultiArrayLayout message definition for\n\
00115 # documentation on all multiarrays.\n\
00116 \n\
00117 MultiArrayLayout layout # specification of data layout\n\
00118 int32[] data # array of data\n\
00119 \n\
00120 \n\
00121 ================================================================================\n\
00122 MSG: std_msgs/MultiArrayLayout\n\
00123 # The multiarray declares a generic multi-dimensional array of a\n\
00124 # particular data type. Dimensions are ordered from outer most\n\
00125 # to inner most.\n\
00126 \n\
00127 MultiArrayDimension[] dim # Array of dimension properties\n\
00128 uint32 data_offset # padding bytes at front of data\n\
00129 \n\
00130 # Accessors should ALWAYS be written in terms of dimension stride\n\
00131 # and specified outer-most dimension first.\n\
00132 # \n\
00133 # multiarray(i,j,k) = data[data_offset + dim_stride[1]*i + dim_stride[2]*j + k]\n\
00134 #\n\
00135 # A standard, 3-channel 640x480 image with interleaved color channels\n\
00136 # would be specified as:\n\
00137 #\n\
00138 # dim[0].label = \"height\"\n\
00139 # dim[0].size = 480\n\
00140 # dim[0].stride = 3*640*480 = 921600 (note dim[0] stride is just size of image)\n\
00141 # dim[1].label = \"width\"\n\
00142 # dim[1].size = 640\n\
00143 # dim[1].stride = 3*640 = 1920\n\
00144 # dim[2].label = \"channel\"\n\
00145 # dim[2].size = 3\n\
00146 # dim[2].stride = 3\n\
00147 #\n\
00148 # multiarray(i,j,k) refers to the ith row, jth column, and kth channel.\n\
00149 ================================================================================\n\
00150 MSG: std_msgs/MultiArrayDimension\n\
00151 string label # label of given dimension\n\
00152 uint32 size # size of given dimension (in type units)\n\
00153 uint32 stride # stride of given dimension\n\
00154 ================================================================================\n\
00155 MSG: std_msgs/Float32MultiArray\n\
00156 # Please look at the MultiArrayLayout message definition for\n\
00157 # documentation on all multiarrays.\n\
00158 \n\
00159 MultiArrayLayout layout # specification of data layout\n\
00160 float32[] data # array of data\n\
00161 \n\
00162 \n\
00163 ================================================================================\n\
00164 MSG: std_msgs/String\n\
00165 string data\n\
00166 \n\
00167 ";
00168 }
00169
00170 static const char* value(const ::vrep_common::ObjectGroupData_<ContainerAllocator> &) { return value(); }
00171 };
00172
00173 }
00174 }
00175
00176 namespace ros
00177 {
00178 namespace serialization
00179 {
00180
00181 template<class ContainerAllocator> struct Serializer< ::vrep_common::ObjectGroupData_<ContainerAllocator> >
00182 {
00183 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00184 {
00185 stream.next(m.handles);
00186 stream.next(m.intData);
00187 stream.next(m.floatData);
00188 stream.next(m.stringData);
00189 }
00190
00191 ROS_DECLARE_ALLINONE_SERIALIZER;
00192 };
00193 }
00194 }
00195
00196 namespace ros
00197 {
00198 namespace message_operations
00199 {
00200
00201 template<class ContainerAllocator>
00202 struct Printer< ::vrep_common::ObjectGroupData_<ContainerAllocator> >
00203 {
00204 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::vrep_common::ObjectGroupData_<ContainerAllocator> & v)
00205 {
00206 s << indent << "handles: ";
00207 s << std::endl;
00208 Printer< ::std_msgs::Int32MultiArray_<ContainerAllocator> >::stream(s, indent + " ", v.handles);
00209 s << indent << "intData: ";
00210 s << std::endl;
00211 Printer< ::std_msgs::Int32MultiArray_<ContainerAllocator> >::stream(s, indent + " ", v.intData);
00212 s << indent << "floatData: ";
00213 s << std::endl;
00214 Printer< ::std_msgs::Float32MultiArray_<ContainerAllocator> >::stream(s, indent + " ", v.floatData);
00215 s << indent << "stringData: ";
00216 s << std::endl;
00217 Printer< ::std_msgs::String_<ContainerAllocator> >::stream(s, indent + " ", v.stringData);
00218 }
00219 };
00220
00221
00222 }
00223 }
00224
00225 #endif // VREP_COMMON_MESSAGE_OBJECTGROUPDATA_H
00226