libigl - A simple c++ geometry processing library
=================================================
Copyright 2013 - Alec Jacobson, Daniele Panozzo, Olga Diamanti, Kenshi
Takayama, Leo Sacht
This is first and foremost a *header* library. Each header file should contain
a single function. The function may have multiple prototypes. All functions
should use the igl namespace and should adhere to the conventions and styles
listed below.
## Dependencies ##
- Eigen3 Last tested with Eigen Version 3.2
### Optional ###
- OpenGL (`IGL_NO_OPENGL`)
- AntTweakBar (`IGL_NO_ANTTWEAKBAR`) Last tested 1.16 (see
- libigl/external/AntTweakBar)
- GLEW Windows only
- OpenMP
- libpng libiglpng extra only
- Mosek libiglmosek extra only
- Matlab libiglmatlab extra only
- boost libiglboost, libiglcgal extra only
- SSE/AVX libiglsvd3x3 extra only
- CGAL libiglcgal extra only
* boost
* gmp
* mpfr
### Optional (included in external/) ###
- TetGen libigltetgen extra only
- Embree libiglembree extra only
- tinyxml2 libiglxml extra only
## Header only ##
libigl is designed to work "out-of-the-box" as a headers only library. To
include libigl in your project. You need only include the libigl/include/
directory in your include path and define the `IGL_HEADER_ONLY` macro. To
compile a hello-word example.cpp:
#include
#include
#include
int main(int argc, char * argv[])
{
if(argc>1)
{
Eigen::MatrixXd V;
Eigen::MatrixXi F;
igl::readOBJ(argv[1],V,F);
std::cout<<"Hello, mesh with "< Project ...
- Visual C++ > Win32
- Win32 Console Application
- Name: libiglVisualStudio
- Uncheck "Create directory for solution"
- Then hit OK, and then Next
- Check "Static Library"
- Uncheck "Precompiled headers"
- Add all include/igl/*.cpp to the sources directory
- Add all include/igl/*.h to the headers directory
- Open Project > libigl Properties...
- Add the path to eigen3 to the include paths
- Change the target name to libigl
- Build and pray (this should create libigl.lib
[Source](http://msdn.microsoft.com/en-us/library/ms235627(v=vs.80).aspx)
## Examples ##
To get started, we advise that you take a look at a few examples:
./examples/hello-world/
./examples/meshio/
./examples/basic-topology/
./examples/ReAntTweakBar/
## Development ##
Further documentation for developers is listed in tutorial.html,
style_guidelines.html
## License ##
See `LICENSE.txt`
## Zipping ##
Zip this directory without .git litter and binaries using:
git archive —prefix=libigl/ -o libigl.zip master
## Contact ##
libigl is a group endeavor led by Alec Jacobson and Daniele Panozzo. Please
contact [alecjacobson@gmail.com](mailto:alecjacobson@gmail.com) if you have
questions or comments. We are happy to get feedback! Enjoy!
If you find bugs or have problems please use our [github issue tracking
page](https://github.com/libigl/libigl/issues).