Commit graph

919 commits

Author SHA1 Message Date
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
Colin Sherratt c7270a9077 Update to latest rustc 2015-01-07 15:34:42 -07:00
Colin Sherratt d6bb64fd65 Update for associated types changes 2015-01-04 18:56:01 -07:00
Connorcpu 22c2fe4755 Updated to rust nightly 2015-01-03 13:29:26 -08:00
Colin Sherratt 4bb12d6859 Switch to rustc_serialize 2014-12-26 16:18:29 -05:00
Jakob Fries 968adcd2cb Update to match latest Neg trait. 2014-12-21 18:28:59 +01:00
Connorcpu 43cfdd94ec Fixed macros with missing semicolons 2014-12-19 09:48:59 -08:00
Colin Sherratt b0187ddeaa Update to match the latest std::ops::* traits 2014-12-17 02:16:13 -05:00
Pierre Krieger 888dd6b18e Update for rustc 2014-12-15 13:49:57 +01:00
Jameson Ernst 5726e6c7dc Add deriving Copy to all structs that would previously be inferred to be Copy
Remove use of deprecated Equiv trait
Remove unsed attributes
2014-12-12 17:06:52 -08:00
Jameson Ernst 12ec7318d0 Remove deprecated Float use from tests. 2014-11-24 20:24:04 -08:00
Jameson Ernst 08f9354efc Fix ambiguous trait call; Remove deprecated Float calls. 2014-11-24 20:04:34 -08:00
Colin Sherratt 876e23b8cd export PartialOrd 2014-11-21 02:26:59 -05:00
Corey Richardson bcc4f11150 Merge pull request #142 from aepsil0n/vector_cast
Type-cast a vector component-wise
2014-11-20 10:46:30 -05:00
Eduard Bopp 4d2fb64482 Type-cast a vector component-wise
This allows one to e.g. cast a vector of f64s to an equivalent vector of f32s.
More generally this is allowed for arbitrary NumCast types.
2014-11-20 16:41:27 +01:00
Eduard Bopp 9f8580eeca Replace deprecated std::num traits
These traits are akin to the deprecated standard library traits (Zero, One,
Primitive) to keep everything running as before. However, for the long term a
better algebraic abstraction should be used/provided.
2014-11-20 16:28:02 +01:00
Martti Rannanjärvi 3ecf2eb5dd update to compile on nightly 2014-11-20 17:15:07 +02:00
Brendan Zabarauskas 1371f75165 Update for rustc 0.13.0-nightly
There are still some deprecation errors in the doc tests left
2014-11-16 01:59:43 +11:00
Sébastien Crozet 0bbefed4bc Improve the benchmark suite.
As a side effect, this adds `Rand` deriving to the benchmarked strucures.
2014-11-07 16:23:10 +01:00