$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-common_msgs/doc_stacks/2013-03-01_14-58-52.505545/common_msgs/sensor_msgs/msg/ChannelFloat32.msg */ 00002 #ifndef SENSOR_MSGS_MESSAGE_CHANNELFLOAT32_H 00003 #define SENSOR_MSGS_MESSAGE_CHANNELFLOAT32_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 00018 namespace sensor_msgs 00019 { 00020 template <class ContainerAllocator> 00021 struct ChannelFloat32_ { 00022 typedef ChannelFloat32_<ContainerAllocator> Type; 00023 00024 ChannelFloat32_() 00025 : name() 00026 , values() 00027 { 00028 } 00029 00030 ChannelFloat32_(const ContainerAllocator& _alloc) 00031 : name(_alloc) 00032 , values(_alloc) 00033 { 00034 } 00035 00036 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _name_type; 00037 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > name; 00038 00039 typedef std::vector<float, typename ContainerAllocator::template rebind<float>::other > _values_type; 00040 std::vector<float, typename ContainerAllocator::template rebind<float>::other > values; 00041 00042 00043 ROS_DEPRECATED uint32_t get_values_size() const { return (uint32_t)values.size(); } 00044 ROS_DEPRECATED void set_values_size(uint32_t size) { values.resize((size_t)size); } 00045 ROS_DEPRECATED void get_values_vec(std::vector<float, typename ContainerAllocator::template rebind<float>::other > & vec) const { vec = this->values; } 00046 ROS_DEPRECATED void set_values_vec(const std::vector<float, typename ContainerAllocator::template rebind<float>::other > & vec) { this->values = vec; } 00047 private: 00048 static const char* __s_getDataType_() { return "sensor_msgs/ChannelFloat32"; } 00049 public: 00050 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00051 00052 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00053 00054 private: 00055 static const char* __s_getMD5Sum_() { return "3d40139cdd33dfedcb71ffeeeb42ae7f"; } 00056 public: 00057 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00058 00059 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00060 00061 private: 00062 static const char* __s_getMessageDefinition_() { return "# This message is used by the PointCloud message to hold optional data\n\ 00063 # associated with each point in the cloud. The length of the values\n\ 00064 # array should be the same as the length of the points array in the\n\ 00065 # PointCloud, and each value should be associated with the corresponding\n\ 00066 # point.\n\ 00067 \n\ 00068 # Channel names in existing practice include:\n\ 00069 # \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\ 00070 # This is opposite to usual conventions but remains for\n\ 00071 # historical reasons. The newer PointCloud2 message has no\n\ 00072 # such problem.\n\ 00073 # \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\ 00074 # (R,G,B) values packed into the least significant 24 bits,\n\ 00075 # in order.\n\ 00076 # \"intensity\" - laser or pixel intensity.\n\ 00077 # \"distance\"\n\ 00078 \n\ 00079 # The channel name should give semantics of the channel (e.g.\n\ 00080 # \"intensity\" instead of \"value\").\n\ 00081 string name\n\ 00082 \n\ 00083 # The values array should be 1-1 with the elements of the associated\n\ 00084 # PointCloud.\n\ 00085 float32[] values\n\ 00086 \n\ 00087 "; } 00088 public: 00089 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00090 00091 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00092 00093 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00094 { 00095 ros::serialization::OStream stream(write_ptr, 1000000000); 00096 ros::serialization::serialize(stream, name); 00097 ros::serialization::serialize(stream, values); 00098 return stream.getData(); 00099 } 00100 00101 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00102 { 00103 ros::serialization::IStream stream(read_ptr, 1000000000); 00104 ros::serialization::deserialize(stream, name); 00105 ros::serialization::deserialize(stream, values); 00106 return stream.getData(); 00107 } 00108 00109 ROS_DEPRECATED virtual uint32_t serializationLength() const 00110 { 00111 uint32_t size = 0; 00112 size += ros::serialization::serializationLength(name); 00113 size += ros::serialization::serializationLength(values); 00114 return size; 00115 } 00116 00117 typedef boost::shared_ptr< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> > Ptr; 00118 typedef boost::shared_ptr< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> const> ConstPtr; 00119 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00120 }; // struct ChannelFloat32 00121 typedef ::sensor_msgs::ChannelFloat32_<std::allocator<void> > ChannelFloat32; 00122 00123 typedef boost::shared_ptr< ::sensor_msgs::ChannelFloat32> ChannelFloat32Ptr; 00124 typedef boost::shared_ptr< ::sensor_msgs::ChannelFloat32 const> ChannelFloat32ConstPtr; 00125 00126 00127 template<typename ContainerAllocator> 00128 std::ostream& operator<<(std::ostream& s, const ::sensor_msgs::ChannelFloat32_<ContainerAllocator> & v) 00129 { 00130 ros::message_operations::Printer< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> >::stream(s, "", v); 00131 return s;} 00132 00133 } // namespace sensor_msgs 00134 00135 namespace ros 00136 { 00137 namespace message_traits 00138 { 00139 template<class ContainerAllocator> struct IsMessage< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> > : public TrueType {}; 00140 template<class ContainerAllocator> struct IsMessage< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> const> : public TrueType {}; 00141 template<class ContainerAllocator> 00142 struct MD5Sum< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> > { 00143 static const char* value() 00144 { 00145 return "3d40139cdd33dfedcb71ffeeeb42ae7f"; 00146 } 00147 00148 static const char* value(const ::sensor_msgs::ChannelFloat32_<ContainerAllocator> &) { return value(); } 00149 static const uint64_t static_value1 = 0x3d40139cdd33dfedULL; 00150 static const uint64_t static_value2 = 0xcb71ffeeeb42ae7fULL; 00151 }; 00152 00153 template<class ContainerAllocator> 00154 struct DataType< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> > { 00155 static const char* value() 00156 { 00157 return "sensor_msgs/ChannelFloat32"; 00158 } 00159 00160 static const char* value(const ::sensor_msgs::ChannelFloat32_<ContainerAllocator> &) { return value(); } 00161 }; 00162 00163 template<class ContainerAllocator> 00164 struct Definition< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> > { 00165 static const char* value() 00166 { 00167 return "# This message is used by the PointCloud message to hold optional data\n\ 00168 # associated with each point in the cloud. The length of the values\n\ 00169 # array should be the same as the length of the points array in the\n\ 00170 # PointCloud, and each value should be associated with the corresponding\n\ 00171 # point.\n\ 00172 \n\ 00173 # Channel names in existing practice include:\n\ 00174 # \"u\", \"v\" - row and column (respectively) in the left stereo image.\n\ 00175 # This is opposite to usual conventions but remains for\n\ 00176 # historical reasons. The newer PointCloud2 message has no\n\ 00177 # such problem.\n\ 00178 # \"rgb\" - For point clouds produced by color stereo cameras. uint8\n\ 00179 # (R,G,B) values packed into the least significant 24 bits,\n\ 00180 # in order.\n\ 00181 # \"intensity\" - laser or pixel intensity.\n\ 00182 # \"distance\"\n\ 00183 \n\ 00184 # The channel name should give semantics of the channel (e.g.\n\ 00185 # \"intensity\" instead of \"value\").\n\ 00186 string name\n\ 00187 \n\ 00188 # The values array should be 1-1 with the elements of the associated\n\ 00189 # PointCloud.\n\ 00190 float32[] values\n\ 00191 \n\ 00192 "; 00193 } 00194 00195 static const char* value(const ::sensor_msgs::ChannelFloat32_<ContainerAllocator> &) { return value(); } 00196 }; 00197 00198 } // namespace message_traits 00199 } // namespace ros 00200 00201 namespace ros 00202 { 00203 namespace serialization 00204 { 00205 00206 template<class ContainerAllocator> struct Serializer< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> > 00207 { 00208 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00209 { 00210 stream.next(m.name); 00211 stream.next(m.values); 00212 } 00213 00214 ROS_DECLARE_ALLINONE_SERIALIZER; 00215 }; // struct ChannelFloat32_ 00216 } // namespace serialization 00217 } // namespace ros 00218 00219 namespace ros 00220 { 00221 namespace message_operations 00222 { 00223 00224 template<class ContainerAllocator> 00225 struct Printer< ::sensor_msgs::ChannelFloat32_<ContainerAllocator> > 00226 { 00227 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::sensor_msgs::ChannelFloat32_<ContainerAllocator> & v) 00228 { 00229 s << indent << "name: "; 00230 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.name); 00231 s << indent << "values[]" << std::endl; 00232 for (size_t i = 0; i < v.values.size(); ++i) 00233 { 00234 s << indent << " values[" << i << "]: "; 00235 Printer<float>::stream(s, indent + " ", v.values[i]); 00236 } 00237 } 00238 }; 00239 00240 00241 } // namespace message_operations 00242 } // namespace ros 00243 00244 #endif // SENSOR_MSGS_MESSAGE_CHANNELFLOAT32_H 00245