RSMesh 1.0.0
一个曲面重构的系统,输入为点云,输出为obj,stl等主流格式的网格文件,使用的方法为径向基函数插值,采取了并行优化、Intel-MKL等优化措施,支持百万级别的点云
载入中...
搜索中...
未找到
rmt_primitive_lattice.cpp
1//
2// Created by RainSure on 2024/2/29.
3//
4#include <numbers>
5#include "isosurface/rmt_primitive_lattice.h"
6
7namespace rsmesh::isosurface {
8 namespace detail {
9 lattice_vectors::lattice_vectors()
10 : base{{geometry::transform_vector(rotation(), {1.0, 1.0, -1.0}) / std::numbers::sqrt2,
11 geometry::transform_vector(rotation(), {1.0, -1.0, 1.0}) / std::numbers::sqrt2,
12 geometry::transform_vector(rotation(), {-1.0, 1.0, 1.0}) / std::numbers::sqrt2}} {}
13
14 dual_lattice_vectors::dual_lattice_vectors()
15 : base{{geometry::transform_vector(rotation(), {1.0, 1.0, 0.0}) / std::numbers::sqrt2,
16 geometry::transform_vector(rotation(), {1.0, 0.0, 1.0}) / std::numbers::sqrt2,
17 geometry::transform_vector(rotation(), {0.0, 1.0, 1.0}) / std::numbers::sqrt2}} {}
18
19 } // namespace detail
20
21 const detail::lattice_vectors LatticeVectors;
22
23 const detail::dual_lattice_vectors DualLatticeVectors;
24} // namespace rsmesh::isosurface
该命名空间下主要定义了等值面提取相关的类和函数