Commit Graph

56 Commits

Author SHA1 Message Date
38e1ce63fd extent: add rotate90 2020-08-21 11:34:29 +10:00
ea8416592a extent: use matching types for random calls 2019-04-11 11:48:34 +10:00
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
78dd62283b extent: add uniform sampler 2018-05-30 14:34:48 +10:00
048cffaee7 extent;string: return references in iterators 2018-03-27 16:05:46 +11:00
af77aad894 extent/region: simplify iteration over ranges 2018-03-23 16:38:54 +11:00
0e3fa05f05 build: migrate from ipp files to pure hpp files
ipp files weren't a great way of keeping things clean, and IDEs have a
little trouble dealing with the split configuration. this simplifies
debugging a great deal.
2018-02-28 11:49:13 +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
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