Commit graph

67 commits

Author SHA1 Message Date
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
eb1f5d49ff Add a free-flying camera 2020-10-02 19:18:55 +03:00
d421fc8c65 Add easing function, move gradient to a separate header 2020-10-01 09:44:47 +03:00
1e4fb66a89 Move generic lerp to math.hpp 2020-10-01 09:44:47 +03:00
d72e01e34e Add a gradient helper class 2020-09-30 18:59:47 +03:00
4bb287eb70 Add n-dim versions of orientation(points) and add orientation(vectors) 2020-09-30 07:22:27 +03:00
767eb786d5 Add a helper for triangulating convex polygons 2020-09-30 07:21:40 +03:00
fb9134993c Add a file for general geometric mesh utilities 2020-09-29 19:18:39 +03:00
ebcd2906a8 Move deg, rad to math.hpp 2020-09-29 19:18:39 +03:00
2b57e3e696 Add generic affine transform class & unify transform interfaces 2020-09-29 19:18:35 +03:00
98ff134d3a Add point-box distance 2020-09-28 11:03:30 +03:00
9a47bddb73 Add math utilities header & sqr function 2020-09-28 11:03:19 +03:00
e7e419a931 Add arbitrary-matrix camera 2020-09-27 11:59:57 +03:00
6c4ed1b61d Fix gram_schmidt recursive base ODR 2020-09-27 11:59:33 +03:00
81cafa6f05 Add ray-simplex intersection 2020-09-26 23:23:40 +03:00
5d44efa2ea Add geom::point::zero() 2020-09-24 12:44:36 +03:00
1571e9032b Add ray-box intersection 2020-09-23 22:25:39 +03:00
fb0d926a73 Fix geom::intersection template argument deduction issues 2020-09-23 22:25:28 +03:00
cf99917272 Add geom::interval::full 2020-09-23 22:24:43 +03:00
4410597e44 Add geom::ray primitive 2020-09-23 22:23:37 +03:00
2dd9ebae76 Add camera::direction() 2020-09-23 21:56:25 +03:00