$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-turtlebot_arm/doc_stacks/2013-03-02_14-01-21.381977/turtlebot_arm/turtlebot_block_manipulation/msg/InteractiveBlockManipulationAction.msg */ 00002 #ifndef TURTLEBOT_BLOCK_MANIPULATION_MESSAGE_INTERACTIVEBLOCKMANIPULATIONACTION_H 00003 #define TURTLEBOT_BLOCK_MANIPULATION_MESSAGE_INTERACTIVEBLOCKMANIPULATIONACTION_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 "turtlebot_block_manipulation/InteractiveBlockManipulationActionGoal.h" 00018 #include "turtlebot_block_manipulation/InteractiveBlockManipulationActionResult.h" 00019 #include "turtlebot_block_manipulation/InteractiveBlockManipulationActionFeedback.h" 00020 00021 namespace turtlebot_block_manipulation 00022 { 00023 template <class ContainerAllocator> 00024 struct InteractiveBlockManipulationAction_ { 00025 typedef InteractiveBlockManipulationAction_<ContainerAllocator> Type; 00026 00027 InteractiveBlockManipulationAction_() 00028 : action_goal() 00029 , action_result() 00030 , action_feedback() 00031 { 00032 } 00033 00034 InteractiveBlockManipulationAction_(const ContainerAllocator& _alloc) 00035 : action_goal(_alloc) 00036 , action_result(_alloc) 00037 , action_feedback(_alloc) 00038 { 00039 } 00040 00041 typedef ::turtlebot_block_manipulation::InteractiveBlockManipulationActionGoal_<ContainerAllocator> _action_goal_type; 00042 ::turtlebot_block_manipulation::InteractiveBlockManipulationActionGoal_<ContainerAllocator> action_goal; 00043 00044 typedef ::turtlebot_block_manipulation::InteractiveBlockManipulationActionResult_<ContainerAllocator> _action_result_type; 00045 ::turtlebot_block_manipulation::InteractiveBlockManipulationActionResult_<ContainerAllocator> action_result; 00046 00047 typedef ::turtlebot_block_manipulation::InteractiveBlockManipulationActionFeedback_<ContainerAllocator> _action_feedback_type; 00048 ::turtlebot_block_manipulation::InteractiveBlockManipulationActionFeedback_<ContainerAllocator> action_feedback; 00049 00050 00051 private: 00052 static const char* __s_getDataType_() { return "turtlebot_block_manipulation/InteractiveBlockManipulationAction"; } 00053 public: 00054 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00055 00056 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00057 00058 private: 00059 static const char* __s_getMD5Sum_() { return "6b355c8305ef3300641af877554e1717"; } 00060 public: 00061 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00062 00063 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00064 00065 private: 00066 static const char* __s_getMessageDefinition_() { return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00067 \n\ 00068 InteractiveBlockManipulationActionGoal action_goal\n\ 00069 InteractiveBlockManipulationActionResult action_result\n\ 00070 InteractiveBlockManipulationActionFeedback action_feedback\n\ 00071 \n\ 00072 ================================================================================\n\ 00073 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationActionGoal\n\ 00074 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00075 \n\ 00076 Header header\n\ 00077 actionlib_msgs/GoalID goal_id\n\ 00078 InteractiveBlockManipulationGoal goal\n\ 00079 \n\ 00080 ================================================================================\n\ 00081 MSG: std_msgs/Header\n\ 00082 # Standard metadata for higher-level stamped data types.\n\ 00083 # This is generally used to communicate timestamped data \n\ 00084 # in a particular coordinate frame.\n\ 00085 # \n\ 00086 # sequence ID: consecutively increasing ID \n\ 00087 uint32 seq\n\ 00088 #Two-integer timestamp that is expressed as:\n\ 00089 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00090 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00091 # time-handling sugar is provided by the client library\n\ 00092 time stamp\n\ 00093 #Frame this data is associated with\n\ 00094 # 0: no frame\n\ 00095 # 1: global frame\n\ 00096 string frame_id\n\ 00097 \n\ 00098 ================================================================================\n\ 00099 MSG: actionlib_msgs/GoalID\n\ 00100 # The stamp should store the time at which this goal was requested.\n\ 00101 # It is used by an action server when it tries to preempt all\n\ 00102 # goals that were requested before a certain time\n\ 00103 time stamp\n\ 00104 \n\ 00105 # The id provides a way to associate feedback and\n\ 00106 # result message with specific goal requests. The id\n\ 00107 # specified must be unique.\n\ 00108 string id\n\ 00109 \n\ 00110 \n\ 00111 ================================================================================\n\ 00112 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationGoal\n\ 00113 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00114 #goal definition\n\ 00115 string frame\n\ 00116 float32 block_size\n\ 00117 \n\ 00118 ================================================================================\n\ 00119 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationActionResult\n\ 00120 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00121 \n\ 00122 Header header\n\ 00123 actionlib_msgs/GoalStatus status\n\ 00124 InteractiveBlockManipulationResult result\n\ 00125 \n\ 00126 ================================================================================\n\ 00127 MSG: actionlib_msgs/GoalStatus\n\ 00128 GoalID goal_id\n\ 00129 uint8 status\n\ 00130 uint8 PENDING = 0 # The goal has yet to be processed by the action server\n\ 00131 uint8 ACTIVE = 1 # The goal is currently being processed by the action server\n\ 00132 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing\n\ 00133 # and has since completed its execution (Terminal State)\n\ 00134 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)\n\ 00135 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due\n\ 00136 # to some failure (Terminal State)\n\ 00137 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,\n\ 00138 # because the goal was unattainable or invalid (Terminal State)\n\ 00139 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing\n\ 00140 # and has not yet completed execution\n\ 00141 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,\n\ 00142 # but the action server has not yet confirmed that the goal is canceled\n\ 00143 uint8 RECALLED = 8 # The goal received a cancel request before it started executing\n\ 00144 # and was successfully cancelled (Terminal State)\n\ 00145 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be\n\ 00146 # sent over the wire by an action server\n\ 00147 \n\ 00148 #Allow for the user to associate a string with GoalStatus for debugging\n\ 00149 string text\n\ 00150 \n\ 00151 \n\ 00152 ================================================================================\n\ 00153 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationResult\n\ 00154 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00155 #result definition\n\ 00156 geometry_msgs/Pose pickup_pose\n\ 00157 geometry_msgs/Pose place_pose\n\ 00158 \n\ 00159 ================================================================================\n\ 00160 MSG: geometry_msgs/Pose\n\ 00161 # A representation of pose in free space, composed of postion and orientation. \n\ 00162 Point position\n\ 00163 Quaternion orientation\n\ 00164 \n\ 00165 ================================================================================\n\ 00166 MSG: geometry_msgs/Point\n\ 00167 # This contains the position of a point in free space\n\ 00168 float64 x\n\ 00169 float64 y\n\ 00170 float64 z\n\ 00171 \n\ 00172 ================================================================================\n\ 00173 MSG: geometry_msgs/Quaternion\n\ 00174 # This represents an orientation in free space in quaternion form.\n\ 00175 \n\ 00176 float64 x\n\ 00177 float64 y\n\ 00178 float64 z\n\ 00179 float64 w\n\ 00180 \n\ 00181 ================================================================================\n\ 00182 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationActionFeedback\n\ 00183 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00184 \n\ 00185 Header header\n\ 00186 actionlib_msgs/GoalStatus status\n\ 00187 InteractiveBlockManipulationFeedback feedback\n\ 00188 \n\ 00189 ================================================================================\n\ 00190 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationFeedback\n\ 00191 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00192 #feedback\n\ 00193 \n\ 00194 \n\ 00195 "; } 00196 public: 00197 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00198 00199 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00200 00201 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00202 { 00203 ros::serialization::OStream stream(write_ptr, 1000000000); 00204 ros::serialization::serialize(stream, action_goal); 00205 ros::serialization::serialize(stream, action_result); 00206 ros::serialization::serialize(stream, action_feedback); 00207 return stream.getData(); 00208 } 00209 00210 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00211 { 00212 ros::serialization::IStream stream(read_ptr, 1000000000); 00213 ros::serialization::deserialize(stream, action_goal); 00214 ros::serialization::deserialize(stream, action_result); 00215 ros::serialization::deserialize(stream, action_feedback); 00216 return stream.getData(); 00217 } 00218 00219 ROS_DEPRECATED virtual uint32_t serializationLength() const 00220 { 00221 uint32_t size = 0; 00222 size += ros::serialization::serializationLength(action_goal); 00223 size += ros::serialization::serializationLength(action_result); 00224 size += ros::serialization::serializationLength(action_feedback); 00225 return size; 00226 } 00227 00228 typedef boost::shared_ptr< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> > Ptr; 00229 typedef boost::shared_ptr< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> const> ConstPtr; 00230 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00231 }; // struct InteractiveBlockManipulationAction 00232 typedef ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<std::allocator<void> > InteractiveBlockManipulationAction; 00233 00234 typedef boost::shared_ptr< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction> InteractiveBlockManipulationActionPtr; 00235 typedef boost::shared_ptr< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction const> InteractiveBlockManipulationActionConstPtr; 00236 00237 00238 template<typename ContainerAllocator> 00239 std::ostream& operator<<(std::ostream& s, const ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> & v) 00240 { 00241 ros::message_operations::Printer< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> >::stream(s, "", v); 00242 return s;} 00243 00244 } // namespace turtlebot_block_manipulation 00245 00246 namespace ros 00247 { 00248 namespace message_traits 00249 { 00250 template<class ContainerAllocator> struct IsMessage< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> > : public TrueType {}; 00251 template<class ContainerAllocator> struct IsMessage< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> const> : public TrueType {}; 00252 template<class ContainerAllocator> 00253 struct MD5Sum< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> > { 00254 static const char* value() 00255 { 00256 return "6b355c8305ef3300641af877554e1717"; 00257 } 00258 00259 static const char* value(const ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> &) { return value(); } 00260 static const uint64_t static_value1 = 0x6b355c8305ef3300ULL; 00261 static const uint64_t static_value2 = 0x641af877554e1717ULL; 00262 }; 00263 00264 template<class ContainerAllocator> 00265 struct DataType< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> > { 00266 static const char* value() 00267 { 00268 return "turtlebot_block_manipulation/InteractiveBlockManipulationAction"; 00269 } 00270 00271 static const char* value(const ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> &) { return value(); } 00272 }; 00273 00274 template<class ContainerAllocator> 00275 struct Definition< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> > { 00276 static const char* value() 00277 { 00278 return "# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00279 \n\ 00280 InteractiveBlockManipulationActionGoal action_goal\n\ 00281 InteractiveBlockManipulationActionResult action_result\n\ 00282 InteractiveBlockManipulationActionFeedback action_feedback\n\ 00283 \n\ 00284 ================================================================================\n\ 00285 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationActionGoal\n\ 00286 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00287 \n\ 00288 Header header\n\ 00289 actionlib_msgs/GoalID goal_id\n\ 00290 InteractiveBlockManipulationGoal goal\n\ 00291 \n\ 00292 ================================================================================\n\ 00293 MSG: std_msgs/Header\n\ 00294 # Standard metadata for higher-level stamped data types.\n\ 00295 # This is generally used to communicate timestamped data \n\ 00296 # in a particular coordinate frame.\n\ 00297 # \n\ 00298 # sequence ID: consecutively increasing ID \n\ 00299 uint32 seq\n\ 00300 #Two-integer timestamp that is expressed as:\n\ 00301 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00302 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00303 # time-handling sugar is provided by the client library\n\ 00304 time stamp\n\ 00305 #Frame this data is associated with\n\ 00306 # 0: no frame\n\ 00307 # 1: global frame\n\ 00308 string frame_id\n\ 00309 \n\ 00310 ================================================================================\n\ 00311 MSG: actionlib_msgs/GoalID\n\ 00312 # The stamp should store the time at which this goal was requested.\n\ 00313 # It is used by an action server when it tries to preempt all\n\ 00314 # goals that were requested before a certain time\n\ 00315 time stamp\n\ 00316 \n\ 00317 # The id provides a way to associate feedback and\n\ 00318 # result message with specific goal requests. The id\n\ 00319 # specified must be unique.\n\ 00320 string id\n\ 00321 \n\ 00322 \n\ 00323 ================================================================================\n\ 00324 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationGoal\n\ 00325 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00326 #goal definition\n\ 00327 string frame\n\ 00328 float32 block_size\n\ 00329 \n\ 00330 ================================================================================\n\ 00331 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationActionResult\n\ 00332 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00333 \n\ 00334 Header header\n\ 00335 actionlib_msgs/GoalStatus status\n\ 00336 InteractiveBlockManipulationResult result\n\ 00337 \n\ 00338 ================================================================================\n\ 00339 MSG: actionlib_msgs/GoalStatus\n\ 00340 GoalID goal_id\n\ 00341 uint8 status\n\ 00342 uint8 PENDING = 0 # The goal has yet to be processed by the action server\n\ 00343 uint8 ACTIVE = 1 # The goal is currently being processed by the action server\n\ 00344 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing\n\ 00345 # and has since completed its execution (Terminal State)\n\ 00346 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)\n\ 00347 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due\n\ 00348 # to some failure (Terminal State)\n\ 00349 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,\n\ 00350 # because the goal was unattainable or invalid (Terminal State)\n\ 00351 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing\n\ 00352 # and has not yet completed execution\n\ 00353 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,\n\ 00354 # but the action server has not yet confirmed that the goal is canceled\n\ 00355 uint8 RECALLED = 8 # The goal received a cancel request before it started executing\n\ 00356 # and was successfully cancelled (Terminal State)\n\ 00357 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be\n\ 00358 # sent over the wire by an action server\n\ 00359 \n\ 00360 #Allow for the user to associate a string with GoalStatus for debugging\n\ 00361 string text\n\ 00362 \n\ 00363 \n\ 00364 ================================================================================\n\ 00365 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationResult\n\ 00366 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00367 #result definition\n\ 00368 geometry_msgs/Pose pickup_pose\n\ 00369 geometry_msgs/Pose place_pose\n\ 00370 \n\ 00371 ================================================================================\n\ 00372 MSG: geometry_msgs/Pose\n\ 00373 # A representation of pose in free space, composed of postion and orientation. \n\ 00374 Point position\n\ 00375 Quaternion orientation\n\ 00376 \n\ 00377 ================================================================================\n\ 00378 MSG: geometry_msgs/Point\n\ 00379 # This contains the position of a point in free space\n\ 00380 float64 x\n\ 00381 float64 y\n\ 00382 float64 z\n\ 00383 \n\ 00384 ================================================================================\n\ 00385 MSG: geometry_msgs/Quaternion\n\ 00386 # This represents an orientation in free space in quaternion form.\n\ 00387 \n\ 00388 float64 x\n\ 00389 float64 y\n\ 00390 float64 z\n\ 00391 float64 w\n\ 00392 \n\ 00393 ================================================================================\n\ 00394 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationActionFeedback\n\ 00395 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00396 \n\ 00397 Header header\n\ 00398 actionlib_msgs/GoalStatus status\n\ 00399 InteractiveBlockManipulationFeedback feedback\n\ 00400 \n\ 00401 ================================================================================\n\ 00402 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationFeedback\n\ 00403 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======\n\ 00404 #feedback\n\ 00405 \n\ 00406 \n\ 00407 "; 00408 } 00409 00410 static const char* value(const ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> &) { return value(); } 00411 }; 00412 00413 } // namespace message_traits 00414 } // namespace ros 00415 00416 namespace ros 00417 { 00418 namespace serialization 00419 { 00420 00421 template<class ContainerAllocator> struct Serializer< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> > 00422 { 00423 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00424 { 00425 stream.next(m.action_goal); 00426 stream.next(m.action_result); 00427 stream.next(m.action_feedback); 00428 } 00429 00430 ROS_DECLARE_ALLINONE_SERIALIZER; 00431 }; // struct InteractiveBlockManipulationAction_ 00432 } // namespace serialization 00433 } // namespace ros 00434 00435 namespace ros 00436 { 00437 namespace message_operations 00438 { 00439 00440 template<class ContainerAllocator> 00441 struct Printer< ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> > 00442 { 00443 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::turtlebot_block_manipulation::InteractiveBlockManipulationAction_<ContainerAllocator> & v) 00444 { 00445 s << indent << "action_goal: "; 00446 s << std::endl; 00447 Printer< ::turtlebot_block_manipulation::InteractiveBlockManipulationActionGoal_<ContainerAllocator> >::stream(s, indent + " ", v.action_goal); 00448 s << indent << "action_result: "; 00449 s << std::endl; 00450 Printer< ::turtlebot_block_manipulation::InteractiveBlockManipulationActionResult_<ContainerAllocator> >::stream(s, indent + " ", v.action_result); 00451 s << indent << "action_feedback: "; 00452 s << std::endl; 00453 Printer< ::turtlebot_block_manipulation::InteractiveBlockManipulationActionFeedback_<ContainerAllocator> >::stream(s, indent + " ", v.action_feedback); 00454 } 00455 }; 00456 00457 00458 } // namespace message_operations 00459 } // namespace ros 00460 00461 #endif // TURTLEBOT_BLOCK_MANIPULATION_MESSAGE_INTERACTIVEBLOCKMANIPULATIONACTION_H 00462