Mesh Processing for Python


Keywords
3d, convex-hull, geometry, geometry-processing, graphics, mesh-boolean, mesh-cleanup, mesh-generation, outer-hull, python
License
Other
Install
pip install pymesh2==0.1.14

Documentation

About PyMesh

PyMesh is a code base developed by Qingnan Zhou for his PhD research at New York University. It is a rapid prototyping platform focused on geometry processing. PyMesh is written using both C++ and python, where computational intensive functionalities are realized in C++, and Python is used for create minimalistic and easy to use interfaces.

Docuementation

Latest documentation

Download Source

To retrieve the code:

git clone git@github.com:qnzhou/PyMesh.git

Be sure to save the root directory of PyMesh in the environment variable PYMESH_PATH:

export PYMESH_PATH=/path/to/PyMesh/

Unit tests relies on this environment variable to load relevant libraries.

Dependencies

PyMesh depends on the following tools/libraries:

  • Python v2.7 or higher, note that Python 3.x is not tested.
  • NumPy v1.8 or higher
  • SciPy v0.13 or higher
  • SWIG v3.0.5 or higher
  • Eigen v3.2 or higher

Optional library:

Environment Variables

If any of the dependent library is not installed in standard locations (/usr/local/, /opt/local), one needs to set environment variables that point to the correct directories. PyMesh check the following environment varaibles:

  • EIGEN_INC: directory containing the Eigen library.
  • GOOGLEHASH_INCLUDES: directory containing sparse hash.
  • CGAL_PATH: path to CGAL library
  • BOOST_INC: directory containing boost.
  • LIBIGL_PATH: path to libigl.
  • CORK_PATH: path to cork.
  • TETGEN_PATH: path to tetgen
  • TRIANGLE_PATH: path to triangle
  • QHULL_PATH: path to qhull
  • CLIPPER_PATH: path to clipper
  • CARVE_PATH: path to carve

Build

It is recommended to build out of source:

cd $PYMESH_PATH
mkdir build
cd build
cmake ..

To only build the C++ libraries without the swig python modules, change the last command to

cmake -DWITHOUT_SWIG=ON ..

To build the main PyMesh library:

make
make src_tests

To build all available tools:

make tools
make tools_tests

Make sure all unit tests are passed before using the library.

Install

The output of building PyMesh consists a set of C++ libraries and a python module. Installing the C++ library is currently not available. However, installing the python package can be done:

./setup.py build # This an alternative way of calling cmake/make
./setup.py install