Commit graph

120 commits

Author SHA1 Message Date
bdd32ad40f Add rotate(vector, angle) function 2021-05-17 20:20:39 +03:00
ebe3570b96 Fix geom::intersection 2021-05-08 22:01:57 +03:00
bcc908d064 Add lerp/unlerp for boxes 2021-04-25 16:41:29 +03:00
8780a2d7e5 Add angle(vector,vector) 2021-04-25 14:39:25 +03:00
bea016fac0 Add angle(vector<T,2>) 2021-04-25 14:39:16 +03:00
e02efd2f7b Add 2D angle -> direction function 2021-04-10 16:47:51 +03:00
78eec7085d Support creating box from endpoints 2021-04-10 16:47:22 +03:00
b45f605209 Fixes in quaternion inverse computation 2021-03-14 16:36:24 +03:00
b4731b77df Implement constructing quaternion from matrix 2021-03-13 16:41:19 +03:00
ee2f5960f4 Add idiv & imod functions 2021-03-12 14:42:31 +03:00
c835925ca7 Add geom::angle_difference 2021-03-11 21:34:03 +03:00
8284ea51bd Add geom::point hash 2021-03-09 23:06:45 +03:00
d9fb3b1be6 Add simplex + vector operator 2021-03-05 23:13:11 +03:00
4914be8099 Proper sfinae for vector & point constructors instead of static_assert 2021-03-04 18:37:07 +03:00
2f56f0caa2 Add hash for geom::vector 2021-03-04 14:29:09 +03:00
576bc8b91a Add geom::unlerp 2021-03-04 10:01:56 +03:00
32461e205e Add geom::clamp(point, box) 2021-03-04 10:01:49 +03:00
db2fb3095d Add segment-box intersection 2021-02-17 23:11:42 +03:00
67918449bc Add ray stream output operator 2021-01-27 16:17:16 +03:00
7155aa49e8 Add interval equality comparison operators 2021-01-27 16:17:05 +03:00
2a04f0d421 Add generic swizzling function 2021-01-25 22:16:24 +03:00
b2012aaa77 Add quaternion slerp 2021-01-25 22:14:54 +03:00
df85b5eac5 Make quaternion constructor accept a vector instead of coordinates 2021-01-25 22:12:05 +03:00
e871517909 Add quaternions & quaternion-based rotations 2021-01-25 00:59:13 +03:00
2d7d38bc6d Add affine_transform::identity 2021-01-25 00:51:06 +03:00
2722dd291b Fix matrix::scalar 2021-01-25 00:50:47 +03:00
18fa286896 Add simplex comparison operators 2021-01-23 21:33:59 +03:00
07924aa0d5 Various clang compilation issues 2021-01-18 20:02:35 +03:00
2205b5e2a7 util/io_fwd was a bad idea 2021-01-18 18:17:57 +03:00
d7469920de Clang compilation fixes: use non-template stream output operators 2021-01-18 18:11:01 +03:00
f0611657ac Generate empty source file for libraries with no sources 2021-01-18 18:10:35 +03:00
e7cac4a618 Clang compilation fixes 2021-01-18 18:01:03 +03:00
9995f38ab0 Primitives of dynamic dimension, part 1: make vector, point & matrix dimensions retrievable via non-static functions 2021-01-16 23:26:57 +03:00
5133695c6f Add matrix tests 2021-01-16 22:46:52 +03:00
0944797a3e Add lerp & slerp tests 2021-01-16 22:46:07 +03:00
14c5fda1a7 Implement matrix trace 2021-01-16 22:43:45 +03:00
71bafff64d Implement matrix Frobenius (L2) norm 2021-01-16 22:43:22 +03:00
7698e54b18 Support indexing zero-dimensional matrices 2021-01-16 22:42:55 +03:00
6d22ae95c7 Add geom vector & point tests 2021-01-16 19:06:27 +03:00
5d968accdb Support zero-dimensional points, matrices, and boxes 2021-01-16 19:05:59 +03:00
4f0b804656 Add scalar-interval distance function 2021-01-15 17:58:54 +03:00
d891d21ec2 Support 0-dimensional vectors 2021-01-15 17:58:20 +03:00
c525383a42 Add matrix stream output operator 2021-01-15 17:57:58 +03:00
918858aea5 Support different types of interpolated object & interpolation coefficient in geom::lerp 2021-01-15 17:57:37 +03:00
76c714b158 Add geom::box::full 2020-12-16 11:05:29 +03:00
b2b6d18dd0 Add matrix unary minus 2020-12-16 11:05:29 +03:00
547b7e8a31 Implement negating an interval 2020-12-13 13:24:21 +03:00
49cf0b2359 Add expend(box,vector) 2020-12-12 15:54:15 +03:00
76c465903b Support constructing orthographic_camera from 2d box 2020-11-29 12:26:43 +03:00
5ab15e263a Add geom::solve for solving simple linear equations 2020-11-29 12:26:22 +03:00