Commit graph

456 commits

Author SHA1 Message Date
Brendan Zabarauskas 8818c9ffbf Create separate ToHomogeneous trait 2013-01-02 16:59:24 +10:00
Brendan Zabarauskas a16a41daad Change 'Approx' to 'Round' to reflect changes in numeric library 2012-12-31 12:29:47 +10:00
Brendan Zabarauskas d39963b048 Remove unnecessary module specification 2012-12-31 12:25:23 +10:00
Brendan Zabarauskas 1295f574b2 Add to_homogeneous conversion method 2012-12-31 12:24:14 +10:00
Brendan Zabarauskas 73548ab1cb Made usages of Number::one and Number::zero prettier 2012-12-30 15:26:01 +10:00
Brendan Zabarauskas a8da96eda4 Reduce the number of times normalize is called 2012-12-28 19:48:39 +10:00
Brendan Zabarauskas cc465910de Redefine identity and zero methods as wrappers for Matrix::identity and Matrix::zero 2012-12-28 18:55:43 +10:00
Brendan Zabarauskas aae354e3a6 Add component-wise vec/vec multiplication and division methods 2012-12-28 18:47:10 +10:00
Brendan Zabarauskas bd91c24de0 Complete method implementations 2012-12-28 17:12:24 +10:00
Brendan Zabarauskas 0b55dc2105 Add methods in the Mat3 and Quat anonymous impls in preparation for implementing Rotation
rot::Rotation won't be able to be implemented until https://github.com/mozilla/rust/issues/4306 is fixed.
2012-12-28 16:41:21 +10:00
Brendan Zabarauskas 5c9d882efe Remove Quaternion trait 2012-12-28 13:47:34 +10:00
Brendan Zabarauskas f4b6bf5572 Comment edits 2012-12-28 13:38:36 +10:00
Brendan Zabarauskas 6485ff070e Add Rotation trait
This will eventually be implemented on Mat3 and Quat
2012-12-28 13:37:18 +10:00
Brendan Zabarauskas 16e06c3855 Add is_zero method to Vector trait 2012-12-24 13:46:25 +10:00
Brendan Zabarauskas dd973d2e49 Remove deprecated moves 2012-12-21 14:08:43 +10:00
Brendan Zabarauskas 65e301d52d Use #[deriving_eq] instead of Eq 2012-12-20 15:18:23 +10:00
Erick Tryzelaar 0af1594db4 Fix paths for rust 0.5. 2012-12-19 19:53:41 -08:00
Brendan Zabarauskas f4a8e5b99f Add fuzzy_eq tests 2012-12-18 13:48:02 +10:00
Brendan Zabarauskas 7cf15d7f10 Minor formatting improvements in frustum function 2012-12-18 12:27:56 +10:00
Brendan Zabarauskas 896c7845e4 Fix license meta 2012-12-18 12:26:35 +10:00
Brendan Zabarauskas 02577eab7a Create vector-specific traits for common and exponential functions 2012-12-17 19:25:06 +10:00
Brendan Zabarauskas a95405fde7 Fix imports from numeric 2012-12-17 17:25:41 +10:00
Brendan Zabarauskas 04e7ab0dfb Use traits from numeric library in funs module 2012-12-17 16:09:56 +10:00
Brendan Zabarauskas 49c27ad4f1 Comments 2012-12-17 16:09:00 +10:00
Brendan Zabarauskas 85047f58b6 Divide RelationalVector into OrdinalVector and EquableVector 2012-12-17 15:35:03 +10:00
Brendan Zabarauskas 5eff2e4992 Move relational vector traits to vec modules 2012-12-16 15:19:38 +10:00
Brendan Zabarauskas ff336f0791 Switch to using numeric-rs for numeric type traits 2012-12-16 15:05:04 +10:00
Brendan Zabarauskas 00e2543b22 Fix imports 2012-12-16 09:57:42 +10:00
Brendan Zabarauskas cfc1107d00 Fix exports 2012-12-16 09:38:55 +10:00
Brendan Zabarauskas e939b5eb95 Long lines 2012-12-16 08:30:44 +10:00
Brendan Zabarauskas 645981efbf Add more rotation matrix constructors 2012-12-15 16:12:16 +10:00
Brendan Zabarauskas 563aa9495e Remove from_mat constructors
We already have the to_mat conversion methods, so these are redundant
2012-12-14 18:37:02 +10:00
Brendan Zabarauskas 9820436633 Remove random text
8^[
2012-12-14 16:31:07 +10:00
Brendan Zabarauskas b51e66b19a Remove ToQuat trait 2012-12-14 16:22:45 +10:00
Brendan Zabarauskas 6c4c2fc1c8 Add more Quaternion unit tests. 2012-12-14 16:05:18 +10:00
Brendan Zabarauskas 889736bd61 Add identity and zero static methods to Quat's impl 2012-12-14 16:04:46 +10:00
Brendan Zabarauskas 5ce765367a Split up vec and mat modules 2012-12-13 23:01:42 +10:00
Brendan Zabarauskas 3d31797d8d Add angle calculation method to vectors, improve vector unit tests 2012-12-13 22:01:55 +10:00
Brendan Zabarauskas 965bade82c add normalize_to and normalize_self_to methods 2012-12-13 19:21:50 +10:00
Brendan Zabarauskas 7f14c6784b Move color module to new git repository 2012-12-13 16:57:09 +10:00
Brendan Zabarauskas b429d91fcf Remove num::cast::cast function and num::cast::NumCast::from method 2012-12-13 11:10:53 +10:00
Brendan Zabarauskas bc9104fdb5 Implement FuzzyEq for Angle and Color types 2012-12-12 14:19:19 +10:00
Brendan Zabarauskas 3a3034b7b6 Fix typo 2012-12-12 13:25:01 +10:00
Brendan Zabarauskas a43c630ee9 Make from_float accept a generic Float argument 2012-12-12 13:24:38 +10:00
Brendan Zabarauskas 5aef15d9d7 Remove to_float method from Float trait
Conflicts with num::NumConv::to_float
2012-12-12 13:20:32 +10:00
Brendan Zabarauskas 1b24495c09 Remove Dimensional and ToPtr traits 2012-12-12 11:29:35 +10:00
Brendan Zabarauskas 3abc1df753 Rename kinds module to types 2012-12-12 09:55:42 +10:00
Brendan Zabarauskas 8e88baf06e Add methods to Signed and Float traits 2012-12-12 09:50:45 +10:00
Brendan Zabarauskas 1fbe5203e1 Remove comment and nested unsafe block 2012-12-10 11:47:36 +10:00
Brendan Zabarauskas c8f3f1919a Unmark Mat4 inverse method as unsafe 2012-12-10 10:48:02 +10:00
Brendan Zabarauskas e39f02ccf7 Fix to_int conflict 2012-12-10 10:40:32 +10:00
Brendan Zabarauskas b6049b28e2 Remove comma separated inheritance lists 2012-12-10 10:38:41 +10:00
Brendan Zabarauskas 1a55784c81 Merge branch 'master' of https://github.com/luqmana/lmath-rs 2012-12-10 10:32:29 +10:00
Brendan Zabarauskas 9d03050ed1 Add size_of and bits methods 2012-12-08 21:15:52 +10:00
Brendan Zabarauskas 4d48591e80 Documentation 2012-12-08 21:14:33 +10:00
Brendan Zabarauskas 6169ef0ee3 Use Float::pi() instead of f64::consts::pi 2012-12-08 21:12:37 +10:00
Brendan Zabarauskas 5d7b3cfba4 Remove cast method 2012-12-08 21:11:08 +10:00
Brendan Zabarauskas 2e0521f4e5 Remove Euler type 2012-12-08 21:10:42 +10:00
Brendan Zabarauskas 4bd14e4d50 Make slerp method implementation a little easier to understand 2012-12-08 12:59:37 +10:00
Brendan Zabarauskas b4fbb9c76a Remove Rotation struct and methods 2012-12-08 12:59:10 +10:00
Luqman Aden d74cdb0dfa 4x4 matrix inversion now uses the mutable self operators. 2012-12-07 19:09:03 -05:00
Luqman Aden fb59c90b88 More explicit self. 2012-12-07 19:00:50 -05:00
Brendan Zabarauskas 9669b7bccc Fix to_mat3 method 2012-12-07 14:16:28 +10:00
Brendan Zabarauskas 079199c275 Remove default_eq module 2012-12-07 02:19:48 +10:00
Brendan Zabarauskas 4a0cf79a85 Rix rotation to mat3 conversion 2012-12-06 11:11:08 +10:00
Brendan Zabarauskas c442cf148e Fix some silly mistakes 2012-12-05 20:03:39 +10:00
Brendan Zabarauskas bdb8605bd5 Remove convert_channel method 2012-12-05 20:03:04 +10:00
Brendan Zabarauskas 2efb96de16 Add todo, remove fixme 2012-12-05 18:10:51 +10:00
Brendan Zabarauskas bb4154199b More documentation updates 2012-12-05 18:09:53 +10:00
Brendan Zabarauskas c3512ecd57 Add methods for mutable colors 2012-12-05 15:42:01 +10:00
Brendan Zabarauskas 48f581f1f4 Document color conversions for the Color trait 2012-12-05 15:41:35 +10:00
Brendan Zabarauskas e2b134d51f Add mut matrix methods 2012-12-05 13:49:59 +10:00
Brendan Zabarauskas 8acc8f6943 Improve mathematical terminology 2012-12-05 12:10:05 +10:00
Brendan Zabarauskas b15c20c7fc Update documentation, add vector type parameter to quaternion 2012-12-05 11:51:18 +10:00
Brendan Zabarauskas 63f9cd38b7 Update documentation, rename quaternion length methods to magnitude
Although `magnitude` conflicts with the `length` in the vector implementations, it seems to be more in keeping with the correct mathematical terminology.
2012-12-05 11:38:30 +10:00
Brendan Zabarauskas b8521f289c Rename cast module to conv and NumCast trait to NumConv
These names will be more appropriate once the cast function has been completely phased out.
2012-12-05 10:33:27 +10:00
Brendan Zabarauskas e2857c6e7e Create and implement MutableGeometricVector trait 2012-12-05 08:21:40 +10:00
Brendan Zabarauskas ea17c63200 Add cross_self method 2012-12-05 01:34:41 +10:00
Brendan Zabarauskas 9012589f5f Create and implement MutableNumericVector trait 2012-12-04 23:32:34 +10:00
Brendan Zabarauskas 7e4a7e180b Fix to_ptr method impls 2012-12-04 21:43:10 +10:00
Brendan Zabarauskas a1fcfff9ed Move methods operating on &mut self to a separate trait 2012-12-04 21:42:32 +10:00
Brendan Zabarauskas 6c14df7fda Move methods operating on &mut self to a separate trait 2012-12-04 21:42:24 +10:00
Brendan Zabarauskas 0b9af30b38 Add swap methods 2012-12-04 17:58:03 +10:00
Brendan Zabarauskas 969e57591d Fix to_ptr method impls and use in the index methods where appropriate 2012-12-04 17:50:15 +10:00
Brendan Zabarauskas f9778adf17 Document future intentions regarding the cast function. 2012-12-04 14:56:06 +10:00
Brendan Zabarauskas 54953a8f01 Find more trouble spots where Number::from causes ICEs 2012-12-04 14:41:21 +10:00
Brendan Zabarauskas 2ba45477a5 Change the orientation of the matrix diagrams in the doc comments 2012-12-04 14:34:09 +10:00
Brendan Zabarauskas 660c423d46 Update trait names 2012-12-04 14:07:44 +10:00
Brendan Zabarauskas 07bed0a9c1 Add to_identity and to_zero methods 2012-12-04 12:51:38 +10:00
Brendan Zabarauskas c7571e4d50 Remove rhs module 2012-12-04 12:51:14 +10:00
Brendan Zabarauskas d9c3edbeee Add return value description to the doc comment of inverse 2012-12-04 11:56:10 +10:00
Brendan Zabarauskas 492fdc3b2b Formatting 2012-12-04 11:41:23 +10:00
Brendan Zabarauskas 60f17d846e Rename functions and inherit Number trait 2012-12-04 11:41:06 +10:00
Brendan Zabarauskas 91fd819b79 Add comments an rename some functions 2012-12-04 11:38:59 +10:00
Brendan Zabarauskas d4c7abab84 Add documentation comments to Number trait and impls 2012-12-04 11:38:33 +10:00
Brendan Zabarauskas 0c47707436 Comment out Number::from(0) to prevent internal compiler error 2012-12-04 11:25:25 +10:00
Brendan Zabarauskas 1125a94ec8 Add comments for matrix constructors and identity functions 2012-12-04 10:58:19 +10:00
Brendan Zabarauskas bc3e338c25 Improve documentation 2012-12-04 08:31:26 +10:00
Brendan Zabarauskas 9e23c06281 Remove number cast 2012-12-04 08:24:03 +10:00
Brendan Zabarauskas 53fc6d15ab Remove default eq implementations and use fuzzy_eq instead 2012-12-04 08:23:13 +10:00
Brendan Zabarauskas 4fcd71be8e Rename invert method to inverse 2012-12-04 08:12:22 +10:00
Brendan Zabarauskas b2de264caf Rename parameter from other to vec 2012-12-04 08:06:00 +10:00
Brendan Zabarauskas 9563455b47 Add documentation for Vector traits 2012-12-04 02:32:40 +10:00
Brendan Zabarauskas fdbc3ed139 Use explicit self 2012-12-03 16:37:19 +10:00
Brendan Zabarauskas f266d54654 Use Number::from instead of cast 2012-12-03 16:28:32 +10:00
Brendan Zabarauskas 248242dda5 Add and use Number::from static method 2012-12-03 16:19:53 +10:00
Brendan Zabarauskas ddc7559153 Remove zero and one methods from NumCast 2012-12-03 15:39:32 +10:00
Brendan Zabarauskas e62e914035 Use explicit self 2012-12-03 15:25:34 +10:00
Brendan Zabarauskas 566fffdac6 Use Float type bound for rgb/hsv conversions 2012-12-03 13:14:25 +10:00
Brendan Zabarauskas e1ed642f76 Restore boolean vectors in gltypes module and relational traits
I forgot that these would be useful for the AABB struct that will be implemented in the future.
2012-12-03 11:24:24 +10:00
Brendan Zabarauskas ecc91acbbe Rename num::ext module to num::kinds 2012-12-03 11:12:57 +10:00
Brendan Zabarauskas 7b3ae88c57 Use num::ext traits to simplify trait bounds 2012-12-03 11:10:14 +10:00
Brendan Zabarauskas 3d293dce5a Rename det method to determinant 2012-12-03 11:08:36 +10:00
Brendan Zabarauskas 668186a2e2 Merge matrix traits, simplify gltypes, remove relational functions
Let's try to simplify this thing!
2012-12-03 08:15:40 +10:00
Brendan Zabarauskas 9595449b71 Formatting 2012-12-02 23:16:38 +10:00
Brendan Zabarauskas 005daf46e4 Remove consts mod reference 2012-12-02 23:16:26 +10:00
Brendan Zabarauskas 5de6fbe5bb Move methods from FloatConsts into Float trait and remove num::consts 2012-12-02 16:59:03 +10:00
Brendan Zabarauskas edca099681 Comment pi constants 2012-12-02 16:25:23 +10:00
Brendan Zabarauskas 3a48006ba7 Use absolute values for radian constants 2012-12-02 16:18:39 +10:00
Brendan Zabarauskas 90802b1713 Fix angle wrapping 2012-12-02 15:39:49 +10:00
Brendan Zabarauskas 2b931aee21 Add zero constant 2012-12-02 15:36:10 +10:00
Brendan Zabarauskas 4515c9f7e0 Remove unwrap operators 2012-12-01 22:55:14 +10:00
Brendan Zabarauskas 4ce43ff18e Add temporary fixes for weird type mismatch errors 2012-12-01 22:49:24 +10:00
Brendan Zabarauskas 0adbbd478b Implement explicit self for DefaultEq trait 2012-12-01 15:05:11 +10:00
Brendan Zabarauskas 1d4825e005 Move to_ptr method into new ToPtr trait 2012-12-01 14:55:45 +10:00
Brendan Zabarauskas 2ad204a424 Add missing trait bounds 2012-12-01 14:19:37 +10:00
Brendan Zabarauskas 10f8570441 Divide up trait implementations 2012-12-01 14:19:21 +10:00
Brendan Zabarauskas 7316fa4397 Make NumCast trait public 2012-12-01 13:40:16 +10:00
Luqman Aden e837ab52f3 Explicitly specify paths in crate. 2012-11-30 19:17:30 -05:00
Brendan Zabarauskas 6c4ead0990 Add color type aliases 2012-11-30 22:47:40 +10:00
Brendan Zabarauskas 390240ba03 Add color module 2012-11-30 22:46:44 +10:00
Brendan Zabarauskas 7d559c09e2 Add opposite method 2012-11-30 22:28:58 +10:00
Brendan Zabarauskas f352cd68b4 Make projection functions public (woops!) 2012-11-30 15:15:11 +10:00
Brendan Zabarauskas 03a1c4581d Improve channel conversions 2012-11-30 15:12:38 +10:00
Brendan Zabarauskas 6d3620c9d7 Implement explicit self in trait methods 2012-11-30 13:13:20 +10:00
Brendan Zabarauskas ea074faef5 Merge MinMax and Clamp traits together to form Extent trait 2012-11-29 22:19:42 +10:00
Brendan Zabarauskas 2e1e6ca0a0 Use == instead of default_eq 2012-11-29 21:30:40 +10:00
Brendan Zabarauskas 126c5f4501 Improve constant names 2012-11-29 18:29:08 +10:00
Brendan Zabarauskas 9b05325a31 Implement ToStr for angle types 2012-11-29 16:31:14 +10:00
Brendan Zabarauskas eeaf6cb3c1 Change fovy parameter to accept a generic angle 2012-11-29 15:59:45 +10:00
Brendan Zabarauskas 93d228f2f9 Remove apparently unnecessary Copy bounds 2012-11-29 15:49:43 +10:00
Brendan Zabarauskas 60388118d2 Implement common functions for angle types 2012-11-29 15:39:55 +10:00
Brendan Zabarauskas 8e7ae0d4ae Remove enum unwrapping 2012-11-29 13:50:15 +10:00
Brendan Zabarauskas f44d2aa540 Use == instead of default_eq 2012-11-29 13:49:57 +10:00
Brendan Zabarauskas 49d055a3dc Update operator overloads to use explicit self 2012-11-29 13:14:42 +10:00
Brendan Zabarauskas 64761478dd Formatting 2012-11-29 11:17:36 +10:00
Brendan Zabarauskas 26a22e0cc7 Implement wrap method 2012-11-29 11:16:28 +10:00
Brendan Zabarauskas 4ea08253a7 Remove is_col_major and is_square methods 2012-11-29 08:49:31 +10:00
Brendan Zabarauskas ba132fc2a8 Set functions to inline 2012-11-28 18:01:33 +10:00
Brendan Zabarauskas 9b1e984564 Add channel module 2012-11-28 17:50:26 +10:00