Commit Graph

48 Commits

Author SHA1 Message Date
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