/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["../chunks/_rollupPluginBabelHelpers","../chunks/tslib.es6","../core/maybe","../core/accessorSupport/decorators/property","../core/arrayUtils","../core/has","../core/accessorSupport/ensureType","../core/accessorSupport/decorators/enumeration","../core/accessorSupport/decorators/subclass","./Symbol3DLayer","./support/ObjectSymbol3DLayerResource","./support/Symbol3DAnchorPosition3D","./support/Symbol3DMaterial"],(function(e,o,t,r,i,s,a,p,n,c,l,d,y){"use strict";var h;let u=h=function(o){function r(e){var t;return(t=o.call(this,e)||this).material=null,t.castShadows=!0,t.resource=null,t.type="object",t.width=void 0,t.height=void 0,t.depth=void 0,t.anchor=void 0,t.anchorPosition=void 0,t.heading=void 0,t.tilt=void 0,t.roll=void 0,t}return e._inheritsLoose(r,o),r.prototype.clone=function(){return new h({heading:this.heading,tilt:this.tilt,roll:this.roll,anchor:this.anchor,anchorPosition:this.anchorPosition&&this.anchorPosition.clone(),depth:this.depth,enabled:this.enabled,height:this.height,material:t.isSome(this.material)?this.material.clone():null,castShadows:this.castShadows,resource:this.resource&&this.resource.clone(),width:this.width})},e._createClass(r,[{key:"isPrimitive",get:function(){return!this.resource||"string"!=typeof this.resource.href}}]),r}(c);o.__decorate([r.property({type:y.Symbol3DMaterial,json:{write:!0}})],u.prototype,"material",void 0),o.__decorate([r.property({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],u.prototype,"castShadows",void 0),o.__decorate([r.property({type:l.ObjectSymbol3DLayerResource,json:{write:!0}})],u.prototype,"resource",void 0),o.__decorate([p.enumeration({Object:"object"},{readOnly:!0})],u.prototype,"type",void 0),o.__decorate([r.property({type:Number,json:{write:!0}})],u.prototype,"width",void 0),o.__decorate([r.property({type:Number,json:{write:!0}})],u.prototype,"height",void 0),o.__decorate([r.property({type:Number,json:{write:!0}})],u.prototype,"depth",void 0),o.__decorate([p.enumeration({center:"center",top:"top",bottom:"bottom",origin:"origin",relative:"relative"}),r.property({json:{default:"origin"}})],u.prototype,"anchor",void 0),o.__decorate([r.property({type:d.Symbol3DAnchorPosition3D,json:{type:[Number],read:{reader:e=>new d.Symbol3DAnchorPosition3D({x:e[0],y:e[1],z:e[2]})},write:{writer:(e,o)=>{o.anchorPosition=[e.x,e.y,e.z]},overridePolicy(){return{enabled:"relative"===this.anchor}}}}})],u.prototype,"anchorPosition",void 0),o.__decorate([r.property({type:Number,json:{write:!0}})],u.prototype,"heading",void 0),o.__decorate([r.property({type:Number,json:{write:!0}})],u.prototype,"tilt",void 0),o.__decorate([r.property({type:Number,json:{write:!0}})],u.prototype,"roll",void 0),o.__decorate([r.property({readOnly:!0})],u.prototype,"isPrimitive",null),u=h=o.__decorate([n.subclass("esri.symbols.ObjectSymbol3DLayer")],u);return u}));
