18 #ifndef PIC_COMPUTER_VISION_SIMPLE_PLY_HPP 19 #define PIC_COMPUTER_VISION_SIMPLE_PLY_HPP 25 #include "../base.hpp" 27 #include "../util/math.hpp" 29 #include "../util/eigen_util.hpp" 31 #ifndef PIC_DISABLE_EIGEN 33 #ifndef PIC_EIGEN_NOT_BUNDLED 34 #include "../externals/Eigen/Dense" 35 #include "../externals/Eigen/SVD" 36 #include "../externals/Eigen/Geometry" 38 #include <Eigen/Dense> 40 #include <Eigen/Geometry> 47 #ifndef PIC_DISABLE_EIGEN 50 std::vector< Eigen::Vector3d > &points_3d,
51 std::vector< unsigned char > &colors)
54 FILE *file = fopen(name.c_str(),
"w");
60 bool bColor = colors.size() == (points_3d.size() * 3);
62 fprintf(file,
"ply\n");
63 fprintf(file,
"format ascii 1.0\n");
64 fprintf(file,
"element vertex %d\n",
int(points_3d.size()));
66 fprintf(file,
"property float x\n");
67 fprintf(file,
"property float y\n");
68 fprintf(file,
"property float z\n");
71 fprintf(file,
"property uchar red\n");
72 fprintf(file,
"property uchar green\n");
73 fprintf(file,
"property uchar blue\n");
74 fprintf(file,
"property uchar alpha\n");
76 fprintf(file,
"end_header\n");
78 for(
unsigned int i = 0; i < points_3d.size(); i++) {
80 fprintf(file,
"%3.4f %3.4f %3.4f ", points_3d[i][0], points_3d[i][1], points_3d[i][2]);
85 fprintf(file,
" %d %d %d 255\n", colors[k], colors[k + 1], colors[k + 2]);
93 #endif // PIC_DISABLE_EIGEN 97 #endif // PIC_COMPUTER_VISION_SIMPLE_PLY_HPP #define PIC_INLINE
Definition: base.hpp:33
Definition: bilateral_separation.hpp:25
PIC_INLINE bool writeSimplePLY(std::string name, std::vector< Eigen::Vector3d > &points_3d, std::vector< unsigned char > &colors)
Definition: simple_ply.hpp:49