Brendan Zabarauskas
68e03cd392
Remove Array::{map, bimap} functions
2013-09-14 11:53:12 +10:00
Brendan Zabarauskas
ce5b2e9243
Add some method impls for the Matrix trait
2013-09-14 11:39:51 +10:00
Brendan Zabarauskas
928e3323c1
Update .gitignore
2013-09-14 10:55:43 +10:00
Brendan Zabarauskas
00db4f17b4
Impl comp_add and comp_mul using Array::zip
2013-09-14 10:54:19 +10:00
Brendan Zabarauskas
28dd7963ba
Add trait for defining intersections
2013-09-10 14:51:14 +10:00
Brendan Zabarauskas
6e3860f232
Remove util::half
2013-09-10 14:49:53 +10:00
Brendan Zabarauskas
f95426173a
Rename Plane3->Plane
2013-09-08 00:43:32 +10:00
Brendan Zabarauskas
df9c66d1bb
Use macro instead of loop for Array::build
2013-09-07 19:51:01 +10:00
Brendan Zabarauskas
c84ca595b7
Add Vec{2, 3, 4}::unit_{x, y, z, w} functions
2013-09-07 15:08:59 +10:00
Brendan Zabarauskas
038b200338
Implement matrix to matrix conversions
2013-09-07 15:04:33 +10:00
Brendan Zabarauskas
15b69686b0
Further refine vector module, remove un-needed comment
2013-09-06 16:53:37 +10:00
Brendan Zabarauskas
56e718406a
Add length tests
2013-09-06 16:39:34 +10:00
Brendan Zabarauskas
3e97a2446b
Use macro to impl vector operations
2013-09-06 16:39:15 +10:00
Brendan Zabarauskas
408e86211c
Begin work on testsuite
2013-09-06 15:44:58 +10:00
Brendan Zabarauskas
0d3d40637f
Add comp_{min, max} and cross_self methods for vectors
2013-09-06 15:44:27 +10:00
Brendan Zabarauskas
4eff10a90e
Shove the util functions unceremoniously into a separate file and hope nobody looks in there
2013-09-06 10:12:29 +10:00
Brendan Zabarauskas
28faaa2ccc
Add collision types
2013-09-05 17:19:31 +10:00
Brendan Zabarauskas
aef1d153a1
Simplify projection code
2013-09-05 16:44:27 +10:00
Brendan Zabarauskas
6534855673
Add rotation module
2013-09-05 16:43:52 +10:00
Brendan Zabarauskas
6d16999d29
The trigonometric functions don't have to be methods!
2013-09-04 15:52:44 +10:00
Brendan Zabarauskas
bb17d95abe
Clean up Mat3 to Quat conversion code
2013-09-04 15:42:12 +10:00
Brendan Zabarauskas
6117fef58b
Use angle types in appropriate locations
2013-09-04 15:36:06 +10:00
Brendan Zabarauskas
9c65b38231
Add matrix algebra operations
2013-09-04 14:40:24 +10:00
Brendan Zabarauskas
bf1dd601d7
Add projection types
2013-09-04 14:39:21 +10:00
Brendan Zabarauskas
37826e56bc
Add angle unit types
2013-09-04 12:20:53 +10:00
Brendan Zabarauskas
2b8e36d4a3
Impl ApproxEq for vectors, matrices and points
2013-09-03 23:36:03 +10:00
Brendan Zabarauskas
b84e154898
Impl One for vectors and matricies
2013-09-03 23:35:06 +10:00
Brendan Zabarauskas
7635d01276
Add normalize_self, normalize_self_to and lerp_self methods
2013-09-03 22:12:54 +10:00
Brendan Zabarauskas
11022618b3
Add ray types
2013-09-03 20:15:22 +10:00
Brendan Zabarauskas
bd9f129b3a
Add Mat2::from_angle constructor
2013-09-03 18:03:18 +10:00
Brendan Zabarauskas
0325af9a69
Add ToStr impls for point, vector and quaternion types
2013-09-03 17:33:33 +10:00
Brendan Zabarauskas
00991e00f3
Copy quaternion method impls over from src-old, and add conversion traits
2013-09-03 17:28:43 +10:00
Brendan Zabarauskas
ca432e9728
Use Float
for trait bounds instead of Real + ApproxEq<S>
2013-09-03 17:14:27 +10:00
Brendan Zabarauskas
a89a5d70e8
Documentation work
2013-09-03 16:37:06 +10:00
Brendan Zabarauskas
8c173c8e51
Impl Neg operator trait for vectors and matricies
2013-09-03 15:43:27 +10:00
Brendan Zabarauskas
6e548843c1
Add projection module
2013-09-03 15:23:56 +10:00
Brendan Zabarauskas
19aaf5c916
Update README with more information
2013-09-03 15:13:10 +10:00
Brendan Zabarauskas
68bd70f78f
Remove algebraic traits to simplify library
...
Pragmatically, according to advice from zeuxcg, I have decided to remove the algebraic traits. This has simplified the library a great deal by reducing indirection and removing redundant code.cx
2013-09-03 13:54:03 +10:00
Brendan Zabarauskas
c404092879
Use iterators instead of Array::{map_mut, bimap_mut, fold}
2013-09-02 18:32:25 +10:00
Brendan Zabarauskas
00bd313b87
Use iterators in inner product impl
2013-09-02 14:01:16 +10:00
Brendan Zabarauskas
ac0732409e
Add ident and zero to matrices
2013-09-02 11:49:05 +10:00
Brendan Zabarauskas
e8d1dc98ad
Implement matrix inversion
2013-08-28 13:56:48 +10:00
Brendan Zabarauskas
2976de3ff4
'Array' is a better mathematical name for Indexable
2013-08-28 12:03:43 +10:00
Brendan Zabarauskas
ba8c6ac7d0
Make macro syntax clearer
2013-08-28 11:05:44 +10:00
Brendan Zabarauskas
a49578fe83
Use macros for Point impls
2013-08-28 10:19:47 +10:00
Brendan Zabarauskas
6ec0d47ecf
Use default method impl for swap_r
2013-08-27 21:24:13 +10:00
Brendan Zabarauskas
75988e45d2
Update directory structure to rustpkg conventions
2013-08-27 21:13:29 +10:00
Brendan Zabarauskas
026a5e89b5
Condense vector impls further using macros
2013-08-27 16:52:33 +10:00
Brendan Zabarauskas
9064b9d5c0
Add some matrix impls, add operator macros
2013-08-27 16:11:05 +10:00
Brendan Zabarauskas
b67b31b633
Add matrix traits, do lots of reorganisation/re-formatting
2013-08-27 08:59:18 +10:00