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
Brendan Zabarauskas
64ae5fbd9a
{Vec, Mat, Quat}->{Vector, Matrix, Quaternion}
...
The full names provide consistency with the other types. Also, Vec is now a type declared in libstd - this will reduce confusion.
2014-04-14 12:00:48 +10:00
ozkriff
3ee67019dd
Updated to latest Rust: math changes
2014-04-02 13:24:04 +04:00
ozkriff
18fe0e74b5
Updated to latest Rust: priv/pub
2014-04-01 15:00:17 +04:00
ozkriff
01582f5649
Updated to latest Rust: std::vec -> std::slice
2014-03-21 14:18:04 +04:00
ozkriff
83943cd5b5
Replaced partial_{min,max} funcs with PartOrdPrim trait
2014-03-19 13:18:59 +04:00
ozkriff
1107ab8e6b
aabb.rs: _{min,max} -> partial_{min,max}
2014-03-17 23:11:04 +04:00
ozkriff
c026f520e1
Fixed warnings
2014-03-17 16:14:39 +04:00
ozkriff
385c3d7de8
Udated to latest Rust: TotalOrd/min/max changes
2014-03-17 15:13:54 +04:00
ozkriff
8868c793fe
Updated to latest Rust
2014-03-14 12:27:24 +04:00
ozkriff
77d9a537fd
Updated to latest Rust: Implemented Show for Mat{2,3,4}
2014-03-03 13:34:03 +04:00
ozkriff
eb40fbce2a
Updated to latest Rust: ToStr -> fmt::Show
2014-02-25 12:56:22 +04:00
ozkriff
e5ec803fa5
Updated to latest Rust
2014-02-24 10:33:31 +04:00
ozkriff
141c4a8684
Updated to latest Rust
2014-02-22 01:44:56 +04:00
Colin Sherratt
4bcb1a5406
changed extern mod to extern crate
2014-02-15 22:46:33 -05:00
Colin Sherratt
5872ef347e
Temporary workaround for the fact that std::num::Orderable is now removed.
2014-02-15 17:22:21 -05:00
Brendan Zabarauskas
11f8e29e17
Add Makefile and enable rust-ci doc export
2014-02-14 07:18:10 +11:00
Risto Saarelma
fb03e2a660
Arguments directly used to construct AABB passed by value
2014-02-12 08:56:39 +02:00
Risto Saarelma
a391d4450b
Don't use abbrevations for the Aabb field names
2014-02-09 10:28:58 +02:00
Risto Saarelma
57ff382cf1
to_str for Aabbs
2014-02-07 08:50:10 +02:00
Risto Saarelma
907165075c
Translate and scale methods for AABB
2014-02-07 08:48:46 +02:00
Risto Saarelma
ff9fc767d4
Translate method for AABBs
2014-02-07 08:48:46 +02:00
Risto Saarelma
6ac1f09750
Utility methods for AA boxes
2014-02-07 08:48:46 +02:00
Rich Lane
17b9f5c066
replace fmt::Default with fmt::Show
2014-02-02 20:51:43 -08:00
Brendan Zabarauskas
0c903a7ec5
Merge pull request #38 from rsaarelm/master
...
Axis-aligned boxes use top and bottom corners
2014-01-30 22:43:44 -08:00
Risto Saarelma
cdcae58c02
Axis-aligned boxes use top and bottom corners
...
Fixes issue #35 .
2014-01-30 21:43:36 +02:00
Dzmitry Malyshau
21f10ee0ec
Rotation2 and Rotation3 improved with from_* methods. Betwee_vecs implemented for all rotations.
2014-01-29 19:27:39 -05:00
Colin Sherratt
fb13dc4566
Implement to_mat4 for Transform3D and quaternion
...
Add a translate builder for Transform3D
2014-01-28 22:10:38 -05:00
Brendan Zabarauskas
7435ae16bf
Merge pull request #32 from rlane/iterbytes
...
derive IterBytes for all structs
2014-01-26 22:26:27 -08:00