Implementation of a basic obj->stl converter and analyzer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mate Herber d854bb24ff Added test cases for key features 1 month ago
gmtl Implemented base functionality of obj -> stl converter 1 month ago
magic-model-converter Added test cases for key features 1 month ago
magic-model-converter-tests Added test cases for key features 1 month ago
sample Implemented base functionality of obj -> stl converter 1 month ago
.gitignore Implemented base functionality of obj -> stl converter 1 month ago
CMakeLists.txt Introduced unit testing support (Catch2) 1 month ago
README.md Added test cases for key features 1 month ago
main.cpp Implemented base functionality of obj -> stl converter 1 month ago

README.md

Description

The app is capable of reading obj format 3d models (limited support) and do various calculations on it (isInside, surfaceArea, meshVolume) also it can transform the model (rotate, translate, scale) and convert to stl format and save to disk.

Additional Info

  • using GMTL for vector / matrix operations: http://ggt.sourceforge.net/
  • using Catch2 for unit testing https://github.com/catchorg/Catch2
  • Model transformation is hard-coded into the viewmodel to save time of implementing user input parsing for a generic solution.
  • Model transformation happens just before exporting to stl so calculating area/volume/isInside don’t consider the transformations.
  • Implemented several unit-tests just for showcase (I had no time or intention to go for any % test coverage).
  • Algorithms used for calculating various properties are referenced as code comments.
  • sample directory contains several obj files that I’ve been testing with.
  • I had been trying my best to create good quality C++ code however there might be some inefficiencies here and there.