Skip to content

This is the code we used for the experiments in the paper "Fast and Robust Mesh Arrangements using Floating-point Arithmetic" by G. Cherchi, M. Livesu, R. Scateni and M. Attene (SIGGRAPH Asia 2020).

License

Notifications You must be signed in to change notification settings

GridGeneration/FastAndRobustMeshArrangements

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fast and Robust Mesh Arrangements using Floating-point Arithmetic

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

Usage

⚠️ WARNING: This code is subject to continuous updates.

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).

Citing us

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}
}

About

This is the code we used for the experiments in the paper "Fast and Robust Mesh Arrangements using Floating-point Arithmetic" by G. Cherchi, M. Livesu, R. Scateni and M. Attene (SIGGRAPH Asia 2020).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.4%
  • C 1.3%
  • CMake 0.3%