Brendan Zabarauskas
07301eb4d0
Stabilise assignment operators
...
Assignment operators were stabilised in Rust 1.8.
2016-04-16 10:09:47 +10:00
Brendan Zabarauskas
23fce928c0
Module documentation updates
2016-04-09 14:22:30 +10:00
Brendan Zabarauskas
a3e6cd26b5
Document fields
2016-04-09 13:47:17 +10:00
Brendan Zabarauskas
886e2fb240
Unify trait hierarchies for vectors, quaternions and matrices
2016-04-09 13:47:04 +10:00
Brendan Zabarauskas
b4063ea72a
Rename Point to EuclideanSpace
2016-04-08 19:56:30 +10:00
Brendan Zabarauskas
b5f8e7646b
Rename Point::Vector to Point::Diff
2016-04-08 15:35:11 +10:00
Brendan Zabarauskas
2b36ea2ef9
Rename Vector trait to VectorSpace and EuclideanVector to InnerSpace
2016-04-08 08:46:35 +10:00
Brendan Zabarauskas
f82c8826a2
Add doc comments for vector axes
2016-04-05 08:52:27 +10:00
Brendan Zabarauskas
90dbd29f6d
Make some documentation more succinct
2016-04-04 20:45:37 +10:00
Brendan Zabarauskas
f766973a74
Remove neg_self methods
...
These are a weird methods... they aren't associated with any traits. I think they were left-over from before we moved to operator impls.
2016-04-04 20:45:37 +10:00
Brendan Zabarauskas
019cac1f74
Add some links to wikipedia pages
2016-04-04 20:45:37 +10:00
Brendan Zabarauskas
40a3ad3185
Add a default implementation for EuclideanVector::angle
2016-04-04 20:45:37 +10:00
Brendan Zabarauskas
3b55ad5f70
Move Vector::from_value function to Array trait
2016-04-04 20:45:37 +10:00
Brendan Zabarauskas
e0a5164967
Improve documentation for vector traits
2016-04-04 20:45:37 +10:00
Brendan Zabarauskas
2cd6f402df
Move the dot method onto EuclideanVector
...
The Vector and EuclideanVector traits roughly line up with the concept of vector spaces and inner spaces respectively. It makes more sense to group `dot` with the other methods that depend on it.
2016-04-04 20:45:37 +10:00
Brendan Zabarauskas
1905354d26
Fix spelling
2016-04-03 13:56:26 +10:00
Brendan Zabarauskas
1d33c231e3
Improve the documentation for some angle methods
2016-04-03 13:49:58 +10:00
Brendan Zabarauskas
aa6fd71ab8
Move Angle::new to be implemented directly on angle types
...
This is more in keeping with most Rust APIs, and the other types in this library
2016-04-03 13:36:31 +10:00
Brendan Zabarauskas
40232ec063
Remove Angle::equiv
...
Thus relied on the == operator, which doesn't make sense for floats. It seems better to leave this up to clients to decide if they want to normalize.
2016-04-03 13:32:55 +10:00
Brendan Zabarauskas
0de8942748
Merge pull request #311 from bjz/rename-vector-length
...
Rename Vector::length to Vector::magnitude
2016-03-28 13:47:50 +11:00
Brendan Zabarauskas
5f7e47371e
Merge remote-tracking branch 'origin/master' into element-wise
2016-03-27 16:43:20 +11:00
Brendan Zabarauskas
fb5228f14f
Clean up some function calls
2016-03-27 16:25:03 +11:00
Brendan Zabarauskas
f7bc6dcc54
Rename Vector::length to Vector::magnitude
2016-03-27 16:17:11 +11:00
Brendan Zabarauskas
813b4aa5c2
Add constrained conversion functions
2016-03-26 16:41:31 +11:00
Brendan Zabarauskas
8d10f1dc6d
Remove extraneous operator overloads on vectors, and add Elementwise trait
2016-03-26 13:28:49 +11:00
Brendan Zabarauskas
652ec87dd8
Add prelude module
2016-03-25 15:27:57 +11:00
Brendan Zabarauskas
3d55187a7d
Mark some types as #[repr(C, packed)]
...
Closes #296
2016-03-25 12:42:17 +11:00
Brendan Zabarauskas
667888a0c5
Improve documentation for the Point trait
2016-03-24 22:56:21 +11:00
Cameron Hart
73c34e9f05
Small doc fix for EuclideanVector trait
2016-02-17 22:43:41 +11:00
Cameron Hart
24a21d5fc6
Added scalar arithmetic operators for Matrix types
2016-01-02 16:11:16 +11:00
Cameron Hart
15b14c1e87
Rename vector identifier to point
2016-01-02 16:10:35 +11:00
Cameron Hart
9096e409d1
Added scalar arithmetic operators for Quaternions
2016-01-02 11:13:27 +11:00
Cameron Hart
3febc46d5a
Added scalar arithmetic operators for Point types
2016-01-02 10:14:47 +11:00
Cameron Hart
338c494735
Make macro usage more like existing style
2016-01-02 00:09:11 +11:00
Cameron Hart
7426d8d807
Support for scalar on the lhs of arithmetic operators
2016-01-01 18:05:32 +11:00
Brendan Zabarauskas
429d2659fe
Improve fmt::Debug impls
2015-12-29 21:50:43 +11:00
Brendan Zabarauskas
0875ea4444
Merge pull request #284 from DerekBurch/fix-matrix3-to-quaternion
...
Fix conversion from Matrix3 to Quaternion
2015-12-23 13:12:03 +11:00
derekburch
744fb78662
Fix conversion from Matrix3 to Quaternion
2015-12-22 17:53:06 -08:00
Brendan Zabarauskas
f60e85b61a
Merge pull request #282 from bjz/assignment-ops
...
Implement most assignment operators
2015-12-23 07:35:16 +11:00
Brendan Zabarauskas
e9dc8404ef
Make Quaternion::magnitude pass self by-value
2015-12-22 23:14:16 +11:00
Brendan Zabarauskas
59d5e6f53a
Implement most assignment operators
2015-12-22 22:34:34 +11:00
Brendan Zabarauskas
8c05db962a
Implement by-ref negations for matrices
2015-12-22 00:43:15 +11:00
Brendan Zabarauskas
23c632acca
Use SquareMatrix::ColumnRow instead of Matrix::Column
2015-12-21 22:10:28 +11:00
Brendan Zabarauskas
1d886f6197
Add all permutations of matrix ops, and remove operator methods
...
Completes #247
2015-12-21 21:02:40 +11:00
Brendan Zabarauskas
519af35d71
Remove Angle % Angle::Unitless
2015-12-14 04:42:02 +11:00
Brendan Zabarauskas
db35af6ae9
Angle % Angle should return an Angle
2015-12-14 04:40:09 +11:00
Brendan Zabarauskas
1cc11d2c8b
Simplify method implementations using From::from
2015-12-13 23:51:46 +11:00
Brendan Zabarauskas
612be7fecc
Move free trigonometric functions onto Angle trait
2015-12-13 23:51:00 +11:00
Brendan Zabarauskas
5b9eeb15a0
Remove Debug constraint form Angle
2015-12-13 18:38:48 +11:00
Brendan Zabarauskas
a49462426b
Remove ScalarConv trait and Angle::from
2015-12-13 18:35:03 +11:00