Merge branch 'collected-small-fixes' of github.com:akohlmey/lammps into collected-small-fixes

This commit is contained in:
Axel Kohlmeyer
2023-10-26 20:48:47 -04:00
4 changed files with 35 additions and 27 deletions

View File

@ -31,6 +31,8 @@
#include <QTextStream>
#include <QVBoxLayout>
#include <cmath>
using namespace QtCharts;
ChartWindow::ChartWindow(const QString &_filename, QWidget *parent) :
@ -86,9 +88,9 @@ int ChartWindow::get_step() const
if (charts.size() > 0) {
auto *v = charts[0];
if (v)
return (int)v->get_step(v->get_count() - 1);
return (int)v->get_step(v->get_count() - 1);
else
return -1;
return -1;
} else {
return -1;
}
@ -300,20 +302,7 @@ void ChartViewer::add_data(int step, double data)
if (last_step < step) {
last_step = step;
series->append(step, data);
auto points = series->points();
qreal xmin = 1.0e100;
qreal xmax = -1.0e100;
qreal ymin = 1.0e100;
qreal ymax = -1.0e100;
for (auto &p : points) {
xmin = qMin(xmin, p.x());
xmax = qMax(xmax, p.x());
ymin = qMin(ymin, p.y());
ymax = qMax(ymax, p.y());
}
xaxis->setRange(xmin, xmax);
yaxis->setRange(ymin, ymax);
reset_zoom();
}
}
@ -333,6 +322,20 @@ void ChartViewer::reset_zoom()
ymin = qMin(ymin, p.y());
ymax = qMax(ymax, p.y());
}
// avoid (nearly) empty ranges
double deltax = fabs((xmax - xmin) / ((xmax == 0.0) ? 1.0 : xmax));
if (deltax < 1.0e-10) {
xmin -= 100.0*deltax;
xmax += 100.0*deltax;
}
double deltay = fabs((ymax - ymin) / ((ymax == 0.0) ? 1.0 : ymax));
if (deltay < 1.0e-10) {
ymin -= 100.0*deltay;
ymax += 100.0*deltay;
}
xaxis->setRange(xmin, xmax);
yaxis->setRange(ymin, ymax);
}

View File

@ -424,12 +424,15 @@ void CodeEditor::setVarNameList()
LammpsWrapper *lammps = &qobject_cast<LammpsGui *>(parent())->lammps;
int nvar = lammps->id_count("variable");
char buffer[200];
constexpr int BUFLEN = 256;
char buffer[BUFLEN];
for (int i = 0; i < nvar; ++i) {
lammps->variable_info(i, buffer, 200);
if (strlen(buffer) == 1) vars << QString("$%1").arg(buffer);
vars << QString("${%1}").arg(buffer);
vars << QString("v_%1").arg(buffer);
memset(buffer, 0, BUFLEN);
if (lammps->variable_info(i, buffer, BUFLEN)) {
if (strlen(buffer) == 1) vars << QString("$%1").arg(buffer);
vars << QString("${%1}").arg(buffer);
vars << QString("v_%1").arg(buffer);
}
}
#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0)

View File

@ -215,9 +215,11 @@ ImageViewer::ImageViewer(const QString &fileName, LammpsWrapper *_lammps, QWidge
combo->setToolTip("Select group to display");
combo->setObjectName("group");
int ngroup = lammps->id_count("group");
char gname[64];
constexpr int BUFLEN = 256;
char gname[BUFLEN];
for (int i = 0; i < ngroup; ++i) {
lammps->id_name("group", i, gname, 64);
memset(gname, 0, BUFLEN);
lammps->id_name("group", i, gname, BUFLEN);
combo->addItem(gname);
}

View File

@ -58,7 +58,7 @@
#endif
static const QString blank(" ");
static constexpr int BUFLEN = 128;
static constexpr int BUFLEN = 256;
LammpsGui::LammpsGui(QWidget *parent, const char *filename) :
QMainWindow(parent), ui(new Ui::LammpsGui), highlighter(nullptr), capturer(nullptr),
@ -778,11 +778,11 @@ void LammpsGui::logupdate()
if (varwindow) {
int nvar = lammps.id_count("variable");
char buffer[200];
char buffer[BUFLEN];
QString varinfo("\n");
for (int i = 0; i < nvar; ++i) {
lammps.variable_info(i, buffer, 200);
varinfo += buffer;
memset(buffer, 0, BUFLEN);
if (lammps.variable_info(i, buffer, BUFLEN)) varinfo += buffer;
}
if (nvar == 0) varinfo += " (none) ";