Mesh Processing for Python
Project description
[![CircleCI](https://circleci.com/gh/qnzhou/PyMesh/tree/master.svg?style=svg)](https://circleci.com/gh/qnzhou/PyMesh/tree/master)
### 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.
### Documentation ###
[Latest documentation](http://pymesh.readthedocs.org/en/latest/)
### Download Source ###
To retrieve the code:
git clone https://github.com/qnzhou/PyMesh.git git submodule update –init
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](https://www.python.org/) v3.x.
[NumPy](http://www.numpy.org/) v1.8 or higher
[SciPy](http://www.scipy.org/) v0.13 or higher
[SWIG](http://www.swig.org/) v3.0.5 or higher
[Eigen](http://eigen.tuxfamily.org/index.php?title=Main_Page) v3.2 or higher
Optional library:
[SparseHash](https://code.google.com/p/sparsehash/)
[CGAL](https://www.cgal.org/)
[tetgen](http://wias-berlin.de/software/tetgen/) *
[libigl](http://igl.ethz.ch/projects/libigl/) *
[cork](https://github.com/gilbo/cork) *
[triangle](http://www.cs.cmu.edu/~quake/triangle.html) *
[qhull](http://www.qhull.org/) *
[Clipper](http://www.angusj.com/delphi/clipper.php) *
[Carve](https://github.com/qnzhou/carve) *
[GeoGram](http://alice.loria.fr/software/geogram/doc/html/index.html)
[Quartet](https://github.com/crawforddoran/quartet) *
Libraries marked with * are included in $PYMESH_PATH/third_party directory.
### 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 variables:
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
GEOGRAM_PATH: path to GeoGram
QUARTET_PATH: path to quartet
### Build ###
The first step is to compile the optional third party dependencies:
cd $PYMESH_PATH/third_party mkdir build cd build cmake .. make make install
Third party dependencies will be installed in $PYMESH_PATH/python/pymesh/third_party directory.
Now we can build the main project. 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
To check PyMesh is installed correctly, run the following python unit tests:
python -c "import pymesh; pymesh.test()"
Once again, make sure all unit tests are passed, and report any unit test failures.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pymesh2-0.1.14.tar.gz
.
File metadata
- Download URL: pymesh2-0.1.14.tar.gz
- Upload date:
- Size: 25.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1bd2876ce09ff8e59c80094f91cd283ce9b635086c26f35f08899c40ae626fc |
|
MD5 | 329fdcb79ffbfae6445f02bbc895dc8a |
|
BLAKE2b-256 | dd8b2a34ffcf3a549601fb85621c3235e16c0ee666404bf090afd0dafa08374e |
File details
Details for the file pymesh2-0.1.14-cp35-cp35m-macosx_10_11_x86_64.whl
.
File metadata
- Download URL: pymesh2-0.1.14-cp35-cp35m-macosx_10_11_x86_64.whl
- Upload date:
- Size: 11.7 MB
- Tags: CPython 3.5m, macOS 10.11+ x86-64
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 437f8ec6446fd7fb89bbc9efe8de889b76ed4d0704b90e361b29e21fe6dcfe39 |
|
MD5 | 3e4867376b3c4fb838c502f5510af408 |
|
BLAKE2b-256 | 2aa97a230c56bab4626cb03577138f0dca87c504e53be3779bcbc2f30684cdfd |