/** @internal NOTE: Internal APIs. Subject to change. Use of these APIs in production applications is not supported. */ /** */
import { Color3, Color4 } from '@babylonjs/core/Maths/math.color';
export class BimIfcStyle {
    _style;
    color;
    color4;
    color3;
    constructor(_style) {
        this._style = _style;
        // Alpha is set to at least 1, products with alpha = 0 are not visible nor selectable
        this.color = new Uint8Array([_style.r, _style.g, _style.b, Math.max(1, _style.a)]);
        this.color4 = Color4.FromArray(this.color);
        this.color3 = Color3.FromArray(this.color);
    }
    get r() {
        return this._style.r;
    }
    get g() {
        return this._style.g;
    }
    get b() {
        return this._style.b;
    }
    get a() {
        return this._style.a;
    }
    get diffuseFactor() {
        return this._style.diffuseFactor;
    }
    get diffuseTransmissionFactor() {
        return this._style.diffuseTransmissionFactor;
    }
    get hash() {
        return this._style.hash;
    }
    get name() {
        return this._style.name;
    }
    get reflectionFactor() {
        return this._style.reflectionFactor;
    }
    get specularFactor() {
        return this._style.specularFactor;
    }
    get transmissionFactor() {
        return this._style.transmissionFactor;
    }
    _surfaceColor;
    get surfaceColor() {
        return (this._surfaceColor ??= [this.r, this.g, this.b, this.a]);
    }
}
//# sourceMappingURL=bim-ifc-style.js.map