Adding --surface-color in conversion settings to force the use of surface color instead of diffuse color. Issue #5075

This commit is contained in:
Cristian Ritter
2024-08-15 13:56:31 -03:00
parent 4348b9bff9
commit b5a61753a5
4 changed files with 25 additions and 5 deletions
+5 -1
View File
@@ -565,10 +565,14 @@ taxonomy::ptr mapping::map_impl(const IfcSchema::IfcStyledItem* inst) {
return surface_style;
}
surface_style->use_surface_color = settings_.get<settings::SurfaceColour>().get();
static taxonomy::colour white = taxonomy::colour(1., 1., 1.);
double rgb[3];
if (process_colour(shading->SurfaceColour(), rgb)) {
surface_style->diffuse.components() << rgb[0], rgb[1], rgb[2];
surface_style->surface.components() << rgb[0], rgb[1], rgb[2];
} else {
surface_style->surface = white;
}
if (auto rendering_style = shading->as<IfcSchema::IfcSurfaceStyleRendering>()) {