Commit Graph

65 Commits

Author SHA1 Message Date
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
58fb2c942f matrix: remove instance functions translate/scale
functions were untested and poorly specified
2015-01-13 18:41:51 +11:00