Commit Graph

66 Commits

Author SHA1 Message Date
340d873d3a iterator: move each iterator to their own unit 2019-03-18 16:18:27 +11:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
76c809f031 point/vector: homog no longer takes a size parameter 2018-04-17 14:26:23 +10:00
3bd795f5e3 matrix: move sfinae condition into template param list 2018-04-16 16:00:32 +10:00
3b5e94e0ea matrix: add relatively_equal overload 2018-04-11 18:24:10 +10:00
2ef759877e matrix: add scalar filling constructor 2018-04-11 18:23:57 +10:00
563ffaf894 matrix: assert that index values are valid 2018-03-13 22:35:05 +11:00
44f8496256 matrix: use a more descriptive template param name 2018-03-13 22:34:48 +11:00
f09babd507 matrix: add simple header comment 2018-03-13 22:33:54 +11:00
c1036d8337 matrix: use vector ostream operator 2017-11-24 17:19:32 +11:00
a8088d03cd matrix: use vector for the row storage 2017-11-24 17:19:32 +11:00
59240ce83a matrix: move implementation from ipp to hpp 2017-11-24 17:19:32 +11:00
0351313c36 Merge branch 'master' into coord 2017-11-23 17:24:11 +11:00
d3f434b523 coord: make template parameters more flexible
The coordinate system was unable to support types that prohibited
redim or retype operations. Additionally, the `tags' type used for
providing named data parameters was unwiedly.

We remove much of the dependance on template template parameters in the
defined operations and instead define these in terms of a template
specialisation of is_coord.

The tag types were replaced with direct specialisation of the `store'
struct by the primary type, and passing this type through use of the
CRTP.
2017-11-22 17:03:00 +11:00
2e5d69c095 matrix: work around instruction selection bug in clang 2017-10-10 14:09:43 +11:00
720a45deb8 matrix: move some implementation from ipp to cpp
this makes debugging under some IDEs slightly easier
2017-10-10 14:08:41 +11:00
8b089d412c matrix: add fallback implementation for inverse_affine 2017-08-22 15:06:16 +10:00
10f777c380 matrix: remove mutating operations 2017-08-22 15:05:58 +10:00
4306a94379 matrix: add assignment-multiplication operator 2017-03-06 21:36:04 +11:00
a56d1e339a matrix: parameterise on rows+cols+type 2017-02-21 21:19:28 +11:00
4566141855 matrix: add data accessor function 2017-01-05 19:50:27 +11:00
e549f3d554 matrix: move identity and zeroes into constexpr funcs 2016-10-17 22:34:53 +11:00
83484a6ea1 matrix: add look_at and euler tests 2016-09-14 17:56:27 +10:00
0e88b4b324 matrix: add to_euler function 2016-09-14 17:56:27 +10:00
a4a08aaa72 matrix: add free 'transposed' function 2016-09-14 17:56:27 +10:00
28cd180c44 matrix: add expanded scalar operations 2016-08-15 20:56:10 +10:00
76eb5d55b5 matrix: remove redundant determinant method 2016-08-15 20:56:10 +10:00
5ef6f936a5 matrix: add free elementwise add/sub 2016-08-15 20:56:10 +10:00
1f86925237 matrix: add elementwise sum function overload 2016-08-15 20:56:10 +10:00
2daa70bae0 matrix: add elementwise abs 2016-08-15 20:56:10 +10:00
cee2b7b516 matrix: make rows/cols constexpr 2016-08-15 20:56:10 +10:00
43b59c6801 matrix: add begin/end family of methods 2016-08-15 20:56:10 +10:00
bb6678726f matrix: rename translate/rotate to translation/rotation 2016-08-10 17:42:19 +10:00
6fda597e07 dont overinclude iostream headers 2016-03-17 18:14:40 +11:00
65bf7af24e matrix: perspective construction takes a Z-range 2015-12-02 10:03:25 +11:00
a73fb9307c matrix: extract size dependant operations 2015-11-04 23:23:46 +11:00
176b33604b matrix: parameterise on dimension 2015-10-30 23:40:13 +11:00
a4a93a1a72 matrix: add convenience homogenous point/vec mult 2015-07-21 01:41:48 +10:00
67891ac175 matrix: add matrix4 typedef 2015-07-13 16:30:54 +10:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
0211ed5b37 matrix: add 2d translate convenience function 2015-04-02 15:01:17 +11:00
630567bcff matrix: add type cast function 2015-02-19 13:29:16 +11:00
f97c932df7 matrix: add scalar multiply 2015-02-19 13:29:16 +11:00
ca66f831f7 matrix: add scalar scaling matrix 2015-01-19 19:12:44 +11:00
0501d0a87a matrix: change rotate args to match opengl order 2015-01-15 14:05:17 +11:00
82ee179b64 matrix: add convenience type matrix4f 2015-01-13 18:41:51 +11:00
7f152e5350 matrix: add matrix multiplication assignment 2015-01-13 18:41:51 +11:00
616f6f1db9 matrix: add point multiplication 2015-01-13 18:41:51 +11:00
f6aeef594e matrix: remove to_{global/local}
functions were poorly specified
2015-01-13 18:41:51 +11:00