$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-navigation/doc_stacks/2013-03-01_16-05-50.368377/navigation/costmap_2d/msg/VoxelGrid.msg */ 00002 #ifndef COSTMAP_2D_MESSAGE_VOXELGRID_H 00003 #define COSTMAP_2D_MESSAGE_VOXELGRID_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/Header.h" 00018 #include "geometry_msgs/Point32.h" 00019 #include "geometry_msgs/Vector3.h" 00020 00021 namespace costmap_2d 00022 { 00023 template <class ContainerAllocator> 00024 struct VoxelGrid_ { 00025 typedef VoxelGrid_<ContainerAllocator> Type; 00026 00027 VoxelGrid_() 00028 : header() 00029 , data() 00030 , origin() 00031 , resolutions() 00032 , size_x(0) 00033 , size_y(0) 00034 , size_z(0) 00035 { 00036 } 00037 00038 VoxelGrid_(const ContainerAllocator& _alloc) 00039 : header(_alloc) 00040 , data(_alloc) 00041 , origin(_alloc) 00042 , resolutions(_alloc) 00043 , size_x(0) 00044 , size_y(0) 00045 , size_z(0) 00046 { 00047 } 00048 00049 typedef ::std_msgs::Header_<ContainerAllocator> _header_type; 00050 ::std_msgs::Header_<ContainerAllocator> header; 00051 00052 typedef std::vector<uint32_t, typename ContainerAllocator::template rebind<uint32_t>::other > _data_type; 00053 std::vector<uint32_t, typename ContainerAllocator::template rebind<uint32_t>::other > data; 00054 00055 typedef ::geometry_msgs::Point32_<ContainerAllocator> _origin_type; 00056 ::geometry_msgs::Point32_<ContainerAllocator> origin; 00057 00058 typedef ::geometry_msgs::Vector3_<ContainerAllocator> _resolutions_type; 00059 ::geometry_msgs::Vector3_<ContainerAllocator> resolutions; 00060 00061 typedef uint32_t _size_x_type; 00062 uint32_t size_x; 00063 00064 typedef uint32_t _size_y_type; 00065 uint32_t size_y; 00066 00067 typedef uint32_t _size_z_type; 00068 uint32_t size_z; 00069 00070 00071 ROS_DEPRECATED uint32_t get_data_size() const { return (uint32_t)data.size(); } 00072 ROS_DEPRECATED void set_data_size(uint32_t size) { data.resize((size_t)size); } 00073 ROS_DEPRECATED void get_data_vec(std::vector<uint32_t, typename ContainerAllocator::template rebind<uint32_t>::other > & vec) const { vec = this->data; } 00074 ROS_DEPRECATED void set_data_vec(const std::vector<uint32_t, typename ContainerAllocator::template rebind<uint32_t>::other > & vec) { this->data = vec; } 00075 private: 00076 static const char* __s_getDataType_() { return "costmap_2d/VoxelGrid"; } 00077 public: 00078 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00079 00080 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00081 00082 private: 00083 static const char* __s_getMD5Sum_() { return "48a040827e1322073d78ece5a497029c"; } 00084 public: 00085 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00086 00087 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00088 00089 private: 00090 static const char* __s_getMessageDefinition_() { return "Header header\n\ 00091 uint32[] data\n\ 00092 geometry_msgs/Point32 origin\n\ 00093 geometry_msgs/Vector3 resolutions\n\ 00094 uint32 size_x\n\ 00095 uint32 size_y\n\ 00096 uint32 size_z\n\ 00097 \n\ 00098 \n\ 00099 ================================================================================\n\ 00100 MSG: std_msgs/Header\n\ 00101 # Standard metadata for higher-level stamped data types.\n\ 00102 # This is generally used to communicate timestamped data \n\ 00103 # in a particular coordinate frame.\n\ 00104 # \n\ 00105 # sequence ID: consecutively increasing ID \n\ 00106 uint32 seq\n\ 00107 #Two-integer timestamp that is expressed as:\n\ 00108 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00109 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00110 # time-handling sugar is provided by the client library\n\ 00111 time stamp\n\ 00112 #Frame this data is associated with\n\ 00113 # 0: no frame\n\ 00114 # 1: global frame\n\ 00115 string frame_id\n\ 00116 \n\ 00117 ================================================================================\n\ 00118 MSG: geometry_msgs/Point32\n\ 00119 # This contains the position of a point in free space(with 32 bits of precision).\n\ 00120 # It is recommeded to use Point wherever possible instead of Point32. \n\ 00121 # \n\ 00122 # This recommendation is to promote interoperability. \n\ 00123 #\n\ 00124 # This message is designed to take up less space when sending\n\ 00125 # lots of points at once, as in the case of a PointCloud. \n\ 00126 \n\ 00127 float32 x\n\ 00128 float32 y\n\ 00129 float32 z\n\ 00130 ================================================================================\n\ 00131 MSG: geometry_msgs/Vector3\n\ 00132 # This represents a vector in free space. \n\ 00133 \n\ 00134 float64 x\n\ 00135 float64 y\n\ 00136 float64 z\n\ 00137 "; } 00138 public: 00139 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00140 00141 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00142 00143 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00144 { 00145 ros::serialization::OStream stream(write_ptr, 1000000000); 00146 ros::serialization::serialize(stream, header); 00147 ros::serialization::serialize(stream, data); 00148 ros::serialization::serialize(stream, origin); 00149 ros::serialization::serialize(stream, resolutions); 00150 ros::serialization::serialize(stream, size_x); 00151 ros::serialization::serialize(stream, size_y); 00152 ros::serialization::serialize(stream, size_z); 00153 return stream.getData(); 00154 } 00155 00156 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00157 { 00158 ros::serialization::IStream stream(read_ptr, 1000000000); 00159 ros::serialization::deserialize(stream, header); 00160 ros::serialization::deserialize(stream, data); 00161 ros::serialization::deserialize(stream, origin); 00162 ros::serialization::deserialize(stream, resolutions); 00163 ros::serialization::deserialize(stream, size_x); 00164 ros::serialization::deserialize(stream, size_y); 00165 ros::serialization::deserialize(stream, size_z); 00166 return stream.getData(); 00167 } 00168 00169 ROS_DEPRECATED virtual uint32_t serializationLength() const 00170 { 00171 uint32_t size = 0; 00172 size += ros::serialization::serializationLength(header); 00173 size += ros::serialization::serializationLength(data); 00174 size += ros::serialization::serializationLength(origin); 00175 size += ros::serialization::serializationLength(resolutions); 00176 size += ros::serialization::serializationLength(size_x); 00177 size += ros::serialization::serializationLength(size_y); 00178 size += ros::serialization::serializationLength(size_z); 00179 return size; 00180 } 00181 00182 typedef boost::shared_ptr< ::costmap_2d::VoxelGrid_<ContainerAllocator> > Ptr; 00183 typedef boost::shared_ptr< ::costmap_2d::VoxelGrid_<ContainerAllocator> const> ConstPtr; 00184 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00185 }; // struct VoxelGrid 00186 typedef ::costmap_2d::VoxelGrid_<std::allocator<void> > VoxelGrid; 00187 00188 typedef boost::shared_ptr< ::costmap_2d::VoxelGrid> VoxelGridPtr; 00189 typedef boost::shared_ptr< ::costmap_2d::VoxelGrid const> VoxelGridConstPtr; 00190 00191 00192 template<typename ContainerAllocator> 00193 std::ostream& operator<<(std::ostream& s, const ::costmap_2d::VoxelGrid_<ContainerAllocator> & v) 00194 { 00195 ros::message_operations::Printer< ::costmap_2d::VoxelGrid_<ContainerAllocator> >::stream(s, "", v); 00196 return s;} 00197 00198 } // namespace costmap_2d 00199 00200 namespace ros 00201 { 00202 namespace message_traits 00203 { 00204 template<class ContainerAllocator> struct IsMessage< ::costmap_2d::VoxelGrid_<ContainerAllocator> > : public TrueType {}; 00205 template<class ContainerAllocator> struct IsMessage< ::costmap_2d::VoxelGrid_<ContainerAllocator> const> : public TrueType {}; 00206 template<class ContainerAllocator> 00207 struct MD5Sum< ::costmap_2d::VoxelGrid_<ContainerAllocator> > { 00208 static const char* value() 00209 { 00210 return "48a040827e1322073d78ece5a497029c"; 00211 } 00212 00213 static const char* value(const ::costmap_2d::VoxelGrid_<ContainerAllocator> &) { return value(); } 00214 static const uint64_t static_value1 = 0x48a040827e132207ULL; 00215 static const uint64_t static_value2 = 0x3d78ece5a497029cULL; 00216 }; 00217 00218 template<class ContainerAllocator> 00219 struct DataType< ::costmap_2d::VoxelGrid_<ContainerAllocator> > { 00220 static const char* value() 00221 { 00222 return "costmap_2d/VoxelGrid"; 00223 } 00224 00225 static const char* value(const ::costmap_2d::VoxelGrid_<ContainerAllocator> &) { return value(); } 00226 }; 00227 00228 template<class ContainerAllocator> 00229 struct Definition< ::costmap_2d::VoxelGrid_<ContainerAllocator> > { 00230 static const char* value() 00231 { 00232 return "Header header\n\ 00233 uint32[] data\n\ 00234 geometry_msgs/Point32 origin\n\ 00235 geometry_msgs/Vector3 resolutions\n\ 00236 uint32 size_x\n\ 00237 uint32 size_y\n\ 00238 uint32 size_z\n\ 00239 \n\ 00240 \n\ 00241 ================================================================================\n\ 00242 MSG: std_msgs/Header\n\ 00243 # Standard metadata for higher-level stamped data types.\n\ 00244 # This is generally used to communicate timestamped data \n\ 00245 # in a particular coordinate frame.\n\ 00246 # \n\ 00247 # sequence ID: consecutively increasing ID \n\ 00248 uint32 seq\n\ 00249 #Two-integer timestamp that is expressed as:\n\ 00250 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00251 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00252 # time-handling sugar is provided by the client library\n\ 00253 time stamp\n\ 00254 #Frame this data is associated with\n\ 00255 # 0: no frame\n\ 00256 # 1: global frame\n\ 00257 string frame_id\n\ 00258 \n\ 00259 ================================================================================\n\ 00260 MSG: geometry_msgs/Point32\n\ 00261 # This contains the position of a point in free space(with 32 bits of precision).\n\ 00262 # It is recommeded to use Point wherever possible instead of Point32. \n\ 00263 # \n\ 00264 # This recommendation is to promote interoperability. \n\ 00265 #\n\ 00266 # This message is designed to take up less space when sending\n\ 00267 # lots of points at once, as in the case of a PointCloud. \n\ 00268 \n\ 00269 float32 x\n\ 00270 float32 y\n\ 00271 float32 z\n\ 00272 ================================================================================\n\ 00273 MSG: geometry_msgs/Vector3\n\ 00274 # This represents a vector in free space. \n\ 00275 \n\ 00276 float64 x\n\ 00277 float64 y\n\ 00278 float64 z\n\ 00279 "; 00280 } 00281 00282 static const char* value(const ::costmap_2d::VoxelGrid_<ContainerAllocator> &) { return value(); } 00283 }; 00284 00285 template<class ContainerAllocator> struct HasHeader< ::costmap_2d::VoxelGrid_<ContainerAllocator> > : public TrueType {}; 00286 template<class ContainerAllocator> struct HasHeader< const ::costmap_2d::VoxelGrid_<ContainerAllocator> > : public TrueType {}; 00287 } // namespace message_traits 00288 } // namespace ros 00289 00290 namespace ros 00291 { 00292 namespace serialization 00293 { 00294 00295 template<class ContainerAllocator> struct Serializer< ::costmap_2d::VoxelGrid_<ContainerAllocator> > 00296 { 00297 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00298 { 00299 stream.next(m.header); 00300 stream.next(m.data); 00301 stream.next(m.origin); 00302 stream.next(m.resolutions); 00303 stream.next(m.size_x); 00304 stream.next(m.size_y); 00305 stream.next(m.size_z); 00306 } 00307 00308 ROS_DECLARE_ALLINONE_SERIALIZER; 00309 }; // struct VoxelGrid_ 00310 } // namespace serialization 00311 } // namespace ros 00312 00313 namespace ros 00314 { 00315 namespace message_operations 00316 { 00317 00318 template<class ContainerAllocator> 00319 struct Printer< ::costmap_2d::VoxelGrid_<ContainerAllocator> > 00320 { 00321 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::costmap_2d::VoxelGrid_<ContainerAllocator> & v) 00322 { 00323 s << indent << "header: "; 00324 s << std::endl; 00325 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header); 00326 s << indent << "data[]" << std::endl; 00327 for (size_t i = 0; i < v.data.size(); ++i) 00328 { 00329 s << indent << " data[" << i << "]: "; 00330 Printer<uint32_t>::stream(s, indent + " ", v.data[i]); 00331 } 00332 s << indent << "origin: "; 00333 s << std::endl; 00334 Printer< ::geometry_msgs::Point32_<ContainerAllocator> >::stream(s, indent + " ", v.origin); 00335 s << indent << "resolutions: "; 00336 s << std::endl; 00337 Printer< ::geometry_msgs::Vector3_<ContainerAllocator> >::stream(s, indent + " ", v.resolutions); 00338 s << indent << "size_x: "; 00339 Printer<uint32_t>::stream(s, indent + " ", v.size_x); 00340 s << indent << "size_y: "; 00341 Printer<uint32_t>::stream(s, indent + " ", v.size_y); 00342 s << indent << "size_z: "; 00343 Printer<uint32_t>::stream(s, indent + " ", v.size_z); 00344 } 00345 }; 00346 00347 00348 } // namespace message_operations 00349 } // namespace ros 00350 00351 #endif // COSTMAP_2D_MESSAGE_VOXELGRID_H 00352