$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-art_vehicle/doc_stacks/2013-03-01_14-08-11.497537/art_vehicle/art_msgs/msg/ArtLanes.msg */ 00002 #ifndef ART_MSGS_MESSAGE_ARTLANES_H 00003 #define ART_MSGS_MESSAGE_ARTLANES_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 "art_msgs/ArtQuadrilateral.h" 00019 00020 namespace art_msgs 00021 { 00022 template <class ContainerAllocator> 00023 struct ArtLanes_ { 00024 typedef ArtLanes_<ContainerAllocator> Type; 00025 00026 ArtLanes_() 00027 : header() 00028 , polygons() 00029 { 00030 } 00031 00032 ArtLanes_(const ContainerAllocator& _alloc) 00033 : header(_alloc) 00034 , polygons(_alloc) 00035 { 00036 } 00037 00038 typedef ::std_msgs::Header_<ContainerAllocator> _header_type; 00039 ::std_msgs::Header_<ContainerAllocator> header; 00040 00041 typedef std::vector< ::art_msgs::ArtQuadrilateral_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::art_msgs::ArtQuadrilateral_<ContainerAllocator> >::other > _polygons_type; 00042 std::vector< ::art_msgs::ArtQuadrilateral_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::art_msgs::ArtQuadrilateral_<ContainerAllocator> >::other > polygons; 00043 00044 00045 ROS_DEPRECATED uint32_t get_polygons_size() const { return (uint32_t)polygons.size(); } 00046 ROS_DEPRECATED void set_polygons_size(uint32_t size) { polygons.resize((size_t)size); } 00047 ROS_DEPRECATED void get_polygons_vec(std::vector< ::art_msgs::ArtQuadrilateral_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::art_msgs::ArtQuadrilateral_<ContainerAllocator> >::other > & vec) const { vec = this->polygons; } 00048 ROS_DEPRECATED void set_polygons_vec(const std::vector< ::art_msgs::ArtQuadrilateral_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::art_msgs::ArtQuadrilateral_<ContainerAllocator> >::other > & vec) { this->polygons = vec; } 00049 private: 00050 static const char* __s_getDataType_() { return "art_msgs/ArtLanes"; } 00051 public: 00052 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00053 00054 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00055 00056 private: 00057 static const char* __s_getMD5Sum_() { return "384de56fb723b4265b396fcf86b17531"; } 00058 public: 00059 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00060 00061 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00062 00063 private: 00064 static const char* __s_getMessageDefinition_() { return "# ART lanes message\n\ 00065 # $Id: ArtLanes.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00066 \n\ 00067 Header header\n\ 00068 ArtQuadrilateral[] polygons\n\ 00069 \n\ 00070 ================================================================================\n\ 00071 MSG: std_msgs/Header\n\ 00072 # Standard metadata for higher-level stamped data types.\n\ 00073 # This is generally used to communicate timestamped data \n\ 00074 # in a particular coordinate frame.\n\ 00075 # \n\ 00076 # sequence ID: consecutively increasing ID \n\ 00077 uint32 seq\n\ 00078 #Two-integer timestamp that is expressed as:\n\ 00079 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00080 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00081 # time-handling sugar is provided by the client library\n\ 00082 time stamp\n\ 00083 #Frame this data is associated with\n\ 00084 # 0: no frame\n\ 00085 # 1: global frame\n\ 00086 string frame_id\n\ 00087 \n\ 00088 ================================================================================\n\ 00089 MSG: art_msgs/ArtQuadrilateral\n\ 00090 # ART quadrilateral polygon\n\ 00091 # $Id: ArtQuadrilateral.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00092 \n\ 00093 # Each of these polygons is a quadrilateral. The four vertex points\n\ 00094 # are ordered relative to the heading of the lane containing it.\n\ 00095 \n\ 00096 geometry_msgs/Polygon poly\n\ 00097 int32 bottom_left = 0\n\ 00098 int32 top_left = 1\n\ 00099 int32 top_right = 2\n\ 00100 int32 bottom_right = 3\n\ 00101 int32 quad_size = 4\n\ 00102 \n\ 00103 geometry_msgs/Point midpoint # Middle of the polygon\n\ 00104 \n\ 00105 float32 heading # average of right and left boundary headings\n\ 00106 float32 length # length of the polygon\n\ 00107 int32 poly_id # unique MapLanes ID\n\ 00108 \n\ 00109 bool is_stop # this poly has a stop waypoint\n\ 00110 bool is_transition # not a lane polygon, no waypoint\n\ 00111 bool contains_way # both start_way and end_way are the contained waypoint\n\ 00112 \n\ 00113 MapID start_way\n\ 00114 MapID end_way\n\ 00115 \n\ 00116 LaneMarking left_boundary\n\ 00117 LaneMarking right_boundary\n\ 00118 \n\ 00119 ================================================================================\n\ 00120 MSG: geometry_msgs/Polygon\n\ 00121 #A specification of a polygon where the first and last points are assumed to be connected\n\ 00122 geometry_msgs/Point32[] points\n\ 00123 \n\ 00124 ================================================================================\n\ 00125 MSG: geometry_msgs/Point32\n\ 00126 # This contains the position of a point in free space(with 32 bits of precision).\n\ 00127 # It is recommeded to use Point wherever possible instead of Point32. \n\ 00128 # \n\ 00129 # This recommendation is to promote interoperability. \n\ 00130 #\n\ 00131 # This message is designed to take up less space when sending\n\ 00132 # lots of points at once, as in the case of a PointCloud. \n\ 00133 \n\ 00134 float32 x\n\ 00135 float32 y\n\ 00136 float32 z\n\ 00137 ================================================================================\n\ 00138 MSG: geometry_msgs/Point\n\ 00139 # This contains the position of a point in free space\n\ 00140 float64 x\n\ 00141 float64 y\n\ 00142 float64 z\n\ 00143 \n\ 00144 ================================================================================\n\ 00145 MSG: art_msgs/MapID\n\ 00146 # Road map identifier for segments, lanes and way-points.\n\ 00147 # $Id: MapID.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00148 \n\ 00149 uint16 NULL_ID = 65535\n\ 00150 \n\ 00151 uint16 seg # segment ID\n\ 00152 uint16 lane # lane ID\n\ 00153 uint16 pt # way-point ID\n\ 00154 \n\ 00155 ================================================================================\n\ 00156 MSG: art_msgs/LaneMarking\n\ 00157 # Route Network Definition File lane marking\n\ 00158 # $Id: LaneMarking.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00159 \n\ 00160 int16 DOUBLE_YELLOW = 0\n\ 00161 int16 SOLID_YELLOW = 1\n\ 00162 int16 SOLID_WHITE = 2\n\ 00163 int16 BROKEN_WHITE = 3\n\ 00164 int16 UNDEFINED = 4\n\ 00165 \n\ 00166 int16 lane_marking\n\ 00167 \n\ 00168 "; } 00169 public: 00170 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00171 00172 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00173 00174 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00175 { 00176 ros::serialization::OStream stream(write_ptr, 1000000000); 00177 ros::serialization::serialize(stream, header); 00178 ros::serialization::serialize(stream, polygons); 00179 return stream.getData(); 00180 } 00181 00182 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00183 { 00184 ros::serialization::IStream stream(read_ptr, 1000000000); 00185 ros::serialization::deserialize(stream, header); 00186 ros::serialization::deserialize(stream, polygons); 00187 return stream.getData(); 00188 } 00189 00190 ROS_DEPRECATED virtual uint32_t serializationLength() const 00191 { 00192 uint32_t size = 0; 00193 size += ros::serialization::serializationLength(header); 00194 size += ros::serialization::serializationLength(polygons); 00195 return size; 00196 } 00197 00198 typedef boost::shared_ptr< ::art_msgs::ArtLanes_<ContainerAllocator> > Ptr; 00199 typedef boost::shared_ptr< ::art_msgs::ArtLanes_<ContainerAllocator> const> ConstPtr; 00200 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00201 }; // struct ArtLanes 00202 typedef ::art_msgs::ArtLanes_<std::allocator<void> > ArtLanes; 00203 00204 typedef boost::shared_ptr< ::art_msgs::ArtLanes> ArtLanesPtr; 00205 typedef boost::shared_ptr< ::art_msgs::ArtLanes const> ArtLanesConstPtr; 00206 00207 00208 template<typename ContainerAllocator> 00209 std::ostream& operator<<(std::ostream& s, const ::art_msgs::ArtLanes_<ContainerAllocator> & v) 00210 { 00211 ros::message_operations::Printer< ::art_msgs::ArtLanes_<ContainerAllocator> >::stream(s, "", v); 00212 return s;} 00213 00214 } // namespace art_msgs 00215 00216 namespace ros 00217 { 00218 namespace message_traits 00219 { 00220 template<class ContainerAllocator> struct IsMessage< ::art_msgs::ArtLanes_<ContainerAllocator> > : public TrueType {}; 00221 template<class ContainerAllocator> struct IsMessage< ::art_msgs::ArtLanes_<ContainerAllocator> const> : public TrueType {}; 00222 template<class ContainerAllocator> 00223 struct MD5Sum< ::art_msgs::ArtLanes_<ContainerAllocator> > { 00224 static const char* value() 00225 { 00226 return "384de56fb723b4265b396fcf86b17531"; 00227 } 00228 00229 static const char* value(const ::art_msgs::ArtLanes_<ContainerAllocator> &) { return value(); } 00230 static const uint64_t static_value1 = 0x384de56fb723b426ULL; 00231 static const uint64_t static_value2 = 0x5b396fcf86b17531ULL; 00232 }; 00233 00234 template<class ContainerAllocator> 00235 struct DataType< ::art_msgs::ArtLanes_<ContainerAllocator> > { 00236 static const char* value() 00237 { 00238 return "art_msgs/ArtLanes"; 00239 } 00240 00241 static const char* value(const ::art_msgs::ArtLanes_<ContainerAllocator> &) { return value(); } 00242 }; 00243 00244 template<class ContainerAllocator> 00245 struct Definition< ::art_msgs::ArtLanes_<ContainerAllocator> > { 00246 static const char* value() 00247 { 00248 return "# ART lanes message\n\ 00249 # $Id: ArtLanes.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00250 \n\ 00251 Header header\n\ 00252 ArtQuadrilateral[] polygons\n\ 00253 \n\ 00254 ================================================================================\n\ 00255 MSG: std_msgs/Header\n\ 00256 # Standard metadata for higher-level stamped data types.\n\ 00257 # This is generally used to communicate timestamped data \n\ 00258 # in a particular coordinate frame.\n\ 00259 # \n\ 00260 # sequence ID: consecutively increasing ID \n\ 00261 uint32 seq\n\ 00262 #Two-integer timestamp that is expressed as:\n\ 00263 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00264 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00265 # time-handling sugar is provided by the client library\n\ 00266 time stamp\n\ 00267 #Frame this data is associated with\n\ 00268 # 0: no frame\n\ 00269 # 1: global frame\n\ 00270 string frame_id\n\ 00271 \n\ 00272 ================================================================================\n\ 00273 MSG: art_msgs/ArtQuadrilateral\n\ 00274 # ART quadrilateral polygon\n\ 00275 # $Id: ArtQuadrilateral.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00276 \n\ 00277 # Each of these polygons is a quadrilateral. The four vertex points\n\ 00278 # are ordered relative to the heading of the lane containing it.\n\ 00279 \n\ 00280 geometry_msgs/Polygon poly\n\ 00281 int32 bottom_left = 0\n\ 00282 int32 top_left = 1\n\ 00283 int32 top_right = 2\n\ 00284 int32 bottom_right = 3\n\ 00285 int32 quad_size = 4\n\ 00286 \n\ 00287 geometry_msgs/Point midpoint # Middle of the polygon\n\ 00288 \n\ 00289 float32 heading # average of right and left boundary headings\n\ 00290 float32 length # length of the polygon\n\ 00291 int32 poly_id # unique MapLanes ID\n\ 00292 \n\ 00293 bool is_stop # this poly has a stop waypoint\n\ 00294 bool is_transition # not a lane polygon, no waypoint\n\ 00295 bool contains_way # both start_way and end_way are the contained waypoint\n\ 00296 \n\ 00297 MapID start_way\n\ 00298 MapID end_way\n\ 00299 \n\ 00300 LaneMarking left_boundary\n\ 00301 LaneMarking right_boundary\n\ 00302 \n\ 00303 ================================================================================\n\ 00304 MSG: geometry_msgs/Polygon\n\ 00305 #A specification of a polygon where the first and last points are assumed to be connected\n\ 00306 geometry_msgs/Point32[] points\n\ 00307 \n\ 00308 ================================================================================\n\ 00309 MSG: geometry_msgs/Point32\n\ 00310 # This contains the position of a point in free space(with 32 bits of precision).\n\ 00311 # It is recommeded to use Point wherever possible instead of Point32. \n\ 00312 # \n\ 00313 # This recommendation is to promote interoperability. \n\ 00314 #\n\ 00315 # This message is designed to take up less space when sending\n\ 00316 # lots of points at once, as in the case of a PointCloud. \n\ 00317 \n\ 00318 float32 x\n\ 00319 float32 y\n\ 00320 float32 z\n\ 00321 ================================================================================\n\ 00322 MSG: geometry_msgs/Point\n\ 00323 # This contains the position of a point in free space\n\ 00324 float64 x\n\ 00325 float64 y\n\ 00326 float64 z\n\ 00327 \n\ 00328 ================================================================================\n\ 00329 MSG: art_msgs/MapID\n\ 00330 # Road map identifier for segments, lanes and way-points.\n\ 00331 # $Id: MapID.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00332 \n\ 00333 uint16 NULL_ID = 65535\n\ 00334 \n\ 00335 uint16 seg # segment ID\n\ 00336 uint16 lane # lane ID\n\ 00337 uint16 pt # way-point ID\n\ 00338 \n\ 00339 ================================================================================\n\ 00340 MSG: art_msgs/LaneMarking\n\ 00341 # Route Network Definition File lane marking\n\ 00342 # $Id: LaneMarking.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00343 \n\ 00344 int16 DOUBLE_YELLOW = 0\n\ 00345 int16 SOLID_YELLOW = 1\n\ 00346 int16 SOLID_WHITE = 2\n\ 00347 int16 BROKEN_WHITE = 3\n\ 00348 int16 UNDEFINED = 4\n\ 00349 \n\ 00350 int16 lane_marking\n\ 00351 \n\ 00352 "; 00353 } 00354 00355 static const char* value(const ::art_msgs::ArtLanes_<ContainerAllocator> &) { return value(); } 00356 }; 00357 00358 template<class ContainerAllocator> struct HasHeader< ::art_msgs::ArtLanes_<ContainerAllocator> > : public TrueType {}; 00359 template<class ContainerAllocator> struct HasHeader< const ::art_msgs::ArtLanes_<ContainerAllocator> > : public TrueType {}; 00360 } // namespace message_traits 00361 } // namespace ros 00362 00363 namespace ros 00364 { 00365 namespace serialization 00366 { 00367 00368 template<class ContainerAllocator> struct Serializer< ::art_msgs::ArtLanes_<ContainerAllocator> > 00369 { 00370 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00371 { 00372 stream.next(m.header); 00373 stream.next(m.polygons); 00374 } 00375 00376 ROS_DECLARE_ALLINONE_SERIALIZER; 00377 }; // struct ArtLanes_ 00378 } // namespace serialization 00379 } // namespace ros 00380 00381 namespace ros 00382 { 00383 namespace message_operations 00384 { 00385 00386 template<class ContainerAllocator> 00387 struct Printer< ::art_msgs::ArtLanes_<ContainerAllocator> > 00388 { 00389 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::art_msgs::ArtLanes_<ContainerAllocator> & v) 00390 { 00391 s << indent << "header: "; 00392 s << std::endl; 00393 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header); 00394 s << indent << "polygons[]" << std::endl; 00395 for (size_t i = 0; i < v.polygons.size(); ++i) 00396 { 00397 s << indent << " polygons[" << i << "]: "; 00398 s << std::endl; 00399 s << indent; 00400 Printer< ::art_msgs::ArtQuadrilateral_<ContainerAllocator> >::stream(s, indent + " ", v.polygons[i]); 00401 } 00402 } 00403 }; 00404 00405 00406 } // namespace message_operations 00407 } // namespace ros 00408 00409 #endif // ART_MSGS_MESSAGE_ARTLANES_H 00410