Commit Graph

1040 Commits

Author SHA1 Message Date
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
Sébastien Crozet 3899d92f5d
Merge pull request #815 from dimforge/isometry_inv_mul
Add a dedicated method for computing isometry1.inverse() * isometry2.
2020-12-18 12:08:34 +01:00
Sébastien Crozet 8c615289dc
Merge pull request #813 from dimforge/deserialize_uninit
Add workaround for the deserialization of a matrix containing an enum.
2020-12-18 12:06:39 +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 b15a274a14 Add workaround for the deserialization of a matrix containing an enum. 2020-12-18 11:54:56 +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
Südi Tamás b01d01d486
update the version number in the documentation
from 0.21 to 0.23
2020-12-16 18:35:13 +01:00
Crozet Sébastien 651d318c26 Add sections to the Unit wrapper documentation 2020-11-21 12:19:04 +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
Crozet Sébastien 857ce13b63 Add DVector::from(Vec). 2020-11-19 16:28:06 +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 6a5b418fbc clippy: fix ptr_offset_with_cast warnings 2020-11-19 11:56:58 +01:00
Philippe Renon f515cffad9 clippy: fix redundant_closure warnings 2020-11-19 11:43:08 +01:00
Philippe Renon 726b8eeecf clippy: fix or_fun_call warnings 2020-11-19 11:43:08 +01:00
Philippe Renon 74a09c8a5e clippy: fix ptr_offset_with_cast warnings
i.e. use of `offset` with a `usize` casted to an `isize`
2020-11-16 14:59:53 +01:00
Philippe Renon f1211b0d99 clippy: remove unused imports 2020-11-16 14:46:04 +01:00
Philippe Renon 008c24204e clippy: fix unreadable_literal warnings 2020-11-16 14:43:36 +01:00
Philippe Renon de4a067d27 clippy: fix len_zero warnings 2020-11-16 12:11:24 +01:00
Philippe Renon d577a18a45 clippy: fix or_fun_call warnings 2020-11-16 11:11:58 +01:00
Philippe Renon 5dff493515 clippy: fix just_underscores_and_digits warnings 2020-11-16 11:04:57 +01:00
Philippe Renon cf54580fac clippy: fix redundant_field_names warnings 2020-11-16 11:04:56 +01:00
Crozet Sébastien 0521051665 Fix wrong import of Signed an Zero. 2020-11-15 17:44:58 +01:00
Crozet Sébastien 17eb626018 Fix typo. 2020-11-15 17:25:29 +01:00
Crozet Sébastien f2da993c8b Reduce matrix and slice aliases depth to 1. 2020-11-15 17:23:46 +01:00
Crozet Sébastien e852df6124 Add sections for most Matrix methods. 2020-11-15 16:57:49 +01:00
Crozet Sébastien b8d1ae3a1f Add aliases for matrices with only one dynamic dimension. 2020-11-13 18:35:23 +01:00
Crozet Sébastien 9a4cf0b69f Reorganize matrix construction macros. 2020-11-13 18:34:47 +01:00
Crozet Sébastien 4c2192d9e0 Reorganize matrix slice macros. 2020-11-13 18:34:33 +01:00
Crozet Sébastien 45f2fc4f92 Move all matrix decomposition methods under a single impl. 2020-11-13 17:26:47 +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 8e483a5434 Fix reshaping test. 2020-10-25 16:31:10 +01:00
Crozet Sébastien e89a26cbd0 Add doc-tests for reshape_generic. 2020-10-25 16:03:18 +01:00
Crozet Sébastien 5b3da9e2eb Fix typo in comment. 2020-10-25 16:02:31 +01:00
Nathan Kent 4a6022d9bf Add methods for in-place reshaping of matrices
There are two major additions in this commit. The first is a new storage
trait, `ReshapableStorage`, that can be implemented for storage types
that can be reshaped in-place. I have implemented this for both the
`ArrayStorage` and `VecStorage` types, as they are the most common and
they are just interpretations of a flat list.

The second is a `Matrix::reshape_generic` method that allows matrices to
be in-place reshaped provided that the underlying storage can handle it.
In practice, this means that the standard matrix types (`MatrixMN` and
`DMatrix`) can be resized to any size that has the same element count.
Resizing between array and vector storage is not implemented due to
`Storage` only being implemented for `VecStorage` variants where at
least one dimension is `Dynamic`.

Additionally, only the generic reshape function is added as it can be a
basis for other reshaping functions (see the resizing functions) and I
am not particularly in the mood to implement a variety of reshaping
methods.
2020-10-25 15:37:18 +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 9c93a58b5d Add Vector::ith_axis to build an unit vector with its i-th component set to 1. 2020-10-25 11:25:38 +01:00
Crozet Sébastien 55689c238a Add the conversion of a translation to an isometry. 2020-10-25 11:25:20 +01:00