RSMesh
1.0.0
一个曲面重构的系统,输入为点云,输出为obj,stl等主流格式的网格文件,使用的方法为径向基函数插值,采取了并行优化、Intel-MKL等优化措施,支持百万级别的点云
载入中...
搜索中...
未找到
include
interpolation
rbf_direct_evaluator.h
1
//
2
// Created by RainSure on 2024/2/3.
3
//
4
5
#ifndef RSMESH_RBF_DIRECT_EVALUATOR_H
6
#define RSMESH_RBF_DIRECT_EVALUATOR_H
7
8
#include<memory>
9
#include"common/macros.h"
10
#include"geometry/point3d.h"
11
#include"model.h"
12
#include"polynomial/monomial_basis.h"
13
#include"polynomial/polynomial_evaluator.h"
14
#include"types.h"
15
20
namespace
rsmesh::interpolation
{
21
class
rbf_direct_evaluator
{
22
using
PolynomialEvaluator
=
polynomial::polynomial_evaluator<polynomial::monomial_basis>
;
23
24
public
:
25
rbf_direct_evaluator
(
const
model
&
model
,
const
geometry::points3d
& source_points);
26
27
rbf_direct_evaluator
(
const
model
&
model
,
const
geometry::points3d
& source_points,
28
const
geometry::points3d
& source_grad_points);
29
30
[[nodiscard]] valuesd evaluate()
const
;
31
32
void
set_field_points(
const
geometry::points3d
& field_points);
33
private
:
34
const
model
& model_;
35
const
index_t dim_;
36
const
index_t l_;
37
const
index_t mu_;
38
const
index_t sigma_;
39
const
geometry::points3d
src_points_;
40
const
geometry::points3d
src_grad_points_;
41
42
std::unique_ptr<PolynomialEvaluator> p_;
43
44
index_t n_fld_points_;
45
geometry::points3d
fld_points_;
46
valuesd weights_;
47
};
48
}
49
50
51
#endif
//RSMESH_RBF_DIRECT_EVALUATOR_H
rsmesh::interpolation::rbf_direct_evaluator
Definition
rbf_direct_evaluator.h:21
rsmesh::model
描述了一个插值模型
Definition
model.h:21
rsmesh::polynomial::polynomial_evaluator
Definition
polynomial_evaluator.h:15
rsmesh::geometry::points3d
vectors3d points3d
3维点的集合
Definition
point3d.h:48
rsmesh::interpolation
该命名空间下主要定义了插值相关的类和函数
制作者
1.10.0