00001
00002 #ifndef OBJECT_MANIPULATION_MSGS_MESSAGE_GRASPRESULT_H
00003 #define OBJECT_MANIPULATION_MSGS_MESSAGE_GRASPRESULT_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
00018 namespace object_manipulation_msgs
00019 {
00020 template <class ContainerAllocator>
00021 struct GraspResult_ {
00022 typedef GraspResult_<ContainerAllocator> Type;
00023
00024 GraspResult_()
00025 : result_code(0)
00026 , continuation_possible(false)
00027 {
00028 }
00029
00030 GraspResult_(const ContainerAllocator& _alloc)
00031 : result_code(0)
00032 , continuation_possible(false)
00033 {
00034 }
00035
00036 typedef int32_t _result_code_type;
00037 int32_t result_code;
00038
00039 typedef uint8_t _continuation_possible_type;
00040 uint8_t continuation_possible;
00041
00042 enum { SUCCESS = 1 };
00043 enum { GRASP_OUT_OF_REACH = 2 };
00044 enum { GRASP_IN_COLLISION = 3 };
00045 enum { GRASP_UNFEASIBLE = 4 };
00046 enum { PREGRASP_OUT_OF_REACH = 5 };
00047 enum { PREGRASP_IN_COLLISION = 6 };
00048 enum { PREGRASP_UNFEASIBLE = 7 };
00049 enum { LIFT_OUT_OF_REACH = 8 };
00050 enum { LIFT_IN_COLLISION = 9 };
00051 enum { LIFT_UNFEASIBLE = 10 };
00052 enum { MOVE_ARM_FAILED = 11 };
00053 enum { GRASP_FAILED = 12 };
00054 enum { LIFT_FAILED = 13 };
00055 enum { RETREAT_FAILED = 14 };
00056
00057 private:
00058 static const char* __s_getDataType_() { return "object_manipulation_msgs/GraspResult"; }
00059 public:
00060 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00061
00062 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00063
00064 private:
00065 static const char* __s_getMD5Sum_() { return "c8a909da895cdddc0630aafd59848191"; }
00066 public:
00067 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00068
00069 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00070
00071 private:
00072 static const char* __s_getMessageDefinition_() { return "int32 SUCCESS = 1\n\
00073 int32 GRASP_OUT_OF_REACH = 2\n\
00074 int32 GRASP_IN_COLLISION = 3\n\
00075 int32 GRASP_UNFEASIBLE = 4\n\
00076 int32 PREGRASP_OUT_OF_REACH = 5\n\
00077 int32 PREGRASP_IN_COLLISION = 6\n\
00078 int32 PREGRASP_UNFEASIBLE = 7\n\
00079 int32 LIFT_OUT_OF_REACH = 8\n\
00080 int32 LIFT_IN_COLLISION = 9\n\
00081 int32 LIFT_UNFEASIBLE = 10\n\
00082 int32 MOVE_ARM_FAILED = 11\n\
00083 int32 GRASP_FAILED = 12\n\
00084 int32 LIFT_FAILED = 13\n\
00085 int32 RETREAT_FAILED = 14\n\
00086 int32 result_code\n\
00087 \n\
00088 # whether the state of the world was disturbed by this attempt. generally, this flag\n\
00089 # shows if another task can be attempted, or a new sensed world model is recommeded\n\
00090 # before proceeding\n\
00091 bool continuation_possible\n\
00092 \n\
00093 "; }
00094 public:
00095 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00096
00097 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00098
00099 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00100 {
00101 ros::serialization::OStream stream(write_ptr, 1000000000);
00102 ros::serialization::serialize(stream, result_code);
00103 ros::serialization::serialize(stream, continuation_possible);
00104 return stream.getData();
00105 }
00106
00107 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00108 {
00109 ros::serialization::IStream stream(read_ptr, 1000000000);
00110 ros::serialization::deserialize(stream, result_code);
00111 ros::serialization::deserialize(stream, continuation_possible);
00112 return stream.getData();
00113 }
00114
00115 ROS_DEPRECATED virtual uint32_t serializationLength() const
00116 {
00117 uint32_t size = 0;
00118 size += ros::serialization::serializationLength(result_code);
00119 size += ros::serialization::serializationLength(continuation_possible);
00120 return size;
00121 }
00122
00123 typedef boost::shared_ptr< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> > Ptr;
00124 typedef boost::shared_ptr< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> const> ConstPtr;
00125 boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00126 };
00127 typedef ::object_manipulation_msgs::GraspResult_<std::allocator<void> > GraspResult;
00128
00129 typedef boost::shared_ptr< ::object_manipulation_msgs::GraspResult> GraspResultPtr;
00130 typedef boost::shared_ptr< ::object_manipulation_msgs::GraspResult const> GraspResultConstPtr;
00131
00132
00133 template<typename ContainerAllocator>
00134 std::ostream& operator<<(std::ostream& s, const ::object_manipulation_msgs::GraspResult_<ContainerAllocator> & v)
00135 {
00136 ros::message_operations::Printer< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> >::stream(s, "", v);
00137 return s;}
00138
00139 }
00140
00141 namespace ros
00142 {
00143 namespace message_traits
00144 {
00145 template<class ContainerAllocator> struct IsMessage< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> > : public TrueType {};
00146 template<class ContainerAllocator> struct IsMessage< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> const> : public TrueType {};
00147 template<class ContainerAllocator>
00148 struct MD5Sum< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> > {
00149 static const char* value()
00150 {
00151 return "c8a909da895cdddc0630aafd59848191";
00152 }
00153
00154 static const char* value(const ::object_manipulation_msgs::GraspResult_<ContainerAllocator> &) { return value(); }
00155 static const uint64_t static_value1 = 0xc8a909da895cdddcULL;
00156 static const uint64_t static_value2 = 0x0630aafd59848191ULL;
00157 };
00158
00159 template<class ContainerAllocator>
00160 struct DataType< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> > {
00161 static const char* value()
00162 {
00163 return "object_manipulation_msgs/GraspResult";
00164 }
00165
00166 static const char* value(const ::object_manipulation_msgs::GraspResult_<ContainerAllocator> &) { return value(); }
00167 };
00168
00169 template<class ContainerAllocator>
00170 struct Definition< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> > {
00171 static const char* value()
00172 {
00173 return "int32 SUCCESS = 1\n\
00174 int32 GRASP_OUT_OF_REACH = 2\n\
00175 int32 GRASP_IN_COLLISION = 3\n\
00176 int32 GRASP_UNFEASIBLE = 4\n\
00177 int32 PREGRASP_OUT_OF_REACH = 5\n\
00178 int32 PREGRASP_IN_COLLISION = 6\n\
00179 int32 PREGRASP_UNFEASIBLE = 7\n\
00180 int32 LIFT_OUT_OF_REACH = 8\n\
00181 int32 LIFT_IN_COLLISION = 9\n\
00182 int32 LIFT_UNFEASIBLE = 10\n\
00183 int32 MOVE_ARM_FAILED = 11\n\
00184 int32 GRASP_FAILED = 12\n\
00185 int32 LIFT_FAILED = 13\n\
00186 int32 RETREAT_FAILED = 14\n\
00187 int32 result_code\n\
00188 \n\
00189 # whether the state of the world was disturbed by this attempt. generally, this flag\n\
00190 # shows if another task can be attempted, or a new sensed world model is recommeded\n\
00191 # before proceeding\n\
00192 bool continuation_possible\n\
00193 \n\
00194 ";
00195 }
00196
00197 static const char* value(const ::object_manipulation_msgs::GraspResult_<ContainerAllocator> &) { return value(); }
00198 };
00199
00200 template<class ContainerAllocator> struct IsFixedSize< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> > : public TrueType {};
00201 }
00202 }
00203
00204 namespace ros
00205 {
00206 namespace serialization
00207 {
00208
00209 template<class ContainerAllocator> struct Serializer< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> >
00210 {
00211 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00212 {
00213 stream.next(m.result_code);
00214 stream.next(m.continuation_possible);
00215 }
00216
00217 ROS_DECLARE_ALLINONE_SERIALIZER;
00218 };
00219 }
00220 }
00221
00222 namespace ros
00223 {
00224 namespace message_operations
00225 {
00226
00227 template<class ContainerAllocator>
00228 struct Printer< ::object_manipulation_msgs::GraspResult_<ContainerAllocator> >
00229 {
00230 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::object_manipulation_msgs::GraspResult_<ContainerAllocator> & v)
00231 {
00232 s << indent << "result_code: ";
00233 Printer<int32_t>::stream(s, indent + " ", v.result_code);
00234 s << indent << "continuation_possible: ";
00235 Printer<uint8_t>::stream(s, indent + " ", v.continuation_possible);
00236 }
00237 };
00238
00239
00240 }
00241 }
00242
00243 #endif // OBJECT_MANIPULATION_MSGS_MESSAGE_GRASPRESULT_H
00244