UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 2.43 kB
import{_ as e}from"../../chunks/tslib.es6.js";import s from"../../Color.js";import{isSome as t}from"../../core/maybe.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import i from"./MeshMaterial.js";import l from"./MeshTexture.js";var n;let u=n=class extends i{constructor(e){super(e),this.emissiveColor=null,this.emissiveTexture=null,this.occlusionTexture=null,this.metallic=1,this.roughness=1,this.metallicRoughnessTexture=null}clone(){return this.cloneWithDeduplication(null,new Map)}cloneWithDeduplication(e,s){const o=t(e)?e.get(this):null;if(o)return o;const r=new n(this.clonePropertiesWithDeduplication(s));return t(e)&&e.set(this,r),r}clonePropertiesWithDeduplication(e){return{...super.clonePropertiesWithDeduplication(e),emissiveColor:t(this.emissiveColor)?this.emissiveColor.clone():null,emissiveTexture:t(this.emissiveTexture)?this.emissiveTexture.cloneWithDeduplication(e):null,occlusionTexture:t(this.occlusionTexture)?this.occlusionTexture.cloneWithDeduplication(e):null,metallic:this.metallic,roughness:this.roughness,metallicRoughnessTexture:t(this.metallicRoughnessTexture)?this.metallicRoughnessTexture.cloneWithDeduplication(e):null,occlusionTextureTransform:t(this.occlusionTextureTransform)?this.occlusionTextureTransform:null,emissiveTextureTransform:t(this.emissiveTextureTransform)?this.emissiveTextureTransform:null,metallicRoughnessTextureTransform:t(this.metallicRoughnessTextureTransform)?this.metallicRoughnessTextureTransform:null}}};e([o({type:s,json:{write:!0}})],u.prototype,"emissiveColor",void 0),e([o({type:l,json:{write:!0}})],u.prototype,"emissiveTexture",void 0),e([o({type:l,json:{write:!0}})],u.prototype,"occlusionTexture",void 0),e([o({type:Number,nonNullable:!0,json:{write:!0},range:{min:0,max:1}})],u.prototype,"metallic",void 0),e([o({type:Number,nonNullable:!0,json:{write:!0},range:{min:0,max:1}})],u.prototype,"roughness",void 0),e([o({type:l,json:{write:!0}})],u.prototype,"metallicRoughnessTexture",void 0),e([o()],u.prototype,"occlusionTextureTransform",void 0),e([o()],u.prototype,"emissiveTextureTransform",void 0),e([o()],u.prototype,"metallicRoughnessTextureTransform",void 0),u=n=e([r("esri.geometry.support.MeshMaterialMetallicRoughness")],u);const c=u;export{c as default};