/*
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","../../../Color","../../../core/Accessor","../../../core/maybe","../../../core/accessorSupport/decorators/property","../../../core/arrayUtils","../../../core/has","../../../core/accessorSupport/ensureType","../../../core/accessorSupport/decorators/subclass","../../../chunks/vec4f32","../../../chunks/vec4f64"],(function(o,e,r,t,c,a,p,i,l,s,y,d){"use strict";let h=function(e){function t(){var o;return(o=e.apply(this,arguments)||this).color=new r([0,255,255]),o.haloColor=null,o.haloOpacity=1,o.fillOpacity=.25,o.shadowOpacity=.4,o.shadowColor=new r([0,0,0]),o.shadowDifference=.2,o}return o._inheritsLoose(t,e),t.toEngineOptions=function(o){const e=r.toUnitRGBA(o.color),t=c.isSome(o.haloColor)?r.toUnitRGBA(o.haloColor):e,a=r.toUnitRGBA(o.shadowColor);return{color:y.fromValues(e[0],e[1],e[2],e[3]),haloColor:y.fromValues(t[0],t[1],t[2],t[3]),haloOpacity:o.haloOpacity,haloOpacityOccluded:.25*o.haloOpacity,fillOpacity:o.fillOpacity,fillOpacityOccluded:.25*o.fillOpacity,shadowOpacity:o.shadowOpacity,shadowColor:d.fromValues(a[0],a[1],a[2],a[3]),occludedShadowOpacity:o.shadowOpacity*(1-o.shadowDifference)}},t}(t);e.__decorate([a.property({type:r})],h.prototype,"color",void 0),e.__decorate([a.property({type:r})],h.prototype,"haloColor",void 0),e.__decorate([a.property()],h.prototype,"haloOpacity",void 0),e.__decorate([a.property()],h.prototype,"fillOpacity",void 0),e.__decorate([a.property()],h.prototype,"shadowOpacity",void 0),e.__decorate([a.property({type:r})],h.prototype,"shadowColor",void 0),e.__decorate([a.property()],h.prototype,"shadowDifference",void 0),h=e.__decorate([s.subclass("esri.views.3d.support.HighlightOptions")],h);return h}));
