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
6e32ad84a7
coord: use consistent naming for point coverage tests
...
use inclusive for tests that include all borders, and exclusive for
tests that do not accept the bottom right borders.
2017-08-24 15:56:58 +10:00
2fad1715cf
coord: define make_klass for all coordinate types
2017-07-28 16:08:59 +10:00
bdd2e06044
extent: add make_extent call
...
we use this until template constructor guides are available in our
supported compilers
2017-07-28 14:14:08 +10:00
825102a328
extent: add convenience make_range iterator creator
2017-07-04 16:18:57 +10:00
b5932c4537
extent: prefer constexpr functions over static variables
2016-12-12 17:06:55 +11:00
ec78216813
coord: prefer int/unsigned to intmax/size_t
2016-10-25 17:46:36 +11:00
9a798446b5
build: remove unnecessary includes
...
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
66f0bbc025
extent: make area and diameter constexpr
2016-09-28 17:21:02 +10:00
809e7b0421
iostream: use consistent ostream format
2016-03-11 13:01:57 +11:00
d847071f76
extent: add convenience size typedefs
2015-10-19 17:09:00 +11:00
464c703ffd
extent: add range-for adapter for extent points
2015-09-29 17:32:11 +10:00
118d1accce
extent: add a point inclusion query
2015-09-16 02:26:00 +10:00
c4f773f129
coord: use explicit constructors consistently
2015-09-09 18:45:23 +10:00
580ee9e663
extent: define 3f and 3u variants
2015-08-28 20:34:58 +10:00
4ea5896d21
coord: use template typedefs
2015-07-24 01:34:44 +10:00
2658b41ea1
relicence under Apache-2.0
2015-04-13 18:05:28 +10:00
bd88832df3
coord: move cast/redim operations to coord
2015-04-09 17:58:47 +10:00
5428c93b9a
coord: pass client class to coord base
...
allows common typesafe implementation of cast and redim
2015-04-09 17:47:35 +10:00
af11d7c730
extent: add contract methods
2015-04-08 19:00:33 +10:00
5627c573eb
coord: use size_t/intmax_t for u and i suffixes
...
size_t matches array indices we are likely to be used in conjuction with
these types.
2015-04-07 16:53:46 +10:00
fb06a3ec2f
extent: move aspect calculation back into object
2015-03-24 02:43:43 +11:00
e461654de8
coord: split coord header into components
2015-03-06 01:46:01 +11:00
99ba406b4d
coord: move base coord class into main namespace
2015-03-06 01:16:14 +11:00
439bb19679
coord: move operators out of subclasses
2015-03-06 01:09:58 +11:00
872499360f
extent: derive from generic coord class
2015-03-03 19:43:09 +11:00
31d1d741e9
extent/region: update to use size parameters
2015-03-03 04:13:29 +11:00
791b91420f
extent: add indexing operator
2015-03-03 00:14:16 +11:00
eda97b844b
extent: add MIN/MAX static members
2015-03-02 18:49:12 +11:00
22a492e58a
extent: add scalar constructor
2015-03-02 18:49:12 +11:00
6c88184b6b
extent: add vector-only constructor
2015-02-20 21:53:51 +11:00
b05b779d7d
extent: migrate to free sanity/valid
2015-02-13 17:32:08 +11:00
23ffd18acb
extent: add scalar variant of expanded
2015-02-12 17:40:47 +11:00
bd22ec3172
extent: add extent2i convenience type
2015-02-04 15:41:18 +11:00
50b0bc37b2
extent: add default constructor
2015-01-28 14:57:55 +11:00
4df3523b28
extent: add vector2f convenience typedef
2015-01-16 14:42:18 +11:00
5c1b37d10d
extent: add expansion operation
2015-01-16 14:42:04 +11:00
c931c718fe
extent: move ostream operator to util namespace
2015-01-15 14:04:18 +11:00
ccbae2dcb1
extent: add typecasting member function
2015-01-13 18:30:10 +11:00
9657c04eed
extent: aspect should return float
2014-12-19 18:29:12 +11:00
ff17c51a85
extent: add ostream operator
2014-07-02 15:43:59 +10:00
58f5fdf3f1
Bump the copyright years
2012-08-10 17:36:56 +10:00
7bad091cfe
Use w/h instead of width/height for extent
2012-08-08 14:39:24 +10:00
4795e7f054
Add copy and assignment operators to util::extent
2012-06-05 22:50:52 +10:00
932f7a4ec3
Add aspect query for extent
2012-06-04 14:51:25 +10:00
77942e008d
Change my email to an active domain
2012-04-23 13:10:50 +10:00
d1187ecf3a
Moved extent to a seperate file
2011-10-26 21:43:38 +11:00