From b8f4149603505f3500f558720a0a1de3542b4c22 Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Fri, 8 Aug 2025 16:34:59 +0500 Subject: [PATCH] HdfSerializer::read_surface_style - use isnan for clarity --- src/serializers/HdfSerializer.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/serializers/HdfSerializer.cpp b/src/serializers/HdfSerializer.cpp index d0e2caa7a8..2fceb0eec0 100644 --- a/src/serializers/HdfSerializer.cpp +++ b/src/serializers/HdfSerializer.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #ifdef USE_BINARY #define write_shape write_binary @@ -237,16 +238,16 @@ void HdfSerializer::read_surface_style(const surface_style_serialization& s, ifcopenshell::geometry::taxonomy::style& gss, IfcParse::IfcFile& f) { if (strlen(s.name) || s.id) { - if (s.diffuse[0] == s.diffuse[0]) { + if (!std::isnan(s.diffuse[0])) { gss.diffuse = ifcopenshell::geometry::taxonomy::colour(s.diffuse[0], s.diffuse[1], s.diffuse[2]); } - if (s.specular[0] == s.specular[0]) { + if (!std::isnan(s.specular[0])) { gss.specular = ifcopenshell::geometry::taxonomy::colour(s.specular[0], s.specular[1], s.specular[2]); } - if (s.transparency == s.transparency) { + if (!std::isnan(s.transparency)) { gss.transparency = s.transparency; } - if (s.specularity == s.specularity) { + if (!std::isnan(s.specularity)) { gss.specularity = s.specularity; } if (s.id != 0) {