From e51845776d03dc8cd2848561a7ff5d915533ffda Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 14 Aug 2023 21:37:46 -0400 Subject: [PATCH] make box, axes, ssao, antialias checkable buttons in image viewer this reduces the antialias option to just 2x --- tools/lammps-gui/antialias.png | Bin 0 -> 4688 bytes tools/lammps-gui/axes-img.png | Bin 0 -> 5069 bytes tools/lammps-gui/chartviewer.cpp | 4 +- tools/lammps-gui/hd-img.png | Bin 0 -> 7700 bytes tools/lammps-gui/imageviewer.cpp | 72 +++++++++++++++++++++++++++---- tools/lammps-gui/imageviewer.h | 5 +++ tools/lammps-gui/lammpsgui.cpp | 7 +-- tools/lammps-gui/lammpsgui.qrc | 4 ++ tools/lammps-gui/preferences.cpp | 14 +++--- tools/lammps-gui/system-box.png | Bin 0 -> 6301 bytes 10 files changed, 83 insertions(+), 23 deletions(-) create mode 100644 tools/lammps-gui/antialias.png create mode 100644 tools/lammps-gui/axes-img.png create mode 100644 tools/lammps-gui/hd-img.png create mode 100644 tools/lammps-gui/system-box.png diff --git a/tools/lammps-gui/antialias.png b/tools/lammps-gui/antialias.png new file mode 100644 index 0000000000000000000000000000000000000000..1a7403e11c7e0e65d7afc238805138961f30ee5f GIT binary patch literal 4688 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 Jx-Td`_rHorhwT6W literal 0 HcmV?d00001 diff --git a/tools/lammps-gui/chartviewer.cpp b/tools/lammps-gui/chartviewer.cpp index 94a89c565d..6d9bb02302 100644 --- a/tools/lammps-gui/chartviewer.cpp +++ b/tools/lammps-gui/chartviewer.cpp @@ -31,14 +31,14 @@ ChartWindow::ChartWindow(const QString &_filename, QWidget *parent) : columns = new QComboBox; top->addWidget(menu); top->addWidget(columns); - saveAsAct = file->addAction("&Save Graph As...", this, &ChartWindow::saveAs); + saveAsAct = file->addAction("&Save Graph As...", this, &ChartWindow::saveAs); saveAsAct->setIcon(QIcon(":/document-save-as.png")); exportCsvAct = file->addAction("&Export data to CSV...", this, &ChartWindow::exportCsv); exportCsvAct->setIcon(QIcon(":/application-calc.png")); exportDatAct = file->addAction("Export data to &Gnuplot...", this, &ChartWindow::exportDat); exportDatAct->setIcon(QIcon(":/application-plot.png")); file->addSeparator(); - closeAct = file->addAction("&Close", this, &QWidget::close); + closeAct = file->addAction("&Close", this, &QWidget::close); closeAct->setIcon(QIcon(":/window-close.png")); auto *layout = new QVBoxLayout; layout->addLayout(top); diff --git a/tools/lammps-gui/hd-img.png b/tools/lammps-gui/hd-img.png new file mode 100644 index 0000000000000000000000000000000000000000..906e4d605dda7808c95efbd6d300a57c1ccba708 GIT binary patch literal 7700 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 xF%efSmA~*K@vTpl393rkg0A>qS|~setCheckable(true); + auto *doanti = new QPushButton(QIcon(":/antialias.png"), ""); + doanti->setCheckable(true); + auto *dobox = new QPushButton(QIcon(":/system-box.png"), ""); + dobox->setCheckable(true); + auto *doaxes = new QPushButton(QIcon(":/axes-img.png"), ""); + doaxes->setCheckable(true); auto *zoomin = new QPushButton(QIcon(":/gtk-zoom-in.png"), ""); auto *zoomout = new QPushButton(QIcon(":/gtk-zoom-out.png"), ""); auto *rotleft = new QPushButton(QIcon(":/object-rotate-left.png"), ""); @@ -75,6 +83,10 @@ ImageViewer::ImageViewer(const QString &fileName, LammpsWrapper *_lammps, QWidge QHBoxLayout *menuLayout = new QHBoxLayout; menuLayout->addWidget(menuBar); + menuLayout->addWidget(dossao); + menuLayout->addWidget(doanti); + menuLayout->addWidget(dobox); + menuLayout->addWidget(doaxes); menuLayout->addWidget(zoomin); menuLayout->addWidget(zoomout); menuLayout->addWidget(rotleft); @@ -84,6 +96,10 @@ ImageViewer::ImageViewer(const QString &fileName, LammpsWrapper *_lammps, QWidge menuLayout->addWidget(new QLabel(" Group: ")); menuLayout->addWidget(combo); + connect(dossao, &QPushButton::released, this, &ImageViewer::toggle_ssao); + connect(doanti, &QPushButton::released, this, &ImageViewer::toggle_anti); + connect(dobox, &QPushButton::released, this, &ImageViewer::toggle_box); + connect(doaxes, &QPushButton::released, this, &ImageViewer::toggle_axes); connect(zoomin, &QPushButton::released, this, &ImageViewer::do_zoom_in); connect(zoomout, &QPushButton::released, this, &ImageViewer::do_zoom_out); connect(rotleft, &QPushButton::released, this, &ImageViewer::do_rot_left); @@ -99,9 +115,13 @@ ImageViewer::ImageViewer(const QString &fileName, LammpsWrapper *_lammps, QWidge QSettings settings; settings.beginGroup("snapshot"); - zoom = settings.value("zoom", 1.0).toDouble(); - hrot = settings.value("hrot", 60).toInt(); - vrot = settings.value("vrot", 30).toInt(); + zoom = settings.value("zoom", 1.0).toDouble(); + hrot = settings.value("hrot", 60).toInt(); + vrot = settings.value("vrot", 30).toInt(); + showbox = settings.value("box", true).toBool(); + dobox->setChecked(showbox); + showaxes = settings.value("axes", false).toBool(); + doaxes->setChecked(showaxes); settings.endGroup(); createActions(); @@ -117,6 +137,38 @@ ImageViewer::ImageViewer(const QString &fileName, LammpsWrapper *_lammps, QWidge setLayout(mainLayout); } +void ImageViewer::toggle_ssao() +{ + QPushButton *button = qobject_cast(sender()); + usessao = !usessao; + button->setChecked(usessao); + createImage(); +} + +void ImageViewer::toggle_anti() +{ + QPushButton *button = qobject_cast(sender()); + antialias = !antialias; + button->setChecked(antialias); + createImage(); +} + +void ImageViewer::toggle_box() +{ + QPushButton *button = qobject_cast(sender()); + showbox = !showbox; + button->setChecked(showbox); + createImage(); +} + +void ImageViewer::toggle_axes() +{ + QPushButton *button = qobject_cast(sender()); + showaxes = !showaxes; + button->setChecked(showaxes); + createImage(); +} + void ImageViewer::do_zoom_in() { zoom = zoom * 1.1; @@ -175,7 +227,7 @@ void ImageViewer::createImage() dumpcmd += dumpfile.fileName(); settings.beginGroup("snapshot"); - int aa = settings.value("antialias", 0).toInt() + 1; + int aa = antialias ? 2 : 1; int xsize = settings.value("xsize", 800).toInt() * aa; int ysize = settings.value("ysize", 600).toInt() * aa; int hhrot = (hrot > 180) ? 360 - hrot : hrot; @@ -188,16 +240,18 @@ void ImageViewer::createImage() if (lammps->extract_setting("dimension") == 3) { dumpcmd += QString(" view ") + QString::number(hhrot) + blank + QString::number(vrot); } - if (settings.value("ssao", false).toBool()) dumpcmd += QString(" ssao yes 453983 0.6"); - if (settings.value("box", true).toBool()) - dumpcmd += QString(" box yes 0.02"); + if (usessao) dumpcmd += QString(" ssao yes 453983 0.75"); + if (showbox) + dumpcmd += QString(" box yes 0.025"); else dumpcmd += QString(" box no 0.0"); - if (settings.value("axes", true).toBool()) - dumpcmd += QString(" axes yes 0.2 0.02"); + + if (showaxes) + dumpcmd += QString(" axes yes 0.2 0.025"); else dumpcmd += QString(" axes no 0.0 0.0"); + dumpcmd += " modify boxcolor silver"; settings.endGroup(); lammps->command(dumpcmd.toLocal8Bit()); diff --git a/tools/lammps-gui/imageviewer.h b/tools/lammps-gui/imageviewer.h index 5319ffc6b2..1a4327561b 100644 --- a/tools/lammps-gui/imageviewer.h +++ b/tools/lammps-gui/imageviewer.h @@ -45,6 +45,10 @@ private slots: void normalSize(); void fitToWindow(); + void toggle_ssao(); + void toggle_anti(); + void toggle_box(); + void toggle_axes(); void do_zoom_in(); void do_zoom_out(); void do_rot_left(); @@ -83,6 +87,7 @@ private: QString filename; int hrot, vrot; double zoom; + bool showbox, showaxes, antialias, usessao; }; #endif diff --git a/tools/lammps-gui/lammpsgui.cpp b/tools/lammps-gui/lammpsgui.cpp index ebbd563d7e..1a27b7c743 100644 --- a/tools/lammps-gui/lammpsgui.cpp +++ b/tools/lammps-gui/lammpsgui.cpp @@ -179,8 +179,8 @@ LammpsGui::LammpsGui(QWidget *parent, const char *filename) : #endif lammpsstatus = new QLabel(QString()); - auto pix = QPixmap(":/lammps-icon-128x128.png"); - lammpsstatus->setPixmap(pix.scaled(22,22,Qt::KeepAspectRatio)); + auto pix = QPixmap(":/lammps-icon-128x128.png"); + lammpsstatus->setPixmap(pix.scaled(22, 22, Qt::KeepAspectRatio)); ui->statusbar->addWidget(lammpsstatus); lammpsstatus->hide(); status = new QLabel("Ready."); @@ -935,9 +935,10 @@ void LammpsGui::preferences() if ((oldaccel != settings.value("accelerator", AcceleratorTab::None).toInt()) || (oldthreads != settings.value("nthreads", 1).toInt()) || (oldecho != settings.value("echo", 0).toInt()) || - (oldcite != settings.value("cite", 0).toInt())) + (oldcite != settings.value("cite", 0).toInt())) { lammps.close(); lammpsstatus->hide(); + } if (imagewindow) imagewindow->createImage(); } } diff --git a/tools/lammps-gui/lammpsgui.qrc b/tools/lammps-gui/lammpsgui.qrc index 818d24bb87..d718634452 100644 --- a/tools/lammps-gui/lammpsgui.qrc +++ b/tools/lammps-gui/lammpsgui.qrc @@ -37,5 +37,9 @@ window-close.png application-plot.png application-calc.png + system-box.png + axes-img.png + hd-img.png + antialias.png diff --git a/tools/lammps-gui/preferences.cpp b/tools/lammps-gui/preferences.cpp index a35d8713e4..f003545764 100644 --- a/tools/lammps-gui/preferences.cpp +++ b/tools/lammps-gui/preferences.cpp @@ -112,9 +112,9 @@ void Preferences::accept() field = tabWidget->findChild("zoom"); if (field) if (field->hasAcceptableInput()) settings->setValue("zoom", field->text()); - QComboBox *combo = tabWidget->findChild("anti"); - if (combo) settings->setValue("antialias", combo->currentIndex()); - QCheckBox *box = tabWidget->findChild("ssao"); + QCheckBox *box = tabWidget->findChild("anti"); + if (box) settings->setValue("antialias", box->isChecked()); + box = tabWidget->findChild("ssao"); if (box) settings->setValue("ssao", box->isChecked()); box = tabWidget->findChild("box"); if (box) settings->setValue("box", box->isChecked()); @@ -371,17 +371,13 @@ SnapshotTab::SnapshotTab(QSettings *_settings, QWidget *parent) : auto *xval = new QLineEdit(settings->value("xsize", "800").toString()); auto *yval = new QLineEdit(settings->value("ysize", "600").toString()); auto *zval = new QLineEdit(settings->value("zoom", "1.0").toString()); - auto *aval = new QComboBox; + auto *aval = new QCheckBox; auto *sval = new QCheckBox; auto *bval = new QCheckBox; auto *eval = new QCheckBox; sval->setCheckState(settings->value("ssao", false).toBool() ? Qt::Checked : Qt::Unchecked); sval->setObjectName("ssao"); - aval->addItem("1x", 1); - aval->addItem("2x", 2); - aval->addItem("3x", 3); - aval->addItem("4x", 4); - aval->setCurrentIndex(settings->value("antialias", "0").toInt()); + aval->setCheckState(settings->value("antialias", false).toBool() ? Qt::Checked : Qt::Unchecked); aval->setObjectName("anti"); bval->setCheckState(settings->value("box", true).toBool() ? Qt::Checked : Qt::Unchecked); bval->setObjectName("box"); diff --git a/tools/lammps-gui/system-box.png b/tools/lammps-gui/system-box.png new file mode 100644 index 0000000000000000000000000000000000000000..baa5595d27c93e13a16276568b50d50b5283e8e9 GIT binary patch literal 6301 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 literal 0 HcmV?d00001