Skip to content

Release 1.4

Latest
Compare
Choose a tag to compare
@dcoeurjo dcoeurjo released this 10 Jun 15:44
· 83 commits to master since this release
d0f128b

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 and polyMeshColorize)
  • 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=YESoption (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)
  • Project

    • Add CMake option DGTAL_WRAP_PYTHON (Pablo Hernandez-Cerdan, #1700)
  • Github

    • New /builddoc and /fullbuild commands on PR comments (David Coeurjolly, #1683)
    • Continuous integration on windows is now performed by Github Action instead of Appeveyor (David Coeurjolly,
      #1689)

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)
  • Topology package

    • Fix KhalimskySpaceND to get it work with BigInteger (Tristan Roussillon, #1681
  • Geometry package

    • Fix Issue #1676 in testStabbingCircleComputer (Tristan Roussillon, #1688
    • Fix BoundedLatticePolytopeCounter::countInterior method (Jacques-Olivier Lachaud, #1717)
    • Fix const attribute that shouldn't be in FreemanChain (Colin Weill--Duflos, #1723)
  • IO

    • Fix of the getHSV method in the Color class. (David Coeurjolly, #1674)
    • Fix of SurfaceMeshWriter::writeIsoLinesOBJ (Jacques-Olivier Lachaud, #1701)
    • Fix of the PointListReader::getPolygonsFromInputStream (Xun Gong, #1708)
  • Examples

    • Fix Issue #1675, add missing SymmetricConvexExpander.h file (Jacques-Olivier Lachaud, #1675)
  • Shapes

    • Removing libIGL warnings in WindingNumber classes (David Coeurjolly, #1722)
  • DEC

    • Fix an issue with the Geodesic in Heat Poisson solver (David Coeurjolly, #1712)
    • Removing unnecessary unt-test in testPolygonalCalculus (David Coeurjolly, #1724)