RSMesh 1.0.0
一个曲面重构的系统,输入为点云,输出为obj,stl等主流格式的网格文件,使用的方法为径向基函数插值,采取了并行优化、Intel-MKL等优化措施,支持百万级别的点云
载入中...
搜索中...
未找到
plane_estimator.h
1//
2// Created by RainSure on 2023/11/3.
3//
4
5#ifndef RSMESH_PLANE_ESTIMATOR_H
6#define RSMESH_PLANE_ESTIMATOR_H
7
8#include "Eigen/Core"
9#include "Eigen/SVD"
10#include "geometry/point3d.h"
11
12namespace rsmesh {
13 namespace point_cloud {
14
16 public:
17
18 explicit plane_estimator(const geometry::points3d& points);
19
20 double line_error() const;
21
22 double plane_factor() const;
23
24 geometry::vector3d plane_normal() const;
25
26 double plane_error() const;
27
28 double point_error() const;
29
30 private:
31 static Eigen::JacobiSVD<Eigen::MatrixXd> pca_svd(const geometry::points3d& points);
32
33 Eigen::Matrix3d basis_;
34
35 double point_err_;
36 double line_err_;
37 double plane_err_;
38 double plane_factor_;
39 };
40
41 } // rsmesh
42} // point_cloud
43
44#endif //RSMESH_PLANE_ESTIMATOR_H
vectors3d points3d
3维点的集合
Definition point3d.h:48
Eigen::RowVector3d vector3d
3维向量
Definition point3d.h:30
本系统的主命名空间,包含了common, examples, fmm, geometry, numeric, point_cloud等子命名空间