Commit Graph

2087 Commits

Author SHA1 Message Date
07d74187c5 geom/aabb: don't write the class name with ostream operators 2017-08-24 17:52:59 +10:00
e573c0bcc6 geom/aabb: style and headers 2017-08-24 17:52:46 +10:00
8b2c1d3fd2 coord/init: make 1-dimension constructor explicit 2017-08-24 17:52:06 +10:00
1277975708 geom/aabb: add brief class description 2017-08-24 17:27:46 +10:00
f53b547a40 geom/aabb: prefer to use vector operations over loops 2017-08-24 17:27:31 +10:00
e82d770d2b geom/aabb: move inclusive point query into header 2017-08-24 17:21:23 +10:00
d47f52b63f geom/aabb: use vector operations for inclusive test 2017-08-24 17:12:17 +10:00
9fe8998476 geom/aabb: rename overlaps as inclusive for consistency 2017-08-24 17:11:48 +10:00
94e02fced4 geom/aabb: make the equality operator a free function 2017-08-24 17:08:37 +10:00
56444b4a50 geom/aabb: add (minimally) more thorough test data 2017-08-24 17:02:18 +10:00
1cea1600d3 geom/aabb: change contract/expand semantics to mirror region 2017-08-24 17:01:16 +10:00
f77cdabaee geom/aabb: dont use mutating function naming convention 2017-08-24 16:47:02 +10:00
cd1bb730f2 geom/aabb: rename AABB to aabb 2017-08-24 16:43:54 +10:00
359702fb86 geom/aabb: remove mutating operators 2017-08-24 16:25:57 +10:00
dba4e673ca coord/ops: add scalar/vector relational operators 2017-08-24 16:25:27 +10: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
efb719b822 coord/base: add indices method 2017-08-24 14:39:54 +10:00
ad345f19d5 coord/base: add restrictions to redim with/out params
redim to lower dimensionality should not allow a parameter, and redim to
higher dimensions should require a fill parameter.
2017-08-24 14:39:54 +10:00
1d4992e3e4 coord/base: add comments for constructors 2017-08-24 14:39:54 +10:00
a14847bb59 vector: add and correct 4-dimension types 2017-08-24 14:39:54 +10:00
0b52ef47be coord/ops: make make_foo functions constexpr 2017-08-24 14:39:54 +10:00
84963aacf8 coord/ops: make 'all' and 'any' constexpr 2017-08-24 14:39:54 +10:00
14718594c9 coord: add tests for vec/num/num overload of util::limit 2017-08-24 12:50:17 +10:00
ac19e165ba coord/ops: add comment for util::limit 2017-08-24 12:49:59 +10:00
e134d911e6 geom/ray: reinsert is_normalised check for direction param 2017-08-24 12:27:18 +10:00
d8e4354f22 maths: only enable util::limit for scalar types
this reduces conflicts with the coord limit operation.
2017-08-24 12:26:36 +10:00
1d988608c1 geom/ray: add an (explicitly) default constructor 2017-08-22 17:23:36 +10:00
2576061b26 ray: extract make member function as free function
for consistency with other make_foo functions. to be replaced with
deduction guides in the future.
2017-08-22 15:46:49 +10:00
8b089d412c matrix: add fallback implementation for inverse_affine 2017-08-22 15:06:16 +10:00
10f777c380 matrix: remove mutating operations 2017-08-22 15:05:58 +10:00
a016e98b12 region: add make_range for regions
introduces an object that provides iterators suitable for row-major
scanning of points covering a region object. mostly a wrapper for the
equivalent extent_range.
2017-08-21 18:48:52 +10:00
439809ca65 adapter: add make_reverse for reverse adapter 2017-08-21 16:51:03 +10:00
dcdfa339d7 adapter: actually perform the reverse in reverse adapter 2017-08-21 16:50:46 +10:00
46d28ba7be debug: add variable escape and memory clobber functions 2017-08-18 11:15:00 +10:00
c49738e7a3 coord/ops: add elementwise limit operation 2017-08-16 17:26:16 +10:00
d6b77f879f region: add convenience zero() constructor 2017-08-16 17:25:56 +10:00
651324d6f9 tuple: clarify warn_unused_arg usage for ignore(...) 2017-08-16 17:25:29 +10:00
959bc85987 range: add signed integer instantiations 2017-08-15 16:44:54 +10:00
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
ff5e6945e3 signal: remove unused code 2017-08-08 13:55:20 +10:00
6ecab5b6d0 signal: warn if discarding auto-disconnect cookies 2017-08-08 13:55:06 +10:00
96d621a461 signal: don't forward arguments we may reuse 2017-08-08 13:54:45 +10:00
2b3ef6dbc6 debug: correct CHECK_NEZ error message 2017-08-02 16:17:24 +10:00
5634e59dc5 view: don't return references to iterators
we emulate string_view behaviour. modifying our iterators behind our
backs isn't a great way to ensure invariants are kept.
2017-08-01 14:47:44 +10:00