7 个版本
0.3.4 | 2023 年 12 月 8 日 |
---|---|
0.3.3 | 2023 年 12 月 8 日 |
0.3.2 | 2023 年 11 月 17 日 |
0.2.0 | 2023 年 10 月 27 日 |
0.1.0 | 2023 年 10 月 22 日 |
#5 in #scalar
21 每月下载量
用于 5 crates
55KB
1.5K SLoC
Vector-Traits 包
vector-traits
是一个 Rust 包,旨在提供一套 traits,用于抽象不同的向量实现和标量类型,提供一组基本向量操作的统一接口。此包便于在不同向量库和标量精度(例如,f32
和 f64
)之间无缝过渡,而无需进行大量代码修改。
功能
- 使用
GenericVector2
和GenericVector3
traits 抽象二维和三维向量。 - 通用的标量 trait
GenericScalar
用于灵活处理标量类型。 - 基本的向量 traits
HasXY
和HasXYZ
用于自定义向量存储类型,例如 FFI 类型。 - 在不同向量库(如
cgmath
和glam
)之间无缝切换。 - 能够轻松地在不同的标量类型(
f32
,f64
)之间切换。
支持的向量实现
目前,以下来自 cgmath
和 glam
库的向量类型得到支持
glam::Vec2
,glam::DVec2
,glam::Vec3
,glam::Vec3A
和glam::DVec3
cgmath::Vector2
和cgmath::Vector3
(用于f32
和f64
)
使用方法
将 vector-traits
添加到您的 Cargo.toml
依赖项中,并包括所需的功能
[dependencies]
vector-traits = { version = "0.3.4", features = ["glam", "cgmath"] } # only use what you need
文档
要深入了解 vector-traits 功能,请查看由 cargo doc 生成的文档或在此处在线浏览。
贡献
我们欢迎社区贡献。请随意在我们的GitHub仓库提交拉取请求或报告问题。除非你明确说明,否则根据Apache-2.0许可证定义,你提交的任何有意包含在工作中的贡献,将按照上述方式双授权,没有任何额外的条款或条件。
许可证
许可以下任一许可证
- Apache License, Version 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
依赖项
~0.1–1MB
~27K SLoC