DatasetSettings: More thorough validation for UnitCell
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user