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
34788756d2
build: don't use './' as an include prefix
...
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
a59f6ffc69
build: remove explicit constexpr instantiations
...
GCC7 no longer requires these instantiations, and in fact produces a
warning/error in these cases. So we remove them.
2017-06-08 15:49:25 +10:00
30fa4a378d
colour: add html-style colour parsing
2017-05-22 16:20:21 +10:00
353cf839d4
use nested namespace declarations
2017-01-05 15:06:49 +11:00
d2ba672a30
colour: remove static constants
2016-12-12 17:03:36 +11:00
246357e279
random: remove typed randomisers without generators
2016-11-17 18:38:08 +11:00
9a798446b5
build: remove unnecessary includes
...
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
94ef217778
colour: add type_name specialisation
2016-08-13 21:03:39 +10:00
c4daffc001
build: add forgotten includes
2016-07-28 13:39:27 +10:00
e17158b0bb
build: add forgotten cxx headers
...
discovered testing clang 3.8 under freebsd
2016-05-12 17:31:33 +10:00
f94f0ec7c9
colour: add istream operator
2016-04-15 12:31:36 +10:00
87482522d7
colour: prefer to avoid stream::numeric for output
2016-04-15 12:31:36 +10:00
809e7b0421
iostream: use consistent ostream format
2016-03-11 13:01:57 +11:00
7f4cf49931
iterator: use infix_iterator for coord ostream
2016-03-11 12:48:19 +11:00
5c72953653
coord: remove inadvertant warning disabling
2015-09-21 15:40:36 +10:00
701e76c381
colour: move json deserialisation into cpp
2015-09-08 14:32:17 +10:00
2658b41ea1
relicence under Apache-2.0
2015-04-13 18:05:28 +10:00
a7f96a127d
colour: add hsv/rgb conversions
2015-04-09 21:50:42 +10:00
7307d73bbc
colour: add html and x11 string lookup
2015-04-09 20:46:55 +10:00
0d1fb0147e
colour: add generic ostream operators
2015-04-09 20:44:54 +10:00
532dc415a4
colour: allow arbitrary colour dimensions
2015-04-09 18:00:40 +10:00
cfc0f8ecd0
json: move tree parsing code to json::tree
2015-02-02 21:26:56 +11:00
ccc21b2ae8
colour: derive from detail::coord
2015-01-13 18:41:51 +11:00
25f21a66e4
colour: rename variables to r,g,b,a
...
for consistency with coord types
2015-01-13 10:50:12 +11:00
6f23e39459
colour: use floats for values
...
double is way too much precision for almost every application. we can
always add more templates or other insanity later.
2014-12-16 15:12:44 +11:00
b4dda9b9fa
Move ostream operators into global namespace
2013-08-05 16:37:11 +10:00
745568db87
Add red/green/blue static colour definitions
2013-07-30 23:50:37 +10:00
c6106b0f53
Add static WHITE and BLACK colour constants
2012-06-13 14:41:19 +10:00
393d380001
Remove unnecessary scalar product for colour
2012-06-13 14:41:02 +10:00
ed990ba889
Move output operators into target's namespace
2012-04-24 18:12:07 +10:00
77942e008d
Change my email to an active domain
2012-04-23 13:10:50 +10:00
45d8cfffbf
Rename "to_<type>" functions to "as_<type>"
...
'to' implies a copy, 'as' implies reinterpret.
2012-04-12 16:08:06 +10:00
b774a6490d
Add scalar multiply for colour
2011-10-29 21:17:28 +11:00
d3baffc2e5
Add json extraction operator for colour
2011-10-29 21:17:10 +11:00
2e091079d2
Don't abbreviate the util::range::rand function
2011-10-03 19:20:14 +11:00
ee1439e5fc
Add trivial rgba colour class
2011-09-13 15:14:12 +10:00