Extension of libigl which allows to also read the texture of wrl-files in Python as igl.read_triangle_mesh(wrFilePath, V, F, TC)

Alec Jacobson (jalec 166ae80c7e strip copyrights %!s(int64=11) %!d(string=hai) anos
documentation 2dc872211e finished draft on active set description %!s(int64=11) %!d(string=hai) anos
examples 28aebb722a Merge %!s(int64=11) %!d(string=hai) anos
file-formats f292dec1c2 mesh quicklook generator example and sort rows example, readWRL from preview3d %!s(int64=11) %!d(string=hai) anos
include 166ae80c7e strip copyrights %!s(int64=11) %!d(string=hai) anos
scripts 166ae80c7e strip copyrights %!s(int64=11) %!d(string=hai) anos
.hgignore 2531d2c32f add visual studio garbage to .hignore %!s(int64=11) %!d(string=hai) anos
ACKNOWLEDGEMENTS bc64088603 better hgignores explicit instanciation for doublearea %!s(int64=11) %!d(string=hai) anos
LICENSE.GPL 166ae80c7e strip copyrights %!s(int64=11) %!d(string=hai) anos
LICENSE.MPL2 166ae80c7e strip copyrights %!s(int64=11) %!d(string=hai) anos
Makefile 524e9d2c7f doublearea now more robust %!s(int64=11) %!d(string=hai) anos
Makefile.conf 5e178e4771 fixed compilation error with clang %!s(int64=11) %!d(string=hai) anos
RELEASE_HISTORY.txt 166ae80c7e strip copyrights %!s(int64=11) %!d(string=hai) anos
VERSION.txt 166ae80c7e strip copyrights %!s(int64=11) %!d(string=hai) anos
exclude.lst cb15a39694 better excludes and readme %!s(int64=11) %!d(string=hai) anos
libigl-dependency-diagram.ai.REMOVED.git-id 532720dc68 merge, orient_outward_ao compiles on mac os x %!s(int64=11) %!d(string=hai) anos
libigl-logo.ai.REMOVED.git-id 166a191467 clean up some headers, auto doc and todos %!s(int64=12) %!d(string=hai) anos
libigl-logo.jpg 96f38d6247 missing cpp files %!s(int64=12) %!d(string=hai) anos
libigl-teaser.pdf.REMOVED.git-id f182dbbfb5 header clustering scripts %!s(int64=11) %!d(string=hai) anos
matlab-to-eigen.html e96173c4f0 template instanciation %!s(int64=11) %!d(string=hai) anos
readme.txt 8d773485f6 separted bbw as its own extra (mosek optional via IGL_NO_MOSEK), support for mosek 7, better control over verbosity in bbw %!s(int64=11) %!d(string=hai) anos
style.css 166ae80c7e strip copyrights %!s(int64=11) %!d(string=hai) anos
style_guidelines.html 166ae80c7e strip copyrights %!s(int64=11) %!d(string=hai) anos
todos.txt 8d7630d99a min_quad_with_fixed is now truly sparse (still at least 4x slower than matlab) %!s(int64=11) %!d(string=hai) anos
tutorial.html f92bae1b4f missing igl_no_opengl s %!s(int64=11) %!d(string=hai) anos

readme.txt

libigl - A simple c++ geometry processing library

http://igl.ethz.ch/projects/libigl/

Copyright 2013 - Alec Jacobson, Daniele Panozzo, Olga Diamanti, Kenshi
Takayama, Leo Sacht, Interactive Geometry Lab - ETH Zurich

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 "< }else{
std::cout<<"Hello, world!"< }
return 0;
}

using gcc (replacing appropriate paths):

g++ -DIGL_HEADER_ONLY -I/usr/local/igl/libigl/include \
-I/opt/local/include/eigen3 example.cpp -o example

Then run this example with:

./example examples/shared/TinyTorus.obj

= Compile =

= Linux/Mac OS X/Cygwin =

libigl may also be compiled to a static library. This is advantageous when
building a project with libigl, since the header only directive can slow down
compile times.

To build the entire libigl library producing lib/libigl.a, issue:

make lib

You may need to edit Makefile.conf accordingly. Best to give yourself an
IGL_USERNAME and add a custom install suite for yourself. Then you can enable
appropriate extras.

= Extras =
Once you've set up an IGL_USERNAME and enabled extras within Makefile.conf.
You can build the extra libraries (into lib/ligiglpng.a, lib/libiglmatlab.a,
lib/libigltetgen.a, lib/libiglmosek.a, etc.) by issuing:

make extras

= Examples =
You can make a slew of examples by issuing:

make examples

= External =
Finally there are a number of external libraries that we include in
./external/ because they are either difficult to obtain or they have been
patched for easier use with libigl. Please see the respective readmes in
those directories.

= Windows (Experimental) =
To build a static library (.lib) on windows, open Visual Studio 2010.

New > 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 =
For now, all files are Copyright 2013 - Alec Jacobson, Daniele Panozzo, Olga
Diamanti, Kenshi Takayama, Leo Sacht, Interactive Geometry Lab - ETH Zurich
unless otherwise noted. Soon we hope to upgrade to a more liberal license.

= 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 if you have questions or comments. We are happy
to get feedback! Enjoy!