Releases: pmp-library/pmp-library
Releases · pmp-library/pmp-library
3.0.0
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
2.0.0
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 theicosahedron()
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, removeNearestNeighbor::tests
member- Remove
SurfaceSubdivision::sqrt3()
- Remove
PMP_SHOW
macro - Remove
pmp::Version
class andVersion.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 withSurfaceTriangulation
- 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()
toget_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
.