Plane.h
Go to the documentation of this file.
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-groovy-pr2_object_manipulation/doc_stacks/2013-01-23_13-32-20.905780/pr2_object_manipulation/perception/fast_plane_detection/msg/Plane.msg */
00002 #ifndef FAST_PLANE_DETECTION_MESSAGE_PLANE_H
00003 #define FAST_PLANE_DETECTION_MESSAGE_PLANE_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 "geometry_msgs/PointStamped.h"
00019 #include "geometry_msgs/Vector3Stamped.h"
00020 #include "geometry_msgs/PointStamped.h"
00021 #include "geometry_msgs/Point32.h"
00022 #include "geometry_msgs/Point32.h"
00023 #include "geometry_msgs/Point32.h"
00024 #include "geometry_msgs/Point32.h"
00025 
00026 namespace fast_plane_detection
00027 {
00028 template <class ContainerAllocator>
00029 struct Plane_ {
00030   typedef Plane_<ContainerAllocator> Type;
00031 
00032   Plane_()
00033   : pose()
00034   , plane_point()
00035   , normal()
00036   , slave_point()
00037   , top_left()
00038   , top_right()
00039   , bottom_left()
00040   , bottom_right()
00041   , result(0)
00042   , percentage_inliers(0.0)
00043   , percentage_disp_inliers(0)
00044   , percentage_valid_disp(0)
00045   , error(0.0)
00046   {
00047   }
00048 
00049   Plane_(const ContainerAllocator& _alloc)
00050   : pose(_alloc)
00051   , plane_point(_alloc)
00052   , normal(_alloc)
00053   , slave_point(_alloc)
00054   , top_left(_alloc)
00055   , top_right(_alloc)
00056   , bottom_left(_alloc)
00057   , bottom_right(_alloc)
00058   , result(0)
00059   , percentage_inliers(0.0)
00060   , percentage_disp_inliers(0)
00061   , percentage_valid_disp(0)
00062   , error(0.0)
00063   {
00064   }
00065 
00066   typedef  ::geometry_msgs::PoseStamped_<ContainerAllocator>  _pose_type;
00067    ::geometry_msgs::PoseStamped_<ContainerAllocator>  pose;
00068 
00069   typedef  ::geometry_msgs::PointStamped_<ContainerAllocator>  _plane_point_type;
00070    ::geometry_msgs::PointStamped_<ContainerAllocator>  plane_point;
00071 
00072   typedef  ::geometry_msgs::Vector3Stamped_<ContainerAllocator>  _normal_type;
00073    ::geometry_msgs::Vector3Stamped_<ContainerAllocator>  normal;
00074 
00075   typedef  ::geometry_msgs::PointStamped_<ContainerAllocator>  _slave_point_type;
00076    ::geometry_msgs::PointStamped_<ContainerAllocator>  slave_point;
00077 
00078   typedef  ::geometry_msgs::Point32_<ContainerAllocator>  _top_left_type;
00079    ::geometry_msgs::Point32_<ContainerAllocator>  top_left;
00080 
00081   typedef  ::geometry_msgs::Point32_<ContainerAllocator>  _top_right_type;
00082    ::geometry_msgs::Point32_<ContainerAllocator>  top_right;
00083 
00084   typedef  ::geometry_msgs::Point32_<ContainerAllocator>  _bottom_left_type;
00085    ::geometry_msgs::Point32_<ContainerAllocator>  bottom_left;
00086 
00087   typedef  ::geometry_msgs::Point32_<ContainerAllocator>  _bottom_right_type;
00088    ::geometry_msgs::Point32_<ContainerAllocator>  bottom_right;
00089 
00090   typedef int32_t _result_type;
00091   int32_t result;
00092 
00093   typedef float _percentage_inliers_type;
00094   float percentage_inliers;
00095 
00096   typedef int32_t _percentage_disp_inliers_type;
00097   int32_t percentage_disp_inliers;
00098 
00099   typedef int32_t _percentage_valid_disp_type;
00100   int32_t percentage_valid_disp;
00101 
00102   typedef float _error_type;
00103   float error;
00104 
00105   enum { SUCCESS = 1 };
00106   enum { FEW_INLIERS = 2 };
00107   enum { NO_PLANE = 3 };
00108   enum { OTHER_ERROR = 4 };
00109 
00110   typedef boost::shared_ptr< ::fast_plane_detection::Plane_<ContainerAllocator> > Ptr;
00111   typedef boost::shared_ptr< ::fast_plane_detection::Plane_<ContainerAllocator>  const> ConstPtr;
00112   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00113 }; // struct Plane
00114 typedef  ::fast_plane_detection::Plane_<std::allocator<void> > Plane;
00115 
00116 typedef boost::shared_ptr< ::fast_plane_detection::Plane> PlanePtr;
00117 typedef boost::shared_ptr< ::fast_plane_detection::Plane const> PlaneConstPtr;
00118 
00119 
00120 template<typename ContainerAllocator>
00121 std::ostream& operator<<(std::ostream& s, const  ::fast_plane_detection::Plane_<ContainerAllocator> & v)
00122 {
00123   ros::message_operations::Printer< ::fast_plane_detection::Plane_<ContainerAllocator> >::stream(s, "", v);
00124   return s;}
00125 
00126 } // namespace fast_plane_detection
00127 
00128 namespace ros
00129 {
00130 namespace message_traits
00131 {
00132 template<class ContainerAllocator> struct IsMessage< ::fast_plane_detection::Plane_<ContainerAllocator> > : public TrueType {};
00133 template<class ContainerAllocator> struct IsMessage< ::fast_plane_detection::Plane_<ContainerAllocator>  const> : public TrueType {};
00134 template<class ContainerAllocator>
00135 struct MD5Sum< ::fast_plane_detection::Plane_<ContainerAllocator> > {
00136   static const char* value() 
00137   {
00138     return "e876d3c2247eeda0c0207fae33ce01a9";
00139   }
00140 
00141   static const char* value(const  ::fast_plane_detection::Plane_<ContainerAllocator> &) { return value(); } 
00142   static const uint64_t static_value1 = 0xe876d3c2247eeda0ULL;
00143   static const uint64_t static_value2 = 0xc0207fae33ce01a9ULL;
00144 };
00145 
00146 template<class ContainerAllocator>
00147 struct DataType< ::fast_plane_detection::Plane_<ContainerAllocator> > {
00148   static const char* value() 
00149   {
00150     return "fast_plane_detection/Plane";
00151   }
00152 
00153   static const char* value(const  ::fast_plane_detection::Plane_<ContainerAllocator> &) { return value(); } 
00154 };
00155 
00156 template<class ContainerAllocator>
00157 struct Definition< ::fast_plane_detection::Plane_<ContainerAllocator> > {
00158   static const char* value() 
00159   {
00160     return "# Informs that a plane has been detected at a given location\n\
00161 \n\
00162 # The pose gives you the transform that take you to the coordinate system\n\
00163 # of the plane, with the origin somewhere in the plane and the \n\
00164 # z axis normal to the plane\n\
00165 geometry_msgs/PoseStamped pose\n\
00166                           \n\
00167 # Point + normal vector of the plane\n\
00168 geometry_msgs/PointStamped plane_point\n\
00169 geometry_msgs/Vector3Stamped normal\n\
00170 geometry_msgs/PointStamped slave_point\n\
00171                            \n\
00172 # These values give you the observed extents of the plane, along x and y,\n\
00173 # in the plane's own coordinate system (above)\n\
00174 # there is no guarantee that the origin of the plane coordinate system is\n\
00175 # inside the boundary defined by these values. \n\
00176 geometry_msgs/Point32 top_left\n\
00177 geometry_msgs/Point32 top_right\n\
00178 \n\
00179 geometry_msgs/Point32 bottom_left\n\
00180 geometry_msgs/Point32 bottom_right\n\
00181  \n\
00182 # There is no guarantee that the plane doe NOT extend further than these \n\
00183 # values; this is just as far as we've observed it.\n\
00184 \n\
00185 # Whether the detection has succeeded or failed\n\
00186 int32 SUCCESS = 1\n\
00187 int32 FEW_INLIERS = 2\n\
00188 int32 NO_PLANE = 3\n\
00189 int32 OTHER_ERROR = 4\n\
00190 int32 result\n\
00191 \n\
00192 # inliers over whole region\n\
00193 float32 percentage_inliers\n\
00194 # inliers of valid disparities\n\
00195 int32 percentage_disp_inliers\n\
00196 # number of valid disparities\n\
00197 int32 percentage_valid_disp\n\
00198 \n\
00199 # confidence indicators of plane detection\n\
00200 # mean squared error\n\
00201 float32 error\n\
00202 \n\
00203 ================================================================================\n\
00204 MSG: geometry_msgs/PoseStamped\n\
00205 # A Pose with reference coordinate frame and timestamp\n\
00206 Header header\n\
00207 Pose pose\n\
00208 \n\
00209 ================================================================================\n\
00210 MSG: std_msgs/Header\n\
00211 # Standard metadata for higher-level stamped data types.\n\
00212 # This is generally used to communicate timestamped data \n\
00213 # in a particular coordinate frame.\n\
00214 # \n\
00215 # sequence ID: consecutively increasing ID \n\
00216 uint32 seq\n\
00217 #Two-integer timestamp that is expressed as:\n\
00218 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00219 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00220 # time-handling sugar is provided by the client library\n\
00221 time stamp\n\
00222 #Frame this data is associated with\n\
00223 # 0: no frame\n\
00224 # 1: global frame\n\
00225 string frame_id\n\
00226 \n\
00227 ================================================================================\n\
00228 MSG: geometry_msgs/Pose\n\
00229 # A representation of pose in free space, composed of postion and orientation. \n\
00230 Point position\n\
00231 Quaternion orientation\n\
00232 \n\
00233 ================================================================================\n\
00234 MSG: geometry_msgs/Point\n\
00235 # This contains the position of a point in free space\n\
00236 float64 x\n\
00237 float64 y\n\
00238 float64 z\n\
00239 \n\
00240 ================================================================================\n\
00241 MSG: geometry_msgs/Quaternion\n\
00242 # This represents an orientation in free space in quaternion form.\n\
00243 \n\
00244 float64 x\n\
00245 float64 y\n\
00246 float64 z\n\
00247 float64 w\n\
00248 \n\
00249 ================================================================================\n\
00250 MSG: geometry_msgs/PointStamped\n\
00251 # This represents a Point with reference coordinate frame and timestamp\n\
00252 Header header\n\
00253 Point point\n\
00254 \n\
00255 ================================================================================\n\
00256 MSG: geometry_msgs/Vector3Stamped\n\
00257 # This represents a Vector3 with reference coordinate frame and timestamp\n\
00258 Header header\n\
00259 Vector3 vector\n\
00260 \n\
00261 ================================================================================\n\
00262 MSG: geometry_msgs/Vector3\n\
00263 # This represents a vector in free space. \n\
00264 \n\
00265 float64 x\n\
00266 float64 y\n\
00267 float64 z\n\
00268 ================================================================================\n\
00269 MSG: geometry_msgs/Point32\n\
00270 # This contains the position of a point in free space(with 32 bits of precision).\n\
00271 # It is recommeded to use Point wherever possible instead of Point32.  \n\
00272 # \n\
00273 # This recommendation is to promote interoperability.  \n\
00274 #\n\
00275 # This message is designed to take up less space when sending\n\
00276 # lots of points at once, as in the case of a PointCloud.  \n\
00277 \n\
00278 float32 x\n\
00279 float32 y\n\
00280 float32 z\n\
00281 ";
00282   }
00283 
00284   static const char* value(const  ::fast_plane_detection::Plane_<ContainerAllocator> &) { return value(); } 
00285 };
00286 
00287 } // namespace message_traits
00288 } // namespace ros
00289 
00290 namespace ros
00291 {
00292 namespace serialization
00293 {
00294 
00295 template<class ContainerAllocator> struct Serializer< ::fast_plane_detection::Plane_<ContainerAllocator> >
00296 {
00297   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00298   {
00299     stream.next(m.pose);
00300     stream.next(m.plane_point);
00301     stream.next(m.normal);
00302     stream.next(m.slave_point);
00303     stream.next(m.top_left);
00304     stream.next(m.top_right);
00305     stream.next(m.bottom_left);
00306     stream.next(m.bottom_right);
00307     stream.next(m.result);
00308     stream.next(m.percentage_inliers);
00309     stream.next(m.percentage_disp_inliers);
00310     stream.next(m.percentage_valid_disp);
00311     stream.next(m.error);
00312   }
00313 
00314   ROS_DECLARE_ALLINONE_SERIALIZER;
00315 }; // struct Plane_
00316 } // namespace serialization
00317 } // namespace ros
00318 
00319 namespace ros
00320 {
00321 namespace message_operations
00322 {
00323 
00324 template<class ContainerAllocator>
00325 struct Printer< ::fast_plane_detection::Plane_<ContainerAllocator> >
00326 {
00327   template<typename Stream> static void stream(Stream& s, const std::string& indent, const  ::fast_plane_detection::Plane_<ContainerAllocator> & v) 
00328   {
00329     s << indent << "pose: ";
00330 s << std::endl;
00331     Printer< ::geometry_msgs::PoseStamped_<ContainerAllocator> >::stream(s, indent + "  ", v.pose);
00332     s << indent << "plane_point: ";
00333 s << std::endl;
00334     Printer< ::geometry_msgs::PointStamped_<ContainerAllocator> >::stream(s, indent + "  ", v.plane_point);
00335     s << indent << "normal: ";
00336 s << std::endl;
00337     Printer< ::geometry_msgs::Vector3Stamped_<ContainerAllocator> >::stream(s, indent + "  ", v.normal);
00338     s << indent << "slave_point: ";
00339 s << std::endl;
00340     Printer< ::geometry_msgs::PointStamped_<ContainerAllocator> >::stream(s, indent + "  ", v.slave_point);
00341     s << indent << "top_left: ";
00342 s << std::endl;
00343     Printer< ::geometry_msgs::Point32_<ContainerAllocator> >::stream(s, indent + "  ", v.top_left);
00344     s << indent << "top_right: ";
00345 s << std::endl;
00346     Printer< ::geometry_msgs::Point32_<ContainerAllocator> >::stream(s, indent + "  ", v.top_right);
00347     s << indent << "bottom_left: ";
00348 s << std::endl;
00349     Printer< ::geometry_msgs::Point32_<ContainerAllocator> >::stream(s, indent + "  ", v.bottom_left);
00350     s << indent << "bottom_right: ";
00351 s << std::endl;
00352     Printer< ::geometry_msgs::Point32_<ContainerAllocator> >::stream(s, indent + "  ", v.bottom_right);
00353     s << indent << "result: ";
00354     Printer<int32_t>::stream(s, indent + "  ", v.result);
00355     s << indent << "percentage_inliers: ";
00356     Printer<float>::stream(s, indent + "  ", v.percentage_inliers);
00357     s << indent << "percentage_disp_inliers: ";
00358     Printer<int32_t>::stream(s, indent + "  ", v.percentage_disp_inliers);
00359     s << indent << "percentage_valid_disp: ";
00360     Printer<int32_t>::stream(s, indent + "  ", v.percentage_valid_disp);
00361     s << indent << "error: ";
00362     Printer<float>::stream(s, indent + "  ", v.error);
00363   }
00364 };
00365 
00366 
00367 } // namespace message_operations
00368 } // namespace ros
00369 
00370 #endif // FAST_PLANE_DETECTION_MESSAGE_PLANE_H
00371 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines


fast_plane_detection
Author(s): Jeannette Bohg
autogenerated on Wed Jan 23 2013 16:52:54