Commit graph

199 commits

Author SHA1 Message Date
f9dda53c61 Better idiv & imod implementation 2023-11-02 20:15:45 +03:00
67c7ce0878 Use concepts in geom::point and vector constructors 2023-08-15 11:47:20 +03:00
85d7a0ca33 Huge refactor: use util::exception everywhere instead of std exceptions 2023-08-06 18:33:07 +03:00
703ba37394 Add geom::isfinite for some primitive types 2023-06-21 13:17:09 +03:00
2e2df09790 Add geom::concat 2023-06-12 14:35:39 +03:00
cc4b2c645b Replace float_t with float (like wtf) 2023-05-13 00:04:41 +03:00
4b223c5ed1 MacOS compilation fixes 2023-04-28 13:21:58 +03:00
c26f626baf GCC 12 compilation fixes 2023-03-26 23:51:40 +03:00
cac70befe5 Make geom::swizzle work for boxes 2023-03-09 11:37:54 +03:00
73711b8ffa Fix geom::inverse(affine_transform) 2023-03-03 15:34:38 +03:00
ac436cb155 Add geom::simplex hash 2023-02-28 01:35:25 +03:00
84b804adf7 Add geom::gradient default constructor 2023-02-25 12:42:15 +03:00
10ddf4933b Fix bug in geom::cubic_hermite 2023-02-14 23:48:17 +03:00
43e95e89f3 Add cubic hermite spline to geom 2023-02-14 13:50:43 +03:00
fdcf0d5b88 MacOS fixes 2023-01-16 23:53:34 +03:00
f6d9b14f38 Add group -> matrix converter 2023-01-15 22:42:24 +03:00
3ed7f142d7 Comment fix 2023-01-15 22:41:51 +03:00
5a0469364f Add geom::contains(box, box) 2022-12-24 23:53:46 +03:00
3f382651c4 Add geom::polygon_distance 2022-12-15 20:11:06 +03:00
d01a8186d8 Add geom::polygon_contains 2022-12-15 20:10:57 +03:00
8688b84982 Make geom::gram_schmidt return false instead of normalizing a zero vector 2022-11-20 01:39:05 +03:00
445ac3419e Fix NaN in geom::slerp 2022-11-19 01:57:33 +03:00
28fbe8daf8 Disable GMP dependence if PSEMEK_ROBUST_PREDICATES is not set 2022-10-01 14:43:31 +03:00
4c976272c5 Switch from define-based to tag-based robust predicates switch 2022-09-16 18:57:53 +03:00
46458abd71 Improve the non-robust geom::in_circle predicate and generalize to any directions 2022-09-16 17:56:11 +03:00
742c74e07e Revert defaulted three-way comparison: ubuntu 22.04 doesn't have mingw-11 yet 2022-08-06 19:15:39 +03:00
c28b93aadc Use defaulted three-way comparison for geom::vector, point, and matrix 2022-08-05 12:02:41 +03:00
48801a69da Add geom::smoothstep & smootherstep 2022-08-04 11:43:07 +03:00
96d9a3e192 Add geom::intersection(segment,cylinder) 2022-07-10 11:13:37 +03:00
bdb1a203ff Add geom::cylinder deduction guides 2022-07-10 11:13:26 +03:00
3b509fb358 Fix geom::shortest_arc in case of 180 degree rotation 2022-07-09 11:53:39 +03:00
d157ba1cd5 Add geom::sphere deduction guide 2022-07-09 00:00:01 +03:00
11c431f38c Add geom::shortest_arc to compute smallest rotation between two 3D vectors 2022-07-05 18:32:33 +03:00
d405d3d502 Fix geom::angle(vector,vector) for dimension > 2 2022-07-05 18:32:12 +03:00
eb1e367085 Implement spaceship operator for geom::vector 2022-07-04 18:22:42 +03:00
63662124d5 Add geom::half_open_contains 2022-06-29 12:12:27 +03:00
0cb197a6c4 Fix geom::intersection(segment,box) for axis-aligned segments 2022-06-19 22:25:56 +03:00
b77060abac Support retrieving geom::matrix row or column as a vector 2022-06-17 18:51:39 +03:00
141c707562 Add geom::subdivide for subdividing an indexed mesh 2022-06-09 11:15:10 +03:00
8e081d6d06 Add geom::smooth_normals 2022-06-09 11:14:47 +03:00
0c3f4c3134 Fix geom::angle(vector, vector) 2022-05-30 12:10:25 +03:00
a22ea3d02e Refactor geom::bezier: extract a free-function de Casteljau's algorithm & support changing control points 2022-05-07 14:00:29 +03:00
afbf49950f Add geom::make_min & make_max 2022-03-16 16:23:57 +03:00
b4584f758d Add segment-sphere intersection 2022-02-21 13:05:35 +03:00
7a14ee82e6 Fix geom::intersect 2022-02-21 13:05:26 +03:00
d2a20d7882 Add safe round-up integer division 2022-02-11 14:26:15 +03:00
29bdfb4dd2 Add geom::box comparison operators 2022-02-05 12:38:51 +03:00
fdaaf58d20 Add geom::quaternion::i,j,k 2022-01-12 19:22:10 +03:00
7babed1c57 Fix geom::acos_over_sqrt_1_minus_x2 to allow arguments slightly larger than 1 to prevent NaNs 2022-01-12 19:18:24 +03:00
efc22a5bd7 Add stable implementation of acos(x)/sqrt(1-x*x) 2022-01-10 17:45:43 +03:00