Commit graph

619 commits

Author SHA1 Message Date
Brendan Zabarauskas 3ce6578d56 Rename RealVec to FloatVec and use Float trait constraints 2013-07-14 07:53:37 +10:00
Brendan Zabarauskas 04c24a01fa Traitify Mat methods and remove macros 2013-07-14 07:49:23 +10:00
Brendan Zabarauskas 6061395fd7 Add Vec trait that inherits from Dimensional and Swap 2013-07-14 07:48:54 +10:00
Brendan Zabarauskas d19e874b76 Remove unneccesary derefs 2013-07-14 00:55:46 +10:00
Brendan Zabarauskas 6a9d690c79 Arrange vector methods into traits 2013-07-13 23:37:38 +10:00
Brendan Zabarauskas 0e483bb579 Add some doc comments to vec module 2013-07-13 23:06:17 +10:00
Brendan Zabarauskas 139cd6dbe9 Misc formatting 2013-07-13 23:03:37 +10:00
Brendan Zabarauskas e1e6b90c1b Move types related to bounding volumes to bounds module 2013-07-13 23:00:33 +10:00
Brendan Zabarauskas 8973179b0d Add impl_to_vec! and impl_as_vec! macros and use for points and colors 2013-07-12 19:20:09 +10:00
Brendan Zabarauskas ad59c9b16f Decouple vec module from Point2 and Point3 2013-07-12 16:36:36 +10:00
Brendan Zabarauskas 7615a55d84 More module re-arrangement 2013-07-12 16:32:12 +10:00
Brendan Zabarauskas 0cbfa7d040 Remove unnecessary method impl (bools now impl Not) 2013-07-12 14:08:25 +10:00
Brendan Zabarauskas 2ed5e94710 Add ray_to method to point types 2013-07-12 14:07:21 +10:00
Brendan Zabarauskas 3d51d83c92 Rename length to magnitude and remove distance methods from vec 2013-07-12 13:42:28 +10:00
Brendan Zabarauskas eb75d34636 Add vector conversion traits 2013-07-12 13:41:28 +10:00
Brendan Zabarauskas 4159a214da Add skeleton structs and impls for noise types 2013-07-12 12:38:53 +10:00
Brendan Zabarauskas 8139e634fb Remove conflicting ApproxEq impls 2013-07-12 12:19:40 +10:00
Brendan Zabarauskas 3656068f5c Add impl_approx! macro 2013-07-12 11:22:14 +10:00
Brendan Zabarauskas f30b79deb3 Add some more types to geom and improve field names 2013-07-12 10:33:20 +10:00
Brendan Zabarauskas e6bb9362ed Create space module 2013-07-12 09:17:37 +10:00
Brendan Zabarauskas 6300d4b539 Move swap and dimensional impls into separate modules 2013-07-12 07:44:20 +10:00
Brendan Zabarauskas b06785fc89 Remove impl_approx! macro 2013-07-11 23:54:50 +10:00
Brendan Zabarauskas c4c986c0ef Remove yuv module 2013-07-11 16:41:43 +10:00
Brendan Zabarauskas 290861f952 Add conversions from points to homogenous coordinates 2013-07-11 15:14:32 +10:00
Brendan Zabarauskas de649c3b50 Add a bit of documentation to the point module 2013-07-11 14:59:18 +10:00
Brendan Zabarauskas 50747703cf Method rejiggering. Add origin method. 2013-07-11 14:49:14 +10:00
Brendan Zabarauskas 92ee628c06 Fix normalize_degrees impls 2013-07-11 13:05:29 +10:00
Brendan Zabarauskas fd9fcd2075 Add normalize_channel method 2013-07-11 12:56:35 +10:00
Brendan Zabarauskas 659226b15e Add more methods to Point trait and implement operator overloads 2013-07-11 12:19:29 +10:00
Brendan Zabarauskas aedf317af1 Add rotate method to Point trait, remove from_vec function and move impl directly on types 2013-07-11 11:45:21 +10:00
Brendan Zabarauskas f5d96ab398 Create transform module, move frustum module, add a little documentation 2013-07-11 11:11:43 +10:00
Brendan Zabarauskas 8ae7f3dbad Add rgb tests 2013-07-11 07:58:40 +10:00
Brendan Zabarauskas ff439c9b1d Comments ahoy 2013-07-10 20:46:14 +10:00
Brendan Zabarauskas 0d24a87a8e Add svg color constants 2013-07-10 20:45:42 +10:00
Brendan Zabarauskas 1188cba878 Fix build error 2013-07-10 20:14:11 +10:00
Brendan Zabarauskas 8bca8757c2 Add hsv conversion tests 2013-07-10 20:13:50 +10:00
Brendan Zabarauskas 49b9b85079 Add yuv and ycbcr skeleton modules 2013-07-10 15:51:05 +10:00
Brendan Zabarauskas 053586c8e2 Add point conversion methods for vec2 and vec3 types 2013-07-10 14:18:44 +10:00
Brendan Zabarauskas e12f561930 Add channel and color normalization methods 2013-07-10 14:16:16 +10:00
Brendan Zabarauskas 58c3233fe3 Impl Color trait 2013-07-10 12:59:02 +10:00
Brendan Zabarauskas a3f997e763 Make Channel::from private 2013-07-10 10:59:23 +10:00
Brendan Zabarauskas 290287a0b9 Add skeleton hex conversions 2013-07-10 10:58:55 +10:00
Brendan Zabarauskas 8adad636d1 Add RGBA and HSVA impls 2013-07-10 10:57:37 +10:00
Brendan Zabarauskas 7e70e826f2 Add generic to_channel method 2013-07-10 10:37:59 +10:00
Brendan Zabarauskas c4728af209 Add channel tests 2013-07-10 00:06:14 +10:00
Brendan Zabarauskas 23e21ac1b3 Improve trait bounds 2013-07-09 23:10:59 +10:00
Brendan Zabarauskas d65aa944b9 Simplify color::channel traits 2013-07-09 22:50:20 +10:00
Brendan Zabarauskas 49715e6479 Merge some color modules 2013-07-09 21:28:23 +10:00
Brendan Zabarauskas 29a99cea51 Reduce transmute ugliness 2013-07-09 21:17:04 +10:00
Brendan Zabarauskas 452decd3e2 Use upper case identifiers for static constants 2013-07-09 17:32:24 +10:00
Brendan Zabarauskas 128e645a20 Relax type bounds 2013-07-09 17:05:19 +10:00
Brendan Zabarauskas b9369247bf Remove free standing color conversion functions 2013-07-09 16:53:24 +10:00
Brendan Zabarauskas afaa3af501 Re-export FrustumPoints from world module 2013-07-09 16:44:15 +10:00
Brendan Zabarauskas 5c3197a7fc Rename Plane to Plane3 for consistency with other types 2013-07-09 16:43:33 +10:00
Brendan Zabarauskas 2ca90cb750 Fix color channel conversions 2013-07-09 16:42:19 +10:00
Brendan Zabarauskas a5d4fc1ed4 Make point into standalone struct as opposed to a newtype struct 2013-07-08 18:17:36 +10:00
Brendan Zabarauskas 5b5d1f38b3 Add octree and quadtree mods (not yet implemented) 2013-07-08 17:48:11 +10:00
Brendan Zabarauskas 999782945c Add color module 2013-07-08 17:39:33 +10:00
Brendan Zabarauskas 6925c5eaad Add skeleton noise module 2013-07-08 17:04:48 +10:00
Brendan Zabarauskas c0a5b29af1 Move files into submodules 2013-07-08 17:02:04 +10:00
Brendan Zabarauskas 288afe0898 Remove dimensional HOFs 2013-07-08 13:20:34 +10:00
Brendan Zabarauskas c91b0747b3 Untangle mat macros 2013-07-04 10:59:21 +10:00
Brendan Zabarauskas 1819846a4c Untangle vec macros 2013-07-01 13:25:45 +10:00
Brendan Zabarauskas b7530c3512 Fix lifetime error 2013-07-01 11:39:13 +10:00
maikklein d43629e2b9 fixes += operator etc 2013-06-30 18:28:39 +02:00
Brendan Zabarauskas 6fb6d57175 Use the Clone trait instead of Copy and switch from the copy keyword to calling the clone method.
impl_approx! is broken with a borrow issue. The library does not compile yet. Sorry!
2013-06-29 16:38:55 +10:00
maikklein c36cb6e555 explicit copy 2013-06-29 02:26:26 +02:00
maikklein 547ac400fd explicit copy 2013-06-29 02:25:07 +02:00
Brendan Zabarauskas 6cfb244b41 Merge vector and matrix source files 2013-06-16 18:03:14 +10:00
Brendan Zabarauskas 9d99347bbf Add types from cgmath 2013-06-16 17:34:09 +10:00
Brendan Zabarauskas 11e1623dad Rename macros file 2013-06-16 17:32:48 +10:00
Brendan Zabarauskas f5ba7a7982 Remove duplicate Dimensional trait definition 2013-06-16 15:37:30 +10:00
Brendan Zabarauskas a4c7332e2b Move Dimensional trait and dimensional macros into separate files 2013-06-16 15:34:59 +10:00
Brendan Zabarauskas f20eca5cc5 Use macros and higher-order functions to reduce code repetition 2013-06-16 15:21:32 +10:00
maikklein 8673cd6701 Fixing vec2.perp_dot and vec3.angle 2013-06-16 02:08:16 +02:00
Brendan Zabarauskas e82ac511a5 Use higher order functions to reduce code repetition in some methods 2013-06-12 15:49:54 +10:00
Brendan Zabarauskas b727dd2bf5 Implement Dimensional trait 2013-06-12 12:57:58 +10:00
Brendan Zabarauskas 5cb98d09cf Add conversion traits 2013-06-12 11:30:18 +10:00
Brendan Zabarauskas b2e7f2e4b1 Some constructors and functions don't need T:Copy 2013-06-12 11:15:12 +10:00
Brendan Zabarauskas feb4ae2a00 Move tests into source files 2013-06-12 11:02:11 +10:00
Brendan Zabarauskas f226ab2262 Re-organise modules 2013-06-12 10:02:39 +10:00
Brendan Zabarauskas 21ae345adc Be more selective about inlining, #[inline(always)] -> #[inline] for functions other than map 2013-06-12 07:50:16 +10:00
Brendan Zabarauskas 17975b798d De-traitify types, fix tests 2013-06-11 09:02:25 +10:00
Brendan Zabarauskas 3721167cdc Fix std imports 2013-06-06 12:38:23 +10:00
Brendan Zabarauskas 288c49b474 Remove broken macros 2013-06-06 12:38:03 +10:00
Brendan Zabarauskas d352577356 Use /// style doc comments 2013-06-01 12:57:29 +10:00
Brendan Zabarauskas f443203d4a Create elem and elem_mut methods for accessing matrix elements 2013-06-01 11:56:11 +10:00
Brendan Zabarauskas a485920354 Fix constructors, tests now pass (YAYAY!)
YAYYYYYYYYAYAYAYAYAYAYAY

