Brendan Zabarauskas
534ba55d3e
Remove Vector::one
...
Fixes #270
2015-12-13 12:01:00 +11:00
Brendan Zabarauskas
25f5dfd5fc
Remove operator methods from Vector trait
2015-12-13 12:01:00 +11:00
Brendan Zabarauskas
d468d76e0a
Remove operator methods from Point trait
2015-12-13 12:00:34 +11:00
Brendan Zabarauskas
75b6548179
Remove ToComponents and CompositeTransform traits
...
Fixes #274
# Conflicts:
# src/transform.rs
2015-12-13 10:20:53 +11:00
Brendan Zabarauskas
1bd67271f2
Remove vestigial crate attributes
...
These were added a looong time ago. They are not really useful these days.
2015-12-12 22:18:35 +11:00
Brendan Zabarauskas
577eafa654
Standardise macro use for code generation
...
This moves lots of the common code generation patterns into a macros module. In doing so, the code can be greatly reduced in size.
2015-12-12 22:17:03 +11:00
Brendan Zabarauskas
0b39e8f300
Add missing by-ref and by-val permutations of quaternion operators
2015-12-12 18:39:31 +11:00
Brendan Zabarauskas
74a771af79
Rename matrix scale functions for better ergonomics
...
Uniform scale matrices are probably the more common case. It probably makes sense that this has the shorter constructor.
2015-12-07 23:46:24 +11:00
Brendan Zabarauskas
f75c8aa7f1
Merge pull request #261 from bjz/add-matrix-scale-functions
...
Add matrix scale functions
2015-12-06 21:08:27 +11:00
Brendan Zabarauskas
1a291c720c
Simplify impl bounds
...
All the useful functions are implemented for BaseFloat, so it seems reasonable to not require such fine-grained impls. This should also make the generated documentation easier to read.
2015-12-06 19:53:23 +11:00
Brendan Zabarauskas
4f0aabb164
Clarify comments about the kind of matrices that are returned by the constructors
2015-12-06 19:53:23 +11:00
Brendan Zabarauskas
2d6b4e785c
Add Matrix4::{from_scale, from_uniform_scale} functions
2015-12-06 19:53:23 +11:00
Brendan Zabarauskas
2dc0a4a43f
Rename SquareMatrix::one to identity
...
Fixes #260
2015-12-06 19:36:38 +11:00
Brendan Zabarauskas
5b2b10d65f
Rename Array::swap_elems to Array::swap_elements
2015-11-14 22:05:44 +11:00
Brendan Zabarauskas
dcb0afd57b
Remove Array::replace_elem
...
Doesn't seem very useful...
2015-11-14 22:04:04 +11:00
Brendan Zabarauskas
70dbef1eb1
Rename Array1 to Array
2015-11-14 22:02:17 +11:00
Brendan Zabarauskas
ab24f3f8fe
Make Matrix trait work for matrices of arbritrary dimensions
2015-11-14 22:02:17 +11:00
Brendan Zabarauskas
ac2bba01cf
Make pointer access function names match those in std
2015-11-14 22:02:17 +11:00
Brendan Zabarauskas
25ca567060
Move element-wise operations into Array1
trait
2015-11-14 12:17:03 +11:00
Brendan Zabarauskas
178272da3d
Make lots of methods take vectors and points by value
2015-11-09 20:18:02 +11:00
Brendan Zabarauskas
7af4ebb28d
Add some by-value operator overloads
...
Working towards #247
2015-11-08 17:45:33 +11:00
Brendan Zabarauskas
490997c93f
Add an alias to Vector::Scalar in Point
2015-11-03 15:50:07 +11:00
Brendan Zabarauskas
89e656b1f6
Add comments noting rust bugs
2015-11-03 15:40:52 +11:00
Brendan Zabarauskas
cda76e3bbb
Remove type parameters from Matrix trait
2015-11-03 15:32:17 +11:00
Brendan Zabarauskas
669e43ab59
Make scalar type parametrs out of transform and rotation traits
2015-11-03 15:23:22 +11:00
Brendan Zabarauskas
25aea84e0d
Make scalar an an associated type on Vector
2015-11-03 14:30:59 +11:00
Brendan Zabarauskas
a434f18ba4
Make array type parameters associated types
2015-11-03 14:15:11 +11:00
Brendan Zabarauskas
0584bcac64
Make epsilon an associated type on ApproxEq
2015-11-03 14:00:39 +11:00
Brendan Zabarauskas
78f86a33cd
Make vectors an associated type on Point
2015-11-03 11:32:15 +11:00
Brendan Zabarauskas
943a92e691
Remove collision types and traits from the library
...
Closes #244
2015-11-01 13:42:58 +11:00
Brendan Zabarauskas
9e53629459
Clean up index operator usages
2015-10-04 12:58:53 +11:00
Colin Sherratt
c4e8d8ae69
Merge pull request #239 from bjz/method-renames
...
Method renames
2015-10-02 22:41:03 -04:00
Brendan Zabarauskas
fc2943e27b
Rename $Self_ in macros
2015-10-02 14:54:33 +10:00
Brendan Zabarauskas
b168c03174
Rename identity
to one
...
Zero is the additive identity, so this disambiguates it
2015-10-01 18:56:31 +10:00
Brendan Zabarauskas
af38e8a8be
Rename comp_{add, mul} to {sum, product}
2015-10-01 18:52:55 +10:00
Brendan Zabarauskas
d9675f7c7e
Formatting
2015-09-30 20:47:38 +10:00
Brendan Zabarauskas
e845fd9b8c
Reduce scope of dot_matrix4! macro
2015-09-30 20:06:17 +10:00
Brendan Zabarauskas
902215b532
Implement binary operators for matrices
...
We can't yet remove the operator methods, due to rust-lang/rust#20671
2015-09-30 19:01:30 +10:00
Brendan Zabarauskas
8b6fb94685
Implement binary operators for points
...
We can't yet remove the operator methods, due to rust-lang/rust#20671
2015-09-30 18:23:01 +10:00
Brendan Zabarauskas
be5c6fb55b
Compress point formatting
2015-09-30 18:09:40 +10:00
Brendan Zabarauskas
b7b1f6c9cb
Implement binary operators for quaternions
2015-09-30 18:05:20 +10:00
Brendan Zabarauskas
e3e06297a0
Implement by-ref operators for vectors, and remove by-value implementations
...
We can't yet remove the operator methods, due to rust-lang/rust#20671
This also removes the implementations of `Zero` and `One` for vectors.
2015-09-30 17:37:52 +10:00
Brendan Zabarauskas
7a3f4f9e2d
Fix formatting
2015-09-30 09:33:44 +10:00
Brendan Zabarauskas
5023b6c01e
Consistently use associated functions throughout codebase
2015-09-30 09:32:25 +10:00
Brendan Zabarauskas
494f2b65ad
Fix Quaternion::mul_self_q
...
Fixes #224
I haven't really thought about whether there is a faster way to do this, but at least it is fixed.
2015-09-29 18:36:41 +10:00
Colin Sherratt
5dd8bc7ef3
Merge pull request #233 from bjz/remove-map-method
...
Remove {Array1, Array2}::map method
2015-09-29 02:22:51 -04:00
Brendan Zabarauskas
4be95bcb7d
Remove {Array1, Array2}::map method
...
This doesn't seem to be used anywhere - not sure how useful it is. It isn't really a proper `map` anyway, because it mutates `self`.
2015-09-29 09:47:57 +10:00
Brendan Zabarauskas
3ea0b3c5b2
Move some methods onto the Matrix trait
...
Now we can call them like `Matrix4::identity()`! Yay!
2015-09-29 09:34:41 +10:00
Brendan Zabarauskas
7f73c2cdd9
Add conversion tests for vectors, points, and quaternions
2015-09-27 17:20:02 +10:00
Brendan Zabarauskas
69caaf48b6
Add index tests
2015-09-27 13:01:14 +10:00
Brendan Zabarauskas
aff340dc1e
Add range index operators
2015-09-21 07:56:03 +10:00
Brendan Zabarauskas
0ce28fbe10
Remove FixedArray trait in favour of std::convert
...
Fixes #225
2015-09-21 06:49:33 +10:00
Tim Neumann
0469935161
fix rfc 1214 fallout
2015-09-12 13:07:22 +02:00
Pierre Krieger
9cd7f71875
Make functions in angle.rs more generic
2015-05-08 16:40:22 +02:00
Pierre Krieger
1a6dc52e51
Remove ToQuaternion
2015-05-06 16:27:03 +02:00
Pierre Krieger
6ce250b10d
Remove ToBasis2/ToBasis3 in favor of Into
2015-05-06 16:27:03 +02:00
Pierre Krieger
151c6c6e64
Replace as_matrix* by impl AsRef<Matrix
2015-05-06 16:27:02 +02:00
Pierre Krieger
8ab8d7551d
Replace ToMatrix* by Into
2015-05-06 16:27:02 +02:00
Pierre Krieger
e5822e3864
Replace ToDeg/ToRad by From/Into
2015-05-06 16:27:02 +02:00
Pierre Krieger
8a34332f5f
Rustup
2015-05-06 15:57:15 +02:00
Ryan Stewart
a058142a2c
Get cgmath building in beta by removing remaining unstable feature use. Benching is unstable and therefore only available on nightly; removed from travis in the interim.
2015-05-06 15:57:15 +02:00
Dzmitry Malyshau
16302ffa20
Fixed the num crate
2015-04-24 23:28:31 -04:00
Pierre Krieger
d560242ed4
Allow writing matrix * scalar
2015-04-19 15:45:13 +02:00
Dzmitry Malyshau
498df01729
Fixed all the warnings, compile issues, and tests
2015-04-04 22:31:18 -04:00
Dzmitry Malyshau
b56ad542b3
Fixed NumCast and angles
2015-04-04 21:32:12 -04:00
Dzmitry Malyshau
8db429acae
Using rust-lang/num
2015-04-04 21:19:11 -04:00
Dzmitry Malyshau
94d428d23e
Fixed the Neg disaster
2015-04-04 20:15:00 -04:00
Colin Sherratt
4d1e21d609
Use PhantomData for Line
2015-03-29 17:39:47 -04:00
Colin Sherratt
f6b86fe4bd
Add PhantomData to ray
2015-03-29 17:35:47 -04:00
Dzmitry Malyshau
b36039a6ee
Fixed the tests
2015-03-25 22:14:17 -04:00
Dzmitry Malyshau
05c4147cec
Fixed Index implementations
2015-03-25 21:58:33 -04:00
Jonathan Neuschäfer
7b9a9aac69
compile the doctest in rotation.rs; use ``` instead of ~~~
2015-03-18 18:21:39 +01:00
Jonathan Neuschäfer
bc8a47fb8d
use if
/else if
/else
instead of match ()
...
It looks more idiomatic.
2015-03-18 18:21:39 +01:00
Jonathan Neuschäfer
f4ac3952bd
Grammar/spelling fixes
2015-03-18 17:51:38 +01:00
Jonathan Neuschäfer
4c527f8334
s/AUTHORS file/Cargo.toml file/
2015-03-18 17:51:03 +01:00
Jonathan Neuschäfer
556c5f2375
line.rs: destructure self with let, save indentation
2015-03-18 17:44:31 +01:00
Dzmitry Malyshau
1e4271c2a6
Exposed Ortho fields as public (last time it was Perspective)
2015-03-18 01:04:21 +03:00
Dzmitry Malyshau
c20350336e
Exposed Ortho fields as public
2015-03-18 00:59:43 +03:00
Dzmitry Malyshau
e0d85820e3
Fixed the frustum/bound relation.
2015-03-15 23:21:07 +03:00
Dzmitry Malyshau
6691dce420
Added Bound::relate_clip_space with default implementation
2015-03-15 22:37:11 +03:00
Dzmitry Malyshau
fa3aacafcf
Improved Plane, fixed Frustum computation from Matrix4, implemented Frustum contains() tests.
2015-03-15 22:36:09 +03:00
Dzmitry Malyshau
896c357ea8
Implemented Aabb to_corners()
2015-03-15 22:36:06 +03:00
Dzmitry Malyshau
d3d7241c86
Moved bound implementations into the corresponding modules
2015-03-15 22:36:03 +03:00
Dzmitry Malyshau
2722815d84
Implemented Bound for Sphere
2015-03-15 22:36:01 +03:00
Dzmitry Malyshau
e71887a848
Renamed the main entry point to be lib.rs
2015-03-15 22:36:00 +03:00
Dzmitry Malyshau
95c3b3608f
Added Bound module, implemented for Point3 and Aabb3
2015-03-15 22:35:56 +03:00
Colin Sherratt
64fedca8e9
Manually add rand trait
2015-03-14 22:54:02 -04:00
Pierre Krieger
8895654f92
Remove dependencies to rand and rand_macros
...
Conflicts:
src/cgmath.rs
2015-03-14 22:07:15 -04:00
tomaka
5ec45d1699
Update for rustc
2015-03-08 16:30:01 +01:00
Dzmitry Malyshau
f03d4427ee
Redesigned ToComponents, removed the implementation for AffineMatrix3 as incorrect.
2015-03-01 23:40:43 -05:00
Colin Sherratt
74707ed8d2
fix closure syntax
2015-03-01 13:28:38 -05:00
Dzmitry Malyshau
45c6fd630d
Cleaned up public exports. Implemented ToComponents for Matrix3. Added tests.
2015-03-01 01:29:47 -05:00
Dzmitry Malyshau
bf257a3e49
Added ToComponents. Moved from_value into .
2015-03-01 01:05:22 -05:00
Ben Foppa
562dfeb7a6
Add #[must_use] on functions with in-place variants.
2015-02-22 16:33:16 -05:00
Ben Foppa
1d9fc87f60
Points derive Eq.
2015-02-21 14:50:00 -05:00
Ben Foppa
a1d4ba19d0
Add a phantom type annotation on Transform.
2015-02-20 23:29:11 -05:00
Bo Bakker
a7d6c82f42
Fix for rustc
...
It works, and passes all tests.
2015-02-15 15:39:21 +01:00
Hyeon Kim
f4b6782885
Suppress warnings: feature(hash)
2015-02-12 01:02:09 +09:00
Hyeon Kim
6937947a4a
Rust version up
...
Fixes compile error
2015-02-12 01:01:31 +09:00
Andrey Lesnikov
dbd6acaeb7
Fixed android build: added [no_link] to rand_macros
2015-02-09 15:57:27 +03:00
Colin Sherratt
662c7d7f68
cleanup some warnings around features
2015-02-08 13:36:33 -05:00
Colin Sherratt
778a3c13aa
use the new rand_macros crate
2015-02-08 13:25:42 -05:00
Colin Sherratt
e712bdee7c
fmt::Show to fmt::Debug
2015-02-08 13:19:32 -05:00
Hyeon Kim
23fbac94e7
Update rust
...
`Output` is not a member of trait `IndexMut` anymore.
2015-02-09 02:50:35 +09:00
Dzmitry Malyshau
6ecbf2dbfd
Implemented short vector constructors
2015-02-06 23:03:00 -05:00
Ty Overby
72d4460d81
rename fmt::Show to fmt::Debug
2015-01-23 15:01:24 -08:00
Colin Sherratt
e064ea0e59
int to isize
2015-01-09 16:28:33 -07:00
Colin Sherratt
bc89f14250
Fix tests
2015-01-09 15:30:19 -07:00
Colin Sherratt
c0ce271e39
Updated to latest rustc
2015-01-09 15:06:45 -07:00
Colin Sherratt
c7270a9077
Update to latest rustc
2015-01-07 15:34:42 -07:00
Colin Sherratt
d6bb64fd65
Update for associated types changes
2015-01-04 18:56:01 -07:00
Connorcpu
22c2fe4755
Updated to rust nightly
2015-01-03 13:29:26 -08:00
Colin Sherratt
4bb12d6859
Switch to rustc_serialize
2014-12-26 16:18:29 -05:00
Jakob Fries
968adcd2cb
Update to match latest Neg trait.
2014-12-21 18:28:59 +01:00
Connorcpu
43cfdd94ec
Fixed macros with missing semicolons
2014-12-19 09:48:59 -08:00
Colin Sherratt
b0187ddeaa
Update to match the latest std::ops::* traits
2014-12-17 02:16:13 -05:00
Pierre Krieger
888dd6b18e
Update for rustc
2014-12-15 13:49:57 +01:00
Jameson Ernst
5726e6c7dc
Add deriving Copy to all structs that would previously be inferred to be Copy
...
Remove use of deprecated Equiv trait
Remove unsed attributes
2014-12-12 17:06:52 -08:00
Jameson Ernst
12ec7318d0
Remove deprecated Float use from tests.
2014-11-24 20:24:04 -08:00
Jameson Ernst
08f9354efc
Fix ambiguous trait call; Remove deprecated Float calls.
2014-11-24 20:04:34 -08:00
Colin Sherratt
876e23b8cd
export PartialOrd
2014-11-21 02:26:59 -05:00
Corey Richardson
bcc4f11150
Merge pull request #142 from aepsil0n/vector_cast
...
Type-cast a vector component-wise
2014-11-20 10:46:30 -05:00
Eduard Bopp
4d2fb64482
Type-cast a vector component-wise
...
This allows one to e.g. cast a vector of f64s to an equivalent vector of f32s.
More generally this is allowed for arbitrary NumCast types.
2014-11-20 16:41:27 +01:00
Eduard Bopp
9f8580eeca
Replace deprecated std::num traits
...
These traits are akin to the deprecated standard library traits (Zero, One,
Primitive) to keep everything running as before. However, for the long term a
better algebraic abstraction should be used/provided.
2014-11-20 16:28:02 +01:00
Martti Rannanjärvi
3ecf2eb5dd
update to compile on nightly
2014-11-20 17:15:07 +02:00
Brendan Zabarauskas
1371f75165
Update for rustc 0.13.0-nightly
...
There are still some deprecation errors in the doc tests left
2014-11-16 01:59:43 +11:00
Sébastien Crozet
0bbefed4bc
Improve the benchmark suite.
...
As a side effect, this adds `Rand` deriving to the benchmarked strucures.
2014-11-07 16:23:10 +01:00
Darkspear7
7ae16b3423
Removed constraints on ortographic projection function to allow bigger values for left, bottom, near than right, top, far.
2014-11-03 15:50:27 +02:00
Tomaka17
4fcfde13de
fail! -> panic!
2014-10-30 10:11:33 +01:00
Eduard Bopp
666bb56670
Assertion macros for approximate equality
...
For sake of readability and consistency with the standard library macros
assert! and assert_eq!, the macros assert_approx_eq! and assert_approx_eq_eps!
have been implemented based on the ApproxEq trait.
Upon failure these macros yield readable error messages including the input
values and the tolerance (epsilon) used to determine their approximate
equality.
Resolves #131 .
2014-10-23 10:22:34 +02:00
Colin Sherratt
0f0b960211
Added to_euler which allows moving from to and from euler coordinates.
...
I did not have much luck getting the old from_eular logic work the way I
expected so I updated the implementation to match my sources.
I believe this changed the order of the axis, I am unsure of what they were
before.
2014-10-13 21:05:49 -04:00
Colin Sherratt
aae8747595
Fix ortho projection matrix
2014-10-04 20:12:09 -04:00
Tomaka17
1b5da61ccb
Update for rustc 0e784e168 2014-09-16 23:26:11 +0000
2014-09-18 16:19:26 +02:00
HeroesGrave
896735a2b0
updated to latest Rust
2014-08-30 12:00:34 +12:00
Jeanne-Kamikaze
6f0573c79a
Added 'from_point_normal'
2014-08-26 17:08:24 +02:00
bachm
825f5f2975
deriving Encodable, Decodable for all structs
2014-08-23 14:34:33 +02:00
Erik Hedvall
cd5cdeacbf
Removed duplicate Aabb3 re-export
2014-08-18 15:05:25 +02:00
Brendan Zabarauskas
379dc499ec
Publicly re-export everything from the root crate
...
Closes #100
2014-08-16 14:53:54 +10:00
Brandon Waskiewicz
4f17d73f23
Add Ray2<>Aabb2 intersection impl
2014-08-13 20:51:51 -04:00
Brandon Waskiewicz
814b845de7
Update line intersection
...
*Change line<>line intersection to be ray<>line.
*Update tests accordingly
*Clean up and simplify intersection logic
2014-08-13 20:51:44 -04:00
Brendan Zabarauskas
3ff1eb583f
Add fixed-length array conversions
...
Closes #111
`FixedArray::from_fixed` cannot yet be implemented due to rust-lang/rust#16418
2014-08-11 21:10:38 +10:00
Brendan Zabarauskas
f93963919a
Transition codebase to the new method names
2014-08-11 18:55:14 +10:00
Brendan Zabarauskas
325ebad75e
Use more self-explanatory names for indexing methods
2014-08-11 17:02:25 +10:00
Brendan Zabarauskas
8999d88216
Remove deprecated functions from array traits
2014-08-11 16:54:39 +10:00
Brendan Zabarauskas
8e5500d581
Switch to cargo
2014-08-11 16:15:14 +10:00
Vyacheslav Zeronov
535b5aa01f
Added Matrix3::from_diagonal
...
Useful for creation of scale matrices.
2014-08-08 13:46:25 +06:00
Aaron Jacobs
bfc8efff80
Fixes Matrix2::from_angle invocation and adds a test for the feature.
...
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-08-05 22:28:03 -07:00
Corey Richardson
e9a1723ef4
Merge pull request #106 from atheriel/vecdocs
...
Add a tutorial of sorts for working with cgmath's vectors.
2014-08-03 04:29:49 -07:00
Brendan Zabarauskas
1e1f60379e
Deprecate element and column accessors in favour of index operators
...
Also removes some unnecessary `clone` calls.
2014-07-30 04:06:31 +10:00
Aaron Jacobs
5c25683cfb
Adds a tutorial of sorts for working with cgmath's vectors.
...
There are several runnable code examples that should compile when
using `make doctest`.
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-28 23:05:15 -07:00
Aaron Jacobs
fddb3a7903
Implements the (mutable) index operator for vectors.
...
Again, this is possibly an oversight. The operators simply use the
mut_i() and i() methods which are demanded by the Array1<S> trait.
This means you may access the field `x` on a VectorN with vector[0]
syntax.
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-28 22:37:49 -07:00
Aaron Jacobs
7e81b258a9
Implements division and remainder operators for vectors.
...
This might have been an oversight at one point. Although the `rem_v`
and `div_v` methods are available for vectors, the actual operators
were not.
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-28 22:21:58 -07:00
OGINO Masanori
e5f6d827da
Remove crate_id.
...
Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2014-07-29 11:16:15 +09:00
Brendan Zabarauskas
7ca114d5aa
Merge pull request #103 from atheriel/rot_ex
...
Add a rotation example to the documentation.
2014-07-28 09:06:05 +10:00
Aaron Jacobs
993efcc7a8
Add a good rotation example to Basis2.
...
This ads an example (the first?) on a useful feature of cgmath, and
also a Make target for running just the examples in the docs. This
may come in useful if more examples are added.
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-23 20:25:42 -07:00
Ben Foppa
784b9d8fa1
Fix inverted asserts
2014-07-18 11:55:53 -04:00
Brendan Zabarauskas
61a6810324
Merge pull request #96 from atheriel/vecmap
...
Add a map() method for vectors.
2014-07-05 19:24:12 -07:00
Aaron Jacobs
d58fac1117
Use pointers for the column map.
...
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-04 17:37:24 -07:00
HeroesGrave
047dbefd6f
remove lifetime notations causing errors
2014-07-05 12:15:10 +12:00
Aaron Jacobs
b0f706a96e
Adds map() to Array1, and provides implementations for Vectors,
...
Points, Matrices, and Quaternions.
Signed-off-by: Aaron Jacobs <atheriel@gmail.com>
2014-07-02 21:34:26 -07:00
Colin Sherratt
1cf9f8d4ef
- added translate to Matrix
...
- fixed spaces and tabs
2014-06-28 16:53:05 -04:00
Erick Tryzelaar
1c5b6f0b7a
Update to compile with rust (9f8149e)
2014-06-25 21:26:15 -07:00
Corey Richardson
82529eec25
Update transform test to use Decomposed instead of Transform3D
2014-06-24 00:25:57 -07:00
Corey Richardson
c9bdf838a5
Update for Cargo
2014-06-23 23:49:29 -07:00
Brendan Zabarauskas
1382c2ea4b
Merge pull request #89 from bjz/transform
...
Remove Transform3D type
2014-06-15 11:19:15 -07:00
Brendan Zabarauskas
f7364ce42a
Clean up formatting
2014-06-15 11:18:31 -07:00
Brendan Zabarauskas
b8996e124d
Remove Transform3D type
...
Closes #86
2014-06-15 11:18:17 -07:00
Brendan Zabarauskas
1f9430399e
Fix transmute build failure
...
Closes #87
2014-06-15 10:57:09 -07:00
Colin Sherratt
b7a3a31156
Fix inverse matrix4, base it on Cramer's rule.
2014-06-05 15:53:23 -04:00
Colin Sherratt
25d67c7ec7
Added matrix that inverted incorrectly as part of #83 .
2014-06-05 15:53:23 -04:00
ozkriff
a850e37424
Updated to latest Rust: PartialEq, PartialOrd
2014-06-02 12:18:05 +04:00
ozkriff
63e53b1592
Removed 'extern crate debug', added fmt::Show for Angle
2014-05-28 21:53:45 +04:00
ozkriff
03005604b4
Updated to latest Rust: Added 'extern crate debug;'
2014-05-28 21:27:34 +04:00
ozkriff
1805c5b35a
Made 'array' module public
2014-05-28 21:20:23 +04:00
Brendan Zabarauskas
3559ab2e35
Simplify type signatures and make function implementations more strait-forward
...
This results in more code duplication, but the resulting type signatures are much simpler and the implementations are far easier to understand. It should be easier for llvm to optimise things too, seeing as closures are not used.
2014-05-27 19:39:14 -07:00
Brendan Zabarauskas
5716dce205
Add matrix operator tests
2014-05-26 11:26:27 -07:00
Brendan Zabarauskas
efe8cd9960
Fix matrix operator overloads
...
Closes #70
2014-05-26 11:26:26 -07:00
Brendan Zabarauskas
d4ce9c7613
Clean up numeric traits
2014-05-26 10:31:55 -07:00
Corey Richardson
ad970b94ec
Expand crate documentation
2014-05-25 14:35:51 -07:00
Corey Richardson
322a5d0c38
AABB docs
2014-05-25 13:52:01 -07:00
Corey Richardson
bf2cdfade3
Document Transform
2014-05-25 04:17:26 -07:00
Corey Richardson
27488b0dbc
Touch up docs for Rotation
2014-05-25 04:10:44 -07:00
Corey Richardson
7416e5ce14
Touch up Ray docs
2014-05-25 03:17:57 -07:00
Corey Richardson
9828870380
Document Point
2014-05-25 03:09:33 -07:00
Corey Richardson
c9573ad511
Touch up the Plane docs
2014-05-25 03:04:44 -07:00
Corey Richardson
8fa0f67333
Add some docs for Angle
2014-05-25 03:00:52 -07:00
Corey Richardson
d6c0d1d65d
Minor doc cleanup for Vector
2014-05-25 02:43:51 -07:00
Corey Richardson
ed9e5d0929
Cleanup Quaternion docs
2014-05-25 01:29:19 -07:00
Corey Richardson
fd2138bd88
Document Matrix
...
And remove `is_rotated`
2014-05-25 01:01:02 -07:00
Corey Richardson
5b1d1a0f01
Document Array
2014-05-24 18:22:23 -07:00
ozkriff
f6a27cddba
Updated for latest Rust
2014-05-17 00:11:27 +04:00
Brandon Waskiewicz
8ff2598dd9
Add line segment shape and functions
...
Create a new line segment struct that contains two Points in either
2D or 3D space.
Also create an implementation of the Intersect trait for testing
whether two line segments intersect, and where.
2014-05-13 21:39:38 -04:00
Luqman Aden
d85dba915f
Update crate attribute.
2014-05-12 21:09:16 -04:00
Luqman Aden
2a1ae1348c
std::cast -> std::mem
2014-05-12 21:04:01 -04:00
Corey Richardson
9d618c37b3
Merge pull request #63 from xales/add-totaleq
...
Add deriving TotalEq for Vector.
2014-04-25 06:11:15 -04:00
Jake Greenfield
4a9999b11d
Add deriving TotalEq for Vector.
2014-04-25 05:54:00 -04:00
ozkriff
8f018bfe0d
Updated to latest Rust
2014-04-24 22:25:26 +04:00
Brendan Zabarauskas
a1f23da32b
Update bench to latest Rust
2014-04-14 12:16:25 +10:00
Brendan Zabarauskas
7c11ec250a
Update formatting
2014-04-14 12:00:48 +10:00
Brendan Zabarauskas
64ae5fbd9a
{Vec, Mat, Quat}->{Vector, Matrix, Quaternion}
...
The full names provide consistency with the other types. Also, Vec is now a type declared in libstd - this will reduce confusion.
2014-04-14 12:00:48 +10:00
ozkriff
3ee67019dd
Updated to latest Rust: math changes
2014-04-02 13:24:04 +04:00
ozkriff
18fe0e74b5
Updated to latest Rust: priv/pub
2014-04-01 15:00:17 +04:00
ozkriff
01582f5649
Updated to latest Rust: std::vec -> std::slice
2014-03-21 14:18:04 +04:00
ozkriff
83943cd5b5
Replaced partial_{min,max} funcs with PartOrdPrim trait
2014-03-19 13:18:59 +04:00
ozkriff
1107ab8e6b
aabb.rs: _{min,max} -> partial_{min,max}
2014-03-17 23:11:04 +04:00
ozkriff
c026f520e1
Fixed warnings
2014-03-17 16:14:39 +04:00
ozkriff
385c3d7de8
Udated to latest Rust: TotalOrd/min/max changes
2014-03-17 15:13:54 +04:00
ozkriff
8868c793fe
Updated to latest Rust
2014-03-14 12:27:24 +04:00
ozkriff
77d9a537fd
Updated to latest Rust: Implemented Show for Mat{2,3,4}
2014-03-03 13:34:03 +04:00
ozkriff
eb40fbce2a
Updated to latest Rust: ToStr -> fmt::Show
2014-02-25 12:56:22 +04:00
ozkriff
e5ec803fa5
Updated to latest Rust
2014-02-24 10:33:31 +04:00
ozkriff
141c4a8684
Updated to latest Rust
2014-02-22 01:44:56 +04:00
Colin Sherratt
4bcb1a5406
changed extern mod to extern crate
2014-02-15 22:46:33 -05:00
Colin Sherratt
5872ef347e
Temporary workaround for the fact that std::num::Orderable is now removed.
2014-02-15 17:22:21 -05:00
Brendan Zabarauskas
11f8e29e17
Add Makefile and enable rust-ci doc export
2014-02-14 07:18:10 +11:00
Risto Saarelma
fb03e2a660
Arguments directly used to construct AABB passed by value
2014-02-12 08:56:39 +02:00
Risto Saarelma
a391d4450b
Don't use abbrevations for the Aabb field names
2014-02-09 10:28:58 +02:00
Risto Saarelma
57ff382cf1
to_str for Aabbs
2014-02-07 08:50:10 +02:00
Risto Saarelma
907165075c
Translate and scale methods for AABB
2014-02-07 08:48:46 +02:00
Risto Saarelma
ff9fc767d4
Translate method for AABBs
2014-02-07 08:48:46 +02:00
Risto Saarelma
6ac1f09750
Utility methods for AA boxes
2014-02-07 08:48:46 +02:00
Rich Lane
17b9f5c066
replace fmt::Default with fmt::Show
2014-02-02 20:51:43 -08:00
Brendan Zabarauskas
0c903a7ec5
Merge pull request #38 from rsaarelm/master
...
Axis-aligned boxes use top and bottom corners
2014-01-30 22:43:44 -08:00
Risto Saarelma
cdcae58c02
Axis-aligned boxes use top and bottom corners
...
Fixes issue #35 .
2014-01-30 21:43:36 +02:00
Dzmitry Malyshau
21f10ee0ec
Rotation2 and Rotation3 improved with from_* methods. Betwee_vecs implemented for all rotations.
2014-01-29 19:27:39 -05:00
Colin Sherratt
fb13dc4566
Implement to_mat4 for Transform3D and quaternion
...
Add a translate builder for Transform3D
2014-01-28 22:10:38 -05:00
Brendan Zabarauskas
7435ae16bf
Merge pull request #32 from rlane/iterbytes
...
derive IterBytes for all structs
2014-01-26 22:26:27 -08:00
Rich Lane
f3e680fc34
derive IterBytes for vectors, points, and angles
...
It's useful to be able to have types like `Vec3<i32>` as hashtable keys.
2014-01-26 22:19:40 -08:00
Lennart
e9fcf971da
Fix comments on Quat::from_angle_{x|y|z} functions
2014-01-26 22:12:56 -08:00
Lennart
ba71cb4a37
Fix quat::Quat::from_angle_{x|y|z}
...
These functions were broken due to mistakenly using the full angle theta
in one place instead of theta / 2. This resulted in non-unit
quaternions that definitely did not rotate things correctly.
2014-01-26 22:11:58 -08:00
Dzmitry Malyshau
1789f26ea1
look_at() implemented as a part of Transform trait
2014-01-25 17:26:06 -05:00
Brendan Zabarauskas
6b33f5d7e5
Remove unnecessary parentheses
2014-01-26 05:02:30 +11:00
Brendan Zabarauskas
337061bd82
Call rustc directly in .travis.yml
2014-01-26 05:02:19 +11:00
Brendan Zabarauskas
c2054e4993
Reduce code duplication
...
We can now have multiple definitions in macros!
2014-01-24 03:13:53 +11:00
Brendan Zabarauskas
ac991aaec0
Impl appropriate operators for implementors of Zero and One
2014-01-24 03:00:24 +11:00
Colin Sherratt
e3183110ad
Fix renamed structures:
...
VecIterator -> Items
MutVecIterator -> MutItems
2014-01-19 21:04:48 -05:00
kvark
522d20ffe5
Fixed tests that used assert_approx_eq
2014-01-08 20:06:02 -05:00
kvark
2fdf34cd18
New ApproxEq replaced the one in std
2014-01-08 19:26:50 -05:00
Corey Richardson
2992fd5f51
pkgid and make dead code public
2013-12-17 20:44:28 -05:00
Jarrett Billingsley
234634695d
Changed 'self lifetime to 'a
2013-12-12 00:26:01 -08:00
Boden Garman
3c9a6a531d
Fixed Mat4::look_at
2013-12-07 14:36:11 +11:00
Brendan Zabarauskas
8d4a06005c
Add Mat4::look_at
...
Hopefully I got this right...
2013-12-03 20:11:39 +10:00
Boden Garman
908d3c2800
Fix ortho asserts
2013-12-01 17:46:05 +11:00
Brendan Zabarauskas
b87aec64ac
Merge pull request #11 from csherratt/mat4_opt_only
...
Improved the performance of mat4 multiply.
2013-11-27 15:34:50 -08:00
Colin Sherratt
810445d536
update to compile on latest rustc
2013-11-27 13:26:57 -05:00
Colin Sherratt
149c781e81
Documented the mat4 multiply optimization.
2013-11-27 12:20:13 -05:00
Colin Sherratt
e4689ce22b
Improved the performance of mat4 multiply.
2013-11-26 12:29:07 -05:00
Colin Sherratt
c99ef02be1
Pad out the benchmarks to make the performance difference more pronounced.
...
This also speed the benchmarks up since the bench suite has trouble with
benchmarks that less then 100ns in length.
2013-11-26 03:14:48 -05:00
Colin Sherratt
bfd2729c29
cleaned up formatting in matrix.rs in both test and bench
2013-11-26 02:30:30 -05:00
Colin Sherratt
29104f2375
Add a benchmarking suite for matrix.
2013-11-26 00:39:39 -05:00