DatasetSettings: More thorough validation for UnitCell

This commit is contained in:
2026-04-15 11:39:40 +02:00
parent e481e5b1fb
commit 09ed5dac8f
+7 -1
View File
@@ -103,7 +103,13 @@ DatasetSettings &DatasetSettings::Compression(CompressionAlgorithm input) {
}
DatasetSettings &DatasetSettings::SetUnitCell(const std::optional<UnitCell> &cell) {
if (cell && (cell->a * cell->b * cell->c * cell->alpha * cell->beta * cell->gamma != 0.0)) {
if (cell
&& (cell->a > 0.0) && std::isfinite(cell->a)
&& (cell->b > 0.0) && std::isfinite(cell->b)
&& (cell->c > 0.0) && std::isfinite(cell->c)
&& (cell->alpha > 0.0) && std::isfinite(cell->alpha)
&& (cell->beta > 0.0) && std::isfinite(cell->beta)
&& (cell->gamma > 0.0) && std::isfinite(cell->gamma)) {
check_min("Angle alpha", cell->alpha, 0);
check_min("Angle beta", cell->beta, 0);