77c7d87d60
region: remove incorrect union accessors
...
the union accessors x,y,w,h were predicated on the dimension being 2.
for higher/lower dimensions this resulted in the incorrect variable
being returned.
rather than do something fancy with unions and coord storage type for
access to the underlying data we force the user to acknowledge the split
storage of point/extent.
unfortunately we have pretty shitty names for the components as a
result.
2016-10-25 19:59:53 +11:00
9546526c1f
region: remove extent_t/point_t distinction
...
it's too problematic to retain signedness distinctions between base
points and region extents. just use the same types, but retain the
named typedefs for compatibility.
2016-10-25 17:50:11 +11:00
ec78216813
coord: prefer int/unsigned to intmax/size_t
2016-10-25 17:46:36 +11:00
c2310d5d50
build: explicitly allow anonymous structs
2016-05-12 18:06:12 +10:00
efa52c60e9
build: remove unnecessary pedantic checks
2016-04-28 16:09:14 +10:00
809e7b0421
iostream: use consistent ostream format
2016-03-11 13:01:57 +11:00
4cd6dcc85c
region: use size_type for scaling param
2015-10-19 17:08:08 +11:00
bcaa6c7428
region: add cast function
2015-09-21 15:33:58 +10:00
c4f773f129
coord: use explicit constructors consistently
2015-09-09 18:45:23 +10:00
2658b41ea1
relicence under Apache-2.0
2015-04-13 18:05:28 +10:00
426fc1c848
region: remove two-scalar constructor
...
two-scalar constructor is too similar to extent and point constructors
leading to unexpected initialisation problems.
2015-04-02 15:01:17 +11:00
e461654de8
coord: split coord header into components
2015-03-06 01:46:01 +11:00
439bb19679
coord: move operators out of subclasses
2015-03-06 01:09:58 +11:00
31d1d741e9
extent/region: update to use size parameters
2015-03-03 04:13:29 +11:00
69864bdfcd
region: add rebase method
...
sets region base point
2015-03-02 18:49:12 +11:00
3e2c70f251
region: add magnitude setter
2015-03-02 18:49:12 +11:00
84c957440b
region: add extent-only constructor
2015-02-20 21:53:34 +11:00
0a153e8e12
region: add vector subtraction operator
2015-02-20 16:06:46 +11:00
ba878238af
region: add vector addition operator
2015-02-20 15:26:59 +11:00
cb5e76cff9
region: rename far to away
...
far is a reserved word in win32
2015-02-18 02:32:52 +11:00
c7a868beac
region: add two point constructor
2015-02-17 18:25:29 +11:00
e1ebacb16a
region: add far corner query
2015-02-17 16:24:33 +11:00
8ea1a04f57
region: add extent query method 'size'
2015-02-17 16:24:16 +11:00
6bd9ad333c
region: try to use unsigned types for extent
2015-02-17 16:23:54 +11:00
93ec5be1f3
coord: add elements and value_type constants
2015-02-17 16:22:12 +11:00
f7f84ef6b8
region: add dimension and value_type constants
...
for interoperability with vector and point classes
2015-02-16 23:38:08 +11:00
1db9057c95
region: add per-axis expansion calls
2015-02-04 15:44:51 +11:00
c185ea7226
region: add integer typedef, region2i
2015-01-22 15:00:35 +11:00
a782a61983
region: allow uninitialized construction
2015-01-22 15:00:20 +11:00
d23abfc727
region: use position_type for x,y
2015-01-22 14:58:42 +11:00
76b51e04b2
region: add expansion methods
2015-01-22 14:58:29 +11:00
91ecc49d68
region: add inset method
2015-01-21 23:40:13 +11:00
fe143717c5
region: style, comments, namespacing
2015-01-21 23:40:13 +11:00
1f93f907af
region: add region2f convenience typedef
2015-01-16 14:44:04 +11:00
a9c723326b
whitespace
2015-01-16 14:42:56 +11:00
19317eb3ea
region: add convenience typedef region2u
2015-01-15 14:01:15 +11:00
0112d663ff
region: add point/extent constructor
2015-01-15 14:01:05 +11:00
5956d0421e
parameterise point, vector, region, matrix on type
2014-12-15 20:10:56 +11:00
d1ed7107ae
region: remove vector addition operator
...
It is unclear what this operator was supposed to do, and triggers a
number of sign and type warnings. Re-add later if necessary under a more
descriptive name.
2014-07-02 15:47:53 +10:00
0e36781721
Add manhattan closest calculation
2013-09-18 13:52:11 +10:00
f256f4d0e9
Add a point constrain method to region
...
Force a point to not exceed the region boundaries.
2013-08-05 16:38:05 +10:00
1f37a8d04c
Add constrain operation for points in regions
2013-07-30 23:52:09 +10:00
847242a59f
Add scale operation for regions
2013-07-30 23:51:55 +10:00
baf8ded43d
Add UNIT and MAX region objects
2012-06-15 16:38:57 +10:00
71c0f02873
Make region dimensions the same type as positions
...
There are just far too many warnings issued for signedness differences
for it to be practical to cast every time.
Unsignedness was hiding the issue of dimensions being larger than
positions could express anyway.
2012-06-14 18:30:08 +10:00
9447910061
Add structure for region iterator
...
It is not currently enabled as the exact semantics aren't really known,
but as we're likely to want something similar later then we shouldn't
throw the code away.
2012-06-14 18:29:09 +10:00
4fa7789786
Instantiate templates in their enclosing namespace
2012-06-13 16:01:42 +10:00
b960319436
Add position_type typedef for regions
2012-06-08 16:49:09 +10:00
45a1b6b93c
Make width/height unsigned where possible
2012-05-25 15:30:28 +10:00
40c40507f9
Give vector and point templated dimension size
2012-05-18 17:56:24 +10:00