$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-pr2_object_manipulation/doc_stacks/2013-03-05_12-10-38.333207/pr2_object_manipulation/perception/object_recognition_gui/msg/ModelHypothesis.msg */ 00002 #ifndef OBJECT_RECOGNITION_GUI_MESSAGE_MODELHYPOTHESIS_H 00003 #define OBJECT_RECOGNITION_GUI_MESSAGE_MODELHYPOTHESIS_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 "arm_navigation_msgs/Shape.h" 00018 #include "geometry_msgs/PoseStamped.h" 00019 00020 namespace object_recognition_gui 00021 { 00022 template <class ContainerAllocator> 00023 struct ModelHypothesis_ { 00024 typedef ModelHypothesis_<ContainerAllocator> Type; 00025 00026 ModelHypothesis_() 00027 : mesh() 00028 , pose() 00029 { 00030 } 00031 00032 ModelHypothesis_(const ContainerAllocator& _alloc) 00033 : mesh(_alloc) 00034 , pose(_alloc) 00035 { 00036 } 00037 00038 typedef ::arm_navigation_msgs::Shape_<ContainerAllocator> _mesh_type; 00039 ::arm_navigation_msgs::Shape_<ContainerAllocator> mesh; 00040 00041 typedef ::geometry_msgs::PoseStamped_<ContainerAllocator> _pose_type; 00042 ::geometry_msgs::PoseStamped_<ContainerAllocator> pose; 00043 00044 00045 private: 00046 static const char* __s_getDataType_() { return "object_recognition_gui/ModelHypothesis"; } 00047 public: 00048 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00049 00050 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00051 00052 private: 00053 static const char* __s_getMD5Sum_() { return "4fbf66f058abb32b34d3bbb399568762"; } 00054 public: 00055 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00056 00057 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00058 00059 private: 00060 static const char* __s_getMessageDefinition_() { return "#describes a hypothesis about a recognized object (mesh+pose)\n\ 00061 \n\ 00062 arm_navigation_msgs/Shape mesh\n\ 00063 geometry_msgs/PoseStamped pose\n\ 00064 \n\ 00065 ================================================================================\n\ 00066 MSG: arm_navigation_msgs/Shape\n\ 00067 byte SPHERE=0\n\ 00068 byte BOX=1\n\ 00069 byte CYLINDER=2\n\ 00070 byte MESH=3\n\ 00071 \n\ 00072 byte type\n\ 00073 \n\ 00074 \n\ 00075 #### define sphere, box, cylinder ####\n\ 00076 # the origin of each shape is considered at the shape's center\n\ 00077 \n\ 00078 # for sphere\n\ 00079 # radius := dimensions[0]\n\ 00080 \n\ 00081 # for cylinder\n\ 00082 # radius := dimensions[0]\n\ 00083 # length := dimensions[1]\n\ 00084 # the length is along the Z axis\n\ 00085 \n\ 00086 # for box\n\ 00087 # size_x := dimensions[0]\n\ 00088 # size_y := dimensions[1]\n\ 00089 # size_z := dimensions[2]\n\ 00090 float64[] dimensions\n\ 00091 \n\ 00092 \n\ 00093 #### define mesh ####\n\ 00094 \n\ 00095 # list of triangles; triangle k is defined by tre vertices located\n\ 00096 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\ 00097 int32[] triangles\n\ 00098 geometry_msgs/Point[] vertices\n\ 00099 \n\ 00100 ================================================================================\n\ 00101 MSG: geometry_msgs/Point\n\ 00102 # This contains the position of a point in free space\n\ 00103 float64 x\n\ 00104 float64 y\n\ 00105 float64 z\n\ 00106 \n\ 00107 ================================================================================\n\ 00108 MSG: geometry_msgs/PoseStamped\n\ 00109 # A Pose with reference coordinate frame and timestamp\n\ 00110 Header header\n\ 00111 Pose pose\n\ 00112 \n\ 00113 ================================================================================\n\ 00114 MSG: std_msgs/Header\n\ 00115 # Standard metadata for higher-level stamped data types.\n\ 00116 # This is generally used to communicate timestamped data \n\ 00117 # in a particular coordinate frame.\n\ 00118 # \n\ 00119 # sequence ID: consecutively increasing ID \n\ 00120 uint32 seq\n\ 00121 #Two-integer timestamp that is expressed as:\n\ 00122 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00123 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00124 # time-handling sugar is provided by the client library\n\ 00125 time stamp\n\ 00126 #Frame this data is associated with\n\ 00127 # 0: no frame\n\ 00128 # 1: global frame\n\ 00129 string frame_id\n\ 00130 \n\ 00131 ================================================================================\n\ 00132 MSG: geometry_msgs/Pose\n\ 00133 # A representation of pose in free space, composed of postion and orientation. \n\ 00134 Point position\n\ 00135 Quaternion orientation\n\ 00136 \n\ 00137 ================================================================================\n\ 00138 MSG: geometry_msgs/Quaternion\n\ 00139 # This represents an orientation in free space in quaternion form.\n\ 00140 \n\ 00141 float64 x\n\ 00142 float64 y\n\ 00143 float64 z\n\ 00144 float64 w\n\ 00145 \n\ 00146 "; } 00147 public: 00148 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00149 00150 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00151 00152 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00153 { 00154 ros::serialization::OStream stream(write_ptr, 1000000000); 00155 ros::serialization::serialize(stream, mesh); 00156 ros::serialization::serialize(stream, pose); 00157 return stream.getData(); 00158 } 00159 00160 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00161 { 00162 ros::serialization::IStream stream(read_ptr, 1000000000); 00163 ros::serialization::deserialize(stream, mesh); 00164 ros::serialization::deserialize(stream, pose); 00165 return stream.getData(); 00166 } 00167 00168 ROS_DEPRECATED virtual uint32_t serializationLength() const 00169 { 00170 uint32_t size = 0; 00171 size += ros::serialization::serializationLength(mesh); 00172 size += ros::serialization::serializationLength(pose); 00173 return size; 00174 } 00175 00176 typedef boost::shared_ptr< ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> > Ptr; 00177 typedef boost::shared_ptr< ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> const> ConstPtr; 00178 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00179 }; // struct ModelHypothesis 00180 typedef ::object_recognition_gui::ModelHypothesis_<std::allocator<void> > ModelHypothesis; 00181 00182 typedef boost::shared_ptr< ::object_recognition_gui::ModelHypothesis> ModelHypothesisPtr; 00183 typedef boost::shared_ptr< ::object_recognition_gui::ModelHypothesis const> ModelHypothesisConstPtr; 00184 00185 00186 template<typename ContainerAllocator> 00187 std::ostream& operator<<(std::ostream& s, const ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> & v) 00188 { 00189 ros::message_operations::Printer< ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> >::stream(s, "", v); 00190 return s;} 00191 00192 } // namespace object_recognition_gui 00193 00194 namespace ros 00195 { 00196 namespace message_traits 00197 { 00198 template<class ContainerAllocator> struct IsMessage< ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> > : public TrueType {}; 00199 template<class ContainerAllocator> struct IsMessage< ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> const> : public TrueType {}; 00200 template<class ContainerAllocator> 00201 struct MD5Sum< ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> > { 00202 static const char* value() 00203 { 00204 return "4fbf66f058abb32b34d3bbb399568762"; 00205 } 00206 00207 static const char* value(const ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> &) { return value(); } 00208 static const uint64_t static_value1 = 0x4fbf66f058abb32bULL; 00209 static const uint64_t static_value2 = 0x34d3bbb399568762ULL; 00210 }; 00211 00212 template<class ContainerAllocator> 00213 struct DataType< ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> > { 00214 static const char* value() 00215 { 00216 return "object_recognition_gui/ModelHypothesis"; 00217 } 00218 00219 static const char* value(const ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> &) { return value(); } 00220 }; 00221 00222 template<class ContainerAllocator> 00223 struct Definition< ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> > { 00224 static const char* value() 00225 { 00226 return "#describes a hypothesis about a recognized object (mesh+pose)\n\ 00227 \n\ 00228 arm_navigation_msgs/Shape mesh\n\ 00229 geometry_msgs/PoseStamped pose\n\ 00230 \n\ 00231 ================================================================================\n\ 00232 MSG: arm_navigation_msgs/Shape\n\ 00233 byte SPHERE=0\n\ 00234 byte BOX=1\n\ 00235 byte CYLINDER=2\n\ 00236 byte MESH=3\n\ 00237 \n\ 00238 byte type\n\ 00239 \n\ 00240 \n\ 00241 #### define sphere, box, cylinder ####\n\ 00242 # the origin of each shape is considered at the shape's center\n\ 00243 \n\ 00244 # for sphere\n\ 00245 # radius := dimensions[0]\n\ 00246 \n\ 00247 # for cylinder\n\ 00248 # radius := dimensions[0]\n\ 00249 # length := dimensions[1]\n\ 00250 # the length is along the Z axis\n\ 00251 \n\ 00252 # for box\n\ 00253 # size_x := dimensions[0]\n\ 00254 # size_y := dimensions[1]\n\ 00255 # size_z := dimensions[2]\n\ 00256 float64[] dimensions\n\ 00257 \n\ 00258 \n\ 00259 #### define mesh ####\n\ 00260 \n\ 00261 # list of triangles; triangle k is defined by tre vertices located\n\ 00262 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\ 00263 int32[] triangles\n\ 00264 geometry_msgs/Point[] vertices\n\ 00265 \n\ 00266 ================================================================================\n\ 00267 MSG: geometry_msgs/Point\n\ 00268 # This contains the position of a point in free space\n\ 00269 float64 x\n\ 00270 float64 y\n\ 00271 float64 z\n\ 00272 \n\ 00273 ================================================================================\n\ 00274 MSG: geometry_msgs/PoseStamped\n\ 00275 # A Pose with reference coordinate frame and timestamp\n\ 00276 Header header\n\ 00277 Pose pose\n\ 00278 \n\ 00279 ================================================================================\n\ 00280 MSG: std_msgs/Header\n\ 00281 # Standard metadata for higher-level stamped data types.\n\ 00282 # This is generally used to communicate timestamped data \n\ 00283 # in a particular coordinate frame.\n\ 00284 # \n\ 00285 # sequence ID: consecutively increasing ID \n\ 00286 uint32 seq\n\ 00287 #Two-integer timestamp that is expressed as:\n\ 00288 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00289 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00290 # time-handling sugar is provided by the client library\n\ 00291 time stamp\n\ 00292 #Frame this data is associated with\n\ 00293 # 0: no frame\n\ 00294 # 1: global frame\n\ 00295 string frame_id\n\ 00296 \n\ 00297 ================================================================================\n\ 00298 MSG: geometry_msgs/Pose\n\ 00299 # A representation of pose in free space, composed of postion and orientation. \n\ 00300 Point position\n\ 00301 Quaternion orientation\n\ 00302 \n\ 00303 ================================================================================\n\ 00304 MSG: geometry_msgs/Quaternion\n\ 00305 # This represents an orientation in free space in quaternion form.\n\ 00306 \n\ 00307 float64 x\n\ 00308 float64 y\n\ 00309 float64 z\n\ 00310 float64 w\n\ 00311 \n\ 00312 "; 00313 } 00314 00315 static const char* value(const ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> &) { return value(); } 00316 }; 00317 00318 } // namespace message_traits 00319 } // namespace ros 00320 00321 namespace ros 00322 { 00323 namespace serialization 00324 { 00325 00326 template<class ContainerAllocator> struct Serializer< ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> > 00327 { 00328 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00329 { 00330 stream.next(m.mesh); 00331 stream.next(m.pose); 00332 } 00333 00334 ROS_DECLARE_ALLINONE_SERIALIZER; 00335 }; // struct ModelHypothesis_ 00336 } // namespace serialization 00337 } // namespace ros 00338 00339 namespace ros 00340 { 00341 namespace message_operations 00342 { 00343 00344 template<class ContainerAllocator> 00345 struct Printer< ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> > 00346 { 00347 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::object_recognition_gui::ModelHypothesis_<ContainerAllocator> & v) 00348 { 00349 s << indent << "mesh: "; 00350 s << std::endl; 00351 Printer< ::arm_navigation_msgs::Shape_<ContainerAllocator> >::stream(s, indent + " ", v.mesh); 00352 s << indent << "pose: "; 00353 s << std::endl; 00354 Printer< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::stream(s, indent + " ", v.pose); 00355 } 00356 }; 00357 00358 00359 } // namespace message_operations 00360 } // namespace ros 00361 00362 #endif // OBJECT_RECOGNITION_GUI_MESSAGE_MODELHYPOTHESIS_H 00363