Commit graph

1071 commits

Author SHA1 Message Date
Ben Boeckel 2d2c501074 Angle: add the normalize_signed method
This method is like `normalize` except that it normalizes to have an
absolute value of no more than `turn_div_2`.
2019-01-16 16:01:46 -05:00
bors[bot] a570349a0d Merge #472
472: [breaking] Move lerp() from InnerSpace to VectorSpace r=Rhuagh a=Vlad-Shcherbina

Because it does not require dot product.
Along the way, fix the comment.

Fixes #471.

Co-authored-by: Vlad Shcherbina <vlad.shcherbina@gmail.com>
2019-01-14 17:10:16 +00:00
Nathan Stoddard c438536dac Declare the rest of the constructors to be const
This requires removing trait bounds from the constructors, and for Euler, removing the trait bound from the struct.
2019-01-13 22:42:16 -08:00
Nathan Stoddard 19f75b88e6 Declare point constructors to be const
Also add const to a vector constructor that I missed before.

Constructors for other types can't yet be const, because the compiler gives an error: "trait bounds other than `Sized` on const fn parameters are unstable".
2019-01-12 19:59:44 -08:00
Nathan Stoddard 9a20f1031c Declare vector constructors to be const
This makes it easier to create vectors in constants.
2019-01-12 14:53:20 -08:00
Bastien Orivel 036604ed49 Update some dependencies and bump version 2018-12-28 21:01:18 +01:00
Vlad Shcherbina 5512b6a0f7 [breaking] Move lerp() from InnerSpace to VectorSpace
Because it does not require dot product.
Along the way, fix the comment.

Fixes #471.
2018-11-22 17:43:21 +03:00
Lukas Kalbertodt e58bd7b878
Fix links to OpenGL API in docs
Those links were broken before, since the [] and () part were split
into two different lines. This also caused warnings on nightly, which
are now fixed.
2018-07-11 10:56:06 +02:00
Victor Koenders bd88d9e93f Fixed a compiler issue with the 'simd' feature 2018-06-08 14:35:12 +02:00
Victor Koenders cdb0e8c8a1 Bumped rand and fixed compiler issues 2018-06-08 13:39:02 +02:00
Alex Butler a3965d414d
Update approx -> 0.2 2018-05-23 12:43:52 +01:00
Richard Dodd 2a7e2ebda3 Fix simd 2018-04-29 17:04:49 +01:00
Richard Dodd f8e92ed327 Add is_finite to array and quaternion 2018-04-29 14:21:42 +01:00
Richard Dodd f82e421e2c Fix for simd 2018-04-28 15:09:45 +01:00
Richard Dodd 4fede94df5 Add is_finite method to vectors and matrices.
This method is useful in debug to error early when some kind of
singularity is encountered.
2018-04-28 11:34:45 +01:00
Osspial def53ca371 Fix some documentation 2018-03-16 16:32:46 -04:00
Osspial 34da833e39 Add map functions to points and vectors 2018-01-20 23:54:59 -05:00
Osspial d1cd15a45b Implement ElementWise for PointN 2018-01-05 15:09:12 -05:00
Brendan Zabarauskas 574dd3b972 Run rustfmt on most files 2018-01-03 13:16:40 +11:00
Brendan Zabarauskas 68b9052be1 Remove experimantal must_use annotations 2018-01-03 12:41:43 +11:00
Aceeri fe8ec2beb9 Fix docs for unit_z on Vector3 2017-12-03 17:57:37 -08:00
Martin Lindhe 2acb4a968a fix some typos 2017-11-19 13:30:15 +01:00
Brendan Zabarauskas 43a6b2be8c Merge pull request #426 from Osspial/point_ops
Add vector subtraction for all points
2017-10-23 23:11:41 +11:00
G. Endignoux d1e6cc4a03 Add Matrix4::look_at_dir (fix #433). 2017-10-23 12:40:35 +02:00
Osspial 0a9c51da82 Fix incorrect operator in sub_assign impl 2017-10-06 00:20:38 -04:00
Brendan Zabarauskas ccc81b4760 Merge pull request #432 from elrnv/swizzle
Swizzle Operators
2017-10-02 09:13:07 +11:00
Egor Larionov 76f00b7941 Extend swizzles to increase the dimension of a vector.
For example this is now valid:
```
let p2 = Point2::new(1.0, 2.0);
let p3 = p2.xyx(); // producing Point3 { x:1.0, y:2.0, z:1.0 }
```
2017-09-30 15:09:03 -07:00
Egor Larionov cc7047555d Complete the list of generated swizzle operators. 2017-09-30 14:41:17 -07:00
Egor Larionov 985db6b604 Initial implementation of swizzle operators using a build script that generates
a macro, which is included in macros.rs and subsequently used to implement
swizzle operators in vectors and points
2017-09-30 01:38:03 -07:00
Simon Rönnberg 8343e40b48 Adding inverse transformation of a vector. 2017-09-28 22:32:23 +02:00
Brendan Zabarauskas 3543ac0274 Merge pull request #427 from Osspial/cast_option
Modify cast functions to return Option
2017-08-22 19:32:57 +10:00
Brendan Zabarauskas bba6285f4d Merge pull request #420 from DataAnalysisCosby/master
Added project_on to InnerSpace
2017-08-22 19:31:07 +10:00
Matthew Plant bc9c5b7f79 Added project_on to InnerSpace 2017-08-21 13:47:15 -07:00
Osspial bd1b2667bd Fix building with SIMD enabled 2017-08-16 16:47:45 -04:00
Osspial a6abd5bf02 Modify cast() functions to return Option 2017-08-16 16:21:51 -04:00
Osspial b2b715c020 Add vector subtraction bound to EuclideanSpace 2017-08-10 18:50:11 -04:00
Osspial 66ee40e4c7 Re-export num_traits::Bounded 2017-08-09 23:47:35 -04:00
Osspial 4580cb3aca Add Sub and SubAssign <Vector> for all Points 2017-08-09 14:12:51 -04:00
Osspial 6981d0cacd Implement Bounded for angles 2017-08-08 19:17:16 -04:00
Osspial 1e98ef4dd4 Add Bounded impl for Vectors and Points 2017-08-08 19:11:14 -04:00
harrison 42cb73de8e fixed len for simd 2017-07-31 16:54:40 -04:00
harrison 9b84d804ae added len function to Array 2017-07-31 16:13:15 -04:00
Brendan Zabarauskas 343361a0d6 Merge pull request #418 from kvark/mint2
Mint flavour integration
2017-07-30 22:47:59 +10:00
Owen Sanchez 51b3d2d477 Add cast method to Quaternion 2017-07-13 12:24:30 -07:00
Dzmitry Malyshau d72fc08826 Mint flavour 2017-06-06 18:07:38 -04:00
Dzmitry Malyshau 7a21125c55 Refined serde dependencies 2017-06-06 16:48:55 -04:00
Dzmitry Malyshau 087336d0c0 Refinded simd feature 2017-06-06 16:44:13 -04:00
Brendan Zabarauskas a0e370ff7b Fix matrix inversions for small determinants
Closes #210
2017-05-13 18:51:59 +10:00
Brendan Zabarauskas b6199ca702 Remove PartialOrd
Closes #396

This removes `PartialOrd` and makes `BaseNum` and `BaseFloat` simple trait aliases. This should allow more types to be used as parameters in the cgmath data types at the expense of removing `Array::min` and `Array::max`.
2017-05-06 17:12:52 +10:00
Brendan Zabarauskas cb31bbdef6 Clean up some type projections 2017-05-02 21:15:32 +10:00