While VTK has a long, successful, history, it’s C++ roots go back all the way to pre-C++98 code. Due to reluctance for wide, sweeping API updates for things, its code has never been modernized to use post-C++11 idioms pervasively (they get used here and there, but it’s mostly limited to what clang-tidy
can fix in one fell swoop without many false positives). I’d look to VTK for workflow tips for a large project since that is really hard to get right over the long term, but I don’t know how much I’d use it as a model for modern C++. VTKm would be better if you’re doing lots of metaprogramming. CMake is becoming more modern over time, but still has old patterns laying around. I suggest using one of the guideline sets for modern C++ (Core Guidelines, Jason Turner’s C++ best practices, etc.).
2 Likes