Commit Graph

1331 Commits

Author SHA1 Message Date
Sébastien Crozet
9d897a6b8a Add support for rust-cuda 2021-11-23 12:03:11 +01:00
Sébastien Crozet
ad3eefe182 Merge remote-tracking branch 'origin/dev' into dev 2021-11-23 11:02:51 +01:00
Sébastien Crozet
f715883f9f Re-add the conversion from a slice to a static array 2021-11-21 21:47:35 +01:00
Sébastien Crozet
10150ec783
Merge pull request #1016 from tpdickso/fix-dual-quaternion-sclerp
Don't panic ScLERPing `UnitDualQuaternion` with equal rotation
2021-11-21 17:57:34 +01:00
Terence
0ecbed512b cargo fmt 2021-11-20 09:12:45 -05:00
Christopher Gundler
24d29c4de3 Allow sorting SVD according to singular values 2021-11-08 10:27:53 +01:00
Sébastien Crozet
df51de0664 Fix unsound usize::get_unchecked_mut 2021-10-31 14:27:32 +01:00
Sébastien Crozet
20d8e953c5
Merge pull request #1004 from MaxVerevkin/fix-750
fix linear indexing of matrix slices
2021-10-31 14:24:10 +01:00
Terence
3df81c7cc9 fix docs 2021-10-28 00:05:50 -04:00
Terence
dfb7b6af22 Don't panic ScLERPing UnitDualQuaternion with equal rotation
Solves #1013.

Previously, when screw-linearly interpolating two unit dual quaternions
that had an identical orientation, `try_sclerp` would return `None`, as
the operation would introduce a division-by-zero.

This PR splits out the cases where two unit dual quaternions have an
identical orientation from the cases where they have opposite
orientations. In the case where they have identical orientations, the
operation is well-defined, but the exponential parameterization could
not handle it without introducing NaNs. Therefore, the function detects
this case and simply defaults to linearly interpolating the
translational components and using one of the two inputs' rotation
components.

The case where the inputs have opposite rotations is now detected
separately using the dot product of the real (rotation) parts, which was
already being computed anyway.

Also introduces proptests for these specific scenarios, to avoid any
regression.
2021-10-28 00:02:20 -04:00
Sébastien Crozet
e05bfe48b3
Merge pull request #1012 from Yuri6037/scale
Scale
2021-10-25 10:20:07 +02:00
Sébastien Crozet
4be7db36fd
Remove useless into_owned. 2021-10-25 09:57:58 +02:00
Yuri Edward
209f77ccaf Fixed from_superset_unchecked 2021-10-24 22:26:01 +02:00
Yuri Edward
25dba52197 Removed additional into_owned call 2021-10-24 21:58:05 +02:00
Yuri Edward
54b8a5b900 Rollbacked buggy update 2021-10-24 21:55:11 +02:00
Yuri Edward
50f65123b5 Merge branch 'scale' of github.com:Yuri6037/nalgebra into scale 2021-10-24 21:52:45 +02:00
Yuri6037
b8800ccd15
Update src/geometry/scale_conversion.rs
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 21:52:35 +02:00
Yuri Edward
9d2639b742 Removed clippy suspicious_arithmetic_impl allow 2021-10-24 21:51:36 +02:00
Yuri Edward
866cabaa28 Merge remote-tracking branch 'origin/scale' into scale 2021-10-24 20:55:35 +02:00
Yuri Edward
6d3978b212 Added Scale *= scalar + reordered ops 2021-10-24 20:55:10 +02:00
Yuri Edward
0aba533556 Added Scale * Vector 2021-10-24 20:45:40 +02:00
Yuri6037
8efa9f76b7
Update src/geometry/scale_coordinates.rs
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:41:27 +02:00
Yuri6037
510ffcbb18
Update src/geometry/scale_coordinates.rs
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:41:21 +02:00
Yuri Edward
c11e1ffb4d Fixed missing curly bracket 2021-10-24 20:40:02 +02:00
Yuri6037
ded853757c
Update src/geometry/scale.rs
Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:31:35 +02:00
Yuri6037
f7eec7317c
Update src/geometry/scale_conversion.rs
Removed return.

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:27:54 +02:00
Yuri6037
5b44502632
Update src/geometry/scale.rs
Simplified code.

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:27:38 +02:00
Yuri6037
26e36c15ba
Update src/geometry/scale.rs
Removed return

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:25:48 +02:00
Yuri6037
6123c86f9e
Update src/geometry/scale.rs
Removed return

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:24:16 +02:00
Yuri6037
91b8424a86
Update src/geometry/scale.rs
Removed return

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:21:07 +02:00
Yuri6037
de41c42af7
Update src/geometry/scale.rs
Simplified code

Co-authored-by: Sébastien Crozet <sebastien@crozet.re>
2021-10-24 20:20:13 +02:00
Yuri Edward
b91ead7971 Fixed Subset for Matrix 2021-10-21 15:56:07 +02:00
Yuri Edward
4466fb2514 Added point * vector 2021-10-21 15:47:00 +02:00
Yuri Edward
99704a0ea1 Updated all examples related to inversion API 2021-10-21 15:22:18 +02:00
Yuri Edward
82b8ac84a0 Fixed code formatting 2021-10-21 15:10:26 +02:00
Yuri Edward
a64417870b Changed inverse API to pseudo_inverse, try_inverse, try_inverse_mut, try_inverse_transform_point, inverse_unchecked. 2021-10-21 15:06:25 +02:00
Yuri Edward
1341801c56 Added scale * scalar + Cleanup scale_ops 2021-10-19 16:33:12 +02:00
Yuri Edward
865ac001d3 Re-armed scale_simba 2021-10-19 16:20:25 +02:00
Yuri Edward
94ef916f49 Fixed cargo fmt 2021-10-19 16:18:25 +02:00
Yuri Edward
0e2865085e Updated doc tests 2021-10-19 16:09:06 +02:00
Yuri Edward
d82b39ca9a Added to_homogeneous 2021-10-19 16:01:02 +02:00
Yuri Edward
f1f947b924 Added to_homogeneous 2021-10-19 15:55:06 +02:00
Yuri Edward
c249cc76b0 Added inverse, inverse_mut inverse_transform_point and transform_point 2021-10-19 15:02:50 +02:00
Yuri Edward
cf811abb92 Added identity() 2021-10-19 14:47:46 +02:00
Yuri Edward
bfb4aceede Updated operator overloads + fixed scale_construction 2021-10-19 14:31:20 +02:00
Yuri Edward
9c506b18e1 Renamed all instances of Translation to Scale 2021-10-19 14:21:26 +02:00
Yuri Edward
1252fb00a0 Added scale.rs 2021-10-19 14:05:51 +02:00
Yuri Edward
8c6ad490bc Initial commit copy all translation_x files into scale_x files 2021-10-19 14:02:07 +02:00
Sébastien Crozet
ec700ab7cf Fix conflicting Default impl for unit-quaternions. 2021-10-14 11:48:12 +02:00
Sébastien Crozet
7275b5146e Implement Default for most geometry types 2021-10-14 11:39:22 +02:00