$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/Order.msg */ 00002 #ifndef ART_MSGS_MESSAGE_ORDER_H 00003 #define ART_MSGS_MESSAGE_ORDER_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 "art_msgs/Behavior.h" 00018 #include "art_msgs/WayPoint.h" 00019 #include "art_msgs/WayPoint.h" 00020 00021 namespace art_msgs 00022 { 00023 template <class ContainerAllocator> 00024 struct Order_ { 00025 typedef Order_<ContainerAllocator> Type; 00026 00027 Order_() 00028 : behavior() 00029 , waypt() 00030 , chkpt() 00031 , min_speed(0.0) 00032 , max_speed(0.0) 00033 , replan_num(0) 00034 , next_uturn(0) 00035 { 00036 } 00037 00038 Order_(const ContainerAllocator& _alloc) 00039 : behavior(_alloc) 00040 , waypt() 00041 , chkpt() 00042 , min_speed(0.0) 00043 , max_speed(0.0) 00044 , replan_num(0) 00045 , next_uturn(0) 00046 { 00047 waypt.assign( ::art_msgs::WayPoint_<ContainerAllocator> (_alloc)); 00048 chkpt.assign( ::art_msgs::WayPoint_<ContainerAllocator> (_alloc)); 00049 } 00050 00051 typedef ::art_msgs::Behavior_<ContainerAllocator> _behavior_type; 00052 ::art_msgs::Behavior_<ContainerAllocator> behavior; 00053 00054 typedef boost::array< ::art_msgs::WayPoint_<ContainerAllocator> , 5> _waypt_type; 00055 boost::array< ::art_msgs::WayPoint_<ContainerAllocator> , 5> waypt; 00056 00057 typedef boost::array< ::art_msgs::WayPoint_<ContainerAllocator> , 2> _chkpt_type; 00058 boost::array< ::art_msgs::WayPoint_<ContainerAllocator> , 2> chkpt; 00059 00060 typedef float _min_speed_type; 00061 float min_speed; 00062 00063 typedef float _max_speed_type; 00064 float max_speed; 00065 00066 typedef int32_t _replan_num_type; 00067 int32_t replan_num; 00068 00069 typedef int32_t _next_uturn_type; 00070 int32_t next_uturn; 00071 00072 enum { N_WAYPTS = 5 }; 00073 enum { N_CHKPTS = 2 }; 00074 00075 ROS_DEPRECATED uint32_t get_waypt_size() const { return (uint32_t)waypt.size(); } 00076 ROS_DEPRECATED uint32_t get_chkpt_size() const { return (uint32_t)chkpt.size(); } 00077 private: 00078 static const char* __s_getDataType_() { return "art_msgs/Order"; } 00079 public: 00080 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00081 00082 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00083 00084 private: 00085 static const char* __s_getMD5Sum_() { return "f43d538cba2d46c585cc23d97b9223b2"; } 00086 public: 00087 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00088 00089 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00090 00091 private: 00092 static const char* __s_getMessageDefinition_() { return "# commander order for the navigator\n\ 00093 # $Id: Order.msg 615 2010-09-24 16:07:50Z jack.oquin $\n\ 00094 \n\ 00095 uint32 N_WAYPTS = 5 # number of way-points in order\n\ 00096 uint32 N_CHKPTS = 2 # number of checkpoints in order\n\ 00097 \n\ 00098 Behavior behavior # requested behavior\n\ 00099 art_msgs/WayPoint[5] waypt # way-point array\n\ 00100 art_msgs/WayPoint[2] chkpt # next two goal checkpoints\n\ 00101 float32 min_speed # in meters/sec\n\ 00102 float32 max_speed\n\ 00103 int32 replan_num\n\ 00104 int32 next_uturn # Uturn between [1] and [2]\n\ 00105 \n\ 00106 ================================================================================\n\ 00107 MSG: art_msgs/Behavior\n\ 00108 # ART Navigator behaviors (lower numbers have higher priority)\n\ 00109 # $Id: Behavior.msg 996 2011-02-27 16:07:34Z jack.oquin $\n\ 00110 \n\ 00111 # enumerated behavior values\n\ 00112 int16 Abort = 0\n\ 00113 int16 Quit = 1\n\ 00114 int16 Pause = 2\n\ 00115 int16 Run = 3\n\ 00116 int16 Suspend = 4\n\ 00117 int16 Initialize = 5\n\ 00118 int16 Go = 6\n\ 00119 int16 NONE = 7\n\ 00120 int16 N_behaviors = 8\n\ 00121 \n\ 00122 int16 value\n\ 00123 \n\ 00124 ================================================================================\n\ 00125 MSG: art_msgs/WayPoint\n\ 00126 # Way-point attributes\n\ 00127 # $Id: WayPoint.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00128 \n\ 00129 float64 latitude # latitude in degrees\n\ 00130 float64 longitude # longitude in degrees\n\ 00131 geometry_msgs/Point32 mapxy # MapXY position\n\ 00132 MapID id # way-point ID\n\ 00133 uint16 index # parser index of waypoint\n\ 00134 \n\ 00135 # way-point flags\n\ 00136 bool is_entry # lane or zone exit point\n\ 00137 bool is_exit # lane or zone entry point\n\ 00138 bool is_goal # this is a goal checkpoint\n\ 00139 bool is_lane_change # change lanes after here\n\ 00140 bool is_spot # parking spot\n\ 00141 bool is_stop # stop line here\n\ 00142 bool is_perimeter # zone perimeter point\n\ 00143 int32 checkpoint_id # checkpoint ID or zero\n\ 00144 float32 lane_width\n\ 00145 \n\ 00146 ================================================================================\n\ 00147 MSG: geometry_msgs/Point32\n\ 00148 # This contains the position of a point in free space(with 32 bits of precision).\n\ 00149 # It is recommeded to use Point wherever possible instead of Point32. \n\ 00150 # \n\ 00151 # This recommendation is to promote interoperability. \n\ 00152 #\n\ 00153 # This message is designed to take up less space when sending\n\ 00154 # lots of points at once, as in the case of a PointCloud. \n\ 00155 \n\ 00156 float32 x\n\ 00157 float32 y\n\ 00158 float32 z\n\ 00159 ================================================================================\n\ 00160 MSG: art_msgs/MapID\n\ 00161 # Road map identifier for segments, lanes and way-points.\n\ 00162 # $Id: MapID.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00163 \n\ 00164 uint16 NULL_ID = 65535\n\ 00165 \n\ 00166 uint16 seg # segment ID\n\ 00167 uint16 lane # lane ID\n\ 00168 uint16 pt # way-point ID\n\ 00169 \n\ 00170 "; } 00171 public: 00172 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00173 00174 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00175 00176 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00177 { 00178 ros::serialization::OStream stream(write_ptr, 1000000000); 00179 ros::serialization::serialize(stream, behavior); 00180 ros::serialization::serialize(stream, waypt); 00181 ros::serialization::serialize(stream, chkpt); 00182 ros::serialization::serialize(stream, min_speed); 00183 ros::serialization::serialize(stream, max_speed); 00184 ros::serialization::serialize(stream, replan_num); 00185 ros::serialization::serialize(stream, next_uturn); 00186 return stream.getData(); 00187 } 00188 00189 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00190 { 00191 ros::serialization::IStream stream(read_ptr, 1000000000); 00192 ros::serialization::deserialize(stream, behavior); 00193 ros::serialization::deserialize(stream, waypt); 00194 ros::serialization::deserialize(stream, chkpt); 00195 ros::serialization::deserialize(stream, min_speed); 00196 ros::serialization::deserialize(stream, max_speed); 00197 ros::serialization::deserialize(stream, replan_num); 00198 ros::serialization::deserialize(stream, next_uturn); 00199 return stream.getData(); 00200 } 00201 00202 ROS_DEPRECATED virtual uint32_t serializationLength() const 00203 { 00204 uint32_t size = 0; 00205 size += ros::serialization::serializationLength(behavior); 00206 size += ros::serialization::serializationLength(waypt); 00207 size += ros::serialization::serializationLength(chkpt); 00208 size += ros::serialization::serializationLength(min_speed); 00209 size += ros::serialization::serializationLength(max_speed); 00210 size += ros::serialization::serializationLength(replan_num); 00211 size += ros::serialization::serializationLength(next_uturn); 00212 return size; 00213 } 00214 00215 typedef boost::shared_ptr< ::art_msgs::Order_<ContainerAllocator> > Ptr; 00216 typedef boost::shared_ptr< ::art_msgs::Order_<ContainerAllocator> const> ConstPtr; 00217 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00218 }; // struct Order 00219 typedef ::art_msgs::Order_<std::allocator<void> > Order; 00220 00221 typedef boost::shared_ptr< ::art_msgs::Order> OrderPtr; 00222 typedef boost::shared_ptr< ::art_msgs::Order const> OrderConstPtr; 00223 00224 00225 template<typename ContainerAllocator> 00226 std::ostream& operator<<(std::ostream& s, const ::art_msgs::Order_<ContainerAllocator> & v) 00227 { 00228 ros::message_operations::Printer< ::art_msgs::Order_<ContainerAllocator> >::stream(s, "", v); 00229 return s;} 00230 00231 } // namespace art_msgs 00232 00233 namespace ros 00234 { 00235 namespace message_traits 00236 { 00237 template<class ContainerAllocator> struct IsMessage< ::art_msgs::Order_<ContainerAllocator> > : public TrueType {}; 00238 template<class ContainerAllocator> struct IsMessage< ::art_msgs::Order_<ContainerAllocator> const> : public TrueType {}; 00239 template<class ContainerAllocator> 00240 struct MD5Sum< ::art_msgs::Order_<ContainerAllocator> > { 00241 static const char* value() 00242 { 00243 return "f43d538cba2d46c585cc23d97b9223b2"; 00244 } 00245 00246 static const char* value(const ::art_msgs::Order_<ContainerAllocator> &) { return value(); } 00247 static const uint64_t static_value1 = 0xf43d538cba2d46c5ULL; 00248 static const uint64_t static_value2 = 0x85cc23d97b9223b2ULL; 00249 }; 00250 00251 template<class ContainerAllocator> 00252 struct DataType< ::art_msgs::Order_<ContainerAllocator> > { 00253 static const char* value() 00254 { 00255 return "art_msgs/Order"; 00256 } 00257 00258 static const char* value(const ::art_msgs::Order_<ContainerAllocator> &) { return value(); } 00259 }; 00260 00261 template<class ContainerAllocator> 00262 struct Definition< ::art_msgs::Order_<ContainerAllocator> > { 00263 static const char* value() 00264 { 00265 return "# commander order for the navigator\n\ 00266 # $Id: Order.msg 615 2010-09-24 16:07:50Z jack.oquin $\n\ 00267 \n\ 00268 uint32 N_WAYPTS = 5 # number of way-points in order\n\ 00269 uint32 N_CHKPTS = 2 # number of checkpoints in order\n\ 00270 \n\ 00271 Behavior behavior # requested behavior\n\ 00272 art_msgs/WayPoint[5] waypt # way-point array\n\ 00273 art_msgs/WayPoint[2] chkpt # next two goal checkpoints\n\ 00274 float32 min_speed # in meters/sec\n\ 00275 float32 max_speed\n\ 00276 int32 replan_num\n\ 00277 int32 next_uturn # Uturn between [1] and [2]\n\ 00278 \n\ 00279 ================================================================================\n\ 00280 MSG: art_msgs/Behavior\n\ 00281 # ART Navigator behaviors (lower numbers have higher priority)\n\ 00282 # $Id: Behavior.msg 996 2011-02-27 16:07:34Z jack.oquin $\n\ 00283 \n\ 00284 # enumerated behavior values\n\ 00285 int16 Abort = 0\n\ 00286 int16 Quit = 1\n\ 00287 int16 Pause = 2\n\ 00288 int16 Run = 3\n\ 00289 int16 Suspend = 4\n\ 00290 int16 Initialize = 5\n\ 00291 int16 Go = 6\n\ 00292 int16 NONE = 7\n\ 00293 int16 N_behaviors = 8\n\ 00294 \n\ 00295 int16 value\n\ 00296 \n\ 00297 ================================================================================\n\ 00298 MSG: art_msgs/WayPoint\n\ 00299 # Way-point attributes\n\ 00300 # $Id: WayPoint.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00301 \n\ 00302 float64 latitude # latitude in degrees\n\ 00303 float64 longitude # longitude in degrees\n\ 00304 geometry_msgs/Point32 mapxy # MapXY position\n\ 00305 MapID id # way-point ID\n\ 00306 uint16 index # parser index of waypoint\n\ 00307 \n\ 00308 # way-point flags\n\ 00309 bool is_entry # lane or zone exit point\n\ 00310 bool is_exit # lane or zone entry point\n\ 00311 bool is_goal # this is a goal checkpoint\n\ 00312 bool is_lane_change # change lanes after here\n\ 00313 bool is_spot # parking spot\n\ 00314 bool is_stop # stop line here\n\ 00315 bool is_perimeter # zone perimeter point\n\ 00316 int32 checkpoint_id # checkpoint ID or zero\n\ 00317 float32 lane_width\n\ 00318 \n\ 00319 ================================================================================\n\ 00320 MSG: geometry_msgs/Point32\n\ 00321 # This contains the position of a point in free space(with 32 bits of precision).\n\ 00322 # It is recommeded to use Point wherever possible instead of Point32. \n\ 00323 # \n\ 00324 # This recommendation is to promote interoperability. \n\ 00325 #\n\ 00326 # This message is designed to take up less space when sending\n\ 00327 # lots of points at once, as in the case of a PointCloud. \n\ 00328 \n\ 00329 float32 x\n\ 00330 float32 y\n\ 00331 float32 z\n\ 00332 ================================================================================\n\ 00333 MSG: art_msgs/MapID\n\ 00334 # Road map identifier for segments, lanes and way-points.\n\ 00335 # $Id: MapID.msg 614 2010-09-24 15:08:46Z jack.oquin $\n\ 00336 \n\ 00337 uint16 NULL_ID = 65535\n\ 00338 \n\ 00339 uint16 seg # segment ID\n\ 00340 uint16 lane # lane ID\n\ 00341 uint16 pt # way-point ID\n\ 00342 \n\ 00343 "; 00344 } 00345 00346 static const char* value(const ::art_msgs::Order_<ContainerAllocator> &) { return value(); } 00347 }; 00348 00349 template<class ContainerAllocator> struct IsFixedSize< ::art_msgs::Order_<ContainerAllocator> > : public TrueType {}; 00350 } // namespace message_traits 00351 } // namespace ros 00352 00353 namespace ros 00354 { 00355 namespace serialization 00356 { 00357 00358 template<class ContainerAllocator> struct Serializer< ::art_msgs::Order_<ContainerAllocator> > 00359 { 00360 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00361 { 00362 stream.next(m.behavior); 00363 stream.next(m.waypt); 00364 stream.next(m.chkpt); 00365 stream.next(m.min_speed); 00366 stream.next(m.max_speed); 00367 stream.next(m.replan_num); 00368 stream.next(m.next_uturn); 00369 } 00370 00371 ROS_DECLARE_ALLINONE_SERIALIZER; 00372 }; // struct Order_ 00373 } // namespace serialization 00374 } // namespace ros 00375 00376 namespace ros 00377 { 00378 namespace message_operations 00379 { 00380 00381 template<class ContainerAllocator> 00382 struct Printer< ::art_msgs::Order_<ContainerAllocator> > 00383 { 00384 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::art_msgs::Order_<ContainerAllocator> & v) 00385 { 00386 s << indent << "behavior: "; 00387 s << std::endl; 00388 Printer< ::art_msgs::Behavior_<ContainerAllocator> >::stream(s, indent + " ", v.behavior); 00389 s << indent << "waypt[]" << std::endl; 00390 for (size_t i = 0; i < v.waypt.size(); ++i) 00391 { 00392 s << indent << " waypt[" << i << "]: "; 00393 s << std::endl; 00394 s << indent; 00395 Printer< ::art_msgs::WayPoint_<ContainerAllocator> >::stream(s, indent + " ", v.waypt[i]); 00396 } 00397 s << indent << "chkpt[]" << std::endl; 00398 for (size_t i = 0; i < v.chkpt.size(); ++i) 00399 { 00400 s << indent << " chkpt[" << i << "]: "; 00401 s << std::endl; 00402 s << indent; 00403 Printer< ::art_msgs::WayPoint_<ContainerAllocator> >::stream(s, indent + " ", v.chkpt[i]); 00404 } 00405 s << indent << "min_speed: "; 00406 Printer<float>::stream(s, indent + " ", v.min_speed); 00407 s << indent << "max_speed: "; 00408 Printer<float>::stream(s, indent + " ", v.max_speed); 00409 s << indent << "replan_num: "; 00410 Printer<int32_t>::stream(s, indent + " ", v.replan_num); 00411 s << indent << "next_uturn: "; 00412 Printer<int32_t>::stream(s, indent + " ", v.next_uturn); 00413 } 00414 }; 00415 00416 00417 } // namespace message_operations 00418 } // namespace ros 00419 00420 #endif // ART_MSGS_MESSAGE_ORDER_H 00421