Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef PURE_PURSUIT_CONTROLLER_MESSAGE_EXECUTEPATHREQUEST_H
00006 #define PURE_PURSUIT_CONTROLLER_MESSAGE_EXECUTEPATHREQUEST_H
00007
00008
00009 #include <string>
00010 #include <vector>
00011 #include <map>
00012
00013 #include <ros/types.h>
00014 #include <ros/serialization.h>
00015 #include <ros/builtin_message_traits.h>
00016 #include <ros/message_operations.h>
00017
00018 #include <nav_msgs/Path.h>
00019
00020 namespace pure_pursuit_controller
00021 {
00022 template <class ContainerAllocator>
00023 struct executePathRequest_
00024 {
00025 typedef executePathRequest_<ContainerAllocator> Type;
00026
00027 executePathRequest_()
00028 : curPath()
00029 , ifFirstPoint(false) {
00030 }
00031 executePathRequest_(const ContainerAllocator& _alloc)
00032 : curPath(_alloc)
00033 , ifFirstPoint(false) {
00034 (void)_alloc;
00035 }
00036
00037
00038
00039 typedef ::nav_msgs::Path_<ContainerAllocator> _curPath_type;
00040 _curPath_type curPath;
00041
00042 typedef uint8_t _ifFirstPoint_type;
00043 _ifFirstPoint_type ifFirstPoint;
00044
00045
00046
00047
00048 typedef boost::shared_ptr< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> > Ptr;
00049 typedef boost::shared_ptr< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> const> ConstPtr;
00050
00051 };
00052
00053 typedef ::pure_pursuit_controller::executePathRequest_<std::allocator<void> > executePathRequest;
00054
00055 typedef boost::shared_ptr< ::pure_pursuit_controller::executePathRequest > executePathRequestPtr;
00056 typedef boost::shared_ptr< ::pure_pursuit_controller::executePathRequest const> executePathRequestConstPtr;
00057
00058
00059
00060
00061
00062 template<typename ContainerAllocator>
00063 std::ostream& operator<<(std::ostream& s, const ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> & v)
00064 {
00065 ros::message_operations::Printer< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> >::stream(s, "", v);
00066 return s;
00067 }
00068
00069 }
00070
00071 namespace ros
00072 {
00073 namespace message_traits
00074 {
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086 template <class ContainerAllocator>
00087 struct IsFixedSize< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> >
00088 : FalseType
00089 { };
00090
00091 template <class ContainerAllocator>
00092 struct IsFixedSize< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> const>
00093 : FalseType
00094 { };
00095
00096 template <class ContainerAllocator>
00097 struct IsMessage< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> >
00098 : TrueType
00099 { };
00100
00101 template <class ContainerAllocator>
00102 struct IsMessage< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> const>
00103 : TrueType
00104 { };
00105
00106 template <class ContainerAllocator>
00107 struct HasHeader< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> >
00108 : FalseType
00109 { };
00110
00111 template <class ContainerAllocator>
00112 struct HasHeader< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> const>
00113 : FalseType
00114 { };
00115
00116
00117 template<class ContainerAllocator>
00118 struct MD5Sum< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> >
00119 {
00120 static const char* value()
00121 {
00122 return "2f7be677597ef35b2c88e61bdfca12c5";
00123 }
00124
00125 static const char* value(const ::pure_pursuit_controller::executePathRequest_<ContainerAllocator>&) { return value(); }
00126 static const uint64_t static_value1 = 0x2f7be677597ef35bULL;
00127 static const uint64_t static_value2 = 0x2c88e61bdfca12c5ULL;
00128 };
00129
00130 template<class ContainerAllocator>
00131 struct DataType< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> >
00132 {
00133 static const char* value()
00134 {
00135 return "pure_pursuit_controller/executePathRequest";
00136 }
00137
00138 static const char* value(const ::pure_pursuit_controller::executePathRequest_<ContainerAllocator>&) { return value(); }
00139 };
00140
00141 template<class ContainerAllocator>
00142 struct Definition< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> >
00143 {
00144 static const char* value()
00145 {
00146 return "nav_msgs/Path curPath\n\
00147 bool ifFirstPoint\n\
00148 \n\
00149 ================================================================================\n\
00150 MSG: nav_msgs/Path\n\
00151 #An array of poses that represents a Path for a robot to follow\n\
00152 Header header\n\
00153 geometry_msgs/PoseStamped[] poses\n\
00154 \n\
00155 ================================================================================\n\
00156 MSG: std_msgs/Header\n\
00157 # Standard metadata for higher-level stamped data types.\n\
00158 # This is generally used to communicate timestamped data \n\
00159 # in a particular coordinate frame.\n\
00160 # \n\
00161 # sequence ID: consecutively increasing ID \n\
00162 uint32 seq\n\
00163 #Two-integer timestamp that is expressed as:\n\
00164 # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\
00165 # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\
00166 # time-handling sugar is provided by the client library\n\
00167 time stamp\n\
00168 #Frame this data is associated with\n\
00169 # 0: no frame\n\
00170 # 1: global frame\n\
00171 string frame_id\n\
00172 \n\
00173 ================================================================================\n\
00174 MSG: geometry_msgs/PoseStamped\n\
00175 # A Pose with reference coordinate frame and timestamp\n\
00176 Header header\n\
00177 Pose pose\n\
00178 \n\
00179 ================================================================================\n\
00180 MSG: geometry_msgs/Pose\n\
00181 # A representation of pose in free space, composed of postion and orientation. \n\
00182 Point position\n\
00183 Quaternion orientation\n\
00184 \n\
00185 ================================================================================\n\
00186 MSG: geometry_msgs/Point\n\
00187 # This contains the position of a point in free space\n\
00188 float64 x\n\
00189 float64 y\n\
00190 float64 z\n\
00191 \n\
00192 ================================================================================\n\
00193 MSG: geometry_msgs/Quaternion\n\
00194 # This represents an orientation in free space in quaternion form.\n\
00195 \n\
00196 float64 x\n\
00197 float64 y\n\
00198 float64 z\n\
00199 float64 w\n\
00200 ";
00201 }
00202
00203 static const char* value(const ::pure_pursuit_controller::executePathRequest_<ContainerAllocator>&) { return value(); }
00204 };
00205
00206 }
00207 }
00208
00209 namespace ros
00210 {
00211 namespace serialization
00212 {
00213
00214 template<class ContainerAllocator> struct Serializer< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> >
00215 {
00216 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00217 {
00218 stream.next(m.curPath);
00219 stream.next(m.ifFirstPoint);
00220 }
00221
00222 ROS_DECLARE_ALLINONE_SERIALIZER
00223 };
00224
00225 }
00226 }
00227
00228 namespace ros
00229 {
00230 namespace message_operations
00231 {
00232
00233 template<class ContainerAllocator>
00234 struct Printer< ::pure_pursuit_controller::executePathRequest_<ContainerAllocator> >
00235 {
00236 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::pure_pursuit_controller::executePathRequest_<ContainerAllocator>& v)
00237 {
00238 s << indent << "curPath: ";
00239 s << std::endl;
00240 Printer< ::nav_msgs::Path_<ContainerAllocator> >::stream(s, indent + " ", v.curPath);
00241 s << indent << "ifFirstPoint: ";
00242 Printer<uint8_t>::stream(s, indent + " ", v.ifFirstPoint);
00243 }
00244 };
00245
00246 }
00247 }
00248
00249 #endif // PURE_PURSUIT_CONTROLLER_MESSAGE_EXECUTEPATHREQUEST_H