
The Polygon Mesh Processing Library is a modern C++ open-source library for processing and visualizing polygon surface meshes. Its main features are:
- An efficient and easy-to-use mesh data structure
- Canonical mesh processing algorithms
- Ready-to-use visualization tools
- Seamless cross-compilation to JavaScript (demo)
Getting Started
Clone the repository:
git clone --recursive https://github.com/pmp-library/pmp-library.git
Configure and build:
cd pmp-library && mkdir build && cd build && cmake .. && make
Run the mesh processing app:
./mpview ../external/pmp-data/off/bunny.off
Build your own tool:
#include <pmp/SurfaceMesh.h>
int main(void)
{
mesh.
write(
"output.obj");
}
A halfedge data structure for polygonal meshes.
Definition: SurfaceMesh.h:217
void write(const std::string &filename, const IOFlags &flags=IOFlags()) const
Write mesh to file filename controlled by flags.
Definition: SurfaceMesh.cpp:117
void read(const std::string &filename, const IOFlags &flags=IOFlags())
Read mesh from file filename controlled by flags.
Definition: SurfaceMesh.cpp:111
Contributing
Contributions to the pmp-library are welcome. See the contributing section of the user guide.
Acknowledgment
If you are using the pmp-library for research projects, please acknowledge its use by referencing
@misc{pmp-library,
title = {The Polygon Mesh Processing Library},
author = {Daniel Sieger and Mario Botsch},
note = {http://www.pmp-library.org},
year = {2019},
}
License
The pmp-library is provided under a simple and flexible MIT-style license, thereby allowing for both open-source and commercial usage.