5#ifndef RSMESH_CLOSED_NORMALS_H
6#define RSMESH_CLOSED_NORMALS_H
10#include "geometry/point3d.h"
11#include "point_cloud/normal_estimator.h"
12#include "common/eigen_utility.h"
26 std::vector<index_t> knn_number_normals = {10, 30, 100, 300};
27 index_t knn_number_orientations = 20;
28 double min_plane_factor = 1.8;
30 void generate_closed_normals(
34 const std::string& input = parameters.input;
35 const std::string& output = parameters.output;
36 const std::vector<index_t>& knn_number_normals = parameters.knn_number_normals;
37 const index_t knn_number_orientations = parameters.knn_number_orientations;
38 const double min_plane_factor = parameters.min_plane_factor;
40 tabled table = read_table(input);
45 estimate_with_knn(knn_number_normals, min_plane_factor).
46 orient_closed_surface(knn_number_orientations);
49 write_table(output, common::concatenate_cols(points, normals));
50 }
catch(
const std::exception& e) {
51 std::cerr << e.what() << std::endl;
examples命名空间,包含一些使用RSMesh库的示例
Eigen::Matrix< double, Eigen::Dynamic, 3, Eigen::RowMajor > vectors3d
3维向量的集合