Commit Graph

1178 Commits

Author SHA1 Message Date
CAD97
314b4dd103 Remove scalar bound from geometry type defs
This was inconsistently applied, with some types having <T>, some having
<T: Scalar>, and some having <T: RealField>.
This unifies all types to match the convention of Matrix:
Just declare <T> at type def time, and apply bounds on impls only.

A significant advantage of this approach is const fn construction. Const
fn generics currently still can't have trait bounds, so any generic
const fn needs to only move opaque types around. Construction methods
such as new_unchecked or from_parts can be made const by removing their
generic bounds after this PR.

Actual constification is left to a follow-up PR.

Note that na::Transform is _not_ loosened here, as it has more complicated
definition requirements.
2021-07-05 19:04:10 -05:00
CAD97
e77a97e854 Add a couple trivial const fn conversions 2021-07-04 17:42:39 -05:00
Sébastien Crozet
0312981a4f
Merge pull request #921 from OfficialURL/ptr_alias
Fixed potential UB
2021-06-18 09:49:41 +02:00
Violeta Hernández
281b140365
Fix most clippy warnings 2021-06-18 09:45:37 +02:00
Violeta Hernández
c5f240cc28 Fixed potential UB 2021-06-17 19:51:00 -05:00
Sébastien Crozet
38add0b00d
Fix potential undoundness with Storage::as_slice and Storage::as_mut_slice (#905) 2021-06-17 09:46:49 +02:00
Violeta Hernández
d64e799fc9
Fixes #909 (#917) 2021-06-17 09:45:33 +02:00
Violeta Hernández
7643a24cc1
Result<(), ()> to bool (#916) 2021-06-17 09:44:06 +02:00
Violeta Hernández
885bbdaf97
Implemented SliceRange for RangeInclusive (#911) 2021-06-17 09:42:47 +02:00
Malte Tammena
38e9a5da33 Annotate get_mut/slice-like functions with #[must_use] 2021-06-07 17:15:36 +02:00
Malte Tammena
e1fe76235f Normalize #[must_use] hints 2021-06-07 16:44:59 +02:00
Malte Tammena
9fb963017f Simplify default #[must_use] annotation 2021-06-07 16:34:03 +02:00
Malte Tammena
39aa52d019 Add must_use annotations in src/**/*.rs 2021-06-06 14:46:36 +02:00
Malte Tammena
d85c10a73c Add some missing question marks 2021-06-06 11:34:29 +02:00
Malte Tammena
925fc1edd7 Annotate functions with #[must_use] where appropriate 2021-06-06 11:28:12 +02:00
Crozet Sébastien
7acd4ecdcc Fix bug in the glam conversion Vec2 -> Isometry2 2021-06-04 10:52:28 +02:00
Crozet Sébastien
dfc8ad3d6a Release v0.27.0 2021-06-02 15:15:17 +02:00
Crozet Sébastien
47a4f52e8d Replace unchecked glam conversion by TryFrom or checks 2021-06-01 10:48:24 +02:00
Crozet Sébastien
4af979c55b Support multiple version of the optional glam conversion 2021-06-01 10:27:32 +02:00
Crozet Sébastien
8810b85a2f Add a point! macro for construction points
This macro is similar to the `vector!` macro, except that it builds a point instead of a vector.
2021-05-24 17:53:59 +02:00
David Koloski
9fff10b1f0 Move rkyv impls into separate modules 2021-05-09 12:24:07 -04:00
David Koloski
38dd3345e0 Switch to distributive implementations 2021-05-09 12:24:03 -04:00
David Koloski
b48b104d57 Add rkyv implementations for a few types 2021-05-09 12:23:16 -04:00
Sébastien Crozet
23ac85e896
Merge pull request #886 from Andlon/matrix-macro
Matrix macro
2021-05-09 16:52:04 +02:00
Sébastien Crozet
a803271fcc
Merge pull request #889 from dimforge/dvector_deserialize
Fix potential unsoundness after deserializing a DVector with a bad number or elements.
2021-05-09 16:50:38 +02:00
Andreas Longva
922393b04f Enable from_{}_storage only when std/alloc available 2021-05-07 09:09:10 +02:00
Andreas Longva
3a3bc55f66 Move from_{}_storage impl blocks to matrix.rs 2021-05-07 09:00:29 +02:00
Crozet Sébastien
b398a5e189 Re-add conversion between arrays and row vectors. 2021-05-06 18:22:04 +02:00
Crozet Sébastien
5bff5368bf Manually implement Serialize and Deserialize for VecStorage 2021-05-06 18:16:42 +02:00
Andreas Longva
8552fc8385 Cargo fmt 2021-05-03 13:52:34 +02:00
Andreas Longva
eeab4db69a Add nalgebra/macros feature and re-export matrix macros from nalgebra 2021-05-03 13:52:34 +02:00
Andreas Longva
d2c11ad797 Impl DMatrix/DVector::from_vec_storage
These methods enable safe & const construction of DMatrix/DVector from a
given VecStorage.
2021-05-03 13:52:34 +02:00
Andreas Longva
9142dc8f84 Implement SMatrix::from_array_storage and use it in matriX! impl
This allows us to avoid injecting unsafe code into every macro
invocation, which seems desirable.
2021-05-03 13:52:34 +02:00
Chammika Mannakkara
105e894c0a add missing doc tests 2021-05-02 13:50:03 +09:00
Crozet Sébastien
d59d438189 Add more conversion for glam types
Add Isometry3 <-> (Vec3, Quat)
Add Isometry2 <-> (Vec3, Quat)
Add Translation2/3/4 <-> Vec2/3/4
2021-04-27 13:21:46 +02:00
Crozet Sébastien
65b94ccb91 Add more conversions for translations
Add [T; D] <-> Translation<T, D>
Add Point<T, D> -> Translation<T, D>
2021-04-27 13:17:51 +02:00
Crozet Sébastien
db27a080f1 Cleanup conversions between points and static vectors. 2021-04-27 13:17:12 +02:00
Crozet Sébastien
09be376cd9 Add more conversion for Isometry
Add [T; D] -> Isometry<T, R, D>
Add SVector<T, D> -> Isometry<T, R, D>
Add Point<T, D> -> Isometry<T, R, D>
2021-04-27 13:16:44 +02:00
Crozet Sébastien
43cf22af28 Cleanup conversion between static arrays and static matrices. 2021-04-27 13:16:01 +02:00
Crozet Sébastien
f70e7f77d1 Fix serialization of DVector 2021-04-12 17:43:04 +02:00
Crozet Sébastien
c5c6c139ab Release v0.26.0 2021-04-12 16:15:08 +02:00
Crozet Sébastien
95b021dbfb Don't enable serde by default.
Don't enable `serde/std` by default.
Add a `serde-serialize-no-std` feature to enable serde without its default features.
2021-04-12 12:14:16 +02:00
Crozet Sébastien
ee1c0be2dd Add a note about the PhantomData in Matrix. 2021-04-12 11:27:21 +02:00
Crozet Sébastien
2bef19ed5c Deprecate the MatrixN alias. 2021-04-12 11:15:01 +02:00
Crozet Sébastien
7ec4497f92 Fix wrong alias. 2021-04-12 11:06:13 +02:00
Crozet Sébastien
5a1dbfe37d Use explicit storage names in matrix aliases. 2021-04-12 10:34:15 +02:00
Crozet Sébastien
bc7db9d139 Mark as const-fn some constructors of Point, Translation, Quaternion 2021-04-12 10:32:17 +02:00
Crozet Sébastien
bedf48dbc2 Mark small matrix/vector "new" constractors as const-fn. 2021-04-12 09:18:17 +02:00
Crozet Sébastien
ad5b18ac77 Deny missing docs again. 2021-04-11 14:36:27 +02:00
Crozet Sébastien
600bb175e7 Fix compilation with the mint feature. 2021-04-11 14:35:10 +02:00