/* COPYRIGHT Esri - https://js.arcgis.com/5.1.2/LICENSE.txt */
import{__decorate as t}from"tslib";import{property as o,subclass as e}from"../core/accessorSupport/decorators.js";import r from"./Symbol3DLayer.js";import i from"./support/ObjectSymbol3DLayerResource.js";import s from"./support/Symbol3DAnchorPosition3D.js";import p from"./support/Symbol3DMaterial.js";import{enumeration as h}from"../core/accessorSupport/decorators/enumeration.js";var n;let a=class extends r{static{n=this}constructor(t){super(t),this.material=null,this.castShadows=!0,this.resource=null,this.type="object",this.width=void 0,this.height=void 0,this.depth=void 0,this.anchor=void 0,this.anchorPosition=void 0,this.heading=void 0,this.tilt=void 0,this.roll=void 0}clone(){return new n({heading:this.heading,tilt:this.tilt,roll:this.roll,anchor:this.anchor,anchorPosition:this.anchorPosition?.clone(),depth:this.depth,enabled:this.enabled,height:this.height,material:this.material?.clone()??null,castShadows:this.castShadows,resource:this.resource?.clone(),width:this.width})}get isPrimitive(){return!this.resource||"string"!=typeof this.resource.href}};t([o({type:p,json:{write:!0}})],a.prototype,"material",void 0),t([o({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],a.prototype,"castShadows",void 0),t([o({type:i,json:{write:!0}})],a.prototype,"resource",void 0),t([h({Object:"object"},{readOnly:!0})],a.prototype,"type",void 0),t([o({type:Number,json:{write:!0}})],a.prototype,"width",void 0),t([o({type:Number,json:{write:!0}})],a.prototype,"height",void 0),t([o({type:Number,json:{write:!0}})],a.prototype,"depth",void 0),t([h({center:"center",top:"top",bottom:"bottom",origin:"origin",relative:"relative"},{default:"origin"})],a.prototype,"anchor",void 0),t([o({type:s,json:{type:[Number],read:{reader:t=>new s({x:t[0],y:t[1],z:t[2]})},write:{writer:(t,o)=>{o.anchorPosition=[t.x,t.y,t.z]},overridePolicy(){return{enabled:"relative"===this.anchor}}}}})],a.prototype,"anchorPosition",void 0),t([o({type:Number,json:{write:!0}})],a.prototype,"heading",void 0),t([o({type:Number,json:{write:!0}})],a.prototype,"tilt",void 0),t([o({type:Number,json:{write:!0}})],a.prototype,"roll",void 0),t([o({readOnly:!0})],a.prototype,"isPrimitive",null),a=n=t([e("esri.symbols.ObjectSymbol3DLayer")],a);export{a as default};
