4 个版本 (破坏性更新)
0.4.0 | 2024年2月22日 |
---|---|
0.3.0 | 2023年2月19日 |
0.2.0 | 2022年5月13日 |
0.1.0 | 2021年3月11日 |
#200 在 算法 中
每月196 次下载
用于 cavalier_contours_ffi
395KB
8K SLoC
摘要
此项目是基于 C++ CavalierContours 库的重写,用 Rust 编写,旨在构建更多功能、更好的文档和创建稳定的 C FFI。此项目具有 C++ 仓库的所有功能,以及更多的代码文档、测试覆盖率和一些处理多边形的附加函数。要跟踪进度和贡献,请查看项目的 GitHub 问题。有关并行偏移算法和背景信息的更多信息,请参阅旧的 C++ 仓库中的 README.md
此处。
此库在主 cavalier_contours
包中不使用任何不安全的代码(应用了 #![forbid(unsafe_code)]
)。在 cavalier_contours_ffi
包中用于 C 绑定时使用了不安全代码。
用于可视化和测试的交互式网页
此项目被编译为 wasm 以创建用于可视化和测试的交互式网页。
- 交互式网页演示页面:https://cavaliercontours.dev/
- 交互式网页演示页面仓库:https://github.com/jbuckmccready/cavalier_contours_web_demo
为什么选择 Rust?
- 与使用 C 或 C++ 相同的好处(出色的性能/优化、原生编译、无垃圾回收、无运行时)用于创建具有 C FFI 的快速可移植库
- 出色的构建和打包内置工具(cargo + crates)
- 出色的测试编写和维护内置工具
- 所有内置工具使得开源贡献和参与更容易实现
- 借用检查器 + 生命周期允许进行更高级的内存分配优化,而不会出现内存错误/损坏错误
- 类型系统允许在风险较低的情况下大量使用线程/并发
- 区分联合和模式匹配作为一等语言特性
- 针对wasm的出色工具
刚接触Rust但仍然想贡献代码吗?
我推荐官方的Rust书籍这里。Visual Studio Code + rust-analyzer 扩展非常适合编辑。如果您在寻找具体的工作内容,请检查标记为 good first issue
的项目问题。
许可协议
以下任一许可协议下发布:
- Apache License, Version 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
您可以选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,将如上所述双重许可,不附加任何额外条款或条件。
依赖关系
~155–385KB