PawelekPro / MeshGeneratingTool

Mesh generation tool utilizing c++ qt6, vtk, opencascade and gmsh
GNU General Public License v3.0
6 stars 0 forks source link

Rework GeometryOperations #26

Closed KFudali closed 5 months ago

KFudali commented 6 months ago

While developing model class, several architectural issues came to light. The model class would have to hold a complex GeometryCore::StepPlugin::StepPluginOpoerations object which is not only too complicated but also unreadable. The GeometryCore code was developed before the Model class appeared so it is now outdated.

It would make more sense if the model class held objects like Geometry and Mesh since any operation on geometry anyway has to be updated in the model. The idea is to make all those operations from the MainWindow->Model->Geometry level rather than MainWindow->GeometryOperations. In the current state, the model has to either hold copies of the geometry entities created in GeometryOperataions or pointers to them. The proposed architecture would be more straightforward and readable as any operation on geometry would be explicitly connected to the Model object.

Suggested changes:

Downsides:

Upsides: