UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 2.42 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{_ as o}from"../../chunks/tslib.es6.js";import r from"../../Color.js";import e from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import s from"./MeshTexture.js";import i from"./MeshTextureTransform.js";var n;let u=n=class extends e{constructor(o){super(o),this.color=null,this.colorTexture=null,this.colorTextureTransform=null,this.normalTexture=void 0,this.normalTextureTransform=void 0,this.alphaMode="auto",this.alphaCutoff=.5,this.doubleSided=!0}clone(){return this.cloneWithDeduplication(null,new Map)}cloneWithDeduplication(o,r){const e=null!=o?o.get(this):null;if(e)return e;const t=new n(this.clonePropertiesWithDeduplication(r));return null!=o&&o.set(this,t),t}clonePropertiesWithDeduplication(o){return{color:null!=this.color?this.color.clone():null,colorTexture:this.colorTexture?.cloneWithDeduplication(o),normalTexture:this.normalTexture?.cloneWithDeduplication(o),alphaMode:this.alphaMode,alphaCutoff:this.alphaCutoff,doubleSided:this.doubleSided,colorTextureTransform:this.colorTextureTransform?.clone(),normalTextureTransform:this.normalTextureTransform?.clone()}}get memoryUsage(){return this.getMemoryUsage()}getMemoryUsage(){let o=0;return o+=null!=this.color?16:0,null!=this.colorTexture&&(o+=this.colorTexture.memoryUsage),o+=null!=this.colorTextureTransform?20:0,null!=this.normalTexture&&(o+=this.normalTexture.memoryUsage),o+=null!=this.normalTextureTransform?20:0,o}};o([t({type:r,json:{write:!0}})],u.prototype,"color",void 0),o([t({type:s,json:{write:!0}})],u.prototype,"colorTexture",void 0),o([t({type:i,json:{write:!0}})],u.prototype,"colorTextureTransform",void 0),o([t({type:s,json:{write:!0}})],u.prototype,"normalTexture",void 0),o([t({type:i,json:{write:!0}})],u.prototype,"normalTextureTransform",void 0),o([t({nonNullable:!0,json:{write:!0}})],u.prototype,"alphaMode",void 0),o([t({nonNullable:!0,json:{write:!0}})],u.prototype,"alphaCutoff",void 0),o([t({nonNullable:!0,json:{write:!0}})],u.prototype,"doubleSided",void 0),u=n=o([l("esri.geometry.support.MeshMaterial")],u);const a=u;export{a as default};