Commit graph

87 commits

Author SHA1 Message Date
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
ef3fa4b091 Add box::dimensions 2020-10-24 14:33:00 +03:00
486f5f5a77 Rename box::size -> box::volume 2020-10-24 14:32:53 +03:00
42561ccadb Add distance(point,segment) 2020-10-21 22:26:41 +03:00
4de7d345a3 Fix orthographic transform inverse 2020-10-21 22:26:27 +03:00
1b3c412102 Fix orthographic transform applied to vectors & points 2020-10-21 22:26:12 +03:00
c1d9095327 Change geom::length behavior: always (max-min), even if empty 2020-10-21 22:23:57 +03:00
10e00d7c92 Add some meshing utilities 2020-10-16 07:37:44 +03:00
639f8650d4 Support constructing a matrix by rows/columns 2020-10-16 07:37:22 +03:00
6eacee38f0 Add constructors to camera classes 2020-10-16 07:36:36 +03:00
9b8026d5ba Make matrix_camera template on base projection camera 2020-10-14 22:15:52 +03:00
c562137218 Add lerp(inverval, t) 2020-10-14 22:15:15 +03:00
420695a42b Add slerp implementation for vectors 2020-10-08 10:56:55 +03:00
dc0f08e5c3 Add generic ort(vector) implementation 2020-10-08 10:48:03 +03:00
bd861a13c7 Add interval<T> argument deduction rule 2020-10-08 10:47:40 +03:00
3472bf056b Add geom::cast for intervals and boxes 2020-10-04 11:15:23 +03:00
f18fbfdcdb Fix scale transformation matrix 2020-10-03 18:44:18 +03:00