Commit Graph

2978 Commits

Author SHA1 Message Date
d011c60359 point: add convenience centroid function 2018-04-26 16:30:16 +10:00
c5d142ec9a debug: seperate SCOPED_SANITY from CHECK_SANITY
the former is for checking immediately and a scope exit, the latter is
for checking immediately.
2018-04-24 15:12:09 +10:00
f5399450ab debug: add RETURN_UNLESS convenience macro
returns a given value unless a condition is true. primarily useful for
computing is_valid and breaking if one of the preconditions isn't valid.
2018-04-24 15:11:18 +10:00
e2b55c7ee5 kmeans: use norm as default metric
this avoids relying on 'point' being the coordinate type
2018-04-24 11:53:58 +10:00
337e53b725 kmeans: allow parameterised distance metrics 2018-04-23 23:19:14 +10:00
44d5b655ab geom/plane: correct the sense of coefficient `D' 2018-04-23 22:14:05 +10:00
6290f0be93 geom/plane: add furthest point finder 2018-04-23 15:41:58 +10:00
87dda1c568 point: avoid signedness warnings for furthest point 2018-04-23 15:40:51 +10:00
ced76721ac maths: add array max/min convenience functions 2018-04-23 15:40:24 +10:00
90244c5347 debug: remove overly complicated specialisation of validator 2018-04-23 15:39:20 +10:00
97f64490cf debug: add WARN_RETURN macro 2018-04-23 15:39:07 +10:00
f3f26fca64 geom/plane: use 'd' contribution for distance 2018-04-20 15:32:20 +10:00
aab066593b geom/segment: add trivial segment representation 2018-04-20 15:08:06 +10:00
cce9333b65 geom/ray: style 2018-04-20 15:08:06 +10:00
cc83dd8713 geom/plane: add point-plane distance 2018-04-20 15:08:06 +10:00
dd369c7c9c geom/plane: add make_plane convenience function 2018-04-20 15:08:06 +10:00
56a73275c1 geom/line: add basic line class 2018-04-20 15:08:06 +10:00
e7b12e7792 alloc/raw/linear: add offset overload for views 2018-04-20 15:08:06 +10:00
09b9c1dc8b alloc/raw/linear: don't align by default 2018-04-20 15:08:06 +10:00
cbce5803b5 allocator: return a view, not a pointer. for safety. 2018-04-20 15:08:06 +10:00
443112b33c geom/plane: add trivial plane tests 2018-04-20 15:08:06 +10:00
08073b6ba1 debug: add is_valid for floats 2018-04-19 20:32:30 +10:00
44ef094d04 build: add poisson sample demo 2018-04-19 13:49:55 +10:00
89defb3bc2 geom/sample: add trivial poisson sample generator 2018-04-19 13:27:43 +10:00
f31a344912 kmeans: add naive kmeans impl 2018-04-18 21:48:55 +10:00
dcd789a075 geom/ellipse: add naive covering ellipse impl 2018-04-18 21:48:55 +10:00
eeb5215921 traits: addd array specialisation for is_container 2018-04-18 21:48:55 +10:00
b8253536ea vector: add hughes-moeller make_basis 2018-04-18 21:48:55 +10:00
999ec1c35c quaternion: add matrix multiply convenience method 2018-04-18 21:48:55 +10:00
eb2b85c4f6 point: add query for furthest pair 2018-04-18 21:48:55 +10:00
5ba9da1828 debug: check sanity at end of scope for CHECK_SANITY 2018-04-18 21:43:58 +10:00
fe88708c50 coord: relax restrictions on is_normalised 2018-04-18 21:43:40 +10:00
8a2055abfc WIP ellipse area 2018-04-17 17:11:41 +10:00
06350b53cf geom/ellipse: add sample_surface function 2018-04-17 17:11:29 +10:00
9affc28807 coord: make the pow function actually work... 2018-04-17 17:02:08 +10:00
e0f0e3b19b coord: add product function 2018-04-17 17:01:53 +10:00
1678cb3a69 maths: add rsqrt convenience function 2018-04-17 17:01:29 +10:00
76c809f031 point/vector: homog no longer takes a size parameter 2018-04-17 14:26:23 +10:00
0f9fb9b515 coord: add general store template and 5-element init 2018-04-17 14:25:04 +10:00
f7a9dc598f geom/ray: forward declare ostream operator
may be required for CHECK_SANITY
2018-04-16 16:44:26 +10:00
675969936e geom/ray: remove useless deduction guide 2018-04-16 16:44:11 +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
87d442772c geom/ops: remove point-point distance via sfinae
point-point distance is already defined outside of the geom namespace
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
ce246f8aa2 ellipse: add ray distance query 2018-04-16 16:00:32 +10:00
63fb76c24c geom/ray: ensure direction is normalised after transform 2018-04-16 16:00:35 +10:00
4dcd10243c geom/ray: add validator specialisation 2018-04-16 16:00:32 +10:00
401c59bc0e tap: add proof-of-concept printf chaining 2018-04-16 16:00:32 +10:00
52fcb847c9 vector: add validator specialisation 2018-04-16 16:00:32 +10:00