STEP is the current standard for exchange of CAD data between different software packages. BRL-CAD makes use of the NIST STEP Class Libraries code to support its step-g converter, but this source code was written before many current C++ standard practices and libraries were finalized. As a consequence, it needs both cleanup and performance enhancements.
For this project, a student should examine the existing STEP code in BRL-CAD (src/other/step) and create a list of tasks that need to be done in order to modernize the C++, improve library performance, improve code maintainability, and better document the STEP libraries. BRL-CAD's step-g converter will serve as a test for the functionality of the library.
Specific items to remember:
Improving this library is a good project for students looking for a geometry related project with potential impact beyond BRL-CAD - other open source geometry projects are also likely to be interested in STEP conversion.