UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 2.38 kB
import{isSome as e}from"../../../../core/maybe.js";import{f as r}from"../../../../chunks/vec3f64.js";import{NoParameters as t}from"../core/shaderModules/interfaces.js";import{Parameters as s}from"./AnimationTimer.js";import{ContentObject as i}from"./ContentObject.js";import{ContentObjectType as a}from"./ContentObjectType.js";import{Default3D as n}from"./DefaultVertexAttributeLocations.js";import{copyParameters as p,updateParameters as d}from"../materials/internal/MaterialUtil.js";class h extends i{constructor(e,t){super(),this.type=a.Material,this.supportsEdges=!1,this._visible=!0,this._renderPriority=0,this._insertOrder=0,this._vertexAttributeLocations=n,this._pp0=r(0,0,1),this._pp1=r(0,0,0),this._parameters=p(e,t),this.validateParameters(this._parameters)}dispose(){}get parameters(){return this._parameters}update(e){return!1}setParameters(e,r=!0){d(this._parameters,e)&&(this.validateParameters(this._parameters),r&&this.parametersChanged())}validateParameters(e){}get visible(){return this._visible}set visible(e){e!==this._visible&&(this._visible=e,this.parametersChanged())}shouldRender(e){return this.isVisible()&&this.isVisibleForOutput(e.output)&&0!=(this.renderOccluded&e.renderOccludedMask)}isVisibleForOutput(e){return!0}get renderOccluded(){return this.parameters.renderOccluded}get renderPriority(){return this._renderPriority}set renderPriority(e){e!==this._renderPriority&&(this._renderPriority=e,this.parametersChanged())}get insertOrder(){return this._insertOrder}set insertOrder(e){e!==this._insertOrder&&(this._insertOrder=e,this.parametersChanged())}get vertexAttributeLocations(){return this._vertexAttributeLocations}isVisible(){return this._visible}parametersChanged(){e(this.repository)&&this.repository.materialChanged(this)}intersectDraped(e,r,t,s,i,a){return this._pp0[0]=this._pp1[0]=s[0],this._pp0[1]=this._pp1[1]=s[1],this.intersect(e,r,t,this._pp0,this._pp1,i)}}class o extends s{constructor(e,r,t){super(r,t),this.camera=e}}var c;!function(e){e[e.Occlude=1]="Occlude",e[e.Transparent=2]="Transparent",e[e.OccludeAndTransparent=4]="OccludeAndTransparent",e[e.OccludeAndTransparentStencil=8]="OccludeAndTransparentStencil",e[e.Opaque=16]="Opaque"}(c||(c={}));class u extends t{constructor(){super(...arguments),this.renderOccluded=c.Occlude}}export{h as Material,u as MaterialParameters,c as RenderOccludedFlag,o as UpdateParameters};