IsoStuffer constructs a tetrahedral mesh from a water-tight triangle mesh. It is an implementation of the following paper.
Isosurface Stuffing: Fast Tetrahedral Meshes with Good Dihedral Angles
François Labelle, Jonathan Shewchuk
SIGGRAPH 2007
We have a command-line only version and a GUI version. The screenshots illustrate some typical use cases.
The input is a water-tight triangular surface mesh in obj format. The output is the tetrahedronized version. By default the export format is *.tet which can be opened and visualized by tetviewer in ModalSound project. It is also possible to export to TetGen format.
Isostuffer requires Boost and several openGL-related dependencies:
It is also highly recommended to install Qt5 and libQGLViewer(Qt5) to enable the GUI option.
The build has been tested with Intel compiler and GNU compiler. For this instruction I will use GNU compiler.
- Install GNU compiler gcc-6 and g++-6:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-6 g++-6
- Install the dependencies:
sudo apt-get install libboost-all-dev xorg-dev libgl u1-mesa-dev freeglut3-dev qtmultimedia5-dev qt5-default mesa-utils libqglviewer-dev libxmu-dev libxi-dev libconfig++-dev libprotobuf-dev libgsl-dev protobuf-compiler
- Clone this repository and change into the project root:
git clone https://github.com/dingzeyuli/ModalSound.git
cd ModalSound
- Create a build directory under the project root and change into this directory:
mkdir gcc-build
cd gcc-build
- Run CMake to create the build system using gcc-6 and g++-6:
CC=gcc-6 CXX=g++-6 cmake ..
In case you do not have Qt5 or libqglviewer installed, run cmake with the GUI option disabled:
CC=gcc-6 CXX=g++-6 cmake -USE_GUI=OFF ..
- Build Isostuffer:
make -j
- Run Isostuffer:
Without GUI:
./src/isostuffer
With GUI:
./src/isostuffer-gui
For macOS, I use homebrew to download most of the required packages. If certain packages are missing from brew, install them from source code. As for other Linux distros, similar steps follow.
I have not tried compiling Isostuffer on Windows machines. Please let me know if you successfully compile and run this code in Windows.
I've prepared an automatic continuous integration script for Travis CI. Checkout the script for the full automatic process.
If you run into problems during compiling or running, please checkout the common issues page.