Commit graph

36 commits

Author SHA1 Message Date
5ce8647b3d Fix cg::separation for 2D bodies 2023-01-23 19:07:33 +03:00
ee9847a904 Fix cg::delaunay for some weird circular cases 2022-12-23 13:26:41 +03:00
eb33aa3b91 Fix handling degenerate states in cg::triangulation 2022-12-23 10:02:06 +03:00
1198653891 Tweak polygon ear clipping to behave well with duplicate vertices 2022-12-16 01:55:21 +03:00
7a57c1c1d8 Re-implement monotone chain triangulation to output a DCEL 2022-09-19 23:35:33 +03:00
92ad22f656 Add cg::fill_missing_faces that creates faces for edge loops without a connected face 2022-09-19 23:35:03 +03:00
51e6f8ad9c Rewrite ear-clipping triangulation to output dcel 2022-09-17 00:40:00 +03:00
34d9e67960 Store previous edge in dcel edges to support non-triangle meshes 2022-09-17 00:37:55 +03:00
83f1ac4202 Make cg::triangulation & cg::delaunay return dcel with nothing but connectivity data and using the input vertex order 2022-09-16 19:40:27 +03:00
0fe4477097 Add cg::edge_mesh(dcel) and cg::triangle_mesh(dcel) 2022-09-16 19:39:42 +03:00
b7e070a3a6 Implement const dcel handles 2022-09-16 19:22:24 +03:00
4c976272c5 Switch from define-based to tag-based robust predicates switch 2022-09-16 18:57:53 +03:00
30546a505e Fix triangulation static assert on dimension 2022-09-16 17:34:58 +03:00
b2a714f88a Add monotone chain simple polygon triangulation 2022-09-15 14:42:13 +03:00
2e44978ff3 Add ear clipping simple polygon triangulation 2022-09-15 14:42:05 +03:00
0557737d39 Fix cg::bbox 2022-09-15 14:41:11 +03:00
94cb475ecc Add generic ndtree implementation 2022-06-29 12:13:10 +03:00
fa27ef4d79 Support early exit in cg::separation for intersection tests 2022-06-29 12:12:51 +03:00
2fd8e73738 Fix cg::icosahedron - should implement triangles() instead of faces() 2022-04-21 22:16:00 +03:00
ae4ee3488a Replace cg::body_traits::dimension with constexpr dimension template variable 2022-01-08 15:44:57 +03:00
eff7f397b4 Add default implementation of cg::vertices 2022-01-08 15:44:28 +03:00
385efe5ff9 Fix cg::edges 2022-01-07 23:48:43 +03:00
79b9a8dd76 Add cg::frustum default constructor 2021-07-21 22:05:45 +03:00
72921c06e3 Add methods to calculate polygon geometric center & center of mass 2021-06-20 15:53:40 +03:00
2b8814e472 Change cg::dimension(body) to cg::body_traits<Body>::dimension 2021-05-28 11:50:20 +03:00
7eb589532c Fix 'no return statement' warning for separation function 2021-05-07 18:20:43 +03:00
4439218141 Add polygon area & inertia computation functions 2021-05-07 17:38:06 +03:00
b8ac384770 Implement 2D convex separation routine & change separation return type 2021-05-07 17:37:45 +03:00
a04aac5968 Add 2D convex polygon body 2021-05-07 17:37:15 +03:00
fc9e603a13 Add 2D convex bodies interface & constexpr dimension retrieveing function 2021-05-07 17:37:01 +03:00
891c3a0fbd Add 3D quickhull implementation (ported from older geom) 2021-01-23 21:34:21 +03:00
f0611657ac Generate empty source file for libraries with no sources 2021-01-18 18:10:35 +03:00
1a6444d010 Add convex body utilities to cg 2020-11-05 18:11:26 +03:00
d2d88ba7c5 Add 'psemek-' prefix to all psemek targets 2020-09-21 09:04:40 +03:00
6225f89f88 Uniformize code style & do a few code rearrangements 2020-08-27 16:49:46 +03:00
549f2ada41 Add util, geom, cg, pcg & gfx libs 2020-08-27 13:36:16 +03:00