RSMesh
1.0.0
一个曲面重构的系统,输入为点云,输出为obj,stl等主流格式的网格文件,使用的方法为径向基函数插值,采取了并行优化、Intel-MKL等优化措施,支持百万级别的点云
载入中...
搜索中...
未找到
include
fmm
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"
14
namespace
rsmesh::fmm {
15
template
<
int
Order>
16
class
fmm_evaluator
{
17
public
:
18
fmm_evaluator
(
const
model
&
model
,
int
tree_height,
const
geometry::bbox3d
& bbox);
19
~fmm_evaluator
();
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
rsmesh::fmm::fmm_evaluator::impl
Definition
fmm_evaluator.cpp:19
rsmesh::fmm::fmm_evaluator
Definition
fmm_evaluator.h:16
rsmesh::geometry::bbox3d
Definition
bbox3d.h:14
rsmesh::model
描述了一个插值模型
Definition
model.h:21
rsmesh::geometry::points3d
vectors3d points3d
3维点的集合
Definition
point3d.h:48
制作者
1.10.0