/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
class e{constructor(e,t,r,n){this._declaration=e,this._byteOffset=t,this._creationInfo=n,this._startTexel=Math.floor(t/r);const s=n.byteSize;this._numTexels=Math.ceil((t+s)/r)-this._startTexel;let i=this._startTexel,o=t%r;const l=[],u=["x","y","z","w"];for(let a=0;a<s;++a){const e=`texel${i}.${u[o]}`;l.push(e),++o,o>=r&&(o=0,++i)}this._glslDecodeArgumentString=l.join(", ")}get name(){return this._declaration.name}get fieldType(){return this._declaration.type}get byteOffset(){return this._byteOffset}get startTexel(){return this._startTexel}get numTexels(){return this._numTexels}get elementType(){return this._creationInfo.elementType}get elementCount(){return this._creationInfo.elementCount}get glslDecodeArgumentString(){return this._glslDecodeArgumentString}get bufferViewConstructor(){return this._creationInfo.bufferViewConstructor}}export{e as LayoutField};
