Big Deals
- Eigen → 3.4
- CGAL → 5.6
- OpenGL → 4.1
- CGAL and its dependencies (GMP+MPFR) compile everywhere from source via cmake
- Github actions finish faster and rarely fail due to heap size
- Shadow mapping in viewer
- Fast inexact mesh-mesh intersections
- Robust isolines
- New tutorials
- Additional unit tests
- Loads of bug fixes
- comiso and serialization are on probation
What's Changed
- Expose edges so that edge markers are actually useful in triangulate output by @alecjacobson in #1983
- Minor cleanups in ismember by @alecjacobson in #1989
- add simple igl::predicates::delaunay_triangulation(V,F) by @alecjacobson in #1988
- Clean up mesh_boolean templating by @alecjacobson in #1990
- Add +1 offset in writeOBJ for hybrid mesh by @Shuenhoy in #1962
- Use URL to download CGAL source rather than git by @alecjacobson in #1997
- Remove hardcoded ImGui menu width constraint by @abhimadan in #1991
- Compile GMP and MPFR from source by @alecjacobson in #1985
- test/lscm: fix wrong assertion by @kenshi84 in #1889
- mod: correct comments in header files. by @xarthurx in #2007
- Improved draw_buffer by @alecjacobson in #2010
- Update principal_curvature.cpp by @zhuguiqian in #2013
- further split min_quad_with_fixed templates by @alecjacobson in #2017
- remove Eigen::DynamicSparseMatrix and fix bug in sparse igl::slice_into by @alecjacobson in #2016
- Rework sparse repmat by @paul0noah in #1819
- Update Windows action. by @jdumas in #2018
- Avoid converting exact input to inexact when detecting intersections by @alecjacobson in #2019
- Bump CGAL → Boolean + remesh_*intersections performance boost by @alecjacobson in #1895
- eigen → v3.4.0 by @alecjacobson in #2011
- moments of mass by @alecjacobson in #2027
- Make CONFIGURE_HANDLED_BY_BUILD optional dependent on cmake version by @alecjacobson in #2028
- Update glad backend. by @jdumas in #2012
- point GMPXX_INCLUDE_DIR to locally built gmp by @alecjacobson in #2030
- Templates in CGAL module by @alecjacobson in #2031
- exact_geodesic: fix bugs, clean up asserts, allow 2D by @alecjacobson in #2046
- Split mesh non-manifold (and non-orientable) edges and non-manifold vertices by @alecjacobson in #2047
- Fixes a race condition in the dual contouring code. by @ubc-nvining in #2045
- Tetgen: fix bug when faces don't have markers by @alecjacobson in #2069
- lscm: fix order of UV after area term sign fix by @factoryofthesun in #1863
- fix hard coded double + template by @alecjacobson in #2106
- fixes hunter issue cpp-pm/hunter#484 with new… by @iAnyKey in #2123
- Fix typo in test that caused test failure in Debug mode by @BruegelN in #2137
- don't crash on brew update by @alecjacobson in #2138
- chore(cmake): use GIT_SHALLOW for imgui by @hh02 in #2148
- boundary_facets_optimization by @jmespadero in #2104
- Improve robustness of ICP solve when closest points and normals are degenerate by @alecjacobson in #2107
- missing template and use template type in igl::null by @alecjacobson in #2150
- throttle tight loop over glfwWaitEvents with sleep by @alecjacobson in #2151
- Shadow Mapping in igl::opengl::glfw::Viewer by @alecjacobson in #2155
- BUG: readMESH stuck in endless loop by @dyollb in #2142
- glfw viewer - high dpi: handling both width and height. by @fghoussen in #2117
- Update715_MeshImplicitFunction by @MotivaCG in #2090
- CoMISo-MRosy solver: compatibility with newer CoMISo: by @mheistermann in #2072
- Update continuous.yml to use -j2 on Windows by @alecjacobson in #2161
- bump mpfr version; add logic for mac os cross compiling by @alecjacobson in #2165
- fix
unique_rows
andsortrows
templating by @alecjacobson in #2169 - try to use j2 on windows CI by @alecjacobson in #2170
- allow 2d set_edges by @alecjacobson in #2173
- Fast mesh-to-mesh intersection and mesh self intersection without CGAL by @vfonov in #2109
- Fix ambiguous assignment operator compile error by @Q-Minh in #2157
- Add missing header for gcc 13 by @topazus in #2192
- switch to gmp mirror by @alecjacobson in #2215
- Implement full type mass matrix by @chaoli95 in #2193
- Fix CMake package installation for igl_core by @FabienPean in #2188
- use vector () by @alecjacobson in #2218
- lscm hessian and spectral by @alecjacobson in #2214
- spectra module by @alecjacobson in #2216
- Doxygen based documentation by @alecjacobson in #2233
- Cleanup #2216 by @BruegelN in #2225
- Remove deprecated functions by @alecjacobson in #2234
- Adjust igl::boundary_conditions(...) to support 3D cages by @DanStroeter in #2229
- Fix scale and reflections in Procrustes solver by @mnidza in #2226
- Fix blue_noise and random_points_on_mesh reproducibility by @alecjacobson in #2235
- Source code should not be marked as executable by @AlexanderS in #2231
- Separated png module from opengl, added unit test for png by @vfonov in #1693
- split windows header-only tutorial actions by @alecjacobson in #2238
- Alecjacobson/fix mqwf ldlt by @alecjacobson in #2239
- Split up larger tutorials by @alecjacobson in #2237
- Reduce dynamic allocations for AABB queries by @svenpilz in #2001
- Speed up of SelfIntersectMesh: by @bubnikv in #1413
- Ear clipping function fix by @hankstag in #1565
- Fix 2228 with blas check on linux by @alecjacobson in #2240
- small changes for python to compile by @alecjacobson in #2241
- Remove omp pragmas by @alecjacobson in #2242
- Fix Dual Contouring to work with single floats by @alecjacobson in #2243
- robust ray box intersect by @alecjacobson in #2244
- Fix bug in is_irregular_vertex by @alecjacobson in #2245
- support rowmajor in readmsh by @alecjacobson in #2246
- read blank lines as comments by @alecjacobson in #2247
- Euler Characteristic tests by @alecjacobson in #2250
- Robust isolines by @alecjacobson in #2251
- Remove extra calls to set_face_based by @alecjacobson in #2253
- Fix a bunch of warnings by @alecjacobson in #2254
- Expose cutoff parameter for CGAL intersections; better default by @alecjacobson in #2255
- Avoid conflicting template parameters in AABB by @alecjacobson in #2256
- Fully avoid conflicting template parameters in AABB/signed_distance by @alecjacobson in #2257
- Phase out slice for dense matrices by @alecjacobson in #2259
- fix slim doublearea -> volume for tets by @alecjacobson in #2262
- Fix most floating point exceptions by @alecjacobson in #2266
- Update MeshGL.h for successful build in Mingw Windows by @HomayoonT in #2267
- 3 new trimming methods and tutorial by @alecjacobson in #2268
- Fix bug in half_space_box by @alecjacobson in #2269
- adj list fix unref; manifold doc; icosa; tests by @alecjacobson in #2276
- Bump to OpenGL version 4.1 by @alecjacobson in #2277
- better templates for marching tets by @alecjacobson in #2279
- Custom Shader tutorial by @alecjacobson in #2281
- add gitattributes file by @alecjacobson in #2282
- writeOFF for quads etc. by @alecjacobson in #2283
- Add test for issue/2270 and a fix by @eolivi-fy in #2271
- use unit vector atan formula; split intrinsic version by @alecjacobson in #2285
- Normalize all the line endings by @evan-barentin in #2288
- bump cgal to 5.6 by @alecjacobson in #2289
- Clean up tetgen by @alecjacobson in #2290
New Contributors
- @Shuenhoy made their first contribution in #1962
- @abhimadan made their first contribution in #1991
- @zhuguiqian made their first contribution in #2013
- @paul0noah made their first contribution in #1819
- @ubc-nvining made their first contribution in #2045
- @factoryofthesun made their first contribution in #1863
- @iAnyKey made their first contribution in #2123
- @hh02 made their first contribution in #2148
- @dyollb made their first contribution in #2142
- @fghoussen made their first contribution in #2117
- @MotivaCG made their first contribution in #2090
- @mheistermann made their first contribution in #2072
- @Q-Minh made their first contribution in #2157
- @topazus made their first contribution in #2192
- @DanStroeter made their first contribution in #2229
- @mnidza made their first contribution in #2226
- @AlexanderS made their first contribution in #2231
- @svenpilz made their first contribution in #2001
- @bubnikv made their first contribution in #1413
- @HomayoonT made their first contribution in #2267
- @eolivi-fy made their first contribution in #2271
- @evan-barentin made their first contribution in #2288
Full Changelog: v2.4.0...v2.5.0