Merge branch 'collected-small-fixes' of github.com:akohlmey/lammps into collected-small-fixes
This commit is contained in:
@ -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);
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
|
||||
@ -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) ";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user