RSMesh 1.0.0
一个曲面重构的系统,输入为点云,输出为obj,stl等主流格式的网格文件,使用的方法为径向基函数插值,采取了并行优化、Intel-MKL等优化措施,支持百万级别的点云
载入中...
搜索中...
未找到
fmm_evaluator.h
1//
2// Created by RainSure on 2024/2/4.
3//
4
5#ifndef RSMESH_FMM_EVALUATOR_H
6#define RSMESH_FMM_EVALUATOR_H
7
8#include<memory>
9#include"Eigen/Core"
10#include"geometry/bbox3d.h"
11#include"geometry/point3d.h"
12#include"model.h"
13#include"types.h"
14namespace rsmesh::fmm {
15 template<int Order>
17 public:
18 fmm_evaluator(const model& model, int tree_height, const geometry::bbox3d& bbox);
20
21 fmm_evaluator(const fmm_evaluator&) = delete;
22 fmm_evaluator(fmm_evaluator&&) = delete;
23 fmm_evaluator& operator=(const fmm_evaluator&) = delete;
24 fmm_evaluator& operator=(fmm_evaluator&&) = delete;
25
26 [[nodiscard]] valuesd evaluate() const;
27
28 void set_field_points(const geometry::points3d& points);
29
30 void set_source_points(const geometry::points3d& points);
31
32 void set_source_points_and_weights(const geometry::points3d& points,
33 const Eigen::Ref<const valuesd>& weights);
34
35 void set_weights(const Eigen::Ref<const valuesd>& weights);
36 private:
37 class impl;
38 std::unique_ptr<impl> pimpl_;
39 };
40} // namespace rsmesh::fmm
41
42
43
44
45#endif //RSMESH_FMM_EVALUATOR_H
描述了一个插值模型
Definition model.h:21
vectors3d points3d
3维点的集合
Definition point3d.h:48