3 ms·
The algorithms are awesome. For instance, their Delaunay tetrahedralization algorithms are state of the art, in terms of both accuracy and performance. However
by Const-me 4y ago
The algorithms are awesome. For instance, their Delaunay tetrahedralization algorithms are state of the art, in terms of both accuracy and performance.
However, software engineering and API design could have been much better. That’s not quite a library IMO, it’s a large OO-based framework. Geogram implements stuff like logging, multi-threading, reference counting, class factories, memory management, asserts, Boolean type, atomics, and more. This makes it relatively hard to integrate, especially for Windows OS where the OS kernel is very different from all others.
- whatshisface 4y agoThis is an under-discussed problem with C++, the lack of a granular package manager leads to huge numbers of what are essentially incomplete Boost variants, and not due to the developers being bad; Boost is so huge that sometimes it makes sense to re-implement 5% of it.
- nextaccountic 4y agoThis is exactly where Rust shines, even more than the borrow checker stuff IMO
- BrunoLevy01 4y agoIt was a big difficulty: I've been developing and maintaining this codebase since Y2K, and to make it portable on different OSes (Linux, Mac, Windows, Emscripten, Android), we often had to "reinvent the wheel". At the very beginning in the 90's, we did not even have std::string ! As time passes, I can get rid of some code. For instance, FileSystem will be replaced by std::filesystem, spinlocks with std::atomic (if they are as efficient) and so on and so forth... I'd be interested to know what is a true "showstopper" for you, do not hesitate to post issues here: https://github.com/BrunoLevy/geogram/issues https://github.com/BrunoLevy/geogram/issues