Go to the documentation of this file.00001 #ifndef PCL_MESSAGE_IMAGE_H
00002 #define PCL_MESSAGE_IMAGE_H
00003 #include <string>
00004 #include <vector>
00005 #include <ostream>
00006
00007 #ifdef USE_ROS
00008 #error USE_ROS setup requires PCL to compile against ROS message headers, which is now deprecated
00009 #endif
00010
00011
00012 #include <pcl/PCLHeader.h>
00013
00014 namespace pcl
00015 {
00016 struct PCLImage
00017 {
00018 PCLImage () : header (), height (0), width (0), encoding (),
00019 is_bigendian (0), step (0), data ()
00020 {}
00021
00022 ::pcl::PCLHeader header;
00023
00024 pcl::uint32_t height;
00025 pcl::uint32_t width;
00026 std::string encoding;
00027
00028 pcl::uint8_t is_bigendian;
00029 pcl::uint32_t step;
00030
00031 std::vector<pcl::uint8_t> data;
00032
00033 typedef boost::shared_ptr< ::pcl::PCLImage> Ptr;
00034 typedef boost::shared_ptr< ::pcl::PCLImage const> ConstPtr;
00035 };
00036
00037 typedef boost::shared_ptr< ::pcl::PCLImage> PCLImagePtr;
00038 typedef boost::shared_ptr< ::pcl::PCLImage const> PCLImageConstPtr;
00039
00040 inline std::ostream& operator<<(std::ostream& s, const ::pcl::PCLImage & v)
00041 {
00042 s << "header: " << std::endl;
00043 s << v.header;
00044 s << "height: ";
00045 s << " " << v.height << std::endl;
00046 s << "width: ";
00047 s << " " << v.width << std::endl;
00048 s << "encoding: ";
00049 s << " " << v.encoding << std::endl;
00050 s << "is_bigendian: ";
00051 s << " " << v.is_bigendian << std::endl;
00052 s << "step: ";
00053 s << " " << v.step << std::endl;
00054 s << "data[]" << std::endl;
00055 for (size_t i = 0; i < v.data.size (); ++i)
00056 {
00057 s << " data[" << i << "]: ";
00058 s << " " << v.data[i] << std::endl;
00059 }
00060 return (s);
00061 }
00062 }
00063
00064 #endif // PCL_MESSAGE_IMAGE_H
00065