ViennaMesh provides a solid C++ interface for meshing 2D and 3D geometries. Using C++ templates, the runtime of ViennaMesh is reduced while holding a good level of flexibility. But C++ templates have an unpopular side effect: hight compilation times. To compensate this problem and allow easy-to-use mesh scripting, a Python interface should be implemented which wraps the ViennaMesh interface.
Benefit for the Student
The student will work on the boundary between C++ and Python, thus learning a lot about the strengths and limits of both languages.
Benefit for the Project
A Python wrapper will allow easy, flexible and dynamic mesh scripting without long compilation times.
The student has to provide good skills in both C++ and Python. Ideally, the student has some experience with working with shared libraries on multiple platforms, particularly Windows and Linux.