SurfacePatch.h
Go to the documentation of this file.
00001 
00002 #ifndef SURFACEPATCH_H_
00003 #define SURFACEPATCH_H_
00004 
00005 #include <pcl/point_types.h>
00006  #include <pcl/point_cloud.h>
00007  #include <pcl/io/pcd_io.h>
00008 
00009  struct EIGEN_ALIGN16 SurfacePatch
00010  {
00011    PCL_ADD_POINT4D; // This adds the members x,y,z which can also be accessed using the point (which is float[4])
00012    PCL_ADD_NORMAL4D; // This adds the member normal[3] which can also be accessed using the point (which is float[4])
00013    EIGEN_ALIGN16
00014    union {
00015        float data_s[4];
00016        struct {
00017          float scale_x;
00018          float scale_y;
00019          float scale_z;
00020        };
00021    };
00022    EIGEN_ALIGN16
00023    union {
00024        float data_std[4];
00025        float std_dev_z;
00026    };
00027    EIGEN_MAKE_ALIGNED_OPERATOR_NEW
00028  };
00029  inline std::ostream& operator << (std::ostream& os, const SurfacePatch& p)
00030  {
00031    os << "(" << p.x << "," << p.y << "," << p.z << " - " << p.normal[0] << "," << p.normal[1] << "," << p.normal[2] << " - " << p.scale_x << "," << p.scale_y << "," << p.scale_z << "," << p.std_dev_z << "," << ")";
00032    return (os);
00033  }
00034  POINT_CLOUD_REGISTER_POINT_STRUCT (SurfacePatch,           // here we assume a XYZ + "test" (as fields)
00035                                     (float, x, x)
00036                                     (float, y, y)
00037                                     (float, z, z)
00038                                     (float, normal_x, normal_x)
00039                                     (float, normal_y, normal_y)
00040                                     (float, normal_z, normal_z)
00041                                     (float, scale_x, scale_x)
00042                                     (float, scale_y, scale_y)
00043                                     (float, scale_z, scale_z)
00044                                     (float, std_dev_z, std_dev_z))
00045 
00046 #endif /* SURFACEPATCH_H_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends


surfacelet
Author(s): Juergen Hess
autogenerated on Wed Dec 26 2012 15:24:47