Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Erkaman/hole_fixer
Demo implementation of smoothly filling holes in 3D meshes using surface fairing
https://github.com/Erkaman/hole_fixer
3d c-plus-plus demo eigen geometry libigl math mesh processing
Last synced: 28 days ago
JSON representation
Demo implementation of smoothly filling holes in 3D meshes using surface fairing
- Host: GitHub
- URL: https://github.com/Erkaman/hole_fixer
- Owner: Erkaman
- License: mit
- Created: 2018-02-26T20:39:34.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-02-26T21:24:29.000Z (almost 7 years ago)
- Last Synced: 2024-11-12T15:40:49.769Z (30 days ago)
- Topics: 3d, c-plus-plus, demo, eigen, geometry, libigl, math, mesh, processing
- Language: C++
- Homepage: https://erkaman.github.io/posts/hole_filling.html
- Size: 3.01 MB
- Stars: 288
- Watchers: 11
- Forks: 51
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- AwesomeCppGameDev - hole_fixer
README
# hole_fixer - Demo implementation of smoothly filling holes in 3D meshes using surface fairing
![](img/bunnymontage.png)
![](img/spheremontage.png)
An implementation of Surface Fairing, that demonstrates the concepts explained in
[my article](https://erkaman.github.io/posts/hole_filling.html).This demo program allows you to specify a broken mesh with a hole, that the program will fix.
By running the command line```
hole_fixer -in bunnyhole.off -out out.off -outfaces 8000 -upsample 2
```The above pictured bunny mesh will be fixed, and the fixed mesh is written to `out.off`.
NOTE: the implementation is not by any means optimized, in order to keep it
simple and readable.## Building
The only dependencies are [libigl](https://github.com/libigl/libigl) and [Eigen](http://eigen.tuxfamily.org/index.php?title=Main_Page).
Both of which are included within this repository.We use CMake for building. If on Linux or OS X, you can build it in the terminal by doing something like:
```
mkdir build && cd build && cmake .. && make
```If on Windows, create a `build/` folder, and run `cmake ..` from
inside that folder. This will create a visual studio solution(if you
have visual studio). Launch that solution, and then simply compile the
project named `hole_fixer`.