From 9fceec35cce09d5e657bb3a404dc25cabc4c2e04 Mon Sep 17 00:00:00 2001 From: Cristian Ritter Date: Mon, 26 Aug 2024 10:17:50 -0300 Subject: [PATCH] add diffuse on surface, if has no surface color Signed-off-by: Cristian Ritter --- src/ifcgeom/mapping/mapping.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ifcgeom/mapping/mapping.cpp b/src/ifcgeom/mapping/mapping.cpp index 50d7fad3f6..c69db2dbad 100644 --- a/src/ifcgeom/mapping/mapping.cpp +++ b/src/ifcgeom/mapping/mapping.cpp @@ -577,6 +577,9 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcStyledItem* inst) { if (rendering_style->DiffuseColour() && process_colour(rendering_style->DiffuseColour(), rgb)) { const taxonomy::colour& old_diffuse = surface_style->diffuse ? surface_style->diffuse : white; surface_style->diffuse = taxonomy::colour(old_diffuse.r() * rgb[0], old_diffuse.g() * rgb[1], old_diffuse.b() * rgb[2]); + if (!surface_style->surface) { + surface_style->surface = surface_style->diffuse; + } } if (rendering_style->DiffuseTransmissionColour()) { // Not supported