/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{__decorate as e}from"tslib";import{EventedMixin as t}from"../../../core/Evented.js";import{IdentifiableMixin as r}from"../../../core/Identifiable.js";import{EsriPromiseMixin as i}from"../../../core/Promise.js";import{property as s,subclass as o}from"../../../core/accessorSupport/decorators.js";const p=(p,n)=>{const l=i(r(t(p)));let u=class extends l{constructor(e){super(e)}initialize(){}get suspended(){return!this.canResume()}get updating(){return!this.suspended&&this.isUpdating()}get visible(){return!!this.sublayer?.visible}set visible(e){this._overrideIfSome("visible",e)}get fullOpacity(){const e=e=>null!=e?e:1;return e(this.sublayer?.opacity)*e(this.parent?.fullOpacity)}canResume(){return!this.parent?.suspended&&this.view?.ready&&this.visible||!1}isUpdating(){return!1}};return e([s()],u.prototype,"sublayer",void 0),e([s()],u.prototype,"parent",void 0),e([s()],u.prototype,"view",void 0),e([s({readOnly:!0})],u.prototype,"suspended",null),e([s({type:Boolean,readOnly:!0})],u.prototype,"updating",null),e([s()],u.prototype,"visible",null),e([s()],u.prototype,"fullOpacity",null),u=e([o("esri.views.3d.layers.BuildingSublayerView3D")],u),u};export{p as BuildingSublayerView3DMixin};
