Skip to content

Releases: pmp-library/pmp-library

3.0.0

24 Aug 10:46
Compare
Choose a tag to compare

We are pleased to announce version 3.0 of the Polygon Mesh Processing Library! This is a major release with several additions and API changes. Highlights include:

  • We integrated a polygon Laplacian that enables several algorithms to work on general polygon meshes, including smoothing, parameterization, fairing, and curvature computation.
  • The geodesics in heat method has been added.
  • The algorithms API has been revamped to use a simple function-based interface.
  • New interactive online demos integrated into the algorithms guide.
  • We no longer use git submodules for handling third-party dependencies.
  • Upgrade C++ standard to C++17
  • ... a whole lot of smaller fixes, cleanups, and improvements

See the changelog for a full summary of changes.

2.0.1

26 Aug 12:50
Compare
Choose a tag to compare

This is a minor bug fix release fixing the following issues:

  • Fix shared library version
  • Fix compilation with PMP_SCALAR_TYPE=64
  • Use correct C++ standard (C++14) in public target compile options
  • Fix crash in smoothing demo app

2.0.0

14 Aug 21:53
Compare
Choose a tag to compare

Version 2.0.0

Added

  • Add support for texture seams in SurfaceSimplification, thanks to Timo Menzel.
  • Add quad/tri subdivision, thanks to Hendrik Meyer.
  • Add SurfaceFactory class to generate basic shapes. Thanks to u/lycium on Reddit for suggesting a simplification of the icosahedron() function.
  • Add support to render colors per face
  • Add support to render colors per vertex, thanks to Xiewei Zhong
  • Add function to compute volume of a mesh, thanks to Xiewei Zhong
  • Add post-increment iterators and make low level functions to add elements public. This makes it possible to use CGAL algorithms on a PMP SurfaceMesh. Thanks to Andreas Fabri for contributing the changes!
  • Add PMP_INSTALL option to CMake.
  • Add PMP_BUILD_VIS CMake option to enable / disable building the pmp_vis library and its dependencies.

Changed

  • Bump C++ standard to C++14
  • TriangleKdTree: no longer record number of tests, remove NearestNeighbor::tests member
  • Remove SurfaceSubdivision::sqrt3()
  • Remove PMP_SHOW macro
  • Remove pmp::Version class and Version.h
  • Build shared libraries on all platforms by default (except pmp_vis , see #87)
  • Bump CMake minimum required version to 3.16.3
  • Make SurfaceTriangulation::Objective a scoped enum
  • Remove SurfaceMesh::triangulate() functions to avoid redundancy with SurfaceTriangulation
  • Improve API by reporting errors using exceptions (see #16).
  • SurfaceFeatures now returns the number of boundary / feature edges detected.
  • Update Eigen to version 3.4.0
  • Update GoogleTest to version 1.12.1
  • Update stb_image to version 2.26 and stb_image_writer to version 1.15.
  • Update GLFW to version 3.3.8
  • Change CMake policy CMP0072 to "NEW" behavior preferring GLVND

Fixed

  • Fix SurfaceMesh::get_object_propertyType() to get_object_property_type()
  • SurfaceRemeshing: Don't leak feature properties. Spotted by Pierre Buyssens.
  • Fixed a rare bug regarding ImGui scaling on Linux. Thanks to Jan Erik Swiadek for reporting and fixing this!
  • Fix crash in SurfaceRemeshing when dealing with low quality meshes (#90, #89)
  • SurfaceMesh::bounds() no longer includes deleted vertices. Thanks to Paul Du.
  • Fix crash in SurfaceHoleFilling when a vertex selection already exists.
  • Fix bug in SurfaceHoleFilling leading to artifacts in the filled surface patch. See #64.
  • Change sign of vec2::perp() to correctly model CCW rotation by 90 degrees.
  • Fix bug in OpenGL buffer clean-up in SurfaceMeshGL.

1.2.1

10 May 15:30
Compare
Choose a tag to compare
Add tag for 1.2.1

1.2.0

15 Mar 15:11
Compare
Choose a tag to compare

Release version 1.2.0

1.1.0

30 May 14:12
Compare
Choose a tag to compare
Release version 1.1.0

1.0.0

17 Feb 23:58
Compare
Choose a tag to compare
Release version 1.0.0