7个稳定版本
使用旧的Rust 2015
1.1.8 | 2018年8月30日 |
---|---|
1.0.8 | 2016年9月27日 |
1.0.7 | 2016年8月3日 |
1.0.6 | 2016年6月10日 |
1.0.3 | 2016年3月27日 |
393 in 图形API
60 每月下载次数
用于 convex_hull
58KB
1K SLoC
半边网格
这是Rust中半边网格数据结构的实现。欢迎提出建议和提交拉取请求!
最显著的实现细节是,与其他网格部分的链接(其中有很多)是 Option<Weak<RefCell<T>>>
。这是为了允许在变异方法中稍后设置引用。由于半边网格是一个具有许多循环和某些循环引用的图,实体在初始化过程中需要某些时间点的null引用(由于循环引用)。我相信这是在Rust的借用系统中构建此类结构的唯一方法,除非使用原始指针和unsafe代码。我想,在遥远的未来,我可能可以将这个项目重构为使用原始指针以提高性能。
目前,此数据结构使用cgmath的数学原语构建。向量是 cgmath::Vector3<f32>
,而点是 cgmath::Point3<f32>
。这使得API相对简单,因为它不需要为原始类型进行类型参数化。将来有可能重构以消除此依赖。
依赖项
~1MB
~16K SLoC