#include "main_window.h" #include "mesh_processor.h" #include #include MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent), mesh_viewer(this), toolbar(this) { connect(&mesh_viewer, &MeshViewer::initialized, this, &MainWindow::meshViewerInitialized); setCentralWidget(&mesh_viewer); addToolBar(Qt::RightToolBarArea, &toolbar); open_action = toolbar.addAction("Ouvrir…", [&](){ emit open(QFileDialog::getOpenFileName(this, "Ouvrir un maillage")); }); // toolbar_actions.append(toolbar.addAction("Fractionner", [&](){ // QVector> fragments = shatter(mesh); // mesh_viewer.removeOpenGLMesh(glm); // for (auto &[pos, fragment] : fragments) { // fragment.triangulate(); // QMatrix4x4 mat; // float scale = 1.2; // mat.translate(pos[0] * scale, pos[1] * scale, pos[2] * scale); // mesh_viewer.addOpenGLMeshFromOpenMesh(&fragment, mat); // } // })); open_action->setEnabled(false); for (QAction *a : toolbar_actions) { a->setEnabled(false); } } void MainWindow::meshViewerInitialized() { open_action->setEnabled(true); }