/*
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/Accessor","../../../core/Identifiable","../../../core/maybe","../../../core/accessorSupport/decorators/property","../../../core/arrayUtils","../../../core/has","../../../core/accessorSupport/ensureType","../../../core/accessorSupport/decorators/subclass","./graphics/GraphicsProcessor","../../layers/GraphicsView"],(function(e,r,t,o,s,i,c,n,p,a,u,h){"use strict";let l=function(r){function t(e){var t;return(t=r.call(this,e)||this).processor=null,t.slicePlaneEnabled=!1,t.layer=new d,t}e._inheritsLoose(t,r);var o=t.prototype;return o.initialize=function(){this._set("processor",new u.GraphicsProcessor({owner:this})),this.processor.setup()},o.destroy=function(){this._set("processor",s.destroyMaybe(this.processor))},o.getHit=function(e){return this.processor.getHit(e)},o.whenGraphicBounds=function(e,r){return this.processor.whenGraphicBounds(e,r)},o.graphicChanged=function(e){this.processor.graphicsCore.graphicUpdateHandler(e)},o.queryGraphics=function(){var r=e._asyncToGenerator((function*(){return this.loadedGraphics}));function t(){return r.apply(this,arguments)}return t}(),o.fetchPopupFeatures=function(){var r=e._asyncToGenerator((function*(e,r){return s.isSome(r)?r.clientGraphics:null}));function t(e,t){return r.apply(this,arguments)}return t}(),o.highlight=function(e){return this.processor.highlight(e)},o.maskOccludee=function(e){return this.processor.maskOccludee(e)},e._createClass(t,[{key:"graphics",get:function(){return this.view.graphics}},{key:"loadedGraphics",get:function(){return this.graphics}},{key:"updating",get:function(){var e;return!(null==(e=this.processor)||!e.updating)}},{key:"symbolUpdateType",get:function(){return this.processor.graphicsCore.symbolUpdateType}},{key:"updatePolicy",get:function(){return this.processor.graphicsCore.effectiveUpdatePolicy}}]),t}(h.GraphicsView(t));r.__decorate([i.property({readOnly:!0})],l.prototype,"graphics",null),r.__decorate([i.property()],l.prototype,"loadedGraphics",null),r.__decorate([i.property({readOnly:!0})],l.prototype,"updating",null),r.__decorate([i.property({constructOnly:!0})],l.prototype,"view",void 0),r.__decorate([i.property()],l.prototype,"processor",void 0),r.__decorate([i.property({type:Boolean})],l.prototype,"slicePlaneEnabled",void 0),r.__decorate([i.property()],l.prototype,"layer",void 0),l=r.__decorate([a.subclass("esri.views.3d.layers.GraphicsView3D")],l);let d=function(r){function t(){var e;return(e=r.call(this)||this).type="graphics-view-3d-dummy",e.id=e.uid,e}return e._inheritsLoose(t,r),t}(o.Identifiable);return l}));
