UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

3 lines (2 loc) 2.38 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */ import{__decorate as e}from"tslib";import t from"../../Color.js";import{property as s,subclass as r}from"../../core/accessorSupport/decorators.js";import o from"./MeshMaterial.js";import i from"./MeshTexture.js";import l from"./MeshTextureTransform.js";let u=class extends o{constructor(e){super(e),this.emissiveColor=null,this.emissiveStrength=null,this.emissiveTextureTransform=void 0,this.occlusionTextureTransform=void 0,this.metallic=1,this.roughness=1,this.metallicRoughnessTextureTransform=void 0}get emissiveTexture(){return this._get("emissiveTexture")}set emissiveTexture(e){this._set("emissiveTexture",null==e?null:i.from(e))}get occlusionTexture(){return this._get("occlusionTexture")}set occlusionTexture(e){this._set("occlusionTexture",null==e?null:i.from(e))}get metallicRoughnessTexture(){return this._get("metallicRoughnessTexture")}set metallicRoughnessTexture(e){this._set("metallicRoughnessTexture",null==e?null:i.from(e))}getMemoryUsage(){let e=super.getMemoryUsage();return e+=null!=this.emissiveColor?16:0,null!=this.emissiveTexture&&(e+=this.emissiveTexture.memoryUsage),e+=null!=this.emissiveTextureTransform?20:0,null!=this.occlusionTexture&&(e+=this.occlusionTexture.memoryUsage),e+=null!=this.occlusionTextureTransform?20:0,null!=this.metallicRoughnessTexture&&(e+=this.metallicRoughnessTexture.memoryUsage),e+=null!=this.metallicRoughnessTextureTransform?20:0,e}};e([s({type:t,json:{write:!0}})],u.prototype,"emissiveColor",void 0),e([s({json:{write:!0}})],u.prototype,"emissiveStrength",void 0),e([s({type:i,json:{write:!0},value:null})],u.prototype,"emissiveTexture",null),e([s({type:l,json:{write:!0}})],u.prototype,"emissiveTextureTransform",void 0),e([s({type:i,json:{write:!0},value:null})],u.prototype,"occlusionTexture",null),e([s({type:l,json:{write:!0}})],u.prototype,"occlusionTextureTransform",void 0),e([s({type:Number,nonNullable:!0,json:{write:!0},range:{min:0,max:1}})],u.prototype,"metallic",void 0),e([s({type:Number,nonNullable:!0,json:{write:!0},range:{min:0,max:1}})],u.prototype,"roughness",void 0),e([s({type:i,json:{write:!0},value:null})],u.prototype,"metallicRoughnessTexture",null),e([s({type:l,json:{write:!0}})],u.prototype,"metallicRoughnessTextureTransform",void 0),u=e([r("esri.geometry.support.MeshMaterialMetallicRoughness")],u);export{u as default};