00001
00002 #ifndef MOTION_PLANNING_MSGS_MESSAGE_JOINTPATH_H
00003 #define MOTION_PLANNING_MSGS_MESSAGE_JOINTPATH_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013 #include "std_msgs/Header.h"
00014 #include "motion_planning_msgs/JointPathPoint.h"
00015
00016 namespace motion_planning_msgs
00017 {
00018 template <class ContainerAllocator>
00019 struct JointPath_ : public ros::Message
00020 {
00021 typedef JointPath_<ContainerAllocator> Type;
00022
00023 JointPath_()
00024 : header()
00025 , joint_names()
00026 , points()
00027 {
00028 }
00029
00030 JointPath_(const ContainerAllocator& _alloc)
00031 : header(_alloc)
00032 , joint_names(_alloc)
00033 , points(_alloc)
00034 {
00035 }
00036
00037 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00038 ::std_msgs::Header_<ContainerAllocator> header;
00039
00040 typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _joint_names_type;
00041 std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > joint_names;
00042
00043 typedef std::vector< ::motion_planning_msgs::JointPathPoint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::motion_planning_msgs::JointPathPoint_<ContainerAllocator> >::other > _points_type;
00044 std::vector< ::motion_planning_msgs::JointPathPoint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::motion_planning_msgs::JointPathPoint_<ContainerAllocator> >::other > points;
00045
00046
00047 ROS_DEPRECATED uint32_t get_joint_names_size() const { return (uint32_t)joint_names.size(); }
00048 ROS_DEPRECATED void set_joint_names_size(uint32_t size) { joint_names.resize((size_t)size); }
00049 ROS_DEPRECATED void get_joint_names_vec(std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > & vec) const { vec = this->joint_names; }
00050 ROS_DEPRECATED void set_joint_names_vec(const std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > & vec) { this->joint_names = vec; }
00051 ROS_DEPRECATED uint32_t get_points_size() const { return (uint32_t)points.size(); }
00052 ROS_DEPRECATED void set_points_size(uint32_t size) { points.resize((size_t)size); }
00053 ROS_DEPRECATED void get_points_vec(std::vector< ::motion_planning_msgs::JointPathPoint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::motion_planning_msgs::JointPathPoint_<ContainerAllocator> >::other > & vec) const { vec = this->points; }
00054 ROS_DEPRECATED void set_points_vec(const std::vector< ::motion_planning_msgs::JointPathPoint_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::motion_planning_msgs::JointPathPoint_<ContainerAllocator> >::other > & vec) { this->points = vec; }
00055 private:
00056 static const char* __s_getDataType_() { return "motion_planning_msgs/JointPath"; }
00057 public:
00058 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00059
00060 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00061
00062 private:
00063 static const char* __s_getMD5Sum_() { return "f0b877c71d33d7868ae41a2e7a36d72d"; }
00064 public:
00065 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00066
00067 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00068
00069 private:
00070 static const char* __s_getMessageDefinition_() { return "# This message defines a joint path \n\
00071 \n\
00072 # The standard ROS header\n\
00073 Header header\n\
00074 \n\
00075 # Vector of joint names for which positions are specified. \n\
00076 # The size of this vector must match the size of each waypoint below\n\
00077 string[] joint_names\n\
00078 \n\
00079 # A vector of waypoints. \n\
00080 # Each waypoint is a vector of joint positions. \n\
00081 # Each waypoint must have the same size as the vector of joint names\n\
00082 JointPathPoint[] points\n\
00083 ================================================================================\n\
00084 MSG: std_msgs/Header\n\
00085 # Standard metadata for higher-level stamped data types.\n\
00086 # This is generally used to communicate timestamped data \n\
00087 # in a particular coordinate frame.\n\
00088 # \n\
00089 # sequence ID: consecutively increasing ID \n\
00090 uint32 seq\n\
00091 #Two-integer timestamp that is expressed as:\n\
00092 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00093 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00094 # time-handling sugar is provided by the client library\n\
00095 time stamp\n\
00096 #Frame this data is associated with\n\
00097 # 0: no frame\n\
00098 # 1: global frame\n\
00099 string frame_id\n\
00100 \n\
00101 ================================================================================\n\
00102 MSG: motion_planning_msgs/JointPathPoint\n\
00103 # The joint path point contains a vector of joint positions.\n\
00104 float64[] positions\n\
00105 \n\
00106 "; }
00107 public:
00108 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00109
00110 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00111
00112 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00113 {
00114 ros::serialization::OStream stream(write_ptr, 1000000000);
00115 ros::serialization::serialize(stream, header);
00116 ros::serialization::serialize(stream, joint_names);
00117 ros::serialization::serialize(stream, points);
00118 return stream.getData();
00119 }
00120
00121 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00122 {
00123 ros::serialization::IStream stream(read_ptr, 1000000000);
00124 ros::serialization::deserialize(stream, header);
00125 ros::serialization::deserialize(stream, joint_names);
00126 ros::serialization::deserialize(stream, points);
00127 return stream.getData();
00128 }
00129
00130 ROS_DEPRECATED virtual uint32_t serializationLength() const
00131 {
00132 uint32_t size = 0;
00133 size += ros::serialization::serializationLength(header);
00134 size += ros::serialization::serializationLength(joint_names);
00135 size += ros::serialization::serializationLength(points);
00136 return size;
00137 }
00138
00139 typedef boost::shared_ptr< ::motion_planning_msgs::JointPath_<ContainerAllocator> > Ptr;
00140 typedef boost::shared_ptr< ::motion_planning_msgs::JointPath_<ContainerAllocator> const> ConstPtr;
00141 };
00142 typedef ::motion_planning_msgs::JointPath_<std::allocator<void> > JointPath;
00143
00144 typedef boost::shared_ptr< ::motion_planning_msgs::JointPath> JointPathPtr;
00145 typedef boost::shared_ptr< ::motion_planning_msgs::JointPath const> JointPathConstPtr;
00146
00147
00148 template<typename ContainerAllocator>
00149 std::ostream& operator<<(std::ostream& s, const ::motion_planning_msgs::JointPath_<ContainerAllocator> & v)
00150 {
00151 ros::message_operations::Printer< ::motion_planning_msgs::JointPath_<ContainerAllocator> >::stream(s, "", v);
00152 return s;}
00153
00154 }
00155
00156 namespace ros
00157 {
00158 namespace message_traits
00159 {
00160 template<class ContainerAllocator>
00161 struct MD5Sum< ::motion_planning_msgs::JointPath_<ContainerAllocator> > {
00162 static const char* value()
00163 {
00164 return "f0b877c71d33d7868ae41a2e7a36d72d";
00165 }
00166
00167 static const char* value(const ::motion_planning_msgs::JointPath_<ContainerAllocator> &) { return value(); }
00168 static const uint64_t static_value1 = 0xf0b877c71d33d786ULL;
00169 static const uint64_t static_value2 = 0x8ae41a2e7a36d72dULL;
00170 };
00171
00172 template<class ContainerAllocator>
00173 struct DataType< ::motion_planning_msgs::JointPath_<ContainerAllocator> > {
00174 static const char* value()
00175 {
00176 return "motion_planning_msgs/JointPath";
00177 }
00178
00179 static const char* value(const ::motion_planning_msgs::JointPath_<ContainerAllocator> &) { return value(); }
00180 };
00181
00182 template<class ContainerAllocator>
00183 struct Definition< ::motion_planning_msgs::JointPath_<ContainerAllocator> > {
00184 static const char* value()
00185 {
00186 return "# This message defines a joint path \n\
00187 \n\
00188 # The standard ROS header\n\
00189 Header header\n\
00190 \n\
00191 # Vector of joint names for which positions are specified. \n\
00192 # The size of this vector must match the size of each waypoint below\n\
00193 string[] joint_names\n\
00194 \n\
00195 # A vector of waypoints. \n\
00196 # Each waypoint is a vector of joint positions. \n\
00197 # Each waypoint must have the same size as the vector of joint names\n\
00198 JointPathPoint[] points\n\
00199 ================================================================================\n\
00200 MSG: std_msgs/Header\n\
00201 # Standard metadata for higher-level stamped data types.\n\
00202 # This is generally used to communicate timestamped data \n\
00203 # in a particular coordinate frame.\n\
00204 # \n\
00205 # sequence ID: consecutively increasing ID \n\
00206 uint32 seq\n\
00207 #Two-integer timestamp that is expressed as:\n\
00208 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00209 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00210 # time-handling sugar is provided by the client library\n\
00211 time stamp\n\
00212 #Frame this data is associated with\n\
00213 # 0: no frame\n\
00214 # 1: global frame\n\
00215 string frame_id\n\
00216 \n\
00217 ================================================================================\n\
00218 MSG: motion_planning_msgs/JointPathPoint\n\
00219 # The joint path point contains a vector of joint positions.\n\
00220 float64[] positions\n\
00221 \n\
00222 ";
00223 }
00224
00225 static const char* value(const ::motion_planning_msgs::JointPath_<ContainerAllocator> &) { return value(); }
00226 };
00227
00228 template<class ContainerAllocator> struct HasHeader< ::motion_planning_msgs::JointPath_<ContainerAllocator> > : public TrueType {};
00229 template<class ContainerAllocator> struct HasHeader< const ::motion_planning_msgs::JointPath_<ContainerAllocator> > : public TrueType {};
00230 }
00231 }
00232
00233 namespace ros
00234 {
00235 namespace serialization
00236 {
00237
00238 template<class ContainerAllocator> struct Serializer< ::motion_planning_msgs::JointPath_<ContainerAllocator> >
00239 {
00240 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00241 {
00242 stream.next(m.header);
00243 stream.next(m.joint_names);
00244 stream.next(m.points);
00245 }
00246
00247 ROS_DECLARE_ALLINONE_SERIALIZER;
00248 };
00249 }
00250 }
00251
00252 namespace ros
00253 {
00254 namespace message_operations
00255 {
00256
00257 template<class ContainerAllocator>
00258 struct Printer< ::motion_planning_msgs::JointPath_<ContainerAllocator> >
00259 {
00260 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::motion_planning_msgs::JointPath_<ContainerAllocator> & v)
00261 {
00262 s << indent << "header: ";
00263 s << std::endl;
00264 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00265 s << indent << "joint_names[]" << std::endl;
00266 for (size_t i = 0; i < v.joint_names.size(); ++i)
00267 {
00268 s << indent << " joint_names[" << i << "]: ";
00269 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.joint_names[i]);
00270 }
00271 s << indent << "points[]" << std::endl;
00272 for (size_t i = 0; i < v.points.size(); ++i)
00273 {
00274 s << indent << " points[" << i << "]: ";
00275 s << std::endl;
00276 s << indent;
00277 Printer< ::motion_planning_msgs::JointPathPoint_<ContainerAllocator> >::stream(s, indent + " ", v.points[i]);
00278 }
00279 }
00280 };
00281
00282
00283 }
00284 }
00285
00286 #endif // MOTION_PLANNING_MSGS_MESSAGE_JOINTPATH_H
00287