RSMesh 1.0.0
一个曲面重构的系统,输入为点云,输出为obj,stl等主流格式的网格文件,使用的方法为径向基函数插值,采取了并行优化、Intel-MKL等优化措施,支持百万级别的点云
载入中...
搜索中...
未找到
mesh_defects_finder.h
1//
2// Created by RainSure on 2024/2/23.
3//
4
5#ifndef RSMESH_MESH_DEFECTS_FINDER_H
6#define RSMESH_MESH_DEFECTS_FINDER_H
7
8#include "geometry/point3d.h"
9#include "isosurface/isosurface_types.h"
10#include <unordered_set>
11#include <vector>
12
13namespace rsmesh::isosurface {
15 using vertices_type = geometry::points3d;
16 using face_type = Eigen::Matrix<index_t, 1, 3>;
17 using faces_type = Eigen::Matrix<index_t, Eigen::Dynamic, 3, Eigen::RowMajor>;
18
19 public:
20 mesh_defects_finder(const vertices_type& vertices, const faces_type& faces);
21
22 std::unordered_set<index_t> intersecting_faces() const;
23
24 std::unordered_set<index_t> singular_vertices() const;
25
26 private:
27 bool segment_triangle_intersect(index_t vi, index_t vj, index_t fi) const;
28
29 index_t next_vertex(index_t fi, index_t vi) const;
30
31 index_t prev_vertex(index_t fi, index_t vi) const;
32
33 const vertices_type& vertices_;
34 const faces_type& faces_;
35 std::vector<std::vector<index_t>> vf_map_;
36 };
37}
38
39#endif //RSMESH_MESH_DEFECTS_FINDER_H
vectors3d points3d
3维点的集合
Definition point3d.h:48
该命名空间下主要定义了等值面提取相关的类和函数