Technologies and dependencies
Last updated: 2024-01-05
| Logo | Description | License | 
|---|---|---|
|  | BrickSim uses C++. The main reason for this choice was execution speed. | - | 
|  | BrickSim is built using the platform-independent build system CMake. | BSD 3-clause | 
|  | The User Interface is made with Dear ImGui. | MIT | 
| OpenGL is used for rendering on all platforms. | - | |
|  | SQLite3 is used to save settings and cache to the disk. The library SQLiteCpp is used. | Public Domain, MIT | 
| Hugo is a static site generator using go. It is used in BrickSimWeb. | Apache 2.0 | |
| GLFW | to create a window and handle inputs. | zlib/libpng | 
| glad | to load the OpenGL library | MIT | 
| Miniball | to determine the smallest enclosing ball of points, for example to center the part thumbnails. | Apache 2 | 
| stb_image.h and stb_image_write.h | for image reading and writing. | Public domain | 
| tinyfiledialogs | to open native file dialogs on all platforms. | zlib/libpng | 
| rapidjson | to read and write data in the JSON format. | MIT | 
|  | used for unit testing. | Boost Software License 1.0 | 
| pytorch/cpuinfo | used to get information about the processor | BSD-2-Clause | 
| magic_enum | used for easier enum handling | MIT | 
| IconFontCppHeaders | For the FontAwesome Icons | zlib | 
| ImGuiColorTextEdit | Text editor | MIT | 
| FCL | Flexible Collision Library to determine which parts are close to each other | BSD-3-Clause | 
| fast_float | fast float parsing | Apache 2, Boost and MIT | 
| efsw | To get notified about file changes | MIT | 
| earcut.hpp | Polygon triangulation (for example for !TEXMAP) | ISC | 
| json_dto | Mapping JSON to a structand back | BSD-3-Clause | 
| spdlog | Logging | MIT | 
| unordered_dense | Fast and efficient hashmap and hashset | MIT | 
| utfcpp | UTF handling | Boost |