Skip to content

Latest commit

 

History

History
85 lines (63 loc) · 2.42 KB

README.md

File metadata and controls

85 lines (63 loc) · 2.42 KB

Computational Crochet Pattern Generator

(WIP) We are trying to implement this paper: AmiGo: Computational Design of Amigurumi Crochet Patterns

Building

Download libigl in the directory one level up from this one (i.e., ../) and compile libigl:

cd ../
git clone https://github.com/libigl/libigl.git

Then link it to this project. From this project's directory:

mkdir build
cd build
cmake -DFETCHCONTENT_SOURCE_DIR_LIBIGL=/path/to/your/libigl/ ../
make

libigl example project

A blank project example showing how to use libigl and cmake. Feel free and encouraged to copy or fork this project as a way of starting a new personal project using libigl.

Compile

Compile this project using the standard cmake routine:

mkdir build
cd build
cmake ..
make

This should find and build the dependencies and create a example binary.

Run

From within the build directory just issue:

./example

A glfw app should launch displaying a 3D cube.

Using other modules of libigl

This example project uses the igl::opengl::glfw::Viewer, therefore it requires the glfw module of libigl. This shows up in the CMakeLists.txt

igl_include(glfw)
…
target_link_libraries(${PROJECT_NAME} PUBLIC igl::glfw)

Suppose you also wanted to use the triangle module in libigl. Then you would change these to

igl_include(glfw)
igl_include(restricted triangle)
…
target_link_libraries(${PROJECT_NAME} PUBLIC igl::glfw igl_restricted::triangle)

The "restricted" appears in this case because the triangle library has a more restricted license than libigl. See other examples commented out in CMakeLists.txt.

Dependencies

The only dependencies are STL, Eigen, libigl and the dependencies of the igl::opengl::glfw::Viewer (OpenGL, glad and GLFW).

The CMake build system will automatically download libigl and its dependencies using CMake FetchContent, thus requiring no setup on your part.

Use a local copy of libigl

You can use the CMake cache variable FETCHCONTENT_SOURCE_DIR_LIBIGL when configuring your CMake project for the first time to aim it at a local copy of libigl instead.

cmake -DFETCHCONTENT_SOURCE_DIR_LIBIGL=<path-to-libigl> ..

When changing this value, do not forget to clear your CMakeCache.txt, or to update the cache variable via cmake-gui or ccmake.