Commit graph

937 commits

Author SHA1 Message Date
Brendan Zabarauskas 1a291c720c Simplify impl bounds
All the useful functions are implemented for BaseFloat, so it seems reasonable to not require such fine-grained impls. This should also make the generated documentation easier to read.
2015-12-06 19:53:23 +11:00
Brendan Zabarauskas 4f0aabb164 Clarify comments about the kind of matrices that are returned by the constructors 2015-12-06 19:53:23 +11:00
Brendan Zabarauskas 2d6b4e785c Add Matrix4::{from_scale, from_uniform_scale} functions 2015-12-06 19:53:23 +11:00
Brendan Zabarauskas 2dc0a4a43f Rename SquareMatrix::one to identity
Fixes #260
2015-12-06 19:36:38 +11:00
Brendan Zabarauskas 5b2b10d65f Rename Array::swap_elems to Array::swap_elements 2015-11-14 22:05:44 +11:00
Brendan Zabarauskas dcb0afd57b Remove Array::replace_elem
Doesn't seem very useful...
2015-11-14 22:04:04 +11:00
Brendan Zabarauskas 70dbef1eb1 Rename Array1 to Array 2015-11-14 22:02:17 +11:00
Brendan Zabarauskas ab24f3f8fe Make Matrix trait work for matrices of arbritrary dimensions 2015-11-14 22:02:17 +11:00
Brendan Zabarauskas ac2bba01cf Make pointer access function names match those in std 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 cda76e3bbb Remove type parameters from Matrix trait 2015-11-03 15:32:17 +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 9e53629459 Clean up index operator usages 2015-10-04 12:58:53 +11:00
Colin Sherratt c4e8d8ae69 Merge pull request #239 from bjz/method-renames
Method renames
2015-10-02 22:41:03 -04:00
Brendan Zabarauskas fc2943e27b Rename $Self_ in macros 2015-10-02 14:54:33 +10:00
Brendan Zabarauskas b168c03174 Rename identity to one
Zero is the additive identity, so this disambiguates it
2015-10-01 18:56:31 +10:00
Brendan Zabarauskas af38e8a8be Rename comp_{add, mul} to {sum, product} 2015-10-01 18:52:55 +10:00
Brendan Zabarauskas d9675f7c7e Formatting 2015-09-30 20:47:38 +10:00
Brendan Zabarauskas e845fd9b8c Reduce scope of dot_matrix4! macro 2015-09-30 20:06:17 +10:00
Brendan Zabarauskas 902215b532 Implement binary operators for matrices
We can't yet remove the operator methods, due to rust-lang/rust#20671
2015-09-30 19:01:30 +10: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 b7b1f6c9cb Implement binary operators for quaternions 2015-09-30 18:05:20 +10:00
Brendan Zabarauskas e3e06297a0 Implement by-ref operators for vectors, and remove by-value implementations
We can't yet remove the operator methods, due to rust-lang/rust#20671

This also removes the implementations of `Zero` and `One` for vectors.
2015-09-30 17:37:52 +10:00
Brendan Zabarauskas 7a3f4f9e2d Fix formatting 2015-09-30 09:33:44 +10:00
Brendan Zabarauskas 5023b6c01e Consistently use associated functions throughout codebase 2015-09-30 09:32:25 +10:00
Brendan Zabarauskas 494f2b65ad Fix Quaternion::mul_self_q
Fixes #224

