Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef LSL_POINT_CLOUD_UTILS
00036 #define LSL_POINT_CLOUD_UTILS
00037
00038 #include <pcl/point_cloud.h>
00039 #include <pcl/point_types.h>
00040 #include <Eigen/Core>
00041
00042 namespace lslgeneric
00043 {
00044
00045
00046 template< typename PointT>
00047 pcl::PointCloud<PointT> readVRML(const char* fname);
00048 template< typename PointT>
00049 pcl::PointCloud<PointT> readVRML(FILE* fout);
00050
00051 template< typename PointT>
00052 pcl::PointCloud<PointT> readVRMLIntensity(const char* fname);
00053 template< typename PointT>
00054 pcl::PointCloud<PointT> readVRMLIntensity(FILE* fout);
00055
00056 template< typename PointT>
00057 void writeToVRMLColor(const char* fname, pcl::PointCloud<PointT> &pc);
00058 template< typename PointT>
00059 void writeToVRMLColor(FILE* fout, pcl::PointCloud<PointT> &pc);
00060
00061 template< typename PointT>
00062 void writeToVRMLIntensity(const char* fname, pcl::PointCloud<PointT> &pc,
00063 Eigen::Vector3d col = Eigen::Vector3d(1,1,1));
00064 template< typename PointT>
00065 void writeToVRMLIntensity(FILE* fout, pcl::PointCloud<PointT> &pc,
00066 Eigen::Vector3d col = Eigen::Vector3d(1,1,1));
00067
00068 template< typename PointT>
00069 void writeToVRML(const char* fname, pcl::PointCloud<PointT> &pc,
00070 Eigen::Vector3d col = Eigen::Vector3d(1,1,1));
00071 template< typename PointT>
00072 void writeToVRML(FILE* fout, pcl::PointCloud<PointT> &pc,
00073 Eigen::Vector3d col = Eigen::Vector3d(1,1,1));
00074
00075 template< typename PointT>
00076 pcl::PointCloud<PointT> transformPointCloud(Eigen::Transform<double,3,Eigen::Affine,Eigen::ColMajor> &T,
00077 const pcl::PointCloud<PointT> &pc);
00078 template< typename PointT>
00079 void transformPointCloudInPlace(Eigen::Transform<double,3,Eigen::Affine,Eigen::ColMajor> &T, pcl::PointCloud<PointT> &pc);
00080
00081 template< typename PointT>
00082 double geomDist(PointT p1, PointT p2);
00083
00084 };
00085 #include<impl/pointcloud_utils.hpp>
00086
00087 #endif
00088