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!