/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{__decorate as e}from"tslib";import s from"../../core/Collection.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{clone as o}from"../../core/lang.js";import{property as t,subclass as i}from"../../core/accessorSupport/decorators.js";import{Integer as u}from"../../core/accessorSupport/ensureType.js";import l from"./VoxelIsosurface.js";import n from"./VoxelTransferFunctionStyle.js";import a from"./VoxelUniqueValue.js";var p;let c=p=class extends r{constructor(e){super(e),this.variableId=0,this.label="",this.transferFunction=null,this.uniqueValues=null,this.isosurfaces=null,this.uniqueValues=new(s.ofType(a)),this.isosurfaces=new(s.ofType(l))}clone(){return new p({variableId:this.variableId,label:this.label,transferFunction:o(this.transferFunction),uniqueValues:o(this.uniqueValues),isosurfaces:o(this.isosurfaces)})}};e([t({type:u,json:{write:{enabled:!0,isRequired:!0}}})],c.prototype,"variableId",void 0),e([t({type:String,json:{write:!0}})],c.prototype,"label",void 0),e([t({type:n,json:{write:{enabled:!0,overridePolicy(){return{enabled:!this.uniqueValues||this.uniqueValues.length<1}}}}})],c.prototype,"transferFunction",void 0),e([t({type:s.ofType(a),json:{write:{enabled:!0,overridePolicy(){return{enabled:!!this.uniqueValues&&this.uniqueValues.length>0}}}}})],c.prototype,"uniqueValues",void 0),e([t({type:s.ofType(l),json:{write:{enabled:!0,overridePolicy(){const e=!this.uniqueValues||this.uniqueValues.length<1,s=!!this.isosurfaces&&this.isosurfaces.length>0;return{enabled:e&&s}}}}})],c.prototype,"isosurfaces",void 0),c=p=e([i("esri.layers.voxel.VoxelVariableStyle")],c);export{c as default};
