Compatibility fix for v0.8 wrapper instances

This commit is contained in:
Thomas Krijnen
2024-08-25 10:51:10 +02:00
parent 7e6607adcf
commit 2d3adce59e
+7 -1
View File
@@ -338,7 +338,13 @@ def main(
# - style transparency
# the factor determines how much white will be interpolated
# into the style diffuse color.
clr = numpy.array(style.diffuse if style else (0.6, 0.6, 0.6))
def clr(c):
if isinstance(c, ifcopenshell.ifcopenshell_wrapper.colour):
return c.r(), c.g(), c.b()
else:
return c
clr = numpy.array(clr(style.diffuse) if style else (0.6, 0.6, 0.6))
factor = (math.log(elements[0].distance + 2.0) / 7.0) * (1.0 - 0.5 * abs(elements[0].dot_product))
if style and style.has_transparency:
factor *= 1.0 - style.transparency