We are happy to announce the release 1.4 of DGtal and its tools. As always,many new features, edits and bugfixes are listed in the Changelog, and we would like to thank all devs involved in this release. In this short review, we would like to only focus on selected new features.
-
New Features:
- Implicit shapes can be constructed from point clouds using generalized winding numbers from libIGL.
SurfaceMesh
instances can be updated through flip operations.- Lattice polytopes describing segments or triangles can be constructed in a much more efficient manner.
- Update of the Discrete Polygonal Calculus module to construct a calculus on a corrected geometry (when the discrete tangent planes are given by user-provided normal vectors).
- A brand new style for the DGtal documentation.
- DGtal now requires C++17 compilers.
-
DGtalTools/DGtalTools-contrib:
- New
volscope
tool in DGtalTools for quick visualization of VOL files. - New tools to edit and color meshes in DGtaltools-contrib (
polyMeshEdit
andpolyMeshColorize
)
- New
-
Project Management. Many updates of the DGtal repository: new documentation style, new CI and deploy bots for the python binding (using Github Actions), easier build on Windows, many bug and warning fixes...
DGtal 1.4
New features / critical changes
-
General
- Major update: C++17 is now required for DGtal. (David Coeurjolly, #1682)
- Mandatory dependencies and some optional ones can be setup by conan.io, especially on Windows, new
ENABLE_CONAN
cmake option to activate this. (David Coeurjolly, #1689) - Faster build using CPM for dependency download and ccache with the cmake
USE_CCACHE=YES
option (ccache must be installed). (David Coeurjolly, #1696) - Better documentation style using doxygen-awesome.css. (David Coeurjolly, #1697)
-
Geometry
- New implicit shape from point cloud using LibIGL Winding Numbers. (David Coeurjolly, #1697)
Changes
-
General
- Renaming AUTHORS→CONTRIBUTORS for HAL (David Coeurjolly, #1699)
- Python bindings and Pypi deploy are now handled by Github-Actions (Bastien Doignies, #1721)
- Add CMake option DGTAL_WRAP_PYTHON (Pablo Hernandez-Cerdan, #1700)
- Upgrade of the conan scripts (for windows build) to conan 2, removing the ENABLE_CONAN option (documentation update instead) (David Coeurjolly, #1729)
-
IO
- New method to change the mode of the light position in Viewer3D (fixed to camera or the scene) (Bertrand Kerautret, #1683)
- Add a new method to store material information in obj file in MeshReader and MeshWriter. (Bertrand Kerautret, #1686)
- Fix duplicate symbols on Windows due to stb_image, see issue #1714 (David Coeurjolly, #1715)
-
Shapes
- Add flips to SurfaceMesh data structure (Jacques-Olivier Lachaud, #1702)
- Add method to remove isolated vertices in Mesh, improve obj material reading from potential obsolete path. (Bertrand Kerautret,
#1709) - Update of the WindingNumberShape constructor to allow external computation of point areas (David Coeurjolly,#1719)
- The WindingNumberShape class can output the raw winding number values (David Coeurjolly,#1719)
-
DEC
- New helper functor to construct an embedder to correct the PolygonalCalculs (projection onto estimated tangent planes) (David Coeurjolly, #1730)
-
Geometry package
- Add creation of polytopes from segments and triangles in ConvexityHelper and 3-5xfaster full subconvexity tests for triangles
in DigitalConvexity (Jacques-Olivier Lachaud, #1717)
- Add creation of polytopes from segments and triangles in ConvexityHelper and 3-5xfaster full subconvexity tests for triangles
-
Project
- Add CMake option DGTAL_WRAP_PYTHON (Pablo Hernandez-Cerdan, #1700)
-
Github
Bug fixes
-
General
- Missing
boost/next_prior.hpp
includes in ReverseIterator, Melkman and Convex Hull files (David Coeurjolly, #1716) - Activate and fix CTest tests on windows system. (Bertrand Kerautret, #1706)
- For now, removing Cairo deps install on windows (6hours long build with conan in the windows debug mode). (David Coeurjolly,
#1705) - Fix conan file upload issue and log message. (Bertrand Kerautret, #1704)
- Fix of couple of doxygen warnings that cause errors on Github Actions CI bots. (David Coeurjolly, #1672)
- Removing "WITH_BENCHMARK" option as Google Benchmark is already included when building the unit tests. (David Coeurjolly, #1674)
- Removing unnecessary includes to speed-up compilation (David Coeurjolly, #1680)
- Upgrading pybind11 to v2.9 or python binding (David Coeurjolly, #1685)
- Many warning fixed (due to c++17 upgrade. (David Coeurjolly, #1691)
- WITH_COVERAGE option removed. (David Coeurjolly, #1691)
- Cleanup of cmake targets when BUILD_TESTING is disabled (David Coeurjolly, #1698)
- Cleanup of the cmake script for dependency discovery (David Coeurjolly, #1697)
- Cleaning up unnecessary ModuleSRC.cmake files (David Coeurjolly, #1711)
- Fixing install path of CPM in the DGtalConfig.cmake.in (David Coeurjolly, #1713)
- DGTAL_LIBRARIES cmake flag now contains the Deps (David Coeurjolly, #1728)
- Missing
-
Topology package
- Fix KhalimskySpaceND to get it work with BigInteger (Tristan Roussillon, #1681
-
Geometry package
-
IO
-
Examples
-
Shapes
- Removing libIGL warnings in WindingNumber classes (David Coeurjolly, #1722)
-
DEC