Commit graph

73 commits

Author SHA1 Message Date
Mark Hintz f475822d9b Removes #[repr(packed)] from all structs where it was specified.
This is intended as a partial fix for #375. It doesn't also remove #[repr(C)],
since it's a bit unclear whether that's necessary.
2016-08-25 15:41:39 +02:00
Andrew Dudney 0f8a96d9b8 Changed over to the approx crate. Currently breaks rotation's doc tests. 2016-08-22 09:21:22 -06:00
Romain Vaillant cdbb9294e0 Adds serde support 2016-05-16 14:16:59 +02:00
Romain Vaillant f3673a1d4c makes rustc-serialize optional 2016-05-15 14:48:57 +02:00
Brendan Zabarauskas 54adacc2a8 Re-export Zero and One via structure module 2016-04-25 11:43:28 +10:00
Brendan Zabarauskas 4c2f301561 Add Vector1 and Point1 structs 2016-04-25 08:59:33 +10:00
Brendan Zabarauskas 8795b179d7 Add MetricSpace trait for calculating distances 2016-04-23 19:58:34 +10:00
Brendan Zabarauskas 86c13ca14f Switch to using num_traits crate from num
Fixes #336
2016-04-23 14:03:35 +10:00
Brendan Zabarauskas 8dd2874b59 Move traits into common module 2016-04-19 20:51:40 +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 3b55ad5f70 Move Vector::from_value function to Array trait 2016-04-04 20:45:37 +10: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 15b14c1e87 Rename vector identifier to point 2016-01-02 16:10:35 +11:00
Cameron Hart 3febc46d5a Added scalar arithmetic operators for Point types 2016-01-02 10:14:47 +11:00
Brendan Zabarauskas 429d2659fe Improve fmt::Debug impls 2015-12-29 21:50:43 +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 d468d76e0a Remove operator methods from Point trait 2015-12-13 12:00:34 +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 70dbef1eb1 Rename Array1 to Array 2015-11-14 22:02:17 +11:00
Brendan Zabarauskas 25ca567060 Move element-wise operations into Array1 trait 2015-11-14 12:17:03 +11:00
Brendan Zabarauskas 178272da3d Make lots of methods take vectors and points by value 2015-11-09 20:18:02 +11:00
Brendan Zabarauskas 7af4ebb28d Add some by-value operator overloads
Working towards #247
2015-11-08 17:45:33 +11:00
Brendan Zabarauskas 490997c93f Add an alias to Vector::Scalar in Point 2015-11-03 15:50:07 +11:00
Brendan Zabarauskas 89e656b1f6 Add comments noting rust bugs 2015-11-03 15:40:52 +11:00
Brendan Zabarauskas 669e43ab59 Make scalar type parametrs out of transform and rotation traits 2015-11-03 15:23:22 +11:00
Brendan Zabarauskas 25aea84e0d Make scalar an an associated type on Vector 2015-11-03 14:30:59 +11:00
Brendan Zabarauskas a434f18ba4 Make array type parameters associated types 2015-11-03 14:15:11 +11:00
Brendan Zabarauskas 0584bcac64 Make epsilon an associated type on ApproxEq 2015-11-03 14:00:39 +11:00
Brendan Zabarauskas 78f86a33cd Make vectors an associated type on Point 2015-11-03 11:32:15 +11:00
Brendan Zabarauskas 943a92e691 Remove collision types and traits from the library
Closes #244
2015-11-01 13:42:58 +11:00
Brendan Zabarauskas 8b6fb94685 Implement binary operators for points
We can't yet remove the operator methods, due to rust-lang/rust#20671
2015-09-30 18:23:01 +10:00
Brendan Zabarauskas be5c6fb55b Compress point formatting 2015-09-30 18:09:40 +10:00
Brendan Zabarauskas 5023b6c01e Consistently use associated functions throughout codebase 2015-09-30 09:32:25 +10:00
Brendan Zabarauskas 4be95bcb7d Remove {Array1, Array2}::map method
This doesn't seem to be used anywhere - not sure how useful it is. It isn't really a proper `map` anyway, because it mutates `self`.
2015-09-29 09:47:57 +10:00
Brendan Zabarauskas 7f73c2cdd9 Add conversion tests for vectors, points, and quaternions 2015-09-27 17:20:02 +10:00
Brendan Zabarauskas 69caaf48b6 Add index tests 2015-09-27 13:01:14 +10:00
Brendan Zabarauskas aff340dc1e Add range index operators 2015-09-21 07:56:03 +10:00
Brendan Zabarauskas 0ce28fbe10 Remove FixedArray trait in favour of std::convert
Fixes #225
2015-09-21 06:49:33 +10:00
Dzmitry Malyshau 8db429acae Using rust-lang/num 2015-04-04 21:19:11 -04:00
Dzmitry Malyshau 05c4147cec Fixed Index implementations 2015-03-25 21:58:33 -04:00
Jonathan Neuschäfer 4c527f8334 s/AUTHORS file/Cargo.toml file/ 2015-03-18 17:51:03 +01:00
Dzmitry Malyshau 6691dce420 Added Bound::relate_clip_space with default implementation 2015-03-15 22:37:11 +03:00
Dzmitry Malyshau d3d7241c86 Moved bound implementations into the corresponding modules 2015-03-15 22:36:03 +03:00
Ben Foppa 562dfeb7a6 Add #[must_use] on functions with in-place variants. 2015-02-22 16:33:16 -05:00
Ben Foppa 1d9fc87f60 Points derive Eq. 2015-02-21 14:50:00 -05:00