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
Rich Lane
f3e680fc34
derive IterBytes for vectors, points, and angles
...
It's useful to be able to have types like `Vec3<i32>` as hashtable keys.
2014-01-26 22:19:40 -08:00
Lennart
e9fcf971da
Fix comments on Quat::from_angle_{x|y|z} functions
2014-01-26 22:12:56 -08:00
Lennart
ba71cb4a37
Fix quat::Quat::from_angle_{x|y|z}
...
These functions were broken due to mistakenly using the full angle theta
in one place instead of theta / 2. This resulted in non-unit
quaternions that definitely did not rotate things correctly.
2014-01-26 22:11:58 -08:00
Dzmitry Malyshau
1789f26ea1
look_at() implemented as a part of Transform trait
2014-01-25 17:26:06 -05:00
Brendan Zabarauskas
6b33f5d7e5
Remove unnecessary parentheses
2014-01-26 05:02:30 +11:00
Brendan Zabarauskas
337061bd82
Call rustc directly in .travis.yml
2014-01-26 05:02:19 +11:00
Brendan Zabarauskas
c2054e4993
Reduce code duplication
...
We can now have multiple definitions in macros!
2014-01-24 03:13:53 +11:00
Brendan Zabarauskas
ac991aaec0
Impl appropriate operators for implementors of Zero and One
2014-01-24 03:00:24 +11:00
Colin Sherratt
e3183110ad
Fix renamed structures:
...
VecIterator -> Items
MutVecIterator -> MutItems
2014-01-19 21:04:48 -05:00
kvark
522d20ffe5
Fixed tests that used assert_approx_eq
2014-01-08 20:06:02 -05:00
kvark
2fdf34cd18
New ApproxEq replaced the one in std
2014-01-08 19:26:50 -05:00
Corey Richardson
2992fd5f51
pkgid and make dead code public
2013-12-17 20:44:28 -05:00
Jarrett Billingsley
234634695d
Changed 'self lifetime to 'a
2013-12-12 00:26:01 -08:00
Boden Garman
3c9a6a531d
Fixed Mat4::look_at
2013-12-07 14:36:11 +11:00
Brendan Zabarauskas
8d4a06005c
Add Mat4::look_at
...
Hopefully I got this right...
2013-12-03 20:11:39 +10:00
Boden Garman
908d3c2800
Fix ortho asserts
2013-12-01 17:46:05 +11:00
Brendan Zabarauskas
b87aec64ac
Merge pull request #11 from csherratt/mat4_opt_only
...
Improved the performance of mat4 multiply.
2013-11-27 15:34:50 -08:00
Colin Sherratt
810445d536
update to compile on latest rustc
2013-11-27 13:26:57 -05:00
Colin Sherratt
149c781e81
Documented the mat4 multiply optimization.
2013-11-27 12:20:13 -05:00
Colin Sherratt
e4689ce22b
Improved the performance of mat4 multiply.
2013-11-26 12:29:07 -05:00
Colin Sherratt
c99ef02be1
Pad out the benchmarks to make the performance difference more pronounced.
...
This also speed the benchmarks up since the bench suite has trouble with
benchmarks that less then 100ns in length.
2013-11-26 03:14:48 -05:00
Colin Sherratt
bfd2729c29
cleaned up formatting in matrix.rs in both test and bench
2013-11-26 02:30:30 -05:00
Colin Sherratt
29104f2375
Add a benchmarking suite for matrix.
2013-11-26 00:39:39 -05:00
Brendan Zabarauskas
9f39bf67b2
Formatting cleanups
2013-11-09 12:15:51 +11:00
Brendan Zabarauskas
c916b65c6f
Merge pull request #8 from kvark/master
...
Transform::concat implemented
2013-11-08 06:34:51 -08:00
jeff
fd7003dc98
cleaning up from upstream merge
2013-11-06 18:43:56 -08:00
jeff
a53f9913a8
ray-plane and ray-sphere intersection
2013-11-06 18:29:08 -08:00
Brendan Zabarauskas
9e053f22f8
Merge branch 'master' of https://github.com/kvark/cgmath-rs into kvark-master
...
Conflicts:
src/tests/plane.rs
src/tests/vector.rs
2013-11-03 14:59:28 +11:00
Jeff Belgum
7a709525d5
change float to f64
2013-11-02 10:20:35 -07:00
kvark
42e3801715
Implemented missing rotation functions (rotate_point, rotate_ray)
2013-11-02 11:16:18 -04:00
kvark
c13ebf57ab
Added transform_as_point
2013-11-02 10:18:37 -04:00
kvark
efd3403bf2
ToStr implemented for transform::Decomposed
2013-11-02 09:51:20 -04:00
kvark
7f39520aa1
Transform::concat implemented
2013-11-02 09:11:13 -04:00
kvark
364d959784
Fixed tests to compile; added Point homogeneous transform & test; added Transform inversion & test; Implemented Transform for AffineMatrix3
2013-11-01 19:42:09 -04:00
kvark
04b257e217
Homogeneous transformations added for Point3; extend/truncate added for vectors; Transform3 is implemented for AffineMatrix3
2013-11-01 10:32:29 -04:00