Commit graph

1476 commits

Author SHA1 Message Date
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
Brendan Zabarauskas
caadaa669a Fix copyright notices 2013-08-26 15:51:19 +10:00