4 个版本
0.2.2 | 2021 年 3 月 15 日 |
---|---|
0.2.1 | 2021 年 2 月 2 日 |
0.2.0 | 2020 年 11 月 5 日 |
0.1.0 | 2020 年 11 月 5 日 |
#1928 在 解析器实现
每月 260 次下载
32KB
662 行
nom_stl
是什么
nom_stl
是一个二进制和 ASCII STL 解析器,使用纯 Rust 编写,只有一个运行时依赖项:nom 解析器组合库。 nom_stl
自动区分 ASCII 和二进制 STL。它可以在 <20ms 内解析 30M 的二进制 STL。
使用
let file = std::fs::File::open("./fixtures/Root_Vase.stl").unwrap();
let mut root_vase = BufReader::new(&file);
let mesh: Mesh = parse_stl(&mut root_vase)?;
assert_eq!(mesh.triangles.len(), 596_736);
nom_stl
接受各种论证格式的 STL 字节:它将尝试解析任何实现 Read 和 Seek 的字节集合。
运行测试
$ cargo test
为了使测试运行更快(但增加构建时间),您可以在 release
模式下运行测试。为此,请运行以下命令:
$ cargo test --release
运行基准测试
$ cargo bench
它需要什么
- 稳定的公共 API
- 更好的测试,使用更好的输入数据而不是一些较小解析器的 0
- 测试解析 Windows/DOS 行结束文件
- 属性测试 (https://crates.io/crates/quickcheck)
- 最新 Nom (5.1)
- 缓冲 IO
- 通用正常和顶点类型
- 真实文档/rustdoc
- 许可证
- 主页
创意共享
以下人员因许可其文件 Creative Commons 而感谢他们,以便我们将它们包含在此项目中
- C4robotics 为 Sailor Moon Disguise Pen
- virtox 为 Binary Roots
依赖项
~1MB
~17K SLoC