/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../../../chunks/_rollupPluginBabelHelpers","../../../../core/maybe","../core/shaderModules/interfaces","./ContentObject","./ContentObjectType","./DefaultVertexAttributeLocations","../materials/internal/MaterialUtil"],(function(e,t,r,i,n,s,a,c){"use strict";let u=function(e){function i(t,r){var i;return(i=e.call(this)||this).type=s.ContentObjectType.Material,i.supportsEdges=!1,i._visible=!0,i._renderPriority=0,i._insertOrder=0,i._vertexAttributeLocations=a.Default3D,i._parameters=c.copyParameters(t,r),i.validateParameters(i._parameters),i}t._inheritsLoose(i,e);var n=i.prototype;return n.dispose=function(){},n.update=function(e){return!1},n.setParameters=function(e,t=!0){c.updateParameters(this._parameters,e)&&(this.validateParameters(this._parameters),t&&this.parametersChanged())},n.validateParameters=function(e){},n.shouldRender=function(e){return this.isVisible()&&this.isVisibleInPass(e.pass)&&0!=(this.renderOccluded&e.renderOccludedMask)},n.isVisibleInPass=function(e){return!0},n.isVisible=function(){return this._visible},n.parametersChanged=function(){r.isSome(this.repository)&&this.repository.materialChanged(this)},t._createClass(i,[{key:"parameters",get:function(){return this._parameters}},{key:"visible",get:function(){return this._visible},set:function(e){e!==this._visible&&(this._visible=e,this.parametersChanged())}},{key:"renderOccluded",get:function(){return this.parameters.renderOccluded}},{key:"renderPriority",get:function(){return this._renderPriority},set:function(e){e!==this._renderPriority&&(this._renderPriority=e,this.parametersChanged())}},{key:"insertOrder",get:function(){return this._insertOrder},set:function(e){e!==this._insertOrder&&(this._insertOrder=e,this.parametersChanged())}},{key:"vertexAttributeLocations",get:function(){return this._vertexAttributeLocations}}]),i}(n.ContentObject);var d;e.RenderOccludedFlag=void 0,(d=e.RenderOccludedFlag||(e.RenderOccludedFlag={}))[d.Occlude=1]="Occlude",d[d.Transparent=2]="Transparent",d[d.OccludeAndTransparent=4]="OccludeAndTransparent",d[d.OccludeAndTransparentStencil=8]="OccludeAndTransparentStencil",d[d.Opaque=16]="Opaque";let o=function(r){function i(){var t;return(t=r.apply(this,arguments)||this).renderOccluded=e.RenderOccludedFlag.Occlude,t}return t._inheritsLoose(i,r),i}(i.NoParameters);e.Material=u,e.MaterialParameters=o,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
