Commit graph

639 commits

Author SHA1 Message Date
Brendan Zabarauskas efbe4b199b Simplify trait bounds 2013-09-17 18:50:42 +10:00
Brendan Zabarauskas eade6cc18f Implement inversions for AngleAxis rotations 2013-09-17 18:45:31 +10:00
Brendan Zabarauskas 7eb8bc50c9 Remove util module 2013-09-17 18:43:20 +10:00
Brendan Zabarauskas 8a184c39b4 Add equivalence test for angles 2013-09-17 17:02:45 +10:00
Brendan Zabarauskas 3449fe8a73 Add bisection method for angles 2013-09-17 16:40:29 +10:00
Brendan Zabarauskas 8df5b14477 Add some angle constants and normalisation methods 2013-09-17 15:28:27 +10:00
Brendan Zabarauskas 52e1f0819c Follow rustic naming conventions 2013-09-17 14:39:18 +10:00
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