Commit graph

752 commits

Author SHA1 Message Date
Brendan Zabarauskas 8e5500d581 Switch to cargo 2014-08-11 16:15:14 +10:00
Vyacheslav Zeronov 535b5aa01f Added Matrix3::from_diagonal
Useful for creation of scale matrices.
2014-08-08 13:46:25 +06:00
Aaron Jacobs bfc8efff80 Fixes Matrix2::from_angle invocation and adds a test for the feature.
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-08-05 22:28:03 -07:00
Corey Richardson e9a1723ef4 Merge pull request #106 from atheriel/vecdocs
Add a tutorial of sorts for working with cgmath's vectors.
2014-08-03 04:29:49 -07:00
Brendan Zabarauskas 1e1f60379e Deprecate element and column accessors in favour of index operators
Also removes some unnecessary `clone` calls.
2014-07-30 04:06:31 +10:00
Aaron Jacobs 5c25683cfb Adds a tutorial of sorts for working with cgmath's vectors.
There are several runnable code examples that should compile when
using `make doctest`.

Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-28 23:05:15 -07:00
Aaron Jacobs fddb3a7903 Implements the (mutable) index operator for vectors.
Again, this is possibly an oversight. The operators simply use the
mut_i() and i() methods which are demanded by the Array1<S> trait.

This means you may access the field `x` on a VectorN with vector[0]
syntax.

Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-28 22:37:49 -07:00
Aaron Jacobs 7e81b258a9 Implements division and remainder operators for vectors.
This might have been an oversight at one point. Although the `rem_v`
and `div_v` methods are available for vectors, the actual operators
were not.

Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-28 22:21:58 -07:00
OGINO Masanori e5f6d827da Remove crate_id.
Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2014-07-29 11:16:15 +09:00
Brendan Zabarauskas 7ca114d5aa Merge pull request #103 from atheriel/rot_ex
Add a rotation example to the documentation.
2014-07-28 09:06:05 +10:00
Aaron Jacobs 993efcc7a8 Add a good rotation example to Basis2.
This ads an example (the first?) on a useful feature of cgmath, and
also a Make target for running just the examples in the docs. This
may come in useful if more examples are added.

Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-23 20:25:42 -07:00
Ben Foppa 784b9d8fa1 Fix inverted asserts 2014-07-18 11:55:53 -04:00
Brendan Zabarauskas 61a6810324 Merge pull request #96 from atheriel/vecmap
Add a map() method for vectors.
2014-07-05 19:24:12 -07:00
Aaron Jacobs d58fac1117 Use pointers for the column map.
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-04 17:37:24 -07:00
HeroesGrave 047dbefd6f remove lifetime notations causing errors 2014-07-05 12:15:10 +12:00
Aaron Jacobs b0f706a96e Adds map() to Array1, and provides implementations for Vectors,
Points, Matrices, and Quaternions.

Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-02 21:34:26 -07:00
Colin Sherratt 1cf9f8d4ef - added translate to Matrix
- fixed spaces and tabs
2014-06-28 16:53:05 -04:00
Erick Tryzelaar 1c5b6f0b7a Update to compile with rust (9f8149e) 2014-06-25 21:26:15 -07:00
Corey Richardson 82529eec25 Update transform test to use Decomposed instead of Transform3D 2014-06-24 00:25:57 -07:00
Corey Richardson c9bdf838a5 Update for Cargo 2014-06-23 23:49:29 -07:00
Brendan Zabarauskas 1382c2ea4b Merge pull request #89 from bjz/transform
Remove Transform3D type
2014-06-15 11:19:15 -07:00
Brendan Zabarauskas f7364ce42a Clean up formatting 2014-06-15 11:18:31 -07:00
Brendan Zabarauskas b8996e124d Remove Transform3D type
Closes #86
2014-06-15 11:18:17 -07:00
Brendan Zabarauskas 1f9430399e Fix transmute build failure
Closes #87
2014-06-15 10:57:09 -07:00
Colin Sherratt b7a3a31156 Fix inverse matrix4, base it on Cramer's rule. 2014-06-05 15:53:23 -04:00
Colin Sherratt 25d67c7ec7 Added matrix that inverted incorrectly as part of #83. 2014-06-05 15:53:23 -04:00
ozkriff a850e37424 Updated to latest Rust: PartialEq, PartialOrd 2014-06-02 12:18:05 +04:00
ozkriff 63e53b1592 Removed 'extern crate debug', added fmt::Show for Angle 2014-05-28 21:53:45 +04:00
ozkriff 03005604b4 Updated to latest Rust: Added 'extern crate debug;' 2014-05-28 21:27:34 +04:00
ozkriff 1805c5b35a Made 'array' module public 2014-05-28 21:20:23 +04:00
Brendan Zabarauskas 3559ab2e35 Simplify type signatures and make function implementations more strait-forward
This results in more code duplication, but the resulting type signatures are much simpler and the implementations are far easier to understand. It should be easier for llvm to optimise things too, seeing as closures are not used.
2014-05-27 19:39:14 -07:00
Brendan Zabarauskas 5716dce205 Add matrix operator tests 2014-05-26 11:26:27 -07:00
Brendan Zabarauskas efe8cd9960 Fix matrix operator overloads
Closes #70
2014-05-26 11:26:26 -07:00
Brendan Zabarauskas d4ce9c7613 Clean up numeric traits 2014-05-26 10:31:55 -07:00
Corey Richardson ad970b94ec Expand crate documentation 2014-05-25 14:35:51 -07:00
Corey Richardson 322a5d0c38 AABB docs 2014-05-25 13:52:01 -07:00
Corey Richardson bf2cdfade3 Document Transform 2014-05-25 04:17:26 -07:00
Corey Richardson 27488b0dbc Touch up docs for Rotation 2014-05-25 04:10:44 -07:00
Corey Richardson 7416e5ce14 Touch up Ray docs 2014-05-25 03:17:57 -07:00
Corey Richardson 9828870380 Document Point 2014-05-25 03:09:33 -07:00
Corey Richardson c9573ad511 Touch up the Plane docs 2014-05-25 03:04:44 -07:00
Corey Richardson 8fa0f67333 Add some docs for Angle 2014-05-25 03:00:52 -07:00
Corey Richardson d6c0d1d65d Minor doc cleanup for Vector 2014-05-25 02:43:51 -07:00
Corey Richardson ed9e5d0929 Cleanup Quaternion docs 2014-05-25 01:29:19 -07:00
Corey Richardson fd2138bd88 Document Matrix
And remove `is_rotated`
2014-05-25 01:01:02 -07:00
Corey Richardson 5b1d1a0f01 Document Array 2014-05-24 18:22:23 -07:00
ozkriff f6a27cddba Updated for latest Rust 2014-05-17 00:11:27 +04:00
Brandon Waskiewicz 8ff2598dd9 Add line segment shape and functions
Create a new line segment struct that contains two Points in either
2D or 3D space.

Also create an implementation of the Intersect trait for testing
whether two line segments intersect, and where.
2014-05-13 21:39:38 -04:00
Luqman Aden d85dba915f Update crate attribute. 2014-05-12 21:09:16 -04:00
Luqman Aden 2a1ae1348c std::cast -> std::mem 2014-05-12 21:04:01 -04:00