*jumps for joy*
2013-06-01 11:07:25 +10:00
Brendan Zabarauskas 36039228b6 Don't use index operator in tests 2013-06-01 09:12:30 +10:00
Brendan Zabarauskas a913be0373 Delete old files 2013-06-01 08:01:20 +10:00
Brendan Zabarauskas d3bfcc194e Add license/copyright notices to source files 2013-06-01 08:01:01 +10:00
Brendan Zabarauskas e630faf239 Remove index operator impls to prevent copying
We could re-implement this once the Index trait has been improved
2013-05-31 21:42:46 +10:00
Brendan Zabarauskas 86241f69cb Fix multiple borrow errors 2013-05-24 07:55:23 +10:00
Brendan Zabarauskas f800a0ae04 Fixes for core->std and changes to use 2013-05-24 07:05:25 +10:00
Brendan Zabarauskas 0361be55c5 Simplify index methods 2013-05-22 17:01:52 +10:00
Brendan Zabarauskas 11d6d0259a Use #[cfg(test)] instead of #[test]. 2013-05-22 16:46:27 +10:00
Brendan Zabarauskas 0c1af624a7 Remove usages of the <-> operator 2013-05-22 15:44:54 +10:00
Brendan Zabarauskas ebf6a9529d Use the new ApproxEq trait in core 2013-05-08 01:00:06 +10:00
Brendan Zabarauskas 0cb3314bf8 Use the new core::num traits and remove numeric dependency 2013-05-06 13:52:22 +10:00
Brendan Zabarauskas a6acab93c3 Simplify trait bounds
Requires the latest version of numeric
2013-04-15 07:09:43 +10:00
Brendan Zabarauskas aad2d62f37 Make lifetimes explicit, as required in latest updates to rust 2013-04-15 06:43:21 +10:00
Brendan Zabarauskas 887544b0b2 Fix ortho 2013-04-07 23:18:32 +10:00
Brendan Zabarauskas a57935ccea Clean up 'orthographic' function and rename to 'ortho' 2013-04-07 23:04:54 +10:00
Mikko Perttunen 4293d9aa1b Add function projection::orthographic. 2013-04-07 13:06:26 +03:00
Mikko Perttunen 5cf091656d Fix projection::perspective. 2013-04-07 12:55:03 +03:00
Brendan Zabarauskas 9116917607 Make trait names more succinct 2013-04-02 16:12:13 +11:00
Brendan Zabarauskas 4614930ad3 Formatting 2013-04-02 15:01:38 +11:00
Brendan Zabarauskas c906578c69 Remove NumCast type parameters
The NumCast type parameter is no longer needed as it is a constraint of numeric::Number
2013-04-02 11:59:33 +11:00
Brendan Zabarauskas d2885fea52 Remove unnecessary imports 2013-04-02 11:57:58 +11:00
Brendan Zabarauskas 449705b760 Use core::num::{Zero, One, NumCast} traits for 'zero', 'one' and 'cast' methods 2013-04-02 11:25:05 +11:00
Brendan Zabarauskas 25c70a7e87 Create zip macros for automating repetitive code 2013-04-01 07:35:09 +11:00
Brendan Zabarauskas e5879db08c Use macro for generating wrapper impls 2013-03-31 22:02:36 +11:00
Brendan Zabarauskas 69615bee12 Fix unit test build 2013-03-31 22:01:50 +11:00
Brendan Zabarauskas 85e8677c9c Combine vec*.rs and mat*.rs files into two respective modules
I hate to do this as I find huge long files annoying, but it'll help work around some weird export bugs.
2013-03-31 17:27:59 +11:00
Brendan Zabarauskas a1f0980688 Remove imports from top of files 2013-03-30 23:36:34 +11:00
Brendan Zabarauskas dfa4339912 Remove unused imports 2013-03-30 11:42:55 +11:00
Brendan Zabarauskas 4b61cca057 Capitalise rustic type aliases 2013-03-30 11:22:59 +11:00
Brendan Zabarauskas 9f7d10a580 Convert type alias comments to doc comments 2013-03-30 11:22:32 +11:00
Brendan Zabarauskas a601881dd5 Add rustpkg support 2013-03-30 09:54:05 +11:00
Brendan Zabarauskas c6c92dc3e3 Merge each mutable trait with its respective immutable trait 2013-03-29 22:51:34 +11:00
Brendan Zabarauskas fdb8a73555 Remove usages of 'to_unsafe_ptr' 2013-03-29 22:09:15 +11:00
Brendan Zabarauskas 1c51fba5a6 Fix tests 2013-03-29 18:48:01 +11:00
Brendan Zabarauskas 4cefbf763c Re-fix index operators 2013-03-29 13:47:19 +11:00
Luqman Aden 6b0711fe63 Unused imports. 2013-03-28 18:39:29 -07:00
Luqman Aden 062a5126e4 Workaround conflicting loans when using util::swap. 2013-03-28 18:39:29 -07:00
Luqman Aden a467bf7032 Update index impls. 2013-03-28 18:39:29 -07:00
Brendan Zabarauskas fbb484408b Fix some conflicting loans 2013-03-29 12:04:59 +11:00
Brendan Zabarauskas 3869c24ec8 Remove unnecessary dereference-references 2013-03-29 10:42:54 +11:00
Brendan Zabarauskas e8c6e78cf4 Fix unused variable errors 2013-03-29 10:39:19 +11:00
Brendan Zabarauskas 8989881365 Fix cargo cult syntax 2013-03-29 10:37:25 +11:00
Brendan Zabarauskas 39ad5169f2 Make anonymous impls public 2013-03-29 10:32:23 +11:00
Brendan Zabarauskas 9e8666c53f Fix lifetime issues 2013-03-29 10:29:20 +11:00
Brendan Zabarauskas c6816207e0 Remove unused imports 2013-03-29 09:50:51 +11:00
Brendan Zabarauskas 1342d52bfa Fix index operator overloads 2013-03-29 09:14:20 +11:00
Brendan Zabarauskas ce0a6bcd02 Add 'self lifetimes 2013-03-29 09:10:55 +11:00
Brendan Zabarauskas 61bf32d1e9 Update to deriving(Eq) attribute syntax 2013-03-28 21:56:38 +11:00
Brendan Zabarauskas faffdf8273 Remove test_rot module 2013-03-28 21:54:50 +11:00
Brendan Zabarauskas 1c09618aa4 Convert asserts to syntax extension form 2013-03-28 21:54:25 +11:00
Brendan Zabarauskas ad4ee9c436 Update lifetime notation 2013-03-28 21:39:19 +11:00
Brendan Zabarauskas 2c2b7a71d0 Remove instances of 'static' 2013-03-28 21:37:25 +11:00
Brendan Zabarauskas 27603dd6bd Remove instances of 'pure' 2013-03-28 21:35:51 +11:00
Brian Heylin 8b94369a38 updated syntax and added type bounds, scope ownership issues remain 2013-03-28 10:45:43 +01:00
Luqman Aden 97acf34dbb Update to new impl Trait for Type syntax. 2013-02-17 03:16:41 -05:00
Brendan Zabarauskas 5929ba09cb Import vector traits 2013-02-10 09:42:41 +11:00
Brendan Zabarauskas ff185b373c Update FuzzyEq impls 2013-02-10 09:42:06 +11:00
Brendan Zabarauskas 238e034e07 Use explicit self for fuzzy_eq 2013-02-07 08:31:52 +11:00
Brendan Zabarauskas c0fb48f861 Use capitalised Self type 2013-02-07 08:28:48 +11:00
Brendan Zabarauskas fdff434325 Update uses of fail to macro calls 2013-02-07 08:26:33 +11:00
Brendan Zabarauskas 9c3f2e8774 Remove rot module def and rot::Rotation import 2013-01-29 21:24:08 +11:00
Brendan Zabarauskas c89053f6ee Use capitalised Self type 2013-01-29 21:23:22 +11:00