This is the code we used for the experiments in the paper "Generalized Adaptive Refinement for Grid-based Hexahedral Meshing" by L. Pitzalis, M. Livesu, G. Cherchi, E. Gobbetti and R. Scateni (ACM TOG, SIGGRAPH Asia 2021).
New: Try our Online Demo! 😊
This project is built on top of some external libraries. Make sure to have them installed on your machine before proceeding with the building process. In addition to Cinolib, which is already a submodule of this repository, it is necessary to install Gurobi for ILP resolution and CGAL for the computation of the Shape Diameter Function (SDF). Follow the instructions at this link to install Gurobi and run the following command to install CGAL:
brew install cgal
sudo apt-get install libcgal-dev
Clone this repository, including submodules, with:
git clone --recursive https://github.com/cg3hci/Gen-Adapt-Ref-for-Hexmeshing.git
Build the executable by running the following commands:
cd Gen-Adapt-Ref-for-Hexmeshing
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=<build type> ..
make
You can generate a paired and balanced grid starting from a triangle mesh by running the following command:
./make_grid --surface --input_mesh_path=your_input_mesh.obj --output_grid_path=grid.mesh
Look at the available customizable options with:
./make_grid --help
If you use our code in your academic projects, please cite our paper using the following BibTeX entry:
@article{PLCSG21,
title = {Generalized Adaptive Refinement for Grid-based Hexahedral Meshing},
author = {Pitzalis, Luca and Livesu, Marco and Cherchi, Gianmarco and Scateni, Riccardo and Gobbetti, Enrico},
journal = {ACM Transactions on Graphics (SIGGRAPH Asia 2021)},
year = {2021},
volume = {40},
number = {6},
doi = {https://doi.org/10.1145/3478513.3480508}
}