$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-pr2_common/doc_stacks/2013-03-01_16-36-22.045406/pr2_common/pr2_msgs/msg/LaserTrajCmd.msg */ 00002 #ifndef PR2_MSGS_MESSAGE_LASERTRAJCMD_H 00003 #define PR2_MSGS_MESSAGE_LASERTRAJCMD_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 00019 namespace pr2_msgs 00020 { 00021 template <class ContainerAllocator> 00022 struct LaserTrajCmd_ { 00023 typedef LaserTrajCmd_<ContainerAllocator> Type; 00024 00025 LaserTrajCmd_() 00026 : header() 00027 , profile() 00028 , position() 00029 , time_from_start() 00030 , max_velocity(0.0) 00031 , max_acceleration(0.0) 00032 { 00033 } 00034 00035 LaserTrajCmd_(const ContainerAllocator& _alloc) 00036 : header(_alloc) 00037 , profile(_alloc) 00038 , position(_alloc) 00039 , time_from_start(_alloc) 00040 , max_velocity(0.0) 00041 , max_acceleration(0.0) 00042 { 00043 } 00044 00045 typedef ::std_msgs::Header_<ContainerAllocator> _header_type; 00046 ::std_msgs::Header_<ContainerAllocator> header; 00047 00048 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _profile_type; 00049 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > profile; 00050 00051 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other > _position_type; 00052 std::vector<double, typename ContainerAllocator::template rebind<double>::other > position; 00053 00054 typedef std::vector<ros::Duration, typename ContainerAllocator::template rebind<ros::Duration>::other > _time_from_start_type; 00055 std::vector<ros::Duration, typename ContainerAllocator::template rebind<ros::Duration>::other > time_from_start; 00056 00057 typedef double _max_velocity_type; 00058 double max_velocity; 00059 00060 typedef double _max_acceleration_type; 00061 double max_acceleration; 00062 00063 00064 ROS_DEPRECATED uint32_t get_position_size() const { return (uint32_t)position.size(); } 00065 ROS_DEPRECATED void set_position_size(uint32_t size) { position.resize((size_t)size); } 00066 ROS_DEPRECATED void get_position_vec(std::vector<double, typename ContainerAllocator::template rebind<double>::other > & vec) const { vec = this->position; } 00067 ROS_DEPRECATED void set_position_vec(const std::vector<double, typename ContainerAllocator::template rebind<double>::other > & vec) { this->position = vec; } 00068 ROS_DEPRECATED uint32_t get_time_from_start_size() const { return (uint32_t)time_from_start.size(); } 00069 ROS_DEPRECATED void set_time_from_start_size(uint32_t size) { time_from_start.resize((size_t)size); } 00070 ROS_DEPRECATED void get_time_from_start_vec(std::vector<ros::Duration, typename ContainerAllocator::template rebind<ros::Duration>::other > & vec) const { vec = this->time_from_start; } 00071 ROS_DEPRECATED void set_time_from_start_vec(const std::vector<ros::Duration, typename ContainerAllocator::template rebind<ros::Duration>::other > & vec) { this->time_from_start = vec; } 00072 private: 00073 static const char* __s_getDataType_() { return "pr2_msgs/LaserTrajCmd"; } 00074 public: 00075 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00076 00077 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00078 00079 private: 00080 static const char* __s_getMD5Sum_() { return "68a1665e9079049dce55a0384cb2e9b5"; } 00081 public: 00082 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00083 00084 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00085 00086 private: 00087 static const char* __s_getMessageDefinition_() { return "# This message is used to set the profile that the tilt laser controller\n\ 00088 # executes.\n\ 00089 Header header\n\ 00090 string profile # options are currently \"linear\" or \"linear_blended\"\n\ 00091 float64[] position # Laser positions\n\ 00092 duration[] time_from_start # Times to reach laser positions in seconds\n\ 00093 float64 max_velocity # Set <= 0 to use default\n\ 00094 float64 max_acceleration # Set <= 0 to use default\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 "; } 00115 public: 00116 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00117 00118 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00119 00120 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00121 { 00122 ros::serialization::OStream stream(write_ptr, 1000000000); 00123 ros::serialization::serialize(stream, header); 00124 ros::serialization::serialize(stream, profile); 00125 ros::serialization::serialize(stream, position); 00126 ros::serialization::serialize(stream, time_from_start); 00127 ros::serialization::serialize(stream, max_velocity); 00128 ros::serialization::serialize(stream, max_acceleration); 00129 return stream.getData(); 00130 } 00131 00132 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00133 { 00134 ros::serialization::IStream stream(read_ptr, 1000000000); 00135 ros::serialization::deserialize(stream, header); 00136 ros::serialization::deserialize(stream, profile); 00137 ros::serialization::deserialize(stream, position); 00138 ros::serialization::deserialize(stream, time_from_start); 00139 ros::serialization::deserialize(stream, max_velocity); 00140 ros::serialization::deserialize(stream, max_acceleration); 00141 return stream.getData(); 00142 } 00143 00144 ROS_DEPRECATED virtual uint32_t serializationLength() const 00145 { 00146 uint32_t size = 0; 00147 size += ros::serialization::serializationLength(header); 00148 size += ros::serialization::serializationLength(profile); 00149 size += ros::serialization::serializationLength(position); 00150 size += ros::serialization::serializationLength(time_from_start); 00151 size += ros::serialization::serializationLength(max_velocity); 00152 size += ros::serialization::serializationLength(max_acceleration); 00153 return size; 00154 } 00155 00156 typedef boost::shared_ptr< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> > Ptr; 00157 typedef boost::shared_ptr< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> const> ConstPtr; 00158 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00159 }; // struct LaserTrajCmd 00160 typedef ::pr2_msgs::LaserTrajCmd_<std::allocator<void> > LaserTrajCmd; 00161 00162 typedef boost::shared_ptr< ::pr2_msgs::LaserTrajCmd> LaserTrajCmdPtr; 00163 typedef boost::shared_ptr< ::pr2_msgs::LaserTrajCmd const> LaserTrajCmdConstPtr; 00164 00165 00166 template<typename ContainerAllocator> 00167 std::ostream& operator<<(std::ostream& s, const ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> & v) 00168 { 00169 ros::message_operations::Printer< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> >::stream(s, "", v); 00170 return s;} 00171 00172 } // namespace pr2_msgs 00173 00174 namespace ros 00175 { 00176 namespace message_traits 00177 { 00178 template<class ContainerAllocator> struct IsMessage< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> > : public TrueType {}; 00179 template<class ContainerAllocator> struct IsMessage< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> const> : public TrueType {}; 00180 template<class ContainerAllocator> 00181 struct MD5Sum< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> > { 00182 static const char* value() 00183 { 00184 return "68a1665e9079049dce55a0384cb2e9b5"; 00185 } 00186 00187 static const char* value(const ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> &) { return value(); } 00188 static const uint64_t static_value1 = 0x68a1665e9079049dULL; 00189 static const uint64_t static_value2 = 0xce55a0384cb2e9b5ULL; 00190 }; 00191 00192 template<class ContainerAllocator> 00193 struct DataType< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> > { 00194 static const char* value() 00195 { 00196 return "pr2_msgs/LaserTrajCmd"; 00197 } 00198 00199 static const char* value(const ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> &) { return value(); } 00200 }; 00201 00202 template<class ContainerAllocator> 00203 struct Definition< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> > { 00204 static const char* value() 00205 { 00206 return "# This message is used to set the profile that the tilt laser controller\n\ 00207 # executes.\n\ 00208 Header header\n\ 00209 string profile # options are currently \"linear\" or \"linear_blended\"\n\ 00210 float64[] position # Laser positions\n\ 00211 duration[] time_from_start # Times to reach laser positions in seconds\n\ 00212 float64 max_velocity # Set <= 0 to use default\n\ 00213 float64 max_acceleration # Set <= 0 to use default\n\ 00214 \n\ 00215 ================================================================================\n\ 00216 MSG: std_msgs/Header\n\ 00217 # Standard metadata for higher-level stamped data types.\n\ 00218 # This is generally used to communicate timestamped data \n\ 00219 # in a particular coordinate frame.\n\ 00220 # \n\ 00221 # sequence ID: consecutively increasing ID \n\ 00222 uint32 seq\n\ 00223 #Two-integer timestamp that is expressed as:\n\ 00224 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00225 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00226 # time-handling sugar is provided by the client library\n\ 00227 time stamp\n\ 00228 #Frame this data is associated with\n\ 00229 # 0: no frame\n\ 00230 # 1: global frame\n\ 00231 string frame_id\n\ 00232 \n\ 00233 "; 00234 } 00235 00236 static const char* value(const ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> &) { return value(); } 00237 }; 00238 00239 template<class ContainerAllocator> struct HasHeader< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> > : public TrueType {}; 00240 template<class ContainerAllocator> struct HasHeader< const ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> > : public TrueType {}; 00241 } // namespace message_traits 00242 } // namespace ros 00243 00244 namespace ros 00245 { 00246 namespace serialization 00247 { 00248 00249 template<class ContainerAllocator> struct Serializer< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> > 00250 { 00251 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00252 { 00253 stream.next(m.header); 00254 stream.next(m.profile); 00255 stream.next(m.position); 00256 stream.next(m.time_from_start); 00257 stream.next(m.max_velocity); 00258 stream.next(m.max_acceleration); 00259 } 00260 00261 ROS_DECLARE_ALLINONE_SERIALIZER; 00262 }; // struct LaserTrajCmd_ 00263 } // namespace serialization 00264 } // namespace ros 00265 00266 namespace ros 00267 { 00268 namespace message_operations 00269 { 00270 00271 template<class ContainerAllocator> 00272 struct Printer< ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> > 00273 { 00274 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::pr2_msgs::LaserTrajCmd_<ContainerAllocator> & v) 00275 { 00276 s << indent << "header: "; 00277 s << std::endl; 00278 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header); 00279 s << indent << "profile: "; 00280 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.profile); 00281 s << indent << "position[]" << std::endl; 00282 for (size_t i = 0; i < v.position.size(); ++i) 00283 { 00284 s << indent << " position[" << i << "]: "; 00285 Printer<double>::stream(s, indent + " ", v.position[i]); 00286 } 00287 s << indent << "time_from_start[]" << std::endl; 00288 for (size_t i = 0; i < v.time_from_start.size(); ++i) 00289 { 00290 s << indent << " time_from_start[" << i << "]: "; 00291 Printer<ros::Duration>::stream(s, indent + " ", v.time_from_start[i]); 00292 } 00293 s << indent << "max_velocity: "; 00294 Printer<double>::stream(s, indent + " ", v.max_velocity); 00295 s << indent << "max_acceleration: "; 00296 Printer<double>::stream(s, indent + " ", v.max_acceleration); 00297 } 00298 }; 00299 00300 00301 } // namespace message_operations 00302 } // namespace ros 00303 00304 #endif // PR2_MSGS_MESSAGE_LASERTRAJCMD_H 00305