Commit Graph

30 Commits

Author SHA1 Message Date
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
6042d9ab76 geom/ellipse: remove spurious print from test case 2018-05-10 12:54:45 +10:00
c33a679e81 geom/ray: make ray intersections more robust 2018-05-04 17:10:51 +10:00
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