-
Notifications
You must be signed in to change notification settings - Fork 2
Home
This code is developed to compute the Morse-Smale complex of 2D triangle meshes based on this paper. Please contact the author and cite if you are using this code for research purposes. This code may be used freely for research and non-commercial purposes only. The code was developed in linux (ubuntu 12.04). It was compiled with gcc 4.6.3.
See here for instructions on using the main tool. See here for more details on using the viewer.
The code is hosted here. The following are the sequence of instructions for properly cloning the project in bash
$ git clone https://github.com/nithins/mscomplex-tri.git
The main tool needs Boost 1.48 , cmake and Eigen3 . To build the code carry out the following in a bash shell
$ cd mscomplex-tri
$ mkdir build install
$ cd build
$ cmake ..
$ make install
The viewer code depends on a sub-project called utls. Obtaining the code via git is recommended as the project often depends on a specific version of utls which may/may not be up-to date.
You'll have to edit the file .gitmodules so that the line url = [email protected]:nithins/utls.git
reads url = https://github.com/nithins/utls.git
and then run
$ git submodule update --init
Note 1 The .gitmodules file edit is required since the original url that present refers to an ssh authenticated copy so that developers can check back via this copy, so long as they have authorized keys. The modified link points to a read-only copy.
For the viewer you'll also need to install Qt4, QGLviewer, PythonQt, glew and glut.
These packages are available in most linux package managers.
Carry out the same steps as before with the BUILD_VIEWER option enabled with cmake.
Note 1 The cmake script to find QGLViewer does not seem to locate the QGLViewer library in ubuntu linux 12.04. In that case, you may have to explicitly set the the QGLVIEWER_LIBRARY variable (with full path) with cmake-gui.
Note 2 There is also a build option to enable VIEWER_RENDER_AWESOME where critical cells are drawn using spheres and one manifolds are drawn using cylinders. This requires OpenGL Shader support.