|
|
|
|
@ -132,7 +132,8 @@ static const QString blank(" ");
|
|
|
|
|
|
|
|
|
|
ImageViewer::ImageViewer(const QString &fileName, LammpsWrapper *_lammps, QWidget *parent) :
|
|
|
|
|
QDialog(parent), menuBar(new QMenuBar), imageLabel(new QLabel), scrollArea(new QScrollArea),
|
|
|
|
|
lammps(_lammps), group("all"), filename(fileName), useelements(false), usediameter(false)
|
|
|
|
|
lammps(_lammps), group("all"), filename(fileName), useelements(false), usediameter(false),
|
|
|
|
|
usesigma(false)
|
|
|
|
|
{
|
|
|
|
|
imageLabel->setBackgroundRole(QPalette::Base);
|
|
|
|
|
imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
|
|
|
|
|
@ -271,7 +272,7 @@ ImageViewer::ImageViewer(const QString &fileName, LammpsWrapper *_lammps, QWidge
|
|
|
|
|
// properties directly since lookup in reset_view() will have failed
|
|
|
|
|
dobox->setChecked(showbox);
|
|
|
|
|
dovdw->setChecked(vdwfactor > 1.0);
|
|
|
|
|
dovdw->setEnabled(useelements || usediameter);
|
|
|
|
|
dovdw->setEnabled(useelements || usediameter || usesigma);
|
|
|
|
|
doaxes->setChecked(showaxes);
|
|
|
|
|
dossao->setChecked(usessao);
|
|
|
|
|
doanti->setChecked(antialias);
|
|
|
|
|
@ -458,9 +459,19 @@ void ImageViewer::createImage()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
usediameter = lammps->extract_setting("radius_flag") != 0;
|
|
|
|
|
|
|
|
|
|
// use Lennard-Jones sigma for radius, if available
|
|
|
|
|
usesigma = false;
|
|
|
|
|
const char *pair_style = (const char *)lammps->extract_global("pair_style");
|
|
|
|
|
if (!useelements && pair_style && (strncmp(pair_style, "lj/", 3) == 0)) {
|
|
|
|
|
double **sigma = (double **) lammps->extract_pair("sigma");
|
|
|
|
|
if (sigma) {
|
|
|
|
|
usesigma = true;
|
|
|
|
|
for (int i = 1; i <= ntypes; ++i)
|
|
|
|
|
adiams += QString("adiam %1 %2 ").arg(i).arg(vdwfactor * sigma[i][i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// adjust pushbutton state and clear adiams string to disable VDW display, if needed
|
|
|
|
|
if (useelements || usediameter) {
|
|
|
|
|
if (useelements || usediameter || usesigma) {
|
|
|
|
|
auto *button = findChild<QPushButton *>("vdw");
|
|
|
|
|
if (button) button->setEnabled(true);
|
|
|
|
|
} else {
|
|
|
|
|
@ -469,7 +480,7 @@ void ImageViewer::createImage()
|
|
|
|
|
if (button) button->setEnabled(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!adiams.isEmpty())
|
|
|
|
|
if (useelements)
|
|
|
|
|
dumpcmd += blank + "element";
|
|
|
|
|
else
|
|
|
|
|
dumpcmd += blank + settings.value("color", "type").toString();
|
|
|
|
|
@ -503,7 +514,8 @@ void ImageViewer::createImage()
|
|
|
|
|
|
|
|
|
|
dumpcmd += " modify boxcolor " + settings.value("boxcolor", "yellow").toString();
|
|
|
|
|
dumpcmd += " backcolor " + settings.value("background", "black").toString();
|
|
|
|
|
if (!adiams.isEmpty()) dumpcmd += blank + elements + blank + adiams + blank;
|
|
|
|
|
if (useelements) dumpcmd += blank + elements + blank + adiams + blank;
|
|
|
|
|
if (usesigma) dumpcmd += blank + adiams + blank;
|
|
|
|
|
settings.endGroup();
|
|
|
|
|
|
|
|
|
|
lammps->command(dumpcmd.toLocal8Bit());
|
|
|
|
|
|