Commit graph

937 commits

Author SHA1 Message Date
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
Brendan Zabarauskas a1f73ddf0d Remove *_self methods from Angle 2015-12-13 18:13:11 +11:00
Brendan Zabarauskas e76921881f Remove operator methods on angles 2015-12-13 16:18:39 +11:00
Brendan Zabarauskas 369c1202c3 Fully impl operator permutations, and remove Zero and One impls 2015-12-13 15:54:10 +11:00
Brendan Zabarauskas 8f60f0a666 Angles should not implement Hash
Angles are implemented over floating point values - they will never be hashable.
2015-12-13 15:52:33 +11:00
Brendan Zabarauskas 981836626b Make Angle's type parameter an associated type 2015-12-13 13:09:44 +11:00
Brendan Zabarauskas de4389759b Merge pull request #273 from bjz/operator-method-sweep
Operator method sweep
2015-12-13 13:05:40 +11:00
Brendan Zabarauskas 7df65333cb Simplify projection type parameters 2015-12-13 12:35:09 +11:00
Brendan Zabarauskas a02b94fb70 Remove 'static constraints
These seem to be relics from an older Rust...
2015-12-13 12:24:30 +11:00
Brendan Zabarauskas 43634f0b49 Remove more *_self methods from Vector trait 2015-12-13 12:01:00 +11:00
Brendan Zabarauskas 534ba55d3e Remove Vector::one
Fixes #270
2015-12-13 12:01:00 +11:00
Brendan Zabarauskas 25f5dfd5fc Remove operator methods from Vector trait 2015-12-13 12:01:00 +11:00
Brendan Zabarauskas d468d76e0a Remove operator methods from Point trait 2015-12-13 12:00:34 +11:00
Brendan Zabarauskas 75b6548179 Remove ToComponents and CompositeTransform traits
Fixes #274

# Conflicts:
#	src/transform.rs
2015-12-13 10:20:53 +11:00
Brendan Zabarauskas 1bd67271f2 Remove vestigial crate attributes
These were added a looong time ago. They are not really useful these days.
2015-12-12 22:18:35 +11:00
Brendan Zabarauskas 577eafa654 Standardise macro use for code generation
This moves lots of the common code generation patterns into a macros module. In doing so, the code can be greatly reduced in size.
2015-12-12 22:17:03 +11:00
Brendan Zabarauskas 0b39e8f300 Add missing by-ref and by-val permutations of quaternion operators 2015-12-12 18:39:31 +11:00
Brendan Zabarauskas 74a771af79 Rename matrix scale functions for better ergonomics
Uniform scale matrices are probably the more common case. It probably makes sense that this has the shorter constructor.
2015-12-07 23:46:24 +11:00
Brendan Zabarauskas f75c8aa7f1 Merge pull request #261 from bjz/add-matrix-scale-functions
Add matrix scale functions
2015-12-06 21:08:27 +11:00