$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-flirtlib_features/doc_stacks/2013-03-01_15-30-29.334793/flirtlib_features/flirtlib_ros/msg/ScanMap.msg */ 00002 #ifndef FLIRTLIB_ROS_MESSAGE_SCANMAP_H 00003 #define FLIRTLIB_ROS_MESSAGE_SCANMAP_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 "flirtlib_ros/RefScanRos.h" 00018 00019 namespace flirtlib_ros 00020 { 00021 template <class ContainerAllocator> 00022 struct ScanMap_ { 00023 typedef ScanMap_<ContainerAllocator> Type; 00024 00025 ScanMap_() 00026 : scans() 00027 { 00028 } 00029 00030 ScanMap_(const ContainerAllocator& _alloc) 00031 : scans(_alloc) 00032 { 00033 } 00034 00035 typedef std::vector< ::flirtlib_ros::RefScanRos_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::flirtlib_ros::RefScanRos_<ContainerAllocator> >::other > _scans_type; 00036 std::vector< ::flirtlib_ros::RefScanRos_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::flirtlib_ros::RefScanRos_<ContainerAllocator> >::other > scans; 00037 00038 00039 ROS_DEPRECATED uint32_t get_scans_size() const { return (uint32_t)scans.size(); } 00040 ROS_DEPRECATED void set_scans_size(uint32_t size) { scans.resize((size_t)size); } 00041 ROS_DEPRECATED void get_scans_vec(std::vector< ::flirtlib_ros::RefScanRos_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::flirtlib_ros::RefScanRos_<ContainerAllocator> >::other > & vec) const { vec = this->scans; } 00042 ROS_DEPRECATED void set_scans_vec(const std::vector< ::flirtlib_ros::RefScanRos_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::flirtlib_ros::RefScanRos_<ContainerAllocator> >::other > & vec) { this->scans = vec; } 00043 private: 00044 static const char* __s_getDataType_() { return "flirtlib_ros/ScanMap"; } 00045 public: 00046 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00047 00048 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00049 00050 private: 00051 static const char* __s_getMD5Sum_() { return "026e963f013904b1ec1b7676cf837306"; } 00052 public: 00053 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00054 00055 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00056 00057 private: 00058 static const char* __s_getMessageDefinition_() { return "RefScanRos[] scans\n\ 00059 ================================================================================\n\ 00060 MSG: flirtlib_ros/RefScanRos\n\ 00061 sensor_msgs/LaserScan scan\n\ 00062 geometry_msgs/Pose pose\n\ 00063 InterestPointRos[] pts\n\ 00064 ================================================================================\n\ 00065 MSG: sensor_msgs/LaserScan\n\ 00066 # Single scan from a planar laser range-finder\n\ 00067 #\n\ 00068 # If you have another ranging device with different behavior (e.g. a sonar\n\ 00069 # array), please find or create a different message, since applications\n\ 00070 # will make fairly laser-specific assumptions about this data\n\ 00071 \n\ 00072 Header header # timestamp in the header is the acquisition time of \n\ 00073 # the first ray in the scan.\n\ 00074 #\n\ 00075 # in frame frame_id, angles are measured around \n\ 00076 # the positive Z axis (counterclockwise, if Z is up)\n\ 00077 # with zero angle being forward along the x axis\n\ 00078 \n\ 00079 float32 angle_min # start angle of the scan [rad]\n\ 00080 float32 angle_max # end angle of the scan [rad]\n\ 00081 float32 angle_increment # angular distance between measurements [rad]\n\ 00082 \n\ 00083 float32 time_increment # time between measurements [seconds] - if your scanner\n\ 00084 # is moving, this will be used in interpolating position\n\ 00085 # of 3d points\n\ 00086 float32 scan_time # time between scans [seconds]\n\ 00087 \n\ 00088 float32 range_min # minimum range value [m]\n\ 00089 float32 range_max # maximum range value [m]\n\ 00090 \n\ 00091 float32[] ranges # range data [m] (Note: values < range_min or > range_max should be discarded)\n\ 00092 float32[] intensities # intensity data [device-specific units]. If your\n\ 00093 # device does not provide intensities, please leave\n\ 00094 # the array empty.\n\ 00095 \n\ 00096 ================================================================================\n\ 00097 MSG: std_msgs/Header\n\ 00098 # Standard metadata for higher-level stamped data types.\n\ 00099 # This is generally used to communicate timestamped data \n\ 00100 # in a particular coordinate frame.\n\ 00101 # \n\ 00102 # sequence ID: consecutively increasing ID \n\ 00103 uint32 seq\n\ 00104 #Two-integer timestamp that is expressed as:\n\ 00105 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00106 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00107 # time-handling sugar is provided by the client library\n\ 00108 time stamp\n\ 00109 #Frame this data is associated with\n\ 00110 # 0: no frame\n\ 00111 # 1: global frame\n\ 00112 string frame_id\n\ 00113 \n\ 00114 ================================================================================\n\ 00115 MSG: geometry_msgs/Pose\n\ 00116 # A representation of pose in free space, composed of postion and orientation. \n\ 00117 Point position\n\ 00118 Quaternion orientation\n\ 00119 \n\ 00120 ================================================================================\n\ 00121 MSG: geometry_msgs/Point\n\ 00122 # This contains the position of a point in free space\n\ 00123 float64 x\n\ 00124 float64 y\n\ 00125 float64 z\n\ 00126 \n\ 00127 ================================================================================\n\ 00128 MSG: geometry_msgs/Quaternion\n\ 00129 # This represents an orientation in free space in quaternion form.\n\ 00130 \n\ 00131 float64 x\n\ 00132 float64 y\n\ 00133 float64 z\n\ 00134 float64 w\n\ 00135 \n\ 00136 ================================================================================\n\ 00137 MSG: flirtlib_ros/InterestPointRos\n\ 00138 # Corresponds to the InterestPoint type in flirtlib\n\ 00139 # Includes both the point location and optionally a descriptor\n\ 00140 \n\ 00141 geometry_msgs/Pose2D pose\n\ 00142 \n\ 00143 geometry_msgs/Point[] support_points\n\ 00144 \n\ 00145 float32 scale\n\ 00146 \n\ 00147 uint32 scale_level\n\ 00148 \n\ 00149 DescriptorRos descriptor\n\ 00150 \n\ 00151 \n\ 00152 ================================================================================\n\ 00153 MSG: geometry_msgs/Pose2D\n\ 00154 # This expresses a position and orientation on a 2D manifold.\n\ 00155 \n\ 00156 float64 x\n\ 00157 float64 y\n\ 00158 float64 theta\n\ 00159 ================================================================================\n\ 00160 MSG: flirtlib_ros/DescriptorRos\n\ 00161 # Confirms to the Descriptor type in flirtlib\n\ 00162 # For now, we only allow the beta grid descriptor\n\ 00163 \n\ 00164 Vector[] hist\n\ 00165 Vector[] variance\n\ 00166 Vector[] hit\n\ 00167 Vector[] miss\n\ 00168 \n\ 00169 ================================================================================\n\ 00170 MSG: flirtlib_ros/Vector\n\ 00171 # Vector message type used by a bunch of the flirtlib messages\n\ 00172 \n\ 00173 float64[] vec\n\ 00174 "; } 00175 public: 00176 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00177 00178 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00179 00180 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00181 { 00182 ros::serialization::OStream stream(write_ptr, 1000000000); 00183 ros::serialization::serialize(stream, scans); 00184 return stream.getData(); 00185 } 00186 00187 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00188 { 00189 ros::serialization::IStream stream(read_ptr, 1000000000); 00190 ros::serialization::deserialize(stream, scans); 00191 return stream.getData(); 00192 } 00193 00194 ROS_DEPRECATED virtual uint32_t serializationLength() const 00195 { 00196 uint32_t size = 0; 00197 size += ros::serialization::serializationLength(scans); 00198 return size; 00199 } 00200 00201 typedef boost::shared_ptr< ::flirtlib_ros::ScanMap_<ContainerAllocator> > Ptr; 00202 typedef boost::shared_ptr< ::flirtlib_ros::ScanMap_<ContainerAllocator> const> ConstPtr; 00203 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00204 }; // struct ScanMap 00205 typedef ::flirtlib_ros::ScanMap_<std::allocator<void> > ScanMap; 00206 00207 typedef boost::shared_ptr< ::flirtlib_ros::ScanMap> ScanMapPtr; 00208 typedef boost::shared_ptr< ::flirtlib_ros::ScanMap const> ScanMapConstPtr; 00209 00210 00211 template<typename ContainerAllocator> 00212 std::ostream& operator<<(std::ostream& s, const ::flirtlib_ros::ScanMap_<ContainerAllocator> & v) 00213 { 00214 ros::message_operations::Printer< ::flirtlib_ros::ScanMap_<ContainerAllocator> >::stream(s, "", v); 00215 return s;} 00216 00217 } // namespace flirtlib_ros 00218 00219 namespace ros 00220 { 00221 namespace message_traits 00222 { 00223 template<class ContainerAllocator> struct IsMessage< ::flirtlib_ros::ScanMap_<ContainerAllocator> > : public TrueType {}; 00224 template<class ContainerAllocator> struct IsMessage< ::flirtlib_ros::ScanMap_<ContainerAllocator> const> : public TrueType {}; 00225 template<class ContainerAllocator> 00226 struct MD5Sum< ::flirtlib_ros::ScanMap_<ContainerAllocator> > { 00227 static const char* value() 00228 { 00229 return "026e963f013904b1ec1b7676cf837306"; 00230 } 00231 00232 static const char* value(const ::flirtlib_ros::ScanMap_<ContainerAllocator> &) { return value(); } 00233 static const uint64_t static_value1 = 0x026e963f013904b1ULL; 00234 static const uint64_t static_value2 = 0xec1b7676cf837306ULL; 00235 }; 00236 00237 template<class ContainerAllocator> 00238 struct DataType< ::flirtlib_ros::ScanMap_<ContainerAllocator> > { 00239 static const char* value() 00240 { 00241 return "flirtlib_ros/ScanMap"; 00242 } 00243 00244 static const char* value(const ::flirtlib_ros::ScanMap_<ContainerAllocator> &) { return value(); } 00245 }; 00246 00247 template<class ContainerAllocator> 00248 struct Definition< ::flirtlib_ros::ScanMap_<ContainerAllocator> > { 00249 static const char* value() 00250 { 00251 return "RefScanRos[] scans\n\ 00252 ================================================================================\n\ 00253 MSG: flirtlib_ros/RefScanRos\n\ 00254 sensor_msgs/LaserScan scan\n\ 00255 geometry_msgs/Pose pose\n\ 00256 InterestPointRos[] pts\n\ 00257 ================================================================================\n\ 00258 MSG: sensor_msgs/LaserScan\n\ 00259 # Single scan from a planar laser range-finder\n\ 00260 #\n\ 00261 # If you have another ranging device with different behavior (e.g. a sonar\n\ 00262 # array), please find or create a different message, since applications\n\ 00263 # will make fairly laser-specific assumptions about this data\n\ 00264 \n\ 00265 Header header # timestamp in the header is the acquisition time of \n\ 00266 # the first ray in the scan.\n\ 00267 #\n\ 00268 # in frame frame_id, angles are measured around \n\ 00269 # the positive Z axis (counterclockwise, if Z is up)\n\ 00270 # with zero angle being forward along the x axis\n\ 00271 \n\ 00272 float32 angle_min # start angle of the scan [rad]\n\ 00273 float32 angle_max # end angle of the scan [rad]\n\ 00274 float32 angle_increment # angular distance between measurements [rad]\n\ 00275 \n\ 00276 float32 time_increment # time between measurements [seconds] - if your scanner\n\ 00277 # is moving, this will be used in interpolating position\n\ 00278 # of 3d points\n\ 00279 float32 scan_time # time between scans [seconds]\n\ 00280 \n\ 00281 float32 range_min # minimum range value [m]\n\ 00282 float32 range_max # maximum range value [m]\n\ 00283 \n\ 00284 float32[] ranges # range data [m] (Note: values < range_min or > range_max should be discarded)\n\ 00285 float32[] intensities # intensity data [device-specific units]. If your\n\ 00286 # device does not provide intensities, please leave\n\ 00287 # the array empty.\n\ 00288 \n\ 00289 ================================================================================\n\ 00290 MSG: std_msgs/Header\n\ 00291 # Standard metadata for higher-level stamped data types.\n\ 00292 # This is generally used to communicate timestamped data \n\ 00293 # in a particular coordinate frame.\n\ 00294 # \n\ 00295 # sequence ID: consecutively increasing ID \n\ 00296 uint32 seq\n\ 00297 #Two-integer timestamp that is expressed as:\n\ 00298 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00299 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00300 # time-handling sugar is provided by the client library\n\ 00301 time stamp\n\ 00302 #Frame this data is associated with\n\ 00303 # 0: no frame\n\ 00304 # 1: global frame\n\ 00305 string frame_id\n\ 00306 \n\ 00307 ================================================================================\n\ 00308 MSG: geometry_msgs/Pose\n\ 00309 # A representation of pose in free space, composed of postion and orientation. \n\ 00310 Point position\n\ 00311 Quaternion orientation\n\ 00312 \n\ 00313 ================================================================================\n\ 00314 MSG: geometry_msgs/Point\n\ 00315 # This contains the position of a point in free space\n\ 00316 float64 x\n\ 00317 float64 y\n\ 00318 float64 z\n\ 00319 \n\ 00320 ================================================================================\n\ 00321 MSG: geometry_msgs/Quaternion\n\ 00322 # This represents an orientation in free space in quaternion form.\n\ 00323 \n\ 00324 float64 x\n\ 00325 float64 y\n\ 00326 float64 z\n\ 00327 float64 w\n\ 00328 \n\ 00329 ================================================================================\n\ 00330 MSG: flirtlib_ros/InterestPointRos\n\ 00331 # Corresponds to the InterestPoint type in flirtlib\n\ 00332 # Includes both the point location and optionally a descriptor\n\ 00333 \n\ 00334 geometry_msgs/Pose2D pose\n\ 00335 \n\ 00336 geometry_msgs/Point[] support_points\n\ 00337 \n\ 00338 float32 scale\n\ 00339 \n\ 00340 uint32 scale_level\n\ 00341 \n\ 00342 DescriptorRos descriptor\n\ 00343 \n\ 00344 \n\ 00345 ================================================================================\n\ 00346 MSG: geometry_msgs/Pose2D\n\ 00347 # This expresses a position and orientation on a 2D manifold.\n\ 00348 \n\ 00349 float64 x\n\ 00350 float64 y\n\ 00351 float64 theta\n\ 00352 ================================================================================\n\ 00353 MSG: flirtlib_ros/DescriptorRos\n\ 00354 # Confirms to the Descriptor type in flirtlib\n\ 00355 # For now, we only allow the beta grid descriptor\n\ 00356 \n\ 00357 Vector[] hist\n\ 00358 Vector[] variance\n\ 00359 Vector[] hit\n\ 00360 Vector[] miss\n\ 00361 \n\ 00362 ================================================================================\n\ 00363 MSG: flirtlib_ros/Vector\n\ 00364 # Vector message type used by a bunch of the flirtlib messages\n\ 00365 \n\ 00366 float64[] vec\n\ 00367 "; 00368 } 00369 00370 static const char* value(const ::flirtlib_ros::ScanMap_<ContainerAllocator> &) { return value(); } 00371 }; 00372 00373 } // namespace message_traits 00374 } // namespace ros 00375 00376 namespace ros 00377 { 00378 namespace serialization 00379 { 00380 00381 template<class ContainerAllocator> struct Serializer< ::flirtlib_ros::ScanMap_<ContainerAllocator> > 00382 { 00383 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00384 { 00385 stream.next(m.scans); 00386 } 00387 00388 ROS_DECLARE_ALLINONE_SERIALIZER; 00389 }; // struct ScanMap_ 00390 } // namespace serialization 00391 } // namespace ros 00392 00393 namespace ros 00394 { 00395 namespace message_operations 00396 { 00397 00398 template<class ContainerAllocator> 00399 struct Printer< ::flirtlib_ros::ScanMap_<ContainerAllocator> > 00400 { 00401 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::flirtlib_ros::ScanMap_<ContainerAllocator> & v) 00402 { 00403 s << indent << "scans[]" << std::endl; 00404 for (size_t i = 0; i < v.scans.size(); ++i) 00405 { 00406 s << indent << " scans[" << i << "]: "; 00407 s << std::endl; 00408 s << indent; 00409 Printer< ::flirtlib_ros::RefScanRos_<ContainerAllocator> >::stream(s, indent + " ", v.scans[i]); 00410 } 00411 } 00412 }; 00413 00414 00415 } // namespace message_operations 00416 } // namespace ros 00417 00418 #endif // FLIRTLIB_ROS_MESSAGE_SCANMAP_H 00419