使用 Rust
重写 patchwork-plusplus。当前处于开发中。
example
: 目录包含一些用例,当前主要作用是用于验证cpp
与rust
两边的输出日志是否一致。src
: 项目源代码。*.log
: 临时的日志文件,以后整理吧。每一组文件对应example
中的一个程序。
可参考 example。
使用如下函数初始化矩阵
matrix_from_raw_buffer
matrix_from_raw_buffer_drop_last
nx3f32_from_raw_buffer
nx4f32_from_raw_buffer
根据 Buffer
的数据初始化 (m x N) 维矩阵。
函数签名为:
pub fn matrix_from_raw_buffer<const N: usize>(
mut buffer: Vec<u8>,
) -> nalgebra::Matrix<
f32,
nalgebra::Dyn,
nalgebra::Const<N>,
nalgebra::VecStorage<f32, nalgebra::Dyn, nalgebra::Const<N>>,
>
N: 常量泛型参数。指定目标矩阵列的数量。 buffer: 字节数组。
根据 Buffer
的数据初始化 (m x N) 维矩阵。并将最后一列数据丢弃。
例如: 当 N=3
时,会将 Buffer
按照列为 4
的矩阵进行解析,但是仅保留前 3
列的数据。
因为,点云数据的信息中,每个点有 4
个维度的信息。在一些计算中,仅希望保留前 3
个维度。
函数签名为:
pub fn matrix_from_raw_buffer_drop_last<const N: usize>(
mut buffer: Vec<u8>,
) -> nalgebra::Matrix<
f32,
nalgebra::Dyn,
nalgebra::Const<N>,
nalgebra::VecStorage<f32, nalgebra::Dyn, nalgebra::Const<N>>,
>
N: 常量泛型参数。指定目标矩阵列的数量。 buffer: 字节数组。
对函数 matrix_from_raw_buffer
的简单封装。