/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
import{__decorate as t}from"tslib";import r from"../../Color.js";import{JSONSupport as o}from"../../core/JSONSupport.js";import{px2pt as e}from"../../core/screenUtils.js";import{property as s,subclass as i}from"../../core/accessorSupport/decorators.js";import{symbol3dLinePatternProperty as l}from"../patterns/utils.js";import{colorAndTransparencyProperty as p,screenSizeProperty as n}from"./materialUtils.js";import{lineCaps as a}from"./symbolLayerUtils3D.js";var u;let c=u=class extends o{constructor(t){super(t),this.color=new r([0,0,0,1]),this.pattern=null,this.patternCap="butt"}get size(){return this._get("size")??e(1)}set size(t){this._set("size",t)}clone(){const t={color:null!=this.color?this.color.clone():null,size:this.size,pattern:null!=this.pattern?this.pattern.clone():null,patternCap:this.patternCap};return new u(t)}};t([s(p({colorRequiredOnWrite:!0}))],c.prototype,"color",void 0),t([s({...n,json:{write:{isRequired:!0}}})],c.prototype,"size",null),t([s(l)],c.prototype,"pattern",void 0),t([s({type:a,json:{default:"butt",write:{overridePolicy(){return{enabled:null!=this.pattern}}}}})],c.prototype,"patternCap",void 0),c=u=t([i("esri.symbols.support.Symbol3DOutline")],c);const m=c;export{m as default};
