Commit Graph

27 Commits

Author SHA1 Message Date
dcf87a7c17 geom/aabb: add ray-aabb distance tests 2018-05-03 17:33:42 +10:00
aab066593b geom/segment: add trivial segment representation 2018-04-20 15:08:06 +10:00
56a73275c1 geom/line: add basic line class 2018-04-20 15:08:06 +10:00
443112b33c geom/plane: add trivial plane tests 2018-04-20 15:08:06 +10:00
dcd789a075 geom/ellipse: add naive covering ellipse impl 2018-04-18 21:48:55 +10:00
8a2055abfc WIP ellipse area 2018-04-17 17:11:41 +10:00
76c809f031 point/vector: homog no longer takes a size parameter 2018-04-17 14:26:23 +10:00
f21297cad5 geom/ellipse: add ray distance tests 2018-04-16 16:00:32 +10:00
1889a76e26 geom/sphere: add glancing ray test 2018-04-16 16:00:32 +10:00
a8b3737b8b geom/ray: remove constructors so we have a POD 2018-04-16 16:00:32 +10:00
bef0aa4929 sphere: move ray tests into sphere's unit 2018-04-16 16:00:32 +10:00
56fdc7844e geom/frustum: test projection should use radians 2018-04-11 19:28:18 +10:00
a4634a771b g/frustum: simplify aabb intersection test 2018-03-28 20:42:43 +11:00
2d7e3e5d7d build: prefer iosfwd over iostream 2018-03-22 16:11:13 +11:00
0646b1c13b geom: move distance/intersection tests outside classes 2018-03-13 23:27:37 +11:00
b1276519ef geom: add simple frustum class 2018-03-13 22:37:40 +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
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11: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
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
9471b9eae7 test: ensure all tests return a useful status code
These tests were all assumed to execute correctly because CTest is not
capable of parsing the TAP output and instead relies entirely on status
codes.
2017-05-22 13:55:21 +10:00
20bafa2cfb geom: move geometry primitives to own namespace 2015-10-13 18:19:47 +11:00