⚠️ IMPORTANT⚠️
Dear users, we are flattered by the enthusiasm and interest around our tools but, unfortunately, we do not currently have the resources to keep up with the amount of requests for clarifications, modifications and fixes we receive. In case this is an important building block for your project and you are willing to financially sustain the maintenance/enhancement of our tool, please let us know. Conversely, we can no longer commit to readily address all your issues, as the amount of time necessary to do that heavily conflicts with our regular academic working routine.
This is a HEADER-ONLY version of the mesh arrangement algorithm described in
Fast and Robust Mesh Arrangements using Floating-point Arithmetic
G. Cherchi,
M. Livesu,
R. Scateni,
M. Attene
ACM Transactions on Graphics, 2020 (proceedings of SIGGRAPH Asia)
and later improved in
Interactive and Robust Mesh Booleans
G. Cherchi,
F. Pellacini,
M. Attene,
M. Livesu
ACM Transactions on Graphics, 2022 (proceedings of SIGGRAPH Asia)
and in
Deterministic Linear Time Constrained Triangulation Using Simplified Earcut
M. Livesu,
G. Cherchi,
R. Scateni,
M. Attene
IEEE Transactions on Visualization and Computer Graphics, 2022
Clone this repository:
git clone https://github.com/gcherchi/FastAndRobustMeshArrangements.git
Once done, you may build the executable as follows (put Release
or Debug
instead of <build_type>
):
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=<build_type>
make
There are 4 versions of the solveIntersections(...)
function, with different outputs. Please, check the file solve_intersections.h
for more details.
We tested our code on MacOS (CLANG 14.0 64 bit), Linux (GCC 7.3.0 64 bit) and Windows (MSVC 2019 64 bit).
This project is based on algorithms described in the following scientific articles. If you use our code in your academic projects, please consider citing our articles using the following BibTeX entries:
@article{CLSA20,
title = {Fast and Robust Mesh Arrangements using Floating-point Arithmetic},
author = {Cherchi, Gianmarco and Livesu, Marco and Scateni, Riccardo and Attene, Marco},
journal = {ACM Transactions on Graphics (SIGGRAPH Asia 2020)},
year = {2020},
volume = {39},
number = {6},
doi = {10.1145/3414685.3417818}
}
@article{CPAL22,
title = {Interactive and Robust Mesh Booleans},
author = {Cherchi, Gianmarco and Pellacini, Fabio and Attene, Marco and Livesu, Marco},
journal = {ACM Transactions on Graphics (SIGGRAPH Asia 2022)},
year = {2022},
volume = {41},
number = {6},
doi = {10.1145/3550454.3555460}
}
@article{LCSA21,
title = {Deterministic Linear Time Constrained Triangulation using Simplified Earcut},
author = {Livesu, Marco and Cherchi, Gianmarco and Scateni, Riccardo and Attene, Marco},
journal = {IEEE Transactions on Visualization and Computer Graphics (TVCG)},
year = {2022},
volume = {28},
number = {12},
doi = {10.1109/TVCG.2021.3070046}
}