/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{__decorate as e}from"tslib";import{JSONSupport as t}from"../../core/JSONSupport.js";import{property as o,subclass as r}from"../../core/accessorSupport/decorators.js";import{enumeration as s}from"../../core/accessorSupport/decorators/enumeration.js";let p=class extends t{constructor(){super(...arguments),this.nodesPerPage=null,this.rootIndex=0,this.lodSelectionMetricType=null}};e([o({type:Number})],p.prototype,"nodesPerPage",void 0),e([o({type:Number})],p.prototype,"rootIndex",void 0),e([o({type:String})],p.prototype,"lodSelectionMetricType",void 0),p=e([r("esri.layers.support.I3SLayerDefinitions.I3SNodePageDefinition")],p);let i=class extends t{constructor(){super(...arguments),this.factor=1}};e([o({type:Number,json:{read:{source:"textureSetDefinitionId"}}})],i.prototype,"id",void 0),e([o({type:Number})],i.prototype,"factor",void 0),i=e([r("esri.layers.support.I3SLayerDefinitions.I3SMaterialTexture")],i);let n=class extends t{constructor(){super(...arguments),this.baseColorFactor=[1,1,1,1],this.baseColorTexture=null,this.metallicRoughnessTexture=null,this.metallicFactor=1,this.roughnessFactor=1}};e([o({type:[Number]})],n.prototype,"baseColorFactor",void 0),e([o({type:i})],n.prototype,"baseColorTexture",void 0),e([o({type:i})],n.prototype,"metallicRoughnessTexture",void 0),e([o({type:Number})],n.prototype,"metallicFactor",void 0),e([o({type:Number})],n.prototype,"roughnessFactor",void 0),n=e([r("esri.layers.support.I3SLayerDefinitions.I3SMaterialPBRMetallicRoughness")],n);let a=class extends t{constructor(){super(...arguments),this.alphaMode="opaque",this.alphaCutoff=.25,this.doubleSided=!1,this.cullFace="none",this.normalTexture=null,this.occlusionTexture=null,this.emissiveTexture=null,this.emissiveFactor=null,this.pbrMetallicRoughness=null}};e([s({opaque:"opaque",mask:"mask",blend:"blend"})],a.prototype,"alphaMode",void 0),e([o({type:Number})],a.prototype,"alphaCutoff",void 0),e([o({type:Boolean})],a.prototype,"doubleSided",void 0),e([s({none:"none",back:"back",front:"front"})],a.prototype,"cullFace",void 0),e([o({type:i})],a.prototype,"normalTexture",void 0),e([o({type:i})],a.prototype,"occlusionTexture",void 0),e([o({type:i})],a.prototype,"emissiveTexture",void 0),e([o({type:[Number]})],a.prototype,"emissiveFactor",void 0),e([o({type:n})],a.prototype,"pbrMetallicRoughness",void 0),a=e([r("esri.layers.support.I3SLayerDefinitions.I3SMaterialDefinition")],a);let l=class extends t{};e([o({type:String,json:{read:{source:["name","index"],reader:(e,t)=>null!=e?e:`${t.index}`}}})],l.prototype,"name",void 0),e([s({jpg:"jpg",png:"png",dds:"dds","ktx-etc2":"ktx-etc2",ktx2:"ktx2",basis:"basis"})],l.prototype,"format",void 0),l=e([r("esri.layers.support.I3SLayerDefinitions.I3STextureFormat")],l);let y=class extends t{constructor(){super(...arguments),this.atlas=!1}};e([o({type:[l]})],y.prototype,"formats",void 0),e([o({type:Boolean})],y.prototype,"atlas",void 0),y=e([r("esri.layers.support.I3SLayerDefinitions.I3STextureSetDefinition")],y);let u=class extends t{};e([s({Float32:"Float32",UInt64:"UInt64",UInt32:"UInt32",UInt16:"UInt16",UInt8:"UInt8"})],u.prototype,"type",void 0),e([o({type:Number})],u.prototype,"component",void 0),u=e([r("esri.layers.support.I3SLayerDefinitions.I3SGeometryAttribute")],u);let d=class extends t{};e([s({draco:"draco"})],d.prototype,"encoding",void 0),e([o({type:[String]})],d.prototype,"attributes",void 0),d=e([r("esri.layers.support.I3SLayerDefinitions.I3SGeometryCompressedAttributes")],d);let c=class extends t{constructor(){super(...arguments),this.offset=0}};e([o({type:Number})],c.prototype,"offset",void 0),e([o({type:u})],c.prototype,"position",void 0),e([o({type:u})],c.prototype,"normal",void 0),e([o({type:u})],c.prototype,"uv0",void 0),e([o({type:u})],c.prototype,"color",void 0),e([o({type:u})],c.prototype,"uvRegion",void 0),e([o({type:u})],c.prototype,"featureId",void 0),e([o({type:u})],c.prototype,"faceRange",void 0),e([o({type:d})],c.prototype,"compressedAttributes",void 0),c=e([r("esri.layers.support.I3SLayerDefinitions.I3SGeometryBuffer")],c);let m=class extends t{};e([s({triangle:"triangle"})],m.prototype,"topology",void 0),e([o()],m.prototype,"geometryBuffers",void 0),m=e([r("esri.layers.support.I3SLayerDefinitions.I3SGeometryDefinition")],m);export{u as I3SGeometryAttribute,c as I3SGeometryBuffer,d as I3SGeometryCompressedAttributes,m as I3SGeometryDefinition,a as I3SMaterialDefinition,n as I3SMaterialPBRMetallicRoughness,i as I3SMaterialTexture,p as I3SNodePageDefinition,l as I3STextureFormat,y as I3STextureSetDefinition};