I haven't really thought about whether there is a faster way to do this, but at least it is fixed.
2015-09-29 18:36:41 +10:00
Colin Sherratt 5dd8bc7ef3 Merge pull request #233 from bjz/remove-map-method
Remove {Array1, Array2}::map method
2015-09-29 02:22:51 -04: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 3ea0b3c5b2 Move some methods onto the Matrix trait
Now we can call them like `Matrix4::identity()`! Yay!
2015-09-29 09:34:41 +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
Tim Neumann 0469935161 fix rfc 1214 fallout 2015-09-12 13:07:22 +02:00
Pierre Krieger 9cd7f71875 Make functions in angle.rs more generic 2015-05-08 16:40:22 +02:00
Pierre Krieger 1a6dc52e51 Remove ToQuaternion 2015-05-06 16:27:03 +02:00
Pierre Krieger 6ce250b10d Remove ToBasis2/ToBasis3 in favor of Into 2015-05-06 16:27:03 +02:00
Pierre Krieger 151c6c6e64 Replace as_matrix* by impl AsRef<Matrix 2015-05-06 16:27:02 +02:00
Pierre Krieger 8ab8d7551d Replace ToMatrix* by Into 2015-05-06 16:27:02 +02:00
Pierre Krieger e5822e3864 Replace ToDeg/ToRad by From/Into 2015-05-06 16:27:02 +02:00
Pierre Krieger 8a34332f5f Rustup 2015-05-06 15:57:15 +02:00
Ryan Stewart a058142a2c Get cgmath building in beta by removing remaining unstable feature use. Benching is unstable and therefore only available on nightly; removed from travis in the interim. 2015-05-06 15:57:15 +02:00
Dzmitry Malyshau 16302ffa20 Fixed the num crate 2015-04-24 23:28:31 -04:00
Pierre Krieger d560242ed4 Allow writing matrix * scalar 2015-04-19 15:45:13 +02:00
Dzmitry Malyshau 498df01729 Fixed all the warnings, compile issues, and tests 2015-04-04 22:31:18 -04:00
Dzmitry Malyshau b56ad542b3 Fixed NumCast and angles 2015-04-04 21:32:12 -04:00
Dzmitry Malyshau 8db429acae Using rust-lang/num 2015-04-04 21:19:11 -04:00
Dzmitry Malyshau 94d428d23e Fixed the Neg disaster 2015-04-04 20:15:00 -04:00
Colin Sherratt 4d1e21d609 Use PhantomData for Line 2015-03-29 17:39:47 -04:00
Colin Sherratt f6b86fe4bd Add PhantomData to ray 2015-03-29 17:35:47 -04:00
Dzmitry Malyshau b36039a6ee Fixed the tests 2015-03-25 22:14:17 -04:00
Dzmitry Malyshau 05c4147cec Fixed Index implementations 2015-03-25 21:58:33 -04:00
Jonathan Neuschäfer 7b9a9aac69 compile the doctest in rotation.rs; use ``` instead of ~~~ 2015-03-18 18:21:39 +01:00
Jonathan Neuschäfer bc8a47fb8d use if/else if/else instead of match ()
It looks more idiomatic.
2015-03-18 18:21:39 +01:00
Jonathan Neuschäfer f4ac3952bd Grammar/spelling fixes 2015-03-18 17:51:38 +01:00
Jonathan Neuschäfer 4c527f8334 s/AUTHORS file/Cargo.toml file/ 2015-03-18 17:51:03 +01:00
Jonathan Neuschäfer 556c5f2375 line.rs: destructure self with let, save indentation 2015-03-18 17:44:31 +01:00
Dzmitry Malyshau 1e4271c2a6 Exposed Ortho fields as public (last time it was Perspective) 2015-03-18 01:04:21 +03:00
Dzmitry Malyshau c20350336e Exposed Ortho fields as public 2015-03-18 00:59:43 +03:00
Dzmitry Malyshau e0d85820e3 Fixed the frustum/bound relation. 2015-03-15 23:21:07 +03:00
Dzmitry Malyshau 6691dce420 Added Bound::relate_clip_space with default implementation 2015-03-15 22:37:11 +03:00
Dzmitry Malyshau fa3aacafcf Improved Plane, fixed Frustum computation from Matrix4, implemented Frustum contains() tests. 2015-03-15 22:36:09 +03:00
Dzmitry Malyshau 896c357ea8 Implemented Aabb to_corners() 2015-03-15 22:36:06 +03:00
Dzmitry Malyshau d3d7241c86 Moved bound implementations into the corresponding modules 2015-03-15 22:36:03 +03:00
Dzmitry Malyshau 2722815d84 Implemented Bound for Sphere 2015-03-15 22:36:01 +03:00
Dzmitry Malyshau e71887a848 Renamed the main entry point to be lib.rs 2015-03-15 22:36:00 +03:00
Dzmitry Malyshau 95c3b3608f Added Bound module, implemented for Point3 and Aabb3 2015-03-15 22:35:56 +03:00
Colin Sherratt 64fedca8e9 Manually add rand trait 2015-03-14 22:54:02 -04:00
Pierre Krieger 8895654f92 Remove dependencies to rand and rand_macros
Conflicts:
	src/cgmath.rs
2015-03-14 22:07:15 -04:00
tomaka 5ec45d1699 Update for rustc 2015-03-08 16:30:01 +01:00
Dzmitry Malyshau f03d4427ee Redesigned ToComponents, removed the implementation for AffineMatrix3 as incorrect. 2015-03-01 23:40:43 -05:00
Colin Sherratt 74707ed8d2 fix closure syntax 2015-03-01 13:28:38 -05:00
Dzmitry Malyshau 45c6fd630d Cleaned up public exports. Implemented ToComponents for Matrix3. Added tests. 2015-03-01 01:29:47 -05:00
Dzmitry Malyshau bf257a3e49 Added ToComponents. Moved from_value into . 2015-03-01 01:05:22 -05: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
Ben Foppa a1d4ba19d0 Add a phantom type annotation on Transform. 2015-02-20 23:29:11 -05:00
Bo Bakker a7d6c82f42 Fix for rustc
It works, and passes all tests.
2015-02-15 15:39:21 +01:00
Hyeon Kim f4b6782885 Suppress warnings: feature(hash) 2015-02-12 01:02:09 +09:00
Hyeon Kim 6937947a4a Rust version up
Fixes compile error
2015-02-12 01:01:31 +09:00
Andrey Lesnikov dbd6acaeb7 Fixed android build: added [no_link] to rand_macros 2015-02-09 15:57:27 +03:00
Colin Sherratt 662c7d7f68 cleanup some warnings around features 2015-02-08 13:36:33 -05:00
Colin Sherratt 778a3c13aa use the new rand_macros crate 2015-02-08 13:25:42 -05:00
Colin Sherratt e712bdee7c fmt::Show to fmt::Debug 2015-02-08 13:19:32 -05:00
Hyeon Kim 23fbac94e7 Update rust
`Output` is not a member of trait `IndexMut` anymore.
2015-02-09 02:50:35 +09:00
Dzmitry Malyshau 6ecbf2dbfd Implemented short vector constructors 2015-02-06 23:03:00 -05:00
Ty Overby 72d4460d81 rename fmt::Show to fmt::Debug 2015-01-23 15:01:24 -08:00
Colin Sherratt e064ea0e59 int to isize 2015-01-09 16:28:33 -07:00
Colin Sherratt bc89f14250 Fix tests 2015-01-09 15:30:19 -07:00
Colin Sherratt c0ce271e39 Updated to latest rustc 2015-01-09 15:06:45 -07:00