point_types.h
Go to the documentation of this file.
00001 /* 
00002  * File:   point_types.h
00003  * Author: aa755
00004  *
00005  * Created on June 21, 2011, 12:22 AM
00006  */
00007 
00008 #ifndef HEMAS_POINT_TYPES_H
00009 #define HEMAS_POINT_TYPES_H
00010 #include <pcl/point_types.h>
00011 namespace hema {
00012 
00013     struct PointXYGRGBCam {
00014         PCL_ADD_POINT4D;
00015         float rgb;
00016         PCL_ADD_NORMAL4D;
00017         uint32_t cameraIndex;
00018         float distance;
00019         float curvature;
00020 
00021     };
00022     
00023     struct PointPLY {
00024         PCL_ADD_POINT4D;
00025         uint32_t r;
00026         uint32_t g;
00027         uint32_t b;
00028 
00029     };
00030 
00031     struct PointXYInt {
00032         int x;
00033         int y;
00034         int z;
00035         int segment;
00036         int label;
00037     };
00038 
00039     struct PointXYZRGBCamSL {
00040         PCL_ADD_POINT4D;
00041 
00042         union {
00043 
00044             struct {
00045                 float rgb;
00046             };
00047             float data_c[4];
00048         };
00049         uint32_t cameraIndex;
00050         float distance;
00051         uint32_t segment;
00052         uint32_t label;
00053 
00054         //      inline PointXYZRGBCamSL (float _x, float _y, float _z) { x = _x; y = _y; z = _z; data[3] = 1.0f; }
00055 
00056         void clone(const struct pcl::PointXYZRGB & rhs) {
00057             for (int i = 0; i < 4; i++)
00058                 data[i] = rhs.data[i];
00059             rgb = rhs.rgb;
00060             segment = 0;
00061             label = 0;
00062             cameraIndex = 0;
00063             distance = 0.0;
00064 
00065         }
00066         EIGEN_MAKE_ALIGNED_OPERATOR_NEW
00067     } EIGEN_ALIGN16;
00068 }
00069 
00070 POINT_CLOUD_REGISTER_POINT_STRUCT(
00071         hema::PointXYGRGBCam,
00072         (float, x, x)
00073         (float, y, y)
00074         (float, z, z)
00075         (float, rgb, rgb)
00076         (uint32_t, cameraIndex, cameraIndex)
00077         (float, distance, distance)
00078         )
00079 
00080 POINT_CLOUD_REGISTER_POINT_STRUCT(
00081         hema::PointXYInt,
00082         (int, x, x)
00083         (int, y, y)
00084         (int, z, z)
00085         (int, segment, segment)
00086         (int, label, label)
00087         )
00088         
00089 POINT_CLOUD_REGISTER_POINT_STRUCT(
00090         hema::PointPLY,
00091         (float, x, x)
00092         (float, y, y)
00093         (float, z, z)
00094         (int, r, r)
00095         (int, g, g)
00096         (int, b, b)
00097         )
00098         
00099 
00100 POINT_CLOUD_REGISTER_POINT_STRUCT(
00101         hema::PointXYZRGBCamSL,
00102         (float, x, x)
00103         (float, y, y)
00104         (float, z, z)
00105         (float, rgb, rgb)
00106         (uint32_t, cameraIndex, cameraIndex)
00107         (float, distance, distance)
00108         (uint32_t, segment, segment)
00109         (uint32_t, label, label)
00110         )
00111 
00112 //PCL_INSTANTIATE_initTree(pcl::PointXYZRGBCamSL)
00113 
00114 #endif  /* POINT_TYPES_H */
00115 


rgbdslam_v2
Author(s): Felix Endres, Juergen Hess, Nikolas Engelhard
autogenerated on Thu Jun 6 2019 21:49:45