google-soc.md 2.2 KB

libigl - Google Summer of Code 2015 Project Ideas

Automatic Generation of Python/MATLAB bindings

Libigl is a C++ library, but its functional interface make it very friendly to wrapping individual functions for popular scripting languages like Python or MATLAB. Since many libigl functions have the form "mesh in" --> "mesh out" or "mesh with scalar field in" --> "scalar field out", we would like to develop an automatic routine for generating Python and MATLAB bindings for libigl functions. This project has three parts: 1) determining the necessary mark up (e.g. comments) inside libigl header files to determine the Python interface, 2) writing a program to parse this mark up and generate valid Python bindings and compilation instructions, and 3) validating and testing these results on a variety of functions in the library.

Student: apply

Mentors: Alec Jacobson & Daniele Panozzo

Topological Mesh Operations

Libigl avoids complicated mesh data-structures to ensure that its interface is clean and easy to port into users' existing projects. Our mesh format is a simple list of vertices and list of face indices to those vertices: V and F. We have a number of functions for deforming a mesh: that is, modifying the entries in V, but currently lack functions for modifying the mesh's topology: that is, modifying F and/or modifying the size of V. This project entails implementing efficient routines for: edge collapse, edge splitting, and edge flipping. The project will culminate in a routine combining these core functions for surface remeshing.

Student: apply

Mentors: Alec Jacobson & Daniele Panozzo

Contact

Google Summer of Code projects with libigl are mentored by Alec Jacobson and Daniele Panozzo. Please contact us if you have questions, comments or other ideas for a fun summer of hacking on libigl.