Browse Source

version and release history

Former-commit-id: 2beff2443be2902a31b7a0d642ee085eef66d5ed
Alec Jacobson (jalec 12 years ago
parent
commit
25455f1e4b

+ 1 - 0
RELEASE_HISTORY.txt

@@ -0,0 +1 @@
+0.1.1  Alpha release with core functions, extras, examples

+ 4 - 4
VERSION.txt

@@ -1,6 +1,6 @@
 # This file should contain the current version number of libigl
 # This file should contain the current version number of libigl
-# Major.Minor.Tick
-# Anyone may increment Tick to indicate a small change.
-# Minor indicates small changes that do not amount to new uploaded versions
-# Major indicates new uploaded version
+# World.Major.Minor
+# Anyone may increment Minor to indicate a small change.
+# Major indicates a large change or large number of changes (upload to website)
+# World indicates a substantial change or release
 0.1.1
 0.1.1

+ 1 - 1
examples/basic_topology/example1.cpp

@@ -19,7 +19,7 @@ int main (int argc, const char * argv[])
 {
 {
     Eigen::MatrixXd V;
     Eigen::MatrixXd V;
     Eigen::MatrixXi F;
     Eigen::MatrixXi F;
-    igl::read("TinyTorus.obj",V,F);
+    igl::read("../shared/TinyTorus.obj",V,F);
 
 
     std::cout << "Mesh loaded!\n";
     std::cout << "Mesh loaded!\n";
     cout << "Vertex Array:" << endl;
     cout << "Vertex Array:" << endl;

+ 22 - 0
examples/hello-world/example.cpp

@@ -0,0 +1,22 @@
+// Compile with GCC:
+// g++ -I/usr/local/igl/igl_lib/include -DIGL_HEADER_ONLY \
+//   -I/opt/local/include/eigen3 example.cpp -o example
+// Run with:
+// ./example ../shared/TinyTorus.obj
+#include <Eigen/Dense>
+#include <igl/readOBJ.h>
+#include <iostream>
+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 "<<V.rows()<<" vertices!"<<std::endl;
+  }else{
+    std::cout<<"Hello, world!"<<std::endl;
+  }
+  return 0;
+}
+

+ 88 - 0
examples/shared/TinyTorus.obj

@@ -0,0 +1,88 @@
+####
+#
+# OBJ File Generated by Meshlab
+#
+####
+# Object TinyTorus.obj
+#
+# Vertices: 24
+# Faces: 48
+#
+####
+v -2.000000 0.000000 0.000000
+v -3.000000 0.000000 -1.000000
+v -4.000000 0.000000 -0.000001
+v -3.000000 0.000000 1.000000
+v -1.000000 -1.732050 0.000000
+v -1.500000 -2.598080 -1.000000
+v -2.000000 -3.464100 -0.000001
+v -1.500000 -2.598080 1.000000
+v 1.000000 -1.732050 0.000000
+v 1.500000 -2.598080 -1.000000
+v 2.000000 -3.464100 -0.000001
+v 1.500000 -2.598080 1.000000
+v 2.000000 0.000000 0.000000
+v 3.000000 0.000000 -1.000000
+v 4.000000 0.000000 -0.000001
+v 3.000000 0.000000 1.000000
+v 1.000000 1.732050 0.000000
+v 1.500000 2.598080 -1.000000
+v 2.000000 3.464100 -0.000001
+v 1.500000 2.598080 1.000000
+v -1.000000 1.732050 0.000000
+v -1.500000 2.598080 -1.000000
+v -2.000000 3.464100 -0.000001
+v -1.500000 2.598080 1.000000
+# 24 vertices, 0 vertices normals
+
+f 2 1 6
+f 5 6 1
+f 3 2 7
+f 6 7 2
+f 4 3 8
+f 7 8 3
+f 1 4 5
+f 8 5 4
+f 6 5 10
+f 9 10 5
+f 7 6 11
+f 10 11 6
+f 8 7 12
+f 11 12 7
+f 5 8 9
+f 12 9 8
+f 10 9 14
+f 13 14 9
+f 11 10 15
+f 14 15 10
+f 12 11 16
+f 15 16 11
+f 9 12 13
+f 16 13 12
+f 14 13 18
+f 17 18 13
+f 15 14 19
+f 18 19 14
+f 16 15 20
+f 19 20 15
+f 13 16 17
+f 20 17 16
+f 18 17 22
+f 21 22 17
+f 19 18 23
+f 22 23 18
+f 20 19 24
+f 23 24 19
+f 17 20 21
+f 24 21 20
+f 22 21 2
+f 1 2 21
+f 23 22 3
+f 2 3 22
+f 24 23 4
+f 3 4 23
+f 21 24 1
+f 4 1 24
+# 48 faces, 0 coords texture
+
+# End of File

+ 1 - 0
libigl-logo.ai.REMOVED.git-id

@@ -0,0 +1 @@
+5597d8f66455987af8aa792c6ee59337d39334e6

+ 1 - 0
libigl-teaser.pdf.REMOVED.git-id

@@ -0,0 +1 @@
+2219af07e4f1338660ff0de2a123abb703f355a7

+ 106 - 4
readme.txt

@@ -1,11 +1,113 @@
-IGL Library - A simple c++ geometry processing library
+libigl - A simple c++ geometry processing library
+
 Copyright 2013 - Alec Jacobson, Daniele Panozzo, Olga Diamanti, Kenshi
 Copyright 2013 - Alec Jacobson, Daniele Panozzo, Olga Diamanti, Kenshi
-Takayama, Leo Sacht
-Interactive Geometry Lab - ETH Zurich
+Takayama, Leo Sacht, Interactive Geometry Lab - ETH Zurich
 
 
 This is first and foremost a *header* library. Each header file should contain
 This is first and foremost a *header* library. Each header file should contain
 a single function.  The function may have multiple prototypes. All functions
 a single function.  The function may have multiple prototypes. All functions
 should use the igl namespace and should adhere to the conventions and styles
 should use the igl namespace and should adhere to the conventions and styles
 listed below. 
 listed below. 
 
 
-Further documentation is listed in tutorial.html, style_guidelines.html
+= Dependencies =
+Eigen3  Last tested with Eigen Version 3.1.2
+AntTweakBar  Last tested 1.14 (see External)
+OpenGL
+GLUT
+GLEW  Windows only
+
+  = Optional =
+  OpenMP  
+  libpng  libiglpng extra only
+  Mosek  libiglmosek extra only
+  Matlab  libiglmatlab extra only
+
+  = Optional (included in external/ =
+  TetGen  libigltetgen 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 <Eigen/Dense>
+#include <igl/readOBJ.h>
+#include <iostream>
+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 "<<V.rows()<<" vertices!"<<std::endl;
+  }else{
+    std::cout<<"Hello, world!"<<std::endl;
+  }
+  return 0;
+}
+
+using gcc (replacing appropriate paths):
+
+g++ -DIGL_HEADER_ONLY -I/usr/local/igl/igl_lib/include \
+  -I/opt/local/include/eigen3 example.cpp -o example
+
+Then run this example with:
+
+./example examples/shared/TinyTorus.obj
+
+= Compile =
+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 and lib/libiglmosek.a) 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.
+
+= 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 is listed for developers 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.
+
+= 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!