CAD97
396d3d6615
Add missing repr(C) on bytemuckable geometry types
2021-06-28 20:49:57 -05:00
CAD97
cb0812aaf3
Add bytemuck impls to geometry types
2021-06-28 20:36:28 -05:00
Crozet Sébastien
16b8f4812d
Define OPoint, a generic point with D: DimName
...
And define Point<T, const D: usize> as an alias for OPoint.
2021-06-26 18:39:20 +02:00
Violeta Hernández
281b140365
Fix most clippy warnings
2021-06-18 09:45:37 +02:00
Violeta Hernández
d64e799fc9
Fixes #909 ( #917 )
2021-06-17 09:45:33 +02:00
Malte Tammena
38e9a5da33
Annotate get_mut
/slice
-like functions with #[must_use]
2021-06-07 17:15:36 +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
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
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
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
bc7db9d139
Mark as const-fn some constructors of Point, Translation, Quaternion
2021-04-12 10:32:17 +02:00
Crozet Sébastien
3d834e08c9
Run cargo fmt
2021-04-11 14:09:01 +02:00
Crozet Sébastien
24d546d3b6
Rename generic parameter N -> T
2021-04-11 13:57:54 +02:00
Crozet Sébastien
23a7d7475b
First compiling version after migrating the geometry module to const-generics.
2021-04-11 13:53:45 +02:00
Crozet Sébastien
8abbb35b40
First pass to migrate the geometry module to const-generics.
2021-04-11 13:53:45 +02:00
Crozet Sébastien
35ec135d2c
Fix compilation after rebase.
2021-04-11 13:53:45 +02:00
Crozet Sébastien
d17088398a
Replace generic-array with a regular array based on min-const-generics.
2021-04-11 13:53:45 +02:00
Sébastien Crozet
b2dadffcf2
Merge pull request #864 from vks/idiomatic-rand
...
More idiomatic use of Rand
2021-04-11 13:52:48 +02:00
Vinzent Steinberg
7417f6cbca
UnitComplex: More efficient sampling
2021-04-10 03:49:46 -03:00
Vinzent Steinberg
c8fe49b1e9
Add some comments about random variates
2021-04-10 03:36:21 -03:00
Vinzent Steinberg
fd3a752409
Make use of rand more idiomatic
...
This should improve performance and accuracy.
2021-04-10 03:13:46 -03:00
Vinzent Steinberg
260ee54288
Disable some tests if "rand" feature is disabled
...
This avoids some misleading errors for `cargo test`.
2021-04-10 01:00:12 -03:00
Crozet Sébastien
bdf0de68cf
Add conversion of Rotation and UnitComplex from/to glam types.
2021-03-06 12:39:53 +01:00
Crozet Sébastien
729a8fd7f2
Add conversion from/to glam types + move glam/alga/mint impls to a "third_party" module.
2021-03-06 12:20:38 +01:00
Crozet Sébastien
f2c49aecb0
Add "cast" methods to cast the type of the components of most nalgebra types.
2021-03-05 17:08:46 +01:00
Crozet Sébastien
c32172b6b9
Make the rand dependency optional.
2021-03-02 12:25:12 +01:00
Crozet Sébastien
6cfd2bca14
Use proptest for all nalgebra tests.
2021-02-28 17:52:14 +01:00
Sébastien Crozet
21cc428480
Merge pull request #803 from aweinstock314/no_unsound_assume_init
...
Propagate `mem::MaybeUninit` through the return types of `Allocator::…
2021-02-25 15:46:49 +01:00
Sébastien Crozet
fa2e025a1e
Merge pull request #824 from tpdickso/dual_quaternion
...
Implement additional `DualQuaternion` ops and `UnitDualQuaternion`
2021-02-25 15:46:34 +01:00
Sébastien Crozet
69e2ad6a44
Merge pull request #831 from iMplode-nZ/dev
...
Added bytemuck implementations for static storages.
2021-02-25 15:46:28 +01:00
Crozet Sébastien
a32f41bd41
Fix compilation when targetting no-std.
2021-02-25 15:03:35 +01:00
Crozet Sébastien
bf0f3163ce
Rename some of the variables in dual-quaternion doc-tests.
2021-02-25 14:49:01 +01:00
Crozet Sébastien
af448d2c70
Add bytemuck impls to points.
2021-02-25 14:19:20 +01:00
Crozet Sébastien
0b1e6f0b05
Run cargo fmt.
2021-02-25 14:16:57 +01:00
Avi Weinstock
ee32f7d4cf
Run cargo fmt
.
2021-02-25 13:42:23 +01:00
Avi Weinstock
cd12422d6f
Change zero_or_uninitialized_generic
to unimplemented_or_uninitialized_generic
, and use it instead of manually dispatching on feature=no_unsound_assume_init
in functions without N: Zero
.
2021-02-25 13:42:23 +01:00
Avi Weinstock
36a3ac814f
Propagate mem::MaybeUninit
through the return types of Allocator::allocate_uninitialized
and Matrix::new_uninitialized_generic
.
...
Most call sites still invoke UB through `assume_init`. Said call sites instead invoke `unimplemented!()` if the `no_unsound_assume_init` feature is enabled, to make it easier to gradually fix them.
Progress towards #556 .
2021-02-25 13:42:23 +01:00
Crozet Sébastien
478921881f
Add approximate rotation composition for unit-quaternion.
2021-02-22 14:27:08 +01:00
Crozet Sébastien
6139372c38
Add from_basis_unchecked to rotation types.
2021-02-22 14:26:25 +01:00
iMplode nZ
1c0891bbbb
Added bytemuck for Unit and Quaternion.
2021-02-12 15:30:12 -08:00
Terence
c408e09e28
update header comment for operators
2021-01-28 19:41:55 -05:00
Terence
ac92e68486
add new operators
2021-01-28 19:27:40 -05:00
Terence
ecda74f6b2
clippify
2021-01-28 18:50:34 -05:00
Terence
388b77108e
rustfmt
2021-01-28 18:46:14 -05:00
Terence
6be0365203
add integration test
2021-01-28 18:45:34 -05:00
Terence
12c259f0b4
Implement additional DualQuaternion
ops and UnitDualQuaternion
...
This implements `UnitDualQuaternion` as an alternative to `Isometry3`
for representing 3D isometries, which also provides the `sclerp`
operation which can be used to perform screw-linear interpolation
between two unit dual quaternions.
2021-01-28 17:25:32 -05:00
Chinedu Francis Nwafili
b9513257b8
Serialize DQ to [N;8]
...
Closes #816
2020-12-18 12:19:38 -05:00
Chinedu Francis Nwafili
7ec5d00c3d
Clean up DualQuat bounds
2020-12-18 10:38:19 -05:00
Chinedu Francis Nwafili
89134efc3b
Store DQ as real and dual Quat
2020-12-18 10:09:56 -05:00
Chinedu Francis Nwafili
8036c56fda
Introduce DualQuaternion type
...
This commit introduces the `DualQuaternion` type, in line with the plan
laid out in [#487 ].
[#487 ]: https://github.com/dimforge/nalgebra/issues/487
2020-12-18 09:13:24 -05:00
Sébastien Crozet
88145b7f8c
Merge pull request #814 from dimforge/quaternion_partial_eq_fix
...
Fix the PartialEq impl for quaternions.
2020-12-18 12:29:38 +01:00
Crozet Sébastien
ed74ff7c99
Simplify trait bounds for quaternion indexing.
2020-12-18 12:06:27 +01:00
Crozet Sébastien
60708640d3
Add a dedicated method for computing isometry1.inverse() * isometry2.
...
It is more efficient that way.
2020-12-18 11:55:46 +01:00
Crozet Sébastien
67603be6ed
Fix the PartialEq impl for quaternions.
...
The double-covering property should only be taken into account for `UnitQuaternion` instead of `Quaternion` itself.
2020-12-18 11:38:33 +01:00
Crozet Sébastien
c1372c3041
Add sections to the UnitComplex documentation
2020-11-21 11:56:32 +01:00
Crozet Sébastien
99ac7a8e08
Add sections to the Rotation documentation
2020-11-21 11:56:32 +01:00
Crozet Sébastien
2a3d98bff8
Matrix, vector, isometry, and point aliases documentation: warn that the reader should take a look at the documentation of the aliased type too.
2020-11-20 17:46:03 +01:00
Crozet Sébastien
cf769522f8
Add sections to the documentations of Isometry and Point.
2020-11-20 17:45:11 +01:00
Philippe Renon
87ee014bd3
clippy: fix clone_on_copy warnings
2020-11-19 12:55:15 +01:00
Philippe Renon
bbc6a28f7d
clippy: fix len_without_is_empty warnings
2020-11-19 12:24:26 +01:00
Philippe Renon
f515cffad9
clippy: fix redundant_closure warnings
2020-11-19 11:43:08 +01:00
Philippe Renon
5dff493515
clippy: fix just_underscores_and_digits warnings
2020-11-16 11:04:57 +01:00
Crozet Sébastien
e852df6124
Add sections for most Matrix methods.
2020-11-15 16:57:49 +01:00
Philippe Renon
04ce8b3f6a
clippy: fix suspicious_op_assign_impl errors (false positives)
2020-10-26 13:09:03 +01:00
Philippe Renon
d990aff44e
clippy: fix clippy::eq_op error (false positive)
2020-10-26 08:56:49 +01:00
Philippe Renon
74f01d2538
clippy: fix suspicious_arithmetic_impl errors (false positives)
2020-10-26 08:49:06 +01:00
Crozet Sébastien
c410a32c82
Fix doc-tests.
2020-10-25 14:15:26 +01:00
Crozet Sébastien
93f361cba8
Add missing slerp implementations.
2020-10-25 14:00:47 +01:00
Crozet Sébastien
097ae44efa
Add lerp_slerp
to isometries for interpolation.
2020-10-25 11:39:27 +01:00
Crozet Sébastien
55689c238a
Add the conversion of a translation to an isometry.
2020-10-25 11:25:20 +01:00
Crozet Sébastien
503040b8bc
Add Point.map(f) and Point.apply(f).
2020-10-25 11:25:20 +01:00
Crozet Sébastien
a623e63d08
Add the conversion of an array of four elements to a quaternion.
2020-10-25 11:25:20 +01:00
Crozet Sébastien
3d82c4335e
Add inverse_transform_unit_vector to rotations and isometries.
2020-10-25 11:25:20 +01:00
Crozet Sébastien
343fb2f24f
Ensure Isometry implements Copy when targeting no-std.
...
Fix #774 .
2020-10-13 10:12:14 +02:00
Philippe Renon
822f114254
perspective: fix copy/paste error
2020-10-11 11:57:49 +02:00
Philippe Renon
1624a87efa
clippy: fix #needless_return
2020-10-11 11:42:22 +02:00
Philippe Renon
6293d3375b
clippy: fix #redundant_field_names
2020-10-11 11:42:22 +02:00
Philippe Renon
fb15658cc9
fix typo: apsect should be aspect
2020-10-11 11:42:22 +02:00
Michael Morgan
c6d5d8a1a6
Remove unsafe statement in Point::deref by forwarding to Vector.
...
Since both impls are #[inline], this should have no performance impact.
2020-10-09 15:27:02 -04:00
CGMossa
bc70258e5c
Why Option<_> ( #746 )
...
Add a comment about why `UnitQuaternion::rotation_between` returns an Option.
2020-07-16 09:27:06 +02:00
sebcrozet
2c2d1e4f07
Run cargo fmt.
2020-06-07 09:07:25 +02:00
Sébastien Crozet
423b4b27b0
Merge pull request #585 from fusion-engineering-forks/pr-default
2020-06-07 08:58:47 +02:00
sebcrozet
bbb3be512e
Run cargo fmt.
2020-04-05 18:49:48 +02:00
sebcrozet
2c03353b30
Add missing docs.
2020-04-05 18:02:03 +02:00
sebcrozet
c5dad7f960
Re-add all the alga trait impls behind a feature.
2020-04-05 17:53:27 +02:00
sebcrozet
191ccbf551
Fix warnings and compilation with the arbitrary
feature.
2020-04-05 17:18:50 +02:00
sebcrozet
d48a644d5c
Add missing implementatino of SimdValue for UnitQuaternion.
2020-04-05 16:35:26 +02:00
sebcrozet
8f662a1a61
Rename translation simba impl file.
2020-04-05 16:35:16 +02:00
Sébastien Crozet
a095a7dfcd
Re-add some missing transform multiplications.
2020-03-24 19:06:28 +01:00
Sébastien Crozet
cdbc9da46c
Add From<[...; .]> impls for AoSoA Isometry and Similarity.
2020-03-24 10:16:31 +01:00
sebcrozet
b3f347e45e
Add From<[...; .]> impls for all SIMD geometric sructures up to the isometry (excluded).
2020-03-23 09:16:01 +01:00
sebcrozet
b1857e6a36
Fix compilation of tests.
2020-03-21 23:44:24 +01:00
sebcrozet
cbcf4d7c27
Make Isometry, Unit/Quaternion, Rotation, Similarity, and UnitComplex partially compatible with AoSoA.
2020-03-21 23:35:41 +01:00
sebcrozet
f8cd26cfa9
Replace alga by simba.
2020-03-21 12:16:46 +01:00
Sébastien Crozet
a67c451ae5
Merge pull request #607 from cauthmann/dev
...
Add #[must_use] to all functions with a _mut variant (#598 )
2020-03-02 12:45:39 +01:00