Skip to content

G-structure/libigl-crochet-project

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published