C++ Class Diagrams#147
Conversation
ilateur
left a comment
There was a problem hiding this comment.
I was unable to generate these images myself (on monster5). I tried installing clang-uml via conda but I got errors with make html (I did not try to solve them). I am not allowed to install clang-uml via the package manager there, but Lars tried and failed that install.
It would be best if everything was included inside the environment.yml as a self-contained package that works for everybody, but somehow that did not work on Windows?
The actual diagrams look nice, although I wasn't able to judge them on the website. Sadly I don't think we should merge this if only 1 person is able to successfully run it.
| ``` | ||
|
|
||
| The documentation can then be found at `docs/_build/html/index.html`. | ||
| The documentation can then be found at `docs/_build/html/index.html`. However, to generate the class diagrams you should be on a Linux device and first install [clang-uml](https://github.com/bkryza/clang-uml/tree/master) otherwise they will not be generated. |
|
I will move this back to draft and see if I can fix the issues. |
|
It was successfully built on monster5! Though, I must admit it's hard to keep an overview when all boxes are that large. Either you see the connections, but can't read anything, or you zoom in to read, but can only look at a single class. |
Class Diagrams second tryUnfortunately the Conda package I was able to generate the diagrams (and the rest of the documentation) on my Linux device and monster5 using both the Conda method and the Ubuntu method. I don't know if it now works on Windows if you install it via the clang-uml installation guide (I think it should work 🤞) @JonathanMaes could you check this? I have also changed the layout of the diagrams a little bit to be more like the previous .drawio diagram. I removed the constructor and deconstructor and I also changed the layout from left to right to from top to bottom, which feels cleaner. Quantities |
|
It still gives the non-fatal error Installing the environment.yml and building mumaxplus don't give any errors, so I think it is fine as it is now. The documentation can be built on Linux anyway. And if nobody in the team would have access to a Linux machine (extraordinarily unlikely) we now know that GitHub actions can successfully build the Python wheels so if needed it should also be able to generate the documentation with the diagrams. |






This PR would automatically generate class diagrams each time the website gets build and they will be added to the website. There are a total of 6 diagrams to avoid a cluttered image.
Class Diagrams
Parameters






Magnetics
Strayfield
Time Integration
Domain
Utilities