Commit Graph

90 Commits

Author SHA1 Message Date
ec0cb7d2c1 region: remove scale operation
it's not immediately apparent how scale operates on both of point and
extent components. rather than complicate matters we remove them in
preference of letting the user construct it directly.
2017-08-11 15:20:48 +10:00
9abfef2769 region: remove mutating point constrain function 2017-08-11 15:19:14 +10:00
31d2e6bfd8 region: remove duplicate point/region coverage tests 2017-08-11 15:15:44 +10:00
f36a14973a region: add `encloses' test for subregions 2017-08-11 14:39:46 +10:00
72f631ab4b region: remove `expanded' function
we're trying to move away from mutating operators.

also, we do the bad thing of just renaming the non-mutating operator
given it appears no one is using the mutating operator in our code bases
anyway...
2017-08-09 17:28:53 +10:00
b6edf25cd8 region: remove the resize method
we're moving away from mutating operators so this is somewhat
out-of-place. it's not a huge functional change though as there are
enough locations where the internal representation of point/extent are
assumed that we just do it through the members.
2017-08-09 17:27:28 +10:00
fc41f0991d region: add overload of inset for vectors 2017-08-09 17:17:55 +10:00
1248f15e4f region: relax assertion to allow zero width/height
some degenerate cases create regions of zero area, but non-zero
dimensions. eg, vertical linear bezier curves.
2017-07-28 14:26:42 +10:00
d29276a427 region: add "has" point query 2017-07-25 17:10:16 +10:00
db5795c25a region: remove array constructor
the meaning of the array values weren't particularly clear. are they
point-point, point-extent, something else? also the implementation was
horribly incorrect for whatever it claimed to be doing. so we remove the
function entirely to avoid the aforementioned ambiguity.
2017-07-19 17:19:37 +10:00
dca8b174c6 build: add forgotten clang/gcc7 headers 2017-05-16 17:12:14 +10:00
353cf839d4 use nested namespace declarations 2017-01-05 15:06:49 +11:00
74f7bc2e1a region: make ostream output spacing consistent 2016-12-21 16:45:08 +11:00
2dcb315ce6 region: prefer constexpr functions over static variables 2016-12-12 17:07:53 +11:00
f6116eb63e point: prefer constexpr functions over static variables 2016-12-12 17:06:04 +11:00
249f8adfed region: forward is_valid to component point and extent 2016-10-25 19:59:06 +11:00
e5d44d0c6d coord: instantiate signed types 2016-10-25 17:50:11 +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
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
00eca4445b debug: use less complex specialistion for validator 2016-08-10 17:36:25 +10:00
8f8896b0f6 debug: use appropriate signed literals for CHECK 2016-08-10 17:34:54 +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
424e6e8701 cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
1de33ce53c debug: use new namespace 2015-10-29 10:45:42 +11:00
4cd6dcc85c region: use size_type for scaling param 2015-10-19 17:08:08 +11:00
d73e86b374 coord: avoid casting errors for coord types 2015-10-19 12:06:03 +11:00
86834281b8 coord: add 16 bit value instantiations 2015-09-22 17:24:16 +10:00
69443f2c2a region: use explict constructors for member vars 2015-09-09 18:45:23 +10:00
c3c1b9cc39 region: fix potential infinite recursion 2015-09-08 14:33:59 +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
1ec7761309 region: add calls to debug::sanity 2015-03-07 03:20:28 +11:00
832472c861 extent,region: instantiation for 3d types 2015-03-06 17:52:40 +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
08783ef1a3 region: use correct width/height in inset test 2015-03-02 18:49:13 +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
b50a8289b9 region: space 2015-02-17 16:25:41 +11:00
8383b7e2ed region: offset max region's base
stops signed types from only covering negative coordinate regions
2015-02-17 16:24:49 +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