From e416aae4bcc48c22f4b845f044baaf89c8513e6a Mon Sep 17 00:00:00 2001 From: kovacsv Date: Sun, 13 Jun 2021 07:37:11 +0200 Subject: [PATCH] Transparency handling. --- source/external/ifcimporter.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/source/external/ifcimporter.js b/source/external/ifcimporter.js index 89a3a34..18bb720 100644 --- a/source/external/ifcimporter.js +++ b/source/external/ifcimporter.js @@ -120,12 +120,20 @@ OV.ImporterIfc = class extends OV.ImporterBase parseInt (ifcColor.y * 255.0, 10), parseInt (ifcColor.z * 255.0, 10) ); - const materialName = 'Color ' + OV.ColorToHexString (color); + + const materialName = 'Color ' + + OV.IntegerToHexString (color.r) + + OV.IntegerToHexString (color.g) + + OV.IntegerToHexString (color.b) + + OV.IntegerToHexString (parseInt (ifcColor.w * 255.0, 10)); + let materialIndex = this.materialNameToIndex[materialName]; if (materialIndex === undefined) { let material = new OV.Material (); material.name = materialName; material.diffuse = color; + material.opacity = ifcColor.w; + OV.UpdateMaterialTransparency (material); materialIndex = this.model.AddMaterial (material); this.materialNameToIndex[materialName] = materialIndex; }