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
Darkspear7
7ae16b3423
Removed constraints on ortographic projection function to allow bigger values for left, bottom, near than right, top, far.
2014-11-03 15:50:27 +02:00
Tomaka17
4fcfde13de
fail! -> panic!
2014-10-30 10:11:33 +01:00
Eduard Bopp
666bb56670
Assertion macros for approximate equality
...
For sake of readability and consistency with the standard library macros
assert! and assert_eq!, the macros assert_approx_eq! and assert_approx_eq_eps!
have been implemented based on the ApproxEq trait.
Upon failure these macros yield readable error messages including the input
values and the tolerance (epsilon) used to determine their approximate
equality.
Resolves #131 .
2014-10-23 10:22:34 +02:00
Colin Sherratt
0f0b960211
Added to_euler which allows moving from to and from euler coordinates.
...
I did not have much luck getting the old from_eular logic work the way I
expected so I updated the implementation to match my sources.
I believe this changed the order of the axis, I am unsure of what they were
before.
2014-10-13 21:05:49 -04:00
Colin Sherratt
aae8747595
Fix ortho projection matrix
2014-10-04 20:12:09 -04:00
Tomaka17
1b5da61ccb
Update for rustc 0e784e168 2014-09-16 23:26:11 +0000
2014-09-18 16:19:26 +02:00
HeroesGrave
896735a2b0
updated to latest Rust
2014-08-30 12:00:34 +12:00
Jeanne-Kamikaze
6f0573c79a
Added 'from_point_normal'
2014-08-26 17:08:24 +02:00
bachm
825f5f2975
deriving Encodable, Decodable for all structs
2014-08-23 14:34:33 +02:00
Erik Hedvall
cd5cdeacbf
Removed duplicate Aabb3 re-export
2014-08-18 15:05:25 +02:00
Brendan Zabarauskas
379dc499ec
Publicly re-export everything from the root crate
...
Closes #100
2014-08-16 14:53:54 +10:00
Brandon Waskiewicz
4f17d73f23
Add Ray2<>Aabb2 intersection impl
2014-08-13 20:51:51 -04:00
Brandon Waskiewicz
814b845de7
Update line intersection
...
*Change line<>line intersection to be ray<>line.
*Update tests accordingly
*Clean up and simplify intersection logic
2014-08-13 20:51:44 -04:00
Brendan Zabarauskas
3ff1eb583f
Add fixed-length array conversions
...
Closes #111
`FixedArray::from_fixed` cannot yet be implemented due to rust-lang/rust#16418
2014-08-11 21:10:38 +10:00
Brendan Zabarauskas
f93963919a
Transition codebase to the new method names
2014-08-11 18:55:14 +10:00
Brendan Zabarauskas
325ebad75e
Use more self-explanatory names for indexing methods
2014-08-11 17:02:25 +10:00
Brendan Zabarauskas
8999d88216
Remove deprecated functions from array traits
2014-08-11 16:54:39 +10:00
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
Corey Richardson
9d618c37b3
Merge pull request #63 from xales/add-totaleq
...
Add deriving TotalEq for Vector.
2014-04-25 06:11:15 -04:00
Jake Greenfield
4a9999b11d
Add deriving TotalEq for Vector.
2014-04-25 05:54:00 -04:00
ozkriff
8f018bfe0d
Updated to latest Rust
2014-04-24 22:25:26 +04:00
Brendan Zabarauskas
a1f23da32b
Update bench to latest Rust
2014-04-14 12:16:25 +10:00
Brendan Zabarauskas
7c11ec250a
Update formatting
2014-04-14 12:00:48 +10:00