$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/tabletop_object_detector/msg/Table.msg */ 00002 #ifndef TABLETOP_OBJECT_DETECTOR_MESSAGE_TABLE_H 00003 #define TABLETOP_OBJECT_DETECTOR_MESSAGE_TABLE_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 "geometry_msgs/PoseStamped.h" 00018 #include "arm_navigation_msgs/Shape.h" 00019 00020 namespace tabletop_object_detector 00021 { 00022 template <class ContainerAllocator> 00023 struct Table_ { 00024 typedef Table_<ContainerAllocator> Type; 00025 00026 Table_() 00027 : pose() 00028 , x_min(0.0) 00029 , x_max(0.0) 00030 , y_min(0.0) 00031 , y_max(0.0) 00032 , convex_hull() 00033 { 00034 } 00035 00036 Table_(const ContainerAllocator& _alloc) 00037 : pose(_alloc) 00038 , x_min(0.0) 00039 , x_max(0.0) 00040 , y_min(0.0) 00041 , y_max(0.0) 00042 , convex_hull(_alloc) 00043 { 00044 } 00045 00046 typedef ::geometry_msgs::PoseStamped_<ContainerAllocator> _pose_type; 00047 ::geometry_msgs::PoseStamped_<ContainerAllocator> pose; 00048 00049 typedef float _x_min_type; 00050 float x_min; 00051 00052 typedef float _x_max_type; 00053 float x_max; 00054 00055 typedef float _y_min_type; 00056 float y_min; 00057 00058 typedef float _y_max_type; 00059 float y_max; 00060 00061 typedef ::arm_navigation_msgs::Shape_<ContainerAllocator> _convex_hull_type; 00062 ::arm_navigation_msgs::Shape_<ContainerAllocator> convex_hull; 00063 00064 00065 private: 00066 static const char* __s_getDataType_() { return "tabletop_object_detector/Table"; } 00067 public: 00068 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00069 00070 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00071 00072 private: 00073 static const char* __s_getMD5Sum_() { return "886d01470541b85c431cbb9613db9497"; } 00074 public: 00075 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00076 00077 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00078 00079 private: 00080 static const char* __s_getMessageDefinition_() { return "# Informs that a planar table has been detected at a given location\n\ 00081 \n\ 00082 # The pose gives you the transform that take you to the coordinate system\n\ 00083 # of the table, with the origin somewhere in the table plane and the \n\ 00084 # z axis normal to the plane\n\ 00085 geometry_msgs/PoseStamped pose\n\ 00086 \n\ 00087 # These values give you the observed extents of the table, along x and y,\n\ 00088 # in the table's own coordinate system (above)\n\ 00089 # there is no guarantee that the origin of the table coordinate system is\n\ 00090 # inside the boundary defined by these values. \n\ 00091 float32 x_min\n\ 00092 float32 x_max\n\ 00093 float32 y_min\n\ 00094 float32 y_max\n\ 00095 \n\ 00096 # There is no guarantee that the table does NOT extend further than these \n\ 00097 # values; this is just as far as we've observed it.\n\ 00098 \n\ 00099 \n\ 00100 # Newer table definition as triangle mesh of convex hull (relative to pose)\n\ 00101 arm_navigation_msgs/Shape convex_hull\n\ 00102 \n\ 00103 ================================================================================\n\ 00104 MSG: geometry_msgs/PoseStamped\n\ 00105 # A Pose with reference coordinate frame and timestamp\n\ 00106 Header header\n\ 00107 Pose pose\n\ 00108 \n\ 00109 ================================================================================\n\ 00110 MSG: std_msgs/Header\n\ 00111 # Standard metadata for higher-level stamped data types.\n\ 00112 # This is generally used to communicate timestamped data \n\ 00113 # in a particular coordinate frame.\n\ 00114 # \n\ 00115 # sequence ID: consecutively increasing ID \n\ 00116 uint32 seq\n\ 00117 #Two-integer timestamp that is expressed as:\n\ 00118 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00119 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00120 # time-handling sugar is provided by the client library\n\ 00121 time stamp\n\ 00122 #Frame this data is associated with\n\ 00123 # 0: no frame\n\ 00124 # 1: global frame\n\ 00125 string frame_id\n\ 00126 \n\ 00127 ================================================================================\n\ 00128 MSG: geometry_msgs/Pose\n\ 00129 # A representation of pose in free space, composed of postion and orientation. \n\ 00130 Point position\n\ 00131 Quaternion orientation\n\ 00132 \n\ 00133 ================================================================================\n\ 00134 MSG: geometry_msgs/Point\n\ 00135 # This contains the position of a point in free space\n\ 00136 float64 x\n\ 00137 float64 y\n\ 00138 float64 z\n\ 00139 \n\ 00140 ================================================================================\n\ 00141 MSG: geometry_msgs/Quaternion\n\ 00142 # This represents an orientation in free space in quaternion form.\n\ 00143 \n\ 00144 float64 x\n\ 00145 float64 y\n\ 00146 float64 z\n\ 00147 float64 w\n\ 00148 \n\ 00149 ================================================================================\n\ 00150 MSG: arm_navigation_msgs/Shape\n\ 00151 byte SPHERE=0\n\ 00152 byte BOX=1\n\ 00153 byte CYLINDER=2\n\ 00154 byte MESH=3\n\ 00155 \n\ 00156 byte type\n\ 00157 \n\ 00158 \n\ 00159 #### define sphere, box, cylinder ####\n\ 00160 # the origin of each shape is considered at the shape's center\n\ 00161 \n\ 00162 # for sphere\n\ 00163 # radius := dimensions[0]\n\ 00164 \n\ 00165 # for cylinder\n\ 00166 # radius := dimensions[0]\n\ 00167 # length := dimensions[1]\n\ 00168 # the length is along the Z axis\n\ 00169 \n\ 00170 # for box\n\ 00171 # size_x := dimensions[0]\n\ 00172 # size_y := dimensions[1]\n\ 00173 # size_z := dimensions[2]\n\ 00174 float64[] dimensions\n\ 00175 \n\ 00176 \n\ 00177 #### define mesh ####\n\ 00178 \n\ 00179 # list of triangles; triangle k is defined by tre vertices located\n\ 00180 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\ 00181 int32[] triangles\n\ 00182 geometry_msgs/Point[] vertices\n\ 00183 \n\ 00184 "; } 00185 public: 00186 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00187 00188 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00189 00190 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00191 { 00192 ros::serialization::OStream stream(write_ptr, 1000000000); 00193 ros::serialization::serialize(stream, pose); 00194 ros::serialization::serialize(stream, x_min); 00195 ros::serialization::serialize(stream, x_max); 00196 ros::serialization::serialize(stream, y_min); 00197 ros::serialization::serialize(stream, y_max); 00198 ros::serialization::serialize(stream, convex_hull); 00199 return stream.getData(); 00200 } 00201 00202 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00203 { 00204 ros::serialization::IStream stream(read_ptr, 1000000000); 00205 ros::serialization::deserialize(stream, pose); 00206 ros::serialization::deserialize(stream, x_min); 00207 ros::serialization::deserialize(stream, x_max); 00208 ros::serialization::deserialize(stream, y_min); 00209 ros::serialization::deserialize(stream, y_max); 00210 ros::serialization::deserialize(stream, convex_hull); 00211 return stream.getData(); 00212 } 00213 00214 ROS_DEPRECATED virtual uint32_t serializationLength() const 00215 { 00216 uint32_t size = 0; 00217 size += ros::serialization::serializationLength(pose); 00218 size += ros::serialization::serializationLength(x_min); 00219 size += ros::serialization::serializationLength(x_max); 00220 size += ros::serialization::serializationLength(y_min); 00221 size += ros::serialization::serializationLength(y_max); 00222 size += ros::serialization::serializationLength(convex_hull); 00223 return size; 00224 } 00225 00226 typedef boost::shared_ptr< ::tabletop_object_detector::Table_<ContainerAllocator> > Ptr; 00227 typedef boost::shared_ptr< ::tabletop_object_detector::Table_<ContainerAllocator> const> ConstPtr; 00228 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00229 }; // struct Table 00230 typedef ::tabletop_object_detector::Table_<std::allocator<void> > Table; 00231 00232 typedef boost::shared_ptr< ::tabletop_object_detector::Table> TablePtr; 00233 typedef boost::shared_ptr< ::tabletop_object_detector::Table const> TableConstPtr; 00234 00235 00236 template<typename ContainerAllocator> 00237 std::ostream& operator<<(std::ostream& s, const ::tabletop_object_detector::Table_<ContainerAllocator> & v) 00238 { 00239 ros::message_operations::Printer< ::tabletop_object_detector::Table_<ContainerAllocator> >::stream(s, "", v); 00240 return s;} 00241 00242 } // namespace tabletop_object_detector 00243 00244 namespace ros 00245 { 00246 namespace message_traits 00247 { 00248 template<class ContainerAllocator> struct IsMessage< ::tabletop_object_detector::Table_<ContainerAllocator> > : public TrueType {}; 00249 template<class ContainerAllocator> struct IsMessage< ::tabletop_object_detector::Table_<ContainerAllocator> const> : public TrueType {}; 00250 template<class ContainerAllocator> 00251 struct MD5Sum< ::tabletop_object_detector::Table_<ContainerAllocator> > { 00252 static const char* value() 00253 { 00254 return "886d01470541b85c431cbb9613db9497"; 00255 } 00256 00257 static const char* value(const ::tabletop_object_detector::Table_<ContainerAllocator> &) { return value(); } 00258 static const uint64_t static_value1 = 0x886d01470541b85cULL; 00259 static const uint64_t static_value2 = 0x431cbb9613db9497ULL; 00260 }; 00261 00262 template<class ContainerAllocator> 00263 struct DataType< ::tabletop_object_detector::Table_<ContainerAllocator> > { 00264 static const char* value() 00265 { 00266 return "tabletop_object_detector/Table"; 00267 } 00268 00269 static const char* value(const ::tabletop_object_detector::Table_<ContainerAllocator> &) { return value(); } 00270 }; 00271 00272 template<class ContainerAllocator> 00273 struct Definition< ::tabletop_object_detector::Table_<ContainerAllocator> > { 00274 static const char* value() 00275 { 00276 return "# Informs that a planar table has been detected at a given location\n\ 00277 \n\ 00278 # The pose gives you the transform that take you to the coordinate system\n\ 00279 # of the table, with the origin somewhere in the table plane and the \n\ 00280 # z axis normal to the plane\n\ 00281 geometry_msgs/PoseStamped pose\n\ 00282 \n\ 00283 # These values give you the observed extents of the table, along x and y,\n\ 00284 # in the table's own coordinate system (above)\n\ 00285 # there is no guarantee that the origin of the table coordinate system is\n\ 00286 # inside the boundary defined by these values. \n\ 00287 float32 x_min\n\ 00288 float32 x_max\n\ 00289 float32 y_min\n\ 00290 float32 y_max\n\ 00291 \n\ 00292 # There is no guarantee that the table does NOT extend further than these \n\ 00293 # values; this is just as far as we've observed it.\n\ 00294 \n\ 00295 \n\ 00296 # Newer table definition as triangle mesh of convex hull (relative to pose)\n\ 00297 arm_navigation_msgs/Shape convex_hull\n\ 00298 \n\ 00299 ================================================================================\n\ 00300 MSG: geometry_msgs/PoseStamped\n\ 00301 # A Pose with reference coordinate frame and timestamp\n\ 00302 Header header\n\ 00303 Pose pose\n\ 00304 \n\ 00305 ================================================================================\n\ 00306 MSG: std_msgs/Header\n\ 00307 # Standard metadata for higher-level stamped data types.\n\ 00308 # This is generally used to communicate timestamped data \n\ 00309 # in a particular coordinate frame.\n\ 00310 # \n\ 00311 # sequence ID: consecutively increasing ID \n\ 00312 uint32 seq\n\ 00313 #Two-integer timestamp that is expressed as:\n\ 00314 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00315 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00316 # time-handling sugar is provided by the client library\n\ 00317 time stamp\n\ 00318 #Frame this data is associated with\n\ 00319 # 0: no frame\n\ 00320 # 1: global frame\n\ 00321 string frame_id\n\ 00322 \n\ 00323 ================================================================================\n\ 00324 MSG: geometry_msgs/Pose\n\ 00325 # A representation of pose in free space, composed of postion and orientation. \n\ 00326 Point position\n\ 00327 Quaternion orientation\n\ 00328 \n\ 00329 ================================================================================\n\ 00330 MSG: geometry_msgs/Point\n\ 00331 # This contains the position of a point in free space\n\ 00332 float64 x\n\ 00333 float64 y\n\ 00334 float64 z\n\ 00335 \n\ 00336 ================================================================================\n\ 00337 MSG: geometry_msgs/Quaternion\n\ 00338 # This represents an orientation in free space in quaternion form.\n\ 00339 \n\ 00340 float64 x\n\ 00341 float64 y\n\ 00342 float64 z\n\ 00343 float64 w\n\ 00344 \n\ 00345 ================================================================================\n\ 00346 MSG: arm_navigation_msgs/Shape\n\ 00347 byte SPHERE=0\n\ 00348 byte BOX=1\n\ 00349 byte CYLINDER=2\n\ 00350 byte MESH=3\n\ 00351 \n\ 00352 byte type\n\ 00353 \n\ 00354 \n\ 00355 #### define sphere, box, cylinder ####\n\ 00356 # the origin of each shape is considered at the shape's center\n\ 00357 \n\ 00358 # for sphere\n\ 00359 # radius := dimensions[0]\n\ 00360 \n\ 00361 # for cylinder\n\ 00362 # radius := dimensions[0]\n\ 00363 # length := dimensions[1]\n\ 00364 # the length is along the Z axis\n\ 00365 \n\ 00366 # for box\n\ 00367 # size_x := dimensions[0]\n\ 00368 # size_y := dimensions[1]\n\ 00369 # size_z := dimensions[2]\n\ 00370 float64[] dimensions\n\ 00371 \n\ 00372 \n\ 00373 #### define mesh ####\n\ 00374 \n\ 00375 # list of triangles; triangle k is defined by tre vertices located\n\ 00376 # at indices triangles[3k], triangles[3k+1], triangles[3k+2]\n\ 00377 int32[] triangles\n\ 00378 geometry_msgs/Point[] vertices\n\ 00379 \n\ 00380 "; 00381 } 00382 00383 static const char* value(const ::tabletop_object_detector::Table_<ContainerAllocator> &) { return value(); } 00384 }; 00385 00386 } // namespace message_traits 00387 } // namespace ros 00388 00389 namespace ros 00390 { 00391 namespace serialization 00392 { 00393 00394 template<class ContainerAllocator> struct Serializer< ::tabletop_object_detector::Table_<ContainerAllocator> > 00395 { 00396 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00397 { 00398 stream.next(m.pose); 00399 stream.next(m.x_min); 00400 stream.next(m.x_max); 00401 stream.next(m.y_min); 00402 stream.next(m.y_max); 00403 stream.next(m.convex_hull); 00404 } 00405 00406 ROS_DECLARE_ALLINONE_SERIALIZER; 00407 }; // struct Table_ 00408 } // namespace serialization 00409 } // namespace ros 00410 00411 namespace ros 00412 { 00413 namespace message_operations 00414 { 00415 00416 template<class ContainerAllocator> 00417 struct Printer< ::tabletop_object_detector::Table_<ContainerAllocator> > 00418 { 00419 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::tabletop_object_detector::Table_<ContainerAllocator> & v) 00420 { 00421 s << indent << "pose: "; 00422 s << std::endl; 00423 Printer< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::stream(s, indent + " ", v.pose); 00424 s << indent << "x_min: "; 00425 Printer<float>::stream(s, indent + " ", v.x_min); 00426 s << indent << "x_max: "; 00427 Printer<float>::stream(s, indent + " ", v.x_max); 00428 s << indent << "y_min: "; 00429 Printer<float>::stream(s, indent + " ", v.y_min); 00430 s << indent << "y_max: "; 00431 Printer<float>::stream(s, indent + " ", v.y_max); 00432 s << indent << "convex_hull: "; 00433 s << std::endl; 00434 Printer< ::arm_navigation_msgs::Shape_<ContainerAllocator> >::stream(s, indent + " ", v.convex_hull); 00435 } 00436 }; 00437 00438 00439 } // namespace message_operations 00440 } // namespace ros 00441 00442 #endif // TABLETOP_OBJECT_DETECTOR_MESSAGE_TABLE_H 00443