Commit graph

103 commits

Author SHA1 Message Date
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
c7b44a6925 Add box::corner - N-d lerp inside a box 2020-11-29 12:25:46 +03:00
a7f067bedb Add shrink & expand functions for intervals & boxes 2020-11-29 12:25:25 +03:00
d5495a52ce Add geom::sign function 2020-11-29 12:24:52 +03:00
75b847ec23 Add geom::lerpn - n-ary baricentric interpolation 2020-11-23 18:14:06 +03:00
c89deef9cf Change free camera: any possible orientation now 2020-11-08 16:18:34 +03:00
957493e2e2 Add template deduction guides for transformation classes 2020-11-08 16:15:30 +03:00
1771f56508 Fix all stream output operators: operator<< might return a different stream type 2020-11-06 17:34:57 +03:00
dfcec0a1ee Add point-triangle distance 2020-11-05 16:52:05 +03:00
e4be2e9322 Move point-segment distance to distance.hpp 2020-11-05 16:51:55 +03:00
621fac8451 Rewrite point-segment distance 2020-11-05 16:50:25 +03:00
76dd07c266 Add segment-simplex intersection 2020-11-05 16:44:15 +03:00
a1ecc8a2d6 Fix ray-simplex intersection 2020-11-05 16:41:41 +03:00
1bebfebb6d More precise vector length computation 2020-11-05 16:41:02 +03:00
e9b408ef77 Fix unhandled enum warning 2020-11-05 16:36:41 +03:00
f9dbc9138f Add a quadratic solver that assumes real roots 2020-11-04 10:31:02 +03:00
e8219b7139 Fix error in quadratic solver 2020-11-04 10:30:37 +03:00
d9f06efb57 Add quadratic solver 2020-10-24 19:36:58 +03:00