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 libboost extra only
### 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 .hg litter using:
make clean
zip -9 -r --exclude=@exclude.lst libigl.zip ../libigl
## 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!