Commit graph

682 commits

Author SHA1 Message Date
Brendan Zabarauskas
172c60277f Flesh out Rotation{2, 3} traits, and impl for some types 2013-09-17 14:38:25 +10:00
Brendan Zabarauskas
03a5e94a60 Add more vector tests 2013-09-16 16:39:45 +10:00
Brendan Zabarauskas
44567f6103 Add Array::each_mut method and use it instead of iterators 2013-09-14 13:40:38 +10:00
Brendan Zabarauskas
59a46bc7ab Rename Array::zip to Array::fold
(woops!)
2013-09-14 12:06:02 +10:00
Brendan Zabarauskas
1a94e8d06e Add wrapper function for Array::build 2013-09-14 11:58:19 +10:00
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