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
5956d0421e
parameterise point, vector, region, matrix on type
2014-12-15 20:10:56 +11:00
2fc9073901
matrix: add affine definitions and translate impl
2014-12-15 13:45:50 +11:00