/*
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/ObjectPool","../../../../core/uid","../../../../chunks/vec3"],(function(t,e,i,r,n,o){"use strict";let s=function(){function t(){this._disposed=!1}var r=t.prototype;return r.acquire=function(t,e,i,r,o,s){this.id=n.generateUID(),this.geometry=t,this.material=e,this.transformation=i,this.instanceParameters=r,this.origin=o,this._shaderTransformation=s,this._disposed=!1},r.release=function(){this._disposed=!1},r.dispose=function(){this._disposed=!0},r.getStaticTransformation=function(){return this.transformation},r.getShaderTransformation=function(){return i.isSome(this._shaderTransformation)?this._shaderTransformation(this.transformation):this.transformation},r.computeAttachmentOrigin=function(t){return!!(this.material.computeAttachmentOrigin?this.material.computeAttachmentOrigin(this.geometry,t):this.geometry.computeAttachmentOrigin(t))&&(o.transformMat4(t,t,this.getStaticTransformation()),!0)},e._createClass(t,[{key:"disposed",get:function(){return this._disposed}},{key:"shaderTransformation",get:function(){return this._shaderTransformation}}]),t}();s.pool=new r(s),t.GeometryRecord=s,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
