* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{aaset}from"./chunk-CXNPIJLB.js";import{aasjt}from"./chunk-APUOR5ZJ.js";import{basLt}from"./chunk-V3DSE3OK.js";import{aasEt}from"./chunk-FMRIJYNG.js";import{aasj}from"./chunk-NNHN6WUY.js";import{aasmt,basD,casB,dasU}from"./chunk-GSNDLQ4C.js";import{aas_t,basUt,dasrt}from"./chunk-BKSIEBAA.js";import{aasdt,basH}from"./chunk-YWRPWWKI.js";import{aask}from"./chunk-VTVHUB7E.js";import{aasr,basMt,casR,easOt}from"./chunk-JMSSU44E.js";import{aasN}from"./chunk-4UYSGV57.js";import{aasK}from"./chunk-VLPNAR64.js";import{aasI,baspt}from"./chunk-GE5NEIZC.js";import{easf}from"./chunk-35CVRQTC.js";varYt=newr,Zt=newr,Xt=newr;functionpe(t,e,n,s,i){pt.defined("point",t),pt.defined("p0",e),pt.defined("p1",n),pt.defined("p2",s),f(i)||(i=newr);letc,o,a,p,u,d,m,l;if(f(e.z)){if(r.equalsEpsilon(t,e,N.EPSILON14))returnr.clone(r.UNIT_X,i);if(r.equalsEpsilon(t,n,N.EPSILON14))returnr.clone(r.UNIT_Y,i);if(r.equalsEpsilon(t,s,N.EPSILON14))returnr.clone(r.UNIT_Z,i);c=r.subtract(n,e,Yt),o=r.subtract(s,e,Zt),a=r.subtract(t,e,Xt),p=r.dot(c,c),u=r.dot(c,o),d=r.dot(c,a),m=r.dot(o,o),l=r.dot(o,a)}else{if(R.equalsEpsilon(t,e,N.EPSILON14))returnr.clone(r.UNIT_X,i);if(R.equalsEpsilon(t,n,N.EPSILON14))returnr.clone(r.UNIT_Y,i);if(R.equalsEpsilon(t,s,N.EPSILON14))returnr.clone(r.UNIT_Z,i);c=R.subtract(n,e,Yt),o=R.subtract(s,e,Zt),a=R.subtract(t,e,Xt),p=R.dot(c,c),u=R.dot(c,o),d=R.dot(c,a),m=R.dot(o,o),l=R.dot(o,a)}i.y=m*d-u*l,i.z=p*l-u*d;leth=p*m-u*u;if(h!==0)returni.y/=h,i.z/=h,i.x=1-i.y-i.z,i}varHt=pe;varNt={};Nt.calculateACMR=function(t){t=K(t,K.EMPTY_OBJECT);lete=t.indices,n=t.maximumIndex,s=K(t.cacheSize,24);if(!f(e))thrownewI("indices is required.");leti=e.length;if(i<3||i%3!==0)thrownewI("indices length must be a multiple of three.");if(n<=0)thrownewI("maximumIndex must be greater than zero.");if(s<3)thrownewI("cacheSize must be greater than two.");if(!f(n)){n=0;leta=0,p=e[a];for(;a<i;)p>n&&(n=p),++a,p=e[a]}letc=[];for(leta=0;a<n+1;a++)c[a]=0;leto=s+1;for(leta=0;a<i;++a)o-c[e[a]]>s&&(c[e[a]]=o,++o);return(o-s+1)/(i/3)};Nt.tipsify=function(t){t=K(t,K.EMPTY_OBJECT);lete=t.indices,n=t.maximumIndex,s=K(t.cacheSize,24),i;functionc(C,z,q,V){for(;z.length>=1;){letG=z[z.length-1];if(z.splice(z.length-1,1),C[G].numLiveTriangles>0)returnG}for(;i<V;){if(C[i].numLiveTriangles>0)return++i,i-1;++i}return-1}functiono(C,z,q,V,G,M,J){letY=-1,_,Pt=-1,gt=0;for(;gt<q.length;){letft=q[gt];V[ft].numLiveTriangles&&(_=0,G-V[ft].timeStamp+2*V[ft].numLiveTriangles<=z&&(_=G-V[ft].timeStamp),(_>Pt||Pt===-1)&&(Pt=_,Y=ft)),++gt}returnY===-1?c(V,M,C,J):Y}if(!f(e))thrownewI("indices is required.");leta=e.length;if(a<3||a%3!==0)thrownewI("indices length must be a multiple of three.");if(n<=0)thrownewI("maximumIndex must be greater than zero.");if(s<3)thrownewI("cacheSize must be greater than two.");letp=0,u=0,d=e[u],m=a;if(f(n))p=n+1;else{for(;u<m;)d>p&&(p=d),++u,d=e[u];if(p===-1)return0;++p}letl=[],h;for(h=0;h<p;h++)l[h]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};u=0;lety=0;for(;u<m;)l[e[u]].vertexTriangles.push(y),++l[e[u]].numLiveTriangles,l[e[u+1]].vertexTriangles.push(y),++l[e[u+1]].numLiveTriangles,l[e[u+2]].vertexTriangles.push(y),++l[e[u+2]].numLiveTriangles,++y,u+=3;letv=0,b=s+1;i=1;letS=[],x=[],w,A,E=0,P=[],O=a/3,L=[];for(h=0;h<O;h++)L[h]=!1;letg,T;for(;v!==-1;){S=[],A=l[v],T=A.vertexTriangles.length;for(letC=0;C<T;++C)if(y=A.vertexTriangles[C],!L[y]){L[y]=!0,u=y+y+y;for(letz=0;z<3;++z)g=e[u],S.push(g),x.push(g),P[E]=g,++E,w=l[g],--w.numLiveTriangles,b-w.timeStamp>s&&(w.timeStamp=b,++b),++u}v=o(e,s,S,l,b,x,p)}returnP};varWt=Nt;varF={};functionSt(t,e,n,s,i){t[e++]=n,t[e++]=s,t[e++]=s,t[e++]=i,t[e++]=i,t[e]=n}functionde(t){lete=t.length,n=e/3*6,s=j.createTypedArray(e,n),i=0;for(letc=0;c<e;c+=3,i+=6)St(s,i,t[c],t[c+1],t[c+2]);returns}functionme(t){lete=t.length;if(e>=3){letn=(e-2)*6,s=j.createTypedArray(e,n);St(s,0,t[0],t[1],t[2]);leti=6;for(letc=3;c<e;++c,i+=6)St(s,i,t[c-1],t[c],t[c-2]);returns}returnnewUint16Array}functionhe(t){if(t.length>0){lete=t.length-1,n=(e-1)*6,s=j.createTypedArray(e,n),i=t[0],c=0;for(leto=1;o<e;++o,c+=6)St(s,c,i,t[o],t[o+1]);returns}returnnewUint16Array}F.toWireframe=function(t){if(!f(t))thrownewI("geometry is required.");lete=t.indices;if(f(e)){switch(t.primitiveType){caseD.TRIANGLES:t.indices=de(e);break;caseD.TRIANGLE_STRIP:t.indices=me(e);break;caseD.TRIANGLE_FAN:t.indices=he(e);break;default:thrownewI("geometry.primitiveType must be TRIANGLES, TRIANGLE_STRIP, or TRIANGLE_FAN.")}t.primitiveType=D.LINES}returnt};F.createLineSegmentsForVectors=function(t,e,n){if(e=K(e,"normal"),!f(t))thrownewI("geometry is required.");if(!f(t.attributes.position))thrownewI("geometry.attributes.position is required.");if(!f(t.attributes[e]))thrownewI(`geometry.attributes must have an attribute with the same name as the attributeName parameter, ${e}.`);n=K(n,1e4);lets=t.attributes.position.values,i=t.attributes[e].values,c=s.length,o=newFloat64Array(2*c),a=0;for(letd=0;d<c;d+=3)o[a++]=s[d],o[a++]=s[d+1],o[a++]=s[d+2],o[a++]=s[d]+i[d]*n,o[a++]=s[d+1]+i[d+1]*n,o[a++]=s[d+2]+i[d+2]*n;letp,u=t.boundingSphere;returnf(u)&&(p=newrt(u.center,u.radius+n)),newB({attributes:{position:newU({componentDatatype:k.DOUBLE,componentsPerAttribute:3,values:o})},primitiveType:D.LINES,boundingSphere:p})};F.createAttributeLocations=function(t){if(!f(t))thrownewI("geometry is required.");lete=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],n=t.attributes,s={},i=0,c,o=e.length;for(c=0;c<o;++c){leta=e[c];f(n[a])&&(s[a]=i++)}for(letainn)n.hasOwnProperty(a)&&!f(s[a])&&(s[a]=i++);returns};F.reorderForPreVertexCache=function(t){if(!f(t))thrownewI("geometry is required.");lete=B.computeNumberOfVertices(t),n=t.indices;if(f(n)){lets=newInt32Array(e);for(letl=0;l<e;l++)s[l]=-1;leti=n,c=i.length,o=j.createTypedArray(e,c),a=0,p=0,u=0,d;for(;a<c;)d=s[i[a]],d!==-1?o[p]=d:(d=i[a],s[d]=u,o[p]=u,++u),++a,++p;t.indices=o;letm=t.attributes;for(letlinm)if(m.hasOwnProperty(l)&&f(m[l])&&f(m[l].values)){leth=m[l],y=h.values,v=0,b=h.componentsPerAttribute,S=k.createTypedArray(h.componentDatatype,u*b);for(;v<e;){letx=s[v];if(x!==-1)for(letw=0;w<b;w++)S[b*x+w]=y[b*v+w];++v}h.values=S}}returnt};F.reorderForPostVertexCache=function(t,e){if(!f(t))thrownewI("geometry is required.");letn=t.indices;if(t.primitiveType===D.TRIANGLES&&f(n)){lets=n.length,i=0;for(letc=0;c<s;c++)n[c]>i&&(i=n[c]);t.indices=Wt.tipsify({indices:n,maximumIndex:i,cacheSize:e})}returnt};function$t(t){lete={};for(letnint)if(t.hasOwnProperty(n)&&f(t[n])&&f(t[n].values)){lets=t[n];e[n]=newU({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:[]})}returne}functionbe(t,e,n){for(letsine)if(e.hasOwnProperty(s)&&f(e[s])&&f(e[s].values)){leti=e[s];for(letc=0;c<i.componentsPerAttribute;++c)t[s].values.push(i.values[n*i.componentsPerAttribute+c])}}F.fitToUnsignedShortIndices=function(t){if(!f(t))thrownewI("geometry is required.");if(f(t.indices)&&t.primitiveType!==D.TRIANGLES&&t.primitiveType!==D.LINES&&t.primitiveType!==D.POINTS)thrownewI("geometry.primitiveType must equal to PrimitiveType.TRIANGLES, PrimitiveType.LINES, or PrimitiveType.POINTS.");lete=[],n=B.computeNumberOfVertices(t);if(f(t.indices)&&n>=N.SIXTY_FOUR_KILOBYTES){lets=[],i=[],c=0,o=$t(t.attributes),a=t.indices,p=a.length,u;t.primitiveType===D.TRIANGLES?u=3:t.primitiveType===D.LINES?u=2:t.primitiveType===D.POINTS&&(u=1);for(letd=0;d<p;d+=u){for(letm=0;m<u;++m){letl=a[d+m],h=s[l];f(h)||(h=c++,s[l]=h,be(o,t.attributes,l)),i.push(h)}c+u>=N.SIXTY_FOUR_KILOBYTES&&(e.push(newB({attributes:o,indices:i,primitiveType:t.primitiveType,boundingSphere:t.boundingSphere,boundingSphereCV:t.boundingSphereCV})),s=[],i=[],c=0,o=$t(t.attributes))}i.length!==0&&e.push(newB({attributes:o,indices:i,primitiveType:t.primitiveType,boundingSphere:t.boundingSphere,boundingSphereCV:t.boundingSphereCV}))}elsee.push(t);returne};varJt=newr,we=newMt;F.projectTo2D=function(t,e,n,s,i){if(!f(t))thrownewI("geometry is required.");if(!f(e))thrownewI("attributeName is required.");if(!f(n))thrownewI("attributeName3D is required.");if(!f(s))thrownewI("attributeName2D is required.");if(!f(t.attributes[e]))thrownewI(`geometry must have attribute matching the attributeName argument: ${e}.`);if(t.attributes[e].componentDatatype!==k.DOUBLE)thrownewI("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");letc=t.attributes[e];i=f(i)?i:new_t;leto=i.ellipsoid,a=c.values,p=newFloat64Array(a.length),u=0;for(letd=0;d<a.length;d+=3){letm=r.fromArray(a,d,Jt),l=o.cartesianToCartographic(m,we);if(!f(l))thrownewI(`Could not project point (${m.x}, ${m.y}, ${m.z}) to 2D.`);leth=i.project(l,Jt);p[u++]=h.x,p[u++]=h.y,p[u++]=h.z}returnt.attributes[n]=c,t.attributes[s]=newU({componentDatatype:k.DOUBLE,componentsPerAttribute:3,values:p}),deletet.attributes[e],t};varzt={high:0,low:0};F.encodeAttribute=function(t,e,n,s){if(!f(t))thrownewI("geometry is required.");if(!f(e))thrownewI("attributeName is required.");if(!f(n))thrownewI("attributeHighName is required.");if(!f(s))thrownewI("attributeLowName is required.");if(!f(t.attributes[e]))thrownewI(`geometry must have attribute matching the attributeName argument: ${e}.`);if(t.attributes[e].componentDatatype!==k.DOUBLE)thrownewI("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");leti=t.attributes[e],c=i.values,o=c.length,a=newFloat32Array(o),p=newFloat32Array(o);for(letd=0;d<o;++d)jt.encode(c[d],zt),a[d]=zt.high,p[d]=zt.low;letu=i.componentsPerAttribute;returnt.attributes[n]=newU({componentDatatype:k.FLOAT,componentsPerAttribute:u,values:a}),t.attributes[s]=newU({componentDatatype:k.FLOAT,componentsPerAttribute:u,values:p}),deletet.attributes[e],t};var$=newr;functionDt(t,e){if(f(e)){letn=e.values,s=n.length;for(leti=0;i<s;i+=3)r.unpack(n,i,$),H.multiplyByPoint(t,$,$),r.pack($,n,i)}}functionqt(t,e){if(f(e)){letn=e.values,s=n.length;for(leti=0;i<s;i+=3)r.unpack(n,i,$),Ot.multiplyByVector(t,$,$),$=r.normalize($,$),r.pack($,n,i)}}varvt=newH,yt=newOt;F.transformToWorldCoordinates=function(t){if(!f(t))thrownewI("instance is required.");lete=t.modelMatrix;if(H.equals(e,H.IDENTITY))returnt;letn=t.geometry.attributes;Dt(e,n.position),Dt(e,n.prevPosition),Dt(e,n.nextPosition),(f(n.normal)||f(n.tangent)||f(n.bitangent))&&(H.inverse(e,vt),H.transpose(vt,vt),H.getMatrix3(vt,yt),qt(yt,n.normal),qt(yt,n.tangent),qt(yt,n.bitangent));lets=t.geometry.boundingSphere;returnf(s)&&(t.geometry.boundingSphere=rt.transform(s,e,s)),t.modelMatrix=H.clone(H.IDENTITY),t};functionve(t,e){letn=t.length,s={},i=t[0][e].attributes,c;for(cini)if(i.hasOwnProperty(c)&&f(i[c])&&f(i[c].values)){leto=i[c],a=o.values.length,p=!0;for(letu=1;u<n;++u){letd=t[u][e].attributes[c];if(!f(d)||o.componentDatatype!==d.componentDatatype||o.componentsPerAttribute!==d.componentsPerAttribute||o.normalize!==d.normalize){p=!1;break}a+=d.values.length}p&&(s[c]=newU({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:k.createTypedArray(o.componentDatatype,a)}))}returns}varye=newr;functionVt(t,e){letn=t.length,s,i,c,o,a=t[0].modelMatrix,p=f(t[0][e].indices),u=t[0][e].primitiveType;for(i=1;i<n;++i){if(!H.equals(t[i].modelMatrix,a))thrownewI("All instances must have the same modelMatrix.");if(f(t[i][e].indices)!==p)thrownewI("All instance geometries must have an indices or not have one.");if(t[i][e].primitiveType!==u)thrownewI("All instance geometries must have the same primitiveType.")}letd=ve(t,e),m,l,h;for(sind)if(d.hasOwnProperty(s))for(m=d[s].values,o=0,i=0;i<n;++i)for(l=t[i][e].attributes[s].values,h=l.length,c=0;c<h;++c)m[o++]=l[c];lety;if(p){letx=0;for(i=0;i<n;++i)x+=t[i][e].indices.length;letw=B.computeNumberOfVertices(newB({attributes:d,primitiveType:D.POINTS})),A=j.createTypedArray(w,x),E=0,P=0;for(i=0;i<n;++i){letO=t[i][e].indices,L=O.length;for(o=0;o<L;++o)A[E++]=P+O[o];P+=B.computeNumberOfVertices(t[i][e])}y=A}letv=newr,b=0,S;for(i=0;i<n;++i){if(S=t[i][e].boundingSphere,!f(S)){v=void0;break}r.add(S.center,v,v)}if(f(v))for(r.divideByScalar(v,n,v),i=0;i<n;++i){S=t[i][e].boundingSphere;letx=r.magnitude(r.subtract(S.center,v,ye))+S.radius;x>b&&(b=x)}returnnewB({attributes:d,indices:y,primitiveType:u,boundingSphere:f(v)?newrt(v,b):void0})}F.combineInstances=function(t){if(!f(t)||t.length<1)thrownewI("instances is required and must have length greater than zero.");lete=[],n=[],s=t.length;for(letc=0;c<s;++c){leto=t[c];f(o.geometry)?e.push(o):f(o.westHemisphereGeometry)&&f(o.eastHemisphereGeometry)&&n.push(o)}leti=[];returne.length>0&&i.push(Vt(e,"geometry")),n.length>0&&(i.push(Vt(n,"westHemisphereGeometry")),i.push(Vt(n,"eastHemisphereGeometry"))),i};varZ=newr,ht=newr,ct=newr,at=newr;F.computeNormal=function(t){if(!f(t))thrownewI("geometry is required.");if(!f(t.attributes.position)||!f(t.attributes.position.values))thrownewI("geometry.attributes.position.values is required.");if(!f(t.indices))thrownewI("geometry.indices is required.");if(t.indices.length<2||t.indices.length%3!==0)thrownewI("geometry.indices length must be greater than 0 and be a multiple of 3.");if(t.primitiveType!==D.TRIANGLES)thrownewI("geometry.primitiveType must be PrimitiveType.TRIANGLES.");lete=t.indices,n=t.attributes,s=n.position.values,i=n.position.values.length/3,c=e.length,o=newArray(i),a=newArray(c/3),p=newArray(c),u;for(u=0;u<i;u++)o[u]={indexOffset:0,count:0,currentCount:0};letd=0;for(u=0;u<c;u+=3){lety=e[u],v=e[u+1],b=e[u+2],S=y*3,x=v*3,w=b*3;ht.x=s[S],ht.y=s[S+1],ht.z=s[S+2],ct.x=s[x],ct.y=s[x+1],ct.z=s[x+2],at.x=s[w],at.y=s[w+1],at.z=s[w+2],o[y].count++,o[v].count++,o[b].count++,r.subtract(ct,ht,ct),r.subtract(at,ht,at),a[d]=r.cross(ct,at,newr),d++}letm=0;for(u=0;u<i;u++)o[u].indexOffset+=m,m+=o[u].count;d=0;letl;for(u=0;u<c;u+=3){l=o[e[u]];lety=l.indexOffset+l.currentCount;p[y]=d,l.currentCount++,l=o[e[u+1]],y=l.indexOffset+l.currentCount,p[y]=d,l.currentCount++,l=o[e[u+2]],y=l.indexOffset+l.currentCount,p[y]=d,l.currentCount++,d++}leth=newFloat32Array(i*3);for(u=0;u<i;u++){lety=u*3;if(l=o[u],r.clone(r.ZERO,Z),l.count>0){for(d=0;d<l.count;d++)r.add(Z,a[p[l.indexOffset+d]],Z);r.equalsEpsilon(r.ZERO,Z,N.EPSILON10)&&r.clone(a[p[l.indexOffset]],Z)}r.equalsEpsilon(r.ZERO,Z,N.EPSILON10)&&(Z.z=1),r.normalize(Z,Z),h[y]=Z.x,h[y+1]=Z.y,h[y+2]=Z.z}returnt.attributes.normal=newU({componentDatatype:k.FLOAT,componentsPerAttribute:3,values:h}),t};varxe=newr,Kt=newr,Te=newr;F.computeTangentAndBitangent=function(t){if(!f(t))thrownewI("geometry is required.");lete=t.attributes,n=t.indices;if(!f(e.position)||!f(e.position.values))thrownewI("geometry.attributes.position.values is required.");if(!f(e.normal)||!f(e.normal.values))thrownewI("geometry.attributes.normal.values is required.");if(!f(e.st)||!f(e.st.values))thrownewI("geometry.attributes.st.values is required.");if(!f(n))thrownewI("geometry.indices is required.");if(n.length<2||n.length%3!==0)thrownewI("geometry.indices length must be greater than 0 and be a multiple of 3.");if(t.primitiveType!==D.TRIANGLES)thrownewI("geometry.primitiveType must be PrimitiveType.TRIANGLES.");lets=t.attributes.position.values,i=t.attributes.normal.values,c=t.attributes.st.values,o=t.attributes.position.values.length/3,a=n.length,p=newArray(o*3),u;for(u=0;u<p.length;u++)p[u]=0;letd,m,l;for(u=0;u<a;u+=3){letv=n[u],b=n[u+1],S=n[u+2];d=v*3,m=b*3,l=S*3;letx=v*2,w=b*2,A=S*2,E=s[d],P=s[d+1],O=s[d+2],L=c[x],g=c[x+1],T=c[w+1]-g,C=c[A+1]-g,z=1/((c[w]-L)*C-(c[A]-L)*T),q=(C*(s[m]-E)-T*(s[l]-E))*z,V=(C*(s[m+1]-P)-T*(s[l+1]-P))*z,G=(C*(s[m+2]-O)-T*(s[l+2]-O))*z;p[d]+=q,p[d+1]+=V,p[d+2]+=G,p[m]+=q,p[m+1]+=V,p[m+2]+=G,p[l]+=q,p[l+1]+=V,p[l+2]+=G}leth=newFloat32Array(o*3),y=newFloat32Array(o*3);for(u=0;u<o;u++){d=u*3,m=d+1,l=d+2;letv=r.fromArray(i,d,xe),b=r.fromArray(p,d,Te),S=r.dot(v,b);r.multiplyByScalar(v,S,Kt),r.normalize(r.subtract(b,Kt,b),b),h[d]=b.x,h[m]=b.y,h[l]=b.z,r.normalize(r.cross(v,b,b),b),y[d]=b.x,y[m]=b.y,y[l]=b.z}returnt.attributes.tangent=newU({componentDatatype:k.FLOAT,componentsPerAttribute:3,values:h}),t.attributes.bitangent=newU({componentDatatype:k.FLOAT,componentsPerAttribute:3,values:y}),t};varbt=newR,W=newr,Qt=newr,te=newr,xt=newR;F.compressVertices=function(t){if(!f(t))thrownewI("geometry is required.");lete=t.attributes.extrudeDirection,n,s;if(f(e)){letP=e.values;s=P.length/3;letO=newFloat32Array(s*2),L=0;for(n=0;n<s;++n){if(r.fromArray(P,n*3,W),r.equals(W,r.ZERO)){L+=2;continue}xt=et.octEncodeInRange(W,65535,xt),O[L++]=xt.x,O[L++]=xt.y}returnt.attributes.compressedAttributes=newU({componentDatatype:k.FLOAT,componentsPerAttribute:2,values:O}),deletet.attributes.extrudeDirection,t}leti=t.attributes.normal,c=t.attributes.st,o=f(i),a=f(c);if(!o&&!a)returnt;letp=t.attributes.tangent,u=t.attributes.bitangent,d=f(p),m=f(u),l,h,y,v;o&&(l=i.values),a&&(h=c.values),d&&(y=p.values),m&&(v=u.values),s=(o?l.length:h.length)/(o?3:2);letx=s,w=a&&o?2:1;w+=d||m?1:0,x*=w;letA=newFloat32Array(x),E=0;for(n=0;n<s;++n){a&&(R.fromArray(h,n*2,bt),A[E++]=et.compressTextureCoordinates(bt));letP=n*3;o&&f(y)&&f(v)?(r.fromArray(l,P,W),r.fromArray(y,P,Qt),r.fromArray(v,P,te),et.octPack(W,Qt,te,bt),A[E++]=bt.x,A[E++]=bt.y):(o&&(r.fromArray(l,P,W),A[E++]=et.octEncodeFloat(W)),d&&(r.fromArray(y,P,W),A[E++]=et.octEncodeFloat(W)),m&&(r.fromArray(v,P,W),A[E++]=et.octEncodeFloat(W)))}returnt.attributes.compressedAttributes=newU({componentDatatype:k.FLOAT,componentsPerAttribute:w,values:A}),o&&deletet.attributes.normal,a&&deletet.attributes.st,m&&deletet.attributes.bitangent,d&&deletet.attributes.tangent,t};functionAe(t){if(f(t.indices))returnt;lete=B.computeNumberOfVertices(t);if(e<3)thrownewI("The number of vertices must be at least three.");if(e%3!==0)thrownewI("The number of vertices must be a multiple of three.");letn=j.createTypedArray(e,e);for(lets=0;s<e;++s)n[s]=s;returnt.indices=n,t}functionIe(t){lete=B.computeNumberOfVertices(t);if(e<3)thrownewI("The number of vertices must be at least three.");letn=j.createTypedArray(e,(e-2)*3);n[0]=1,n[1]=0,n[2]=2;lets=3;for(leti=3;i<e;++i)n[s++]=i-1,n[s++]=0,n[s++]=i;returnt.indices=n,t.primitiveType=D.TRIANGLES,t}functionSe(t){lete=B.computeNumberOfVertices(t);if(e<3)thrownewI("The number of vertices must be at least 3.");letn=j.createTypedArray(e,(e-2)*3);n[0]=0,n[1]=1,n[2]=2,e>3&&(n[3]=0,n[4]=2,n[5]=3);lets=6;for(leti=3;i<e-1;i+=2)n[s++]=i,n[s++]=i-1,n[s++]=i+1,i+2<e&&(n[s++]=i,n[s++]=i+1,n[s++]=i+2);returnt.indices=n,t.primitiveType=D.TRIANGLES,t}functionPe(t){if(f(t.indices))returnt;lete=B.computeNumberOfVertices(t);if(e<2)thrownewI("The number of vertices must be at least two.");if(e%2!==0)thrownewI("The number of vertices must be a multiple of 2.");letn=j.createTypedArray(e,e);for(lets=0;s<e;++s)n[s]=s;returnt.indices=n,t}functionge(t){lete=B.computeNumberOfVertices(t);if(e<2)thrownewI("The number of vertices must be at least two.");letn=j.createTypedArray(e,(e-1)*2);n[0]=0,n[1]=1;lets=2;for(leti=2;i<e;++i)n[s++]=i-1,n[s++]=i;returnt.indices=n,t.primitiveType=D.LINES,t}functionOe(t){lete=B.computeNumberOfVertices(t);if(e<2)thrownewI("The number of vertices must be at least two.");letn=j.createTypedArray(e,e*2);n[0]=0,n[1]=1;lets=2;for(leti=2;i<e;++i)n[s++]=i-1,n[s++]=i;returnn[s++]=e-1,n[s]=0,t.indices=n,t.primitiveType=D.LINES,t}functionLe(t){switch(t.primitiveType){caseD.TRIANGLE_FAN:returnIe(t);caseD.TRIANGLE_STRIP:returnSe(t);caseD.TRIANGLES:returnAe(t);caseD.LINE_STRIP:returnge(t);caseD.LINE_LOOP:returnOe(t);caseD.LINES:returnPe(t)}returnt}functiontt(t,e){Math.abs(t.y)<N.EPSILON6&&(e?t.y=-N.EPSILON6:t.y=N.EPSILON6)}functionEe(t,e,n){if(t.y!==0&&e.y!==0&&n.y!==0){tt(t,t.y<0),tt(e,e.y<0),tt(n,n.y<0);return}lets=Math.abs(t.y),i=Math.abs(e.y),c=Math.abs(n.y),o;s>i?s>c?o=N.sign(t.y):o=N.sign(n.y):i>c?o=N.sign(e.y):o=N.sign(n.y);leta=o<0;tt(t,a),tt(e,a),tt(n,a)}varee=newr;functionX(t,e,n,s){r.add(t,r.multiplyByScalar(r.subtract(e,t,ee),t.y/(t.y-e.y),ee),n),r.clone(n,s),tt(n,!0),tt(s,!1)}varnt=newr,it=newr,st=newr,ot=newr,Rt={positions:newArray(7),indices:newArray(3*3)};functionNe(t,e,n){if(t.x>=0||e.x>=0||n.x>=0)return;Ee(t,e,n);lets=t.y<0,i=e.y<0,c=n.y<0,o=0;o+=s?1:0,o+=i?1:0,o+=c?1:0;leta=Rt.indices;o===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,s?(X(t,e,nt,st),X(t,n,it,ot),a[0]=0,a[3]=1,a[4]=2,a[6]=1):i?(X(e,n,nt,st),X(e,t,it,ot),a[0]=1,a[3]=2,a[4]=0,a[6]=2):c&&(X(n,t,nt,st),X(n,e,it,ot),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):o===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,s?i?c||(X(n,t,nt,st),X(n,e,it,ot),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(X(e,n,nt,st),X(e,t,it,ot),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(X(t,e,nt,st),X(t,n,it,ot),a[0]=1,a[1]=2,a[3]=1,a[6]=0));letp=Rt.positions;returnp[0]=t,p[1]=e,p[2]=n,p.length=3,(o===1||o===2)&&(p[3]=nt,p[4]=it,p[5]=st,p[6]=ot,p.length=7),Rt}functionne(t,e){letn=t.attributes;if(n.position.values.length===0)return;for(letiinn)if(n.hasOwnProperty(i)&&f(n[i])&&f(n[i].values)){letc=n[i];c.values=k.createTypedArray(c.componentDatatype,c.values)}lets=B.computeNumberOfVertices(t);returnt.indices=j.createTypedArray(s,t.indices),e&&(t.boundingSphere=rt.fromVertices(n.position.values)),t}functionlt(t){lete=t.attributes,n={};for(letsine)if(e.hasOwnProperty(s)&&f(e[s])&&f(e[s].values)){leti=e[s];n[s]=newU({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}returnnewB({attributes:n,indices:[],primitiveType:t.primitiveType})}functionkt(t,e,n){lets=f(t.geometry.boundingSphere);e=ne(e,s),n=ne(n,s),f(n)&&!f(e)?t.geometry=n:!f(n)&&f(e)?t.geometry=e:(t.westHemisphereGeometry=e,t.eastHemisphereGeometry=n,t.geometry=void0)}functionFt(t,e){letn=newt,s=newt,i=newt;returnfunction(c,o,a,p,u,d,m,l){leth=t.fromArray(u,c*e,n),y=t.fromArray(u,o*e,s),v=t.fromArray(u,a*e,i);t.multiplyByScalar(h,p.x,h),t.multiplyByScalar(y,p.y,y),t.multiplyByScalar(v,p.z,v);letb=t.add(h,y,h);t.add(b,v,b),l&&t.normalize(b,b),t.pack(b,d,m*e)}}varze=Ft(dt,4),It=Ft(r,3),ae=Ft(R,2),De=function(t,e,n,s,i,c,o){leta=i[t]*s.x,p=i[e]*s.y,u=i[n]*s.z;c[o]=a+p+u>N.EPSILON6?1:0},wt=newr,Gt=newr,Ct=newr,qe=newr;functionTt(t,e,n,s,i,c,o,a,p,u,d,m,l,h,y,v){if(!f(c)&&!f(o)&&!f(a)&&!f(p)&&!f(u)&&h===0)return;letb=r.fromArray(i,t*3,wt),S=r.fromArray(i,e*3,Gt),x=r.fromArray(i,n*3,Ct),w=Ht(s,b,S,x,qe);if(f(w)){if(f(c)&&It(t,e,n,w,c,m.normal.values,v,!0),f(u)){letA=r.fromArray(u,t*3,wt),E=r.fromArray(u,e*3,Gt),P=r.fromArray(u,n*3,Ct);r.multiplyByScalar(A,w.x,A),r.multiplyByScalar(E,w.y,E),r.multiplyByScalar(P,w.z,P);letO;!r.equals(A,r.ZERO)||!r.equals(E,r.ZERO)||!r.equals(P,r.ZERO)?(O=r.add(A,E,A),r.add(O,P,O),r.normalize(O,O)):(O=wt,O.x=0,O.y=0,O.z=0),r.pack(O,m.extrudeDirection.values,v*3)}if(f(d)&&De(t,e,n,w,d,m.applyOffset.values,v),f(o)&&It(t,e,n,w,o,m.tangent.values,v,!0),f(a)&&It(t,e,n,w,a,m.bitangent.values,v,!0),f(p)&&ae(t,e,n,w,p,m.st.values,v),h>0)for(letA=0;A<h;A++){letE=l[A];Ve(t,e,n,w,v,y[E],m[E])}}}functionVe(t,e,n,s,i,c,o){leta=c.componentsPerAttribute,p=c.values,u=o.values;switch(a){case4:ze(t,e,n,s,p,u,i,!1);break;case3:It(t,e,n,s,p,u,i,!1);break;case2:ae(t,e,n,s,p,u,i,!1);break;default:u[i]=p[t]*s.x+p[e]*s.y+p[n]*s.z}}functionQ(t,e,n,s,i,c){leto=t.position.values.length/3;if(i!==-1){leta=s[i],p=n[a];returnp===-1?(n[a]=o,t.position.values.push(c.x,c.y,c.z),e.push(o),o):(e.push(p),p)}returnt.position.values.push(c.x,c.y,c.z),e.push(o),o}varRe={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};functionie(t){lete=t.geometry,n=e.attributes,s=n.position.values,i=f(n.normal)?n.normal.values:void0,c=f(n.bitangent)?n.bitangent.values:void0,o=f(n.tangent)?n.tangent.values:void0,a=f(n.st)?n.st.values:void0,p=f(n.extrudeDirection)?n.extrudeDirection.values:void0,u=f(n.applyOffset)?n.applyOffset.values:void0,d=e.indices,m=[];for(letOinn)n.hasOwnProperty(O)&&!Re[O]&&f(n[O])&&m.push(O);letl=m.length,h=lt(e),y=lt(e),v,b,S,x,w,A=[];A.length=s.length/3;letE=[];for(E.length=s.length/3,w=0;w<A.length;++w)A[w]=-1,E[w]=-1;letP=d.length;for(w=0;w<P;w+=3){letO=d[w],L=d[w+1],g=d[w+2],T=r.fromArray(s,O*3),C=r.fromArray(s,L*3),z=r.fromArray(s,g*3),q=Ne(T,C,z);if(f(q)&&q.positions.length>3){letV=q.positions,G=q.indices,M=G.length;for(letJ=0;J<M;++J){letY=G[J],_=V[Y];_.y<0?(v=y.attributes,b=y.indices,S=A):(v=h.attributes,b=h.indices,S=E),x=Q(v,b,S,d,Y<3?w+Y:-1,_),Tt(O,L,g,_,s,i,o,c,a,p,u,v,m,l,n,x)}}elsef(q)&&(T=q.positions[0],C=q.positions[1],z=q.positions[2]),T.y<0?(v=y.attributes,b=y.indices,S=A):(v=h.attributes,b=h.indices,S=E),x=Q(v,b,S,d,w,T),Tt(O,L,g,T,s,i,o,c,a,p,u,v,m,l,n,x),x=Q(v,b,S,d,w+1,C),Tt(O,L,g,C,s,i,o,c,a,p,u,v,m,l,n,x),x=Q(v,b,S,d,w+2,z),Tt(O,L,g,z,s,i,o,c,a,p,u,v,m,l,n,x)}kt(t,y,h)}varue=Et.fromPointNormal(r.ZERO,r.UNIT_Y),Ge=newr,Ce=newr;functionut(t,e,n,s,i,c,o){if(!f(o))return;leta=r.fromArray(s,t*3,wt);r.equalsEpsilon(a,n,N.EPSILON10)?c.applyOffset.values[i]=o[t]:c.applyOffset.values[i]=o[e]}functionse(t){lete=t.geometry,n=e.attributes,s=n.position.values,i=f(n.applyOffset)?n.applyOffset.values:void0,c=e.indices,o=lt(e),a=lt(e),p,u=c.length,d=[];d.length=s.length/3;letm=[];for(m.length=s.length/3,p=0;p<d.length;++p)d[p]=-1,m[p]=-1;for(p=0;p<u;p+=2){letl=c[p],h=c[p+1],y=r.fromArray(s,l*3,wt),v=r.fromArray(s,h*3,Gt),b;Math.abs(y.y)<N.EPSILON6&&(y.y<0?y.y=-N.EPSILON6:y.y=N.EPSILON6),Math.abs(v.y)<N.EPSILON6&&(v.y<0?v.y=-N.EPSILON6:v.y=N.EPSILON6);letS=o.attributes,x=o.indices,w=m,A=a.attributes,E=a.indices,P=d,O=Lt.lineSegmentPlane(y,v,ue,Ct);if(f(O)){letL=r.multiplyByScalar(r.UNIT_Y,5*N.EPSILON9,Ge);y.y<0&&(r.negate(L,L),S=a.attributes,x=a.indices,w=d,A=o.attributes,E=o.indices,P=m);letg=r.add(O,L,Ce);b=Q(S,x,w,c,p,y),ut(l,h,y,s,b,S,i),b=Q(S,x,w,c,-1,g),ut(l,h,g,s,b,S,i),r.negate(L,L),r.add(O,L,g),b=Q(A,E,P,c,-1,g),ut(l,h,g,s,b,A,i),b=Q(A,E,P,c,p+1,v),ut(l,h,v,s,b,A,i)}else{letL,g,T;y.y<0?(L=a.attributes,g=a.indices,T=d):(L=o.attributes,g=o.indices,T=m),b=Q(L,g,T,c,p,y),ut(l,h,y,s,b,L,i),b=Q(L,g,T,c,p+1,v),ut(l,h,v,s,b,L,i)}}kt(t,a,o)}varoe=newR,Be=newR,le=newr,fe=newr,Bt=newr,ke=newr,Fe=newr,Me=newr,re=newdt;functionce(t){lete=t.attributes,n=e.position.values,s=e.prevPosition.values,i=e.nextPosition.values,c=n.length;for(leto=0;o<c;o+=3){leta=r.unpack(n,o,le);if(a.x>0)continue;letp=r.unpack(s,o,fe);(a.y<0&&p.y>0||a.y>0&&p.y<0)&&(o-3>0?(s[o]=n[o-3],s[o+1]=n[o-2],s[o+2]=n[o-1]):r.pack(a,s,o));letu=r.unpack(i,o,Bt);(a.y<0&&u.y>0||a.y>0&&u.y<0)&&(o+3<c?(i[o]=n[o+3],i[o+1]=n[o+4],i[o+2]=n[o+5]):r.pack(a,i,o))}}var_e=5*N.EPSILON9,At=N.EPSILON6;functionUe(t){lete=t.geometry,n=e.attributes,s=n.position.values,i=n.prevPosition.values,c=n.nextPosition.values,o=n.expandAndWidth.values,a=f(n.st)?n.st.values:void0,p=f(n.color)?n.color.values:void0,u=lt(e),d=lt(e),m,l,h,y=!1,v=s.length/3;for(m=0;m<v;m+=4){letb=m,S=m+2,x=r.fromArray(s,b*3,le),w=r.fromArray(s,S*3,fe);if(Math.abs(x.y)<At)for(x.y=At*(w.y<0?-1:1),s[m*3+1]=x.y,s[(m+1)*3+1]=x.y,l=b*3;l<b*3+4*3;l+=3)i[l]=s[m*3],i[l+1]=s[m*3+1],i[l+2]=s[m*3+2];if(Math.abs(w.y)<At)for(w.y=At*(x.y<0?-1:1),s[(m+2)*3+1]=w.y,s[(m+3)*3+1]=w.y,l=b*3;l<b*3+4*3;l+=3)c[l]=s[(m+2)*3],c[l+1]=s[(m+2)*3+1],c[l+2]=s[(m+2)*3+2];letA=u.attributes,E=u.indices,P=d.attributes,O=d.indices,L=Lt.lineSegmentPlane(x,w,ue,ke);if(f(L)){y=!0;letg=r.multiplyByScalar(r.UNIT_Y,_e,Fe);x.y<0&&(r.negate(g,g),A=d.attributes,E=d.indices,P=u.attributes,O=u.indices);letT=r.add(L,g,Me);A.position.values.push(x.x,x.y,x.z,x.x,x.y,x.z),A.position.values.push(T.x,T.y,T.z),A.position.values.push(T.x,T.y,T.z),A.prevPosition.values.push(i[b*3],i[b*3+1],i[b*3+2]),A.prevPosition.values.push(i[b*3+3],i[b*3+4],i[b*3+5]),A.prevPosition.values.push(x.x,x.y,x.z,x.x,x.y,x.z),A.nextPosition.values.push(T.x,T.y,T.z),A.nextPosition.values.push(T.x,T.y,T.z),A.nextPosition.values.push(T.x,T.y,T.z),A.nextPosition.values.push(T.x,T.y,T.z),r.negate(g,g),r.add(L,g,T),P.position.values.push(T.x,T.y,T.z),P.position.values.push(T.x,T.y,T.z),P.position.values.push(w.x,w.y,w.z,w.x,w.y,w.z),P.prevPosition.values.push(T.x,T.y,T.z),P.prevPosition.values.push(T.x,T.y,T.z),P.prevPosition.values.push(T.x,T.y,T.z),P.prevPosition.values.push(T.x,T.y,T.z),P.nextPosition.values.push(w.x,w.y,w.z,w.x,w.y,w.z),P.nextPosition.values.push(c[S*3],c[S*3+1],c[S*3+2]),P.nextPosition.values.push(c[S*3+3],c[S*3+4],c[S*3+5]);letC=R.fromArray(o,b*2,oe),z=Math.abs(C.y);A.expandAndWidth.values.push(-1,z,1,z),A.expandAndWidth.values.push(-1,-z,1,-z),P.expandAndWidth.values.push(-1,z,1,z),P.expandAndWidth.values.push(-1,-z,1,-z);letq=r.magnitudeSquared(r.subtract(L,x,Bt));if(q/=r.magnitudeSquared(r.subtract(w,x,Bt)),f(p)){letV=dt.fromArray(p,b*4,re),G=dt.fromArray(p,S*4,re),M=N.lerp(V.x,G.x,q),J=N.lerp(V.y,G.y,q),Y=N.lerp(V.z,G.z,q),_=N.lerp(V.w,G.w,q);for(l=b*4;l<b*4+2*4;++l)A.color.values.push(p[l]);for(A.color.values.push(M,J,Y,_),A.color.values.push(M,J,Y,_),P.color.values.push(M,J,Y,_),P.color.values.push(M,J,Y,_),l=S*4;l<S*4+2*4;++l)P.color.values.push(p[l])}if(f(a)){letV=R.fromArray(a,b*2,oe),G=R.fromArray(a,(m+3)*2,Be),M=N.lerp(V.x,G.x,q);for(l=b*2;l<b*2+2*2;++l)A.st.values.push(a[l]);for(A.st.values.push(M,V.y),A.st.values.push(M,G.y),P.st.values.push(M,V.y),P.st.values.push(M,G.y),l=S*2;l<S*2+2*2;++l)P.st.values.push(a[l])}h=A.position.values.length/3-4,E.push(h,h+2,h+1),E.push(h+1,h+2,h+3),h=P.position.values.length/3-4,O.push(h,h+2,h+1),O.push(h+1,h+2,h+3)}else{letg,T;for(x.y<0?(g=d.attributes,T=d.indices):(g=u.attributes,T=u.indices),g.position.values.push(x.x,x.y,x.z),g.position.values.push(x.x,x.y,x.z),g.position.values.push(w.x,w.y,w.z),g.position.values.push(w.x,w.y,w.z),l=m*3;l<m*3+4*3;++l)g.prevPosition.values.push(i[l]),g.nextPosition.values.push(c[l]);for(l=m*2;l<m*2+4*2;++l)g.expandAndWidth.values.push(o[l]),f(a)&&g.st.values.push(a[l]);if(f(p))for(l=m*4;l<m*4+4*4;++l)g.color.values.push(p[l]);h=g.position.values.length/3-4,T.push(h,h+2,h+1),T.push(h+1,h+2,h+3)}}y&&(ce(d),ce(u)),kt(t,d,u)}F.splitLongitude=function(t){if(!f(t))thrownewI("instance is required.");lete=t.geometry,n=e.boundingSphere;if(f(n)&&(n.center.x-n.radius>0||rt.intersectPlane(n,Et.ORIGIN_ZX_PLANE)!==Ut.INTERSECTING))returnt;if(e.geometryType!==mt.NONE)switch(e.geometryType){casemt.POLYLINES:Ue(t);break;casemt.TRIANGLES:ie(t);break;casemt.LINES:se(t);break}elseLe(e),e.primitiveType===D.TRIANGLES?ie(t):e.primitiveType===D.LINES&&se(t);returnt};vargn=F;export{gnasa};
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{aasy}from"./chunk-CXNPIJLB.js";import{dasj}from"./chunk-BKSIEBAA.js";import{basd,hasL}from"./chunk-YWRPWWKI.js";import{aasR}from"./chunk-VTVHUB7E.js";import{aass,basW,casT,dasq}from"./chunk-JMSSU44E.js";import{aasw}from"./chunk-4UYSGV57.js";import{aasP}from"./chunk-VLPNAR64.js";import{aasA,basz}from"./chunk-GE5NEIZC.js";import{easl}from"./chunk-35CVRQTC.js";functionx(o,t){z.typeOf.object("ellipsoid",o),this._ellipsoid=o,this._cameraPosition=news,this._cameraPositionInScaledSpace=news,this._distanceToLimbInScaledSpaceSquared=0,l(t)&&(this.cameraPosition=t)}Object.defineProperties(x.prototype,{ellipsoid:{get:function(){returnthis._ellipsoid}},cameraPosition:{get:function(){returnthis._cameraPosition},set:function(o){lete=this._ellipsoid.transformPositionToScaledSpace(o,this._cameraPositionInScaledSpace),a=s.magnitudeSquared(e)-1;s.clone(o,this._cameraPosition),this._cameraPositionInScaledSpace=e,this._distanceToLimbInScaledSpaceSquared=a}}});varU=news;x.prototype.isPointVisible=function(o){lete=this._ellipsoid.transformPositionToScaledSpace(o,U);returnF(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};x.prototype.isScaledSpacePointVisible=function(o){returnF(o,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};varat=news;x.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(o,t){lete=this._ellipsoid,a,i;returnl(t)&&t<0&&e.minimumRadius>-t?(i=at,i.x=this._cameraPosition.x/(e.radii.x+t),i.y=this._cameraPosition.y/(e.radii.y+t),i.z=this._cameraPosition.z/(e.radii.z+t),a=i.x*i.x+i.y*i.y+i.z*i.z-1):(i=this._cameraPositionInScaledSpace,a=this._distanceToLimbInScaledSpaceSquared),F(o,i,a)};x.prototype.computeHorizonCullingPoint=function(o,t,e){returnQ(this._ellipsoid,o,t,e)};varv=q.clone(q.UNIT_SPHERE);x.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(o,t,e,a){leti=Z(this._ellipsoid,e,v);returnQ(i,o,t,a)};x.prototype.computeHorizonCullingPointFromVertices=function(o,t,e,a,i){returnJ(this._ellipsoid,o,t,e,a,i)};x.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(o,t,e,a,i,c){letn=Z(this._ellipsoid,i,v);returnJ(n,o,t,e,a,c)};varnt=[];x.prototype.computeHorizonCullingPointFromRectangle=function(o,t,e){z.typeOf.object("rectangle",o);leta=L.subsample(o,t,0,nt),i=j.fromPoints(a);if(!(s.magnitude(i.center)<.1*t.minimumRadius))returnthis.computeHorizonCullingPoint(i.center,a,e)};varst=news;functionZ(o,t,e){if(l(t)&&t<0&&o.minimumRadius>-t){leta=s.fromElements(o.radii.x+t,o.radii.y+t,o.radii.z+t,st);o=q.fromCartesian3(a,e)}returno}functionQ(o,t,e,a){z.typeOf.object("directionToPoint",t),z.defined("positions",e),l(a)||(a=news);leti=Y(o,t),c=0;for(letn=0,r=e.length;n<r;++n){letm=e[n],h=K(o,m,i);if(h<0)return;c=Math.max(c,h)}returnX(i,c,a)}varM=news;functionJ(o,t,e,a,i,c){z.typeOf.object("directionToPoint",t),z.defined("vertices",e),z.typeOf.number("stride",a),l(c)||(c=news),a=P(a,3),i=P(i,s.ZERO);letn=Y(o,t),r=0;for(letm=0,h=e.length;m<h;m+=a){M.x=e[m]+i.x,M.y=e[m+1]+i.y,M.z=e[m+2]+i.z;letu=K(o,M,n);if(u<0)return;r=Math.max(r,u)}returnX(n,r,c)}functionF(o,t,e){leta=t,i=e,c=s.subtract(o,a,U),n=-s.dot(c,a);return!(i<0?n>0:n>i&&n*n/s.magnitudeSquared(c)>i)}varct=news,rt=news;functionK(o,t,e){leta=o.transformPositionToScaledSpace(t,ct),i=s.magnitudeSquared(a),c=Math.sqrt(i),n=s.divideByScalar(a,c,rt);i=Math.max(1,i),c=Math.max(1,c);letr=s.dot(n,e),m=s.magnitude(s.cross(n,e,n)),h=1/c,u=Math.sqrt(i-1)*h;return1/(r*h-m*u)}functionX(o,t,e){if(!(t<=0||t===1/0||t!==t))returns.multiplyByScalar(o,t,e)}varD=news;functionY(o,t){returns.equals(t,s.ZERO)?t:(o.transformPositionToScaledSpace(t,D),s.normalize(D,D))}varPt=x;varO={};O.getHeight=function(o,t,e){if(!Number.isFinite(t))thrownewA("scale must be a finite number.");if(!Number.isFinite(e))thrownewA("relativeHeight must be a finite number.");return(o-e)*t+e};varmt=newW;O.getPosition=function(o,t,e,a,i){letc=t.cartesianToCartographic(o,mt);if(!l(c))returns.clone(o,i);letn=O.getHeight(c.height,e,a);returns.fromRadians(c.longitude,c.latitude,n,t,i)};var$=O;vardt={NONE:0,BITS12:1},S=Object.freeze(dt);varC=news,lt=news,f=newT,V=newd,ht=newd,pt=Math.pow(2,12);functionp(o,t,e,a,i,c,n,r,m,h){letu=S.NONE,g,N;if(l(t)&&l(e)&&l(a)&&l(i)){letE=t.minimum,I=t.maximum,_=s.subtract(I,E,lt),tt=a-e;Math.max(s.maximumComponent(_),tt)<pt-1?u=S.BITS12:u=S.NONE,g=d.inverseTransformation(i,newd);letot=s.negate(E,C);d.multiply(d.fromTranslation(ot,V),g,g);letb=C;b.x=1/_.x,b.y=1/_.y,b.z=1/_.z,d.multiply(d.fromScale(b,V),g,g),N=d.clone(i),d.setTranslation(N,s.ZERO,N),i=d.clone(i,newd);letet=d.fromTranslation(E,V),it=d.fromScale(_,ht),k=d.multiply(et,it,V);d.multiply(i,k,i),d.multiply(N,k,N)}this.quantization=u,this.minimumHeight=e,this.maximumHeight=a,this.center=s.clone(o),this.toScaledENU=g,this.fromScaledENU=i,this.matrix=N,this.hasVertexNormals=c,this.hasWebMercatorT=P(n,!1),this.hasGeodeticSurfaceNormals=P(r,!1),this.exaggeration=P(m,1),this.exaggerationRelativeHeight=P(h,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}p.prototype.encode=function(o,t,e,a,i,c,n,r){letm=a.x,h=a.y;if(this.quantization===S.BITS12){e=d.multiplyByPoint(this.toScaledENU,e,C),e.x=w.clamp(e.x,0,1),e.y=w.clamp(e.y,0,1),e.z=w.clamp(e.z,0,1);letu=this.maximumHeight-this.minimumHeight,g=w.clamp((i-this.minimumHeight)/u,0,1);T.fromElements(e.x,e.y,f);letN=y.compressTextureCoordinates(f);T.fromElements(e.z,g,f);letE=y.compressTextureCoordinates(f);T.fromElements(m,h,f);letI=y.compressTextureCoordinates(f);if(o[t++]=N,o[t++]=E,o[t++]=I,this.hasWebMercatorT){T.fromElements(n,0,f);let_=y.compressTextureCoordinates(f);o[t++]=_}}elses.subtract(e,this.center,C),o[t++]=C.x,o[t++]=C.y,o[t++]=C.z,o[t++]=i,o[t++]=m,o[t++]=h,this.hasWebMercatorT&&(o[t++]=n);returnthis.hasVertexNormals&&(o[t++]=y.octPackFloat(c)),this.hasGeodeticSurfaceNormals&&(o[t++]=r.x,o[t++]=r.y,o[t++]=r.z),t};varut=news,B=news;p.prototype.addGeodeticSurfaceNormals=function(o,t,e){if(this.hasGeodeticSurfaceNormals)return;leta=this.stride,i=o.length/a;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();letc=this.stride;for(letn=0;n<i;n++){for(letu=0;u<a;u++){letg=n*a+u,N=n*c+u;t[N]=o[g]}letr=this.decodePosition(t,n,ut),m=e.geodeticSurfaceNormal(r,B),h=n*c+this._offsetGeodeticSurfaceNormal;t[h]=m.x,t[h+1]=m.y,t[h+2]=m.z}};p.prototype.removeGeodeticSurfaceNormals=function(o,t){if(!this.hasGeodeticSurfaceNormals)return;lete=this.stride,a=o.length/e;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();leti=this.stride;for(letc=0;c<a;c++)for(letn=0;n<i;n++){letr=c*e+n,m=c*i+n;t[m]=o[r]}};p.prototype.decodePosition=function(o,t,e){if(l(e)||(e=news),t*=this.stride,this.quantization===S.BITS12){leta=y.decompressTextureCoordinates(o[t],f);e.x=a.x,e.y=a.y;leti=y.decompressTextureCoordinates(o[t+1],f);returne.z=i.x,d.multiplyByPoint(this.fromScaledENU,e,e)}returne.x=o[t],e.y=o[t+1],e.z=o[t+2],s.add(e,this.center,e)};p.prototype.getExaggeratedPosition=function(o,t,e){e=this.decodePosition(o,t,e);leta=this.exaggeration,i=this.exaggerationRelativeHeight;if(a!==1&&this.hasGeodeticSurfaceNormals){letn=this.decodeGeodeticSurfaceNormal(o,t,B),r=this.decodeHeight(o,t),m=$.getHeight(r,a,i)-r;e.x+=n.x*m,e.y+=n.y*m,e.z+=n.z*m}returne};p.prototype.decodeTextureCoordinates=function(o,t,e){returnl(e)||(e=newT),t*=this.stride,this.quantization===S.BITS12?y.decompressTextureCoordinates(o[t+2],e):T.fromElements(o[t+4],o[t+5],e)};p.prototype.decodeHeight=function(o,t){returnt*=this.stride,this.quantization===S.BITS12?y.decompressTextureCoordinates(o[t+1],f).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight:o[t+3]};p.prototype.decodeWebMercatorT=function(o,t){returnt*=this.stride,this.quantization===S.BITS12?y.decompressTextureCoordinates(o[t+3],f).x:o[t+6]};p.prototype.getOctEncodedNormal=function(o,t,e){t=t*this.stride+this._offsetVertexNormal;leta=o[t]/256,i=Math.floor(a),c=(a-i)*256;returnT.fromElements(i,c,e)};p.prototype.decodeGeodeticSurfaceNormal=function(o,t,e){returnt=t*this.stride+this._offsetGeodeticSurfaceNormal,e.x=o[t],e.y=o[t+1],e.z=o[t+2],e};p.prototype._calculateStrideAndOffsets=function(){leto=0;switch(this.quantization){caseS.BITS12:o+=3;break;default:o+=6}this.hasWebMercatorT&&(o+=1),this.hasVertexNormals&&(this._offsetVertexNormal=o,o+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=o,o+=3),this.stride=o};varG={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},H={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};p.prototype.getAttributes=function(o){lett=R.FLOAT,e=R.getSizeInBytes(t),a=this.stride*e,i=0,c=[];functionn(r,m){c.push({index:r,vertexBuffer:o,componentDatatype:t,componentsPerAttribute:m,offsetInBytes:i,strideInBytes:a}),i+=m*e}if(this.quantization===S.NONE){n(G.position3DAndHeight,4);letr=2;r+=this.hasWebMercatorT?1:0,r+=this.hasVertexNormals?1:0,n(G.textureCoordAndEncodedNormals,r),this.hasGeodeticSurfaceNormals&&n(G.geodeticSurfaceNormal,3)}else{letr=this.hasWebMercatorT||this.hasVertexNormals,m=this.hasWebMercatorT&&this.hasVertexNormals;n(H.compressed0,r?4:3),m&&n(H.compressed1,1),this.hasGeodeticSurfaceNormals&&n(H.geodeticSurfaceNormal,3)}returnc};p.prototype.getAttributeLocations=function(){returnthis.quantization===S.NONE?G:H};p.clone=function(o,t){if(l(o))returnl(t)||(t=newp),t.quantization=o.quantization,t.minimumHeight=o.minimumHeight,t.maximumHeight=o.maximumHeight,t.center=s.clone(o.center),t.toScaledENU=d.clone(o.toScaledENU),t.fromScaledENU=d.clone(o.fromScaledENU),t.matrix=d.clone(o.matrix),t.hasVertexNormals=o.hasVertexNormals,t.hasWebMercatorT=o.hasWebMercatorT,t.hasGeodeticSurfaceNormals=o.hasGeodeticSurfaceNormals,t.exaggeration=o.exaggeration,t.exaggerationRelativeHeight=o.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};varWt=p;export{Ptasa,Wtasb};
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{aasS}from"./chunk-IPMQ7HU7.js";import{aasj}from"./chunk-ZFTFDHK4.js";import{aasD}from"./chunk-NNHN6WUY.js";import{aasV}from"./chunk-T7ERZ2CJ.js";import{basT,casB,dasL}from"./chunk-GSNDLQ4C.js";import{dasO}from"./chunk-BKSIEBAA.js";import{aasx}from"./chunk-VTVHUB7E.js";import{aasc,dasl}from"./chunk-JMSSU44E.js";import{aasE}from"./chunk-4UYSGV57.js";import{aasm}from"./chunk-VLPNAR64.js";import{aas_}from"./chunk-GE5NEIZC.js";import{easd}from"./chunk-35CVRQTC.js";varq=newc,M=newc;functionU(e){lett=e.center;M=c.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,M),e.height,M),M=c.add(t,M,M);leti=newO(M,e.semiMajorAxis),f=S.computeEllipsePositions(e,!1,!0).outerPositions,o=newV({position:newL({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:S.raisePositionsToHeight(f,e,!1)})}),r=f.length/3,u=D.createTypedArray(r,r*2),h=0;for(letn=0;n<r;++n)u[h++]=n,u[h++]=(n+1)%r;return{boundingSphere:i,attributes:o,indices:u}}varN=newO,P=newO;functionR(e){lett=e.center,i=e.ellipsoid,f=e.semiMajorAxis,o=c.multiplyByScalar(i.geodeticSurfaceNormal(t,q),e.height,q);N.center=c.add(t,o,N.center),N.radius=f,o=c.multiplyByScalar(i.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),P.center=c.add(t,o,P.center),P.radius=f;letr=S.computeEllipsePositions(e,!1,!0).outerPositions,u=newV({position:newL({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:S.raisePositionsToHeight(r,e,!0)})});r=u.position.values;leth=O.union(N,P),n=r.length/3;if(d(e.offsetAttribute)){letg=newUint8Array(n);if(e.offsetAttribute===j.TOP)g=g.fill(1,0,n/2);else{letH=e.offsetAttribute===j.NONE?0:1;g=g.fill(H)}u.applyOffset=newL({componentDatatype:x.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}letp=m(e.numberOfVerticalLines,16);p=E.clamp(p,0,n/2);leta=D.createTypedArray(n,n*2+p*2);n/=2;letA=0,s;for(s=0;s<n;++s)a[A++]=s,a[A++]=(s+1)%n,a[A++]=s+n,a[A++]=(s+1)%n+n;letk;if(p>0){letg=Math.min(p,n);k=Math.round(n/g);letH=Math.min(k*p,n);for(s=0;s<H;s+=k)a[A++]=s,a[A++]=s+n}return{boundingSphere:h,attributes:u,indices:a}}functionw(e){e=m(e,m.EMPTY_OBJECT);lett=e.center,i=m(e.ellipsoid,l.default),f=e.semiMajorAxis,o=e.semiMinorAxis,r=m(e.granularity,E.RADIANS_PER_DEGREE);if(!d(t))thrownew_("center is required.");if(!d(f))thrownew_("semiMajorAxis is required.");if(!d(o))thrownew_("semiMinorAxis is required.");if(f<o)thrownew_("semiMajorAxis must be greater than or equal to the semiMinorAxis.");if(r<=0)thrownew_("granularity must be greater than zero.");letu=m(e.height,0),h=m(e.extrudedHeight,u);this._center=c.clone(t),this._semiMajorAxis=f,this._semiMinorAxis=o,this._ellipsoid=l.clone(i),this._rotation=m(e.rotation,0),this._height=Math.max(h,u),this._granularity=r,this._extrudedHeight=Math.min(h,u),this._numberOfVerticalLines=Math.max(m(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}w.packedLength=c.packedLength+l.packedLength+8;w.pack=function(e,t,i){if(!d(e))thrownew_("value is required");if(!d(t))thrownew_("array is required");returni=m(i,0),c.pack(e._center,t,i),i+=c.packedLength,l.pack(e._ellipsoid,t,i),i+=l.packedLength,t[i++]=e._semiMajorAxis,t[i++]=e._semiMinorAxis,t[i++]=e._rotation,t[i++]=e._height,t[i++]=e._granularity,t[i++]=e._extrudedHeight,t[i++]=e._numberOfVerticalLines,t[i]=m(e._offsetAttribute,-1),t};vary=newc,C=newl,b={center:y,ellipsoid:C,semiMajorAxis:void0,semiMinorAxis:void0,rotation:void0,height:void0,granularity:void0,extrudedHeight:void0,numberOfVerticalLines:void0,offsetAttribute:void0};w.unpack=function(e,t,i){if(!d(e))thrownew_("array is required");t=m(t,0);letf=c.unpack(e,t,y);t+=c.packedLength;leto=l.unpack(e,t,C);t+=l.packedLength;letr=e[t++],u=e[t++],h=e[t++],n=e[t++],p=e[t++],a=e[t++],A=e[t++],s=e[t];returnd(i)?(i._center=c.clone(f,i._center),i._ellipsoid=l.clone(o,i._ellipsoid),i._semiMajorAxis=r,i._semiMinorAxis=u,i._rotation=h,i._height=n,i._granularity=p,i._extrudedHeight=a,i._numberOfVerticalLines=A,i._offsetAttribute=s===-1?void0:s,i):(b.height=n,b.extrudedHeight=a,b.granularity=p,b.rotation=h,b.semiMajorAxis=r,b.semiMinorAxis=u,b.numberOfVerticalLines=A,b.offsetAttribute=s===-1?void0:s,neww(b))};w.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;lett=e._height,i=e._extrudedHeight,f=!E.equalsEpsilon(t,i,0,E.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);leto={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines},r;if(f)o.extrudedHeight=i,o.offsetAttribute=e._offsetAttribute,r=R(o);elseif(r=U(o),d(e._offsetAttribute)){letu=r.attributes.position.values.length,h=e._offsetAttribute===j.NONE?0:1,n=newUint8Array(u/3).fill(h);r.attributes.applyOffset=newL({componentDatatype:x.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}returnnewB({attributes:r.attributes,indices:r.indices,primitiveType:T.LINES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};varie=w;export{ieasa};
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{bas_,hasI}from"./chunk-YWRPWWKI.js";import{aasn,basN,dasZ,easA}from"./chunk-JMSSU44E.js";import{aascn}from"./chunk-4UYSGV57.js";import{aasT}from"./chunk-VLPNAR64.js";import{aason,bash}from"./chunk-GE5NEIZC.js";import{easx}from"./chunk-35CVRQTC.js";functionV(e){this._ellipsoid=T(e,Z.default),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(V.prototype,{ellipsoid:{get:function(){returnthis._ellipsoid}}});V.prototype.project=function(e,t){leto=this._semimajorAxis,c=e.longitude*o,r=e.latitude*o,d=e.height;returnx(t)?(t.x=c,t.y=r,t.z=d,t):newn(c,r,d)};V.prototype.unproject=function(e,t){if(!x(e))thrownewon("cartesian is required");leto=this._oneOverSemimajorAxis,c=e.x*o,r=e.y*o,d=e.z;returnx(t)?(t.longitude=c,t.latitude=r,t.height=d,t):newN(c,r,d)};vark=V;varmn={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},U=Object.freeze(mn);functionun(e,t){this.start=T(e,0),this.stop=T(t,0)}varrn=un;functiona(e,t){this.center=n.clone(T(e,n.ZERO)),this.radius=T(t,0)}varF=newn,Y=newn,J=newn,K=newn,Q=newn,$=newn,L=newn,b=newn,H=newn,nn=newn,tn=newn,en=newn,xn=4/3*cn.PI;a.fromPoints=function(e,t){if(x(t)||(t=newa),!x(e)||e.length===0)returnt.center=n.clone(n.ZERO,t.center),t.radius=0,t;leto=n.clone(e[0],L),c=n.clone(o,F),r=n.clone(o,Y),d=n.clone(o,J),f=n.clone(o,K),s=n.clone(o,Q),m=n.clone(o,$),z=e.length,y;for(y=1;y<z;y++){n.clone(e[y],o);letR=o.x,M=o.y,w=o.z;R<c.x&&n.clone(o,c),R>f.x&&n.clone(o,f),M<r.y&&n.clone(o,r),M>s.y&&n.clone(o,s),w<d.z&&n.clone(o,d),w>m.z&&n.clone(o,m)}letu=n.magnitudeSquared(n.subtract(f,c,b)),i=n.magnitudeSquared(n.subtract(s,r,b)),v=n.magnitudeSquared(n.subtract(m,d,b)),C=c,q=f,O=u;i>O&&(O=i,C=r,q=s),v>O&&(O=v,C=d,q=m);letp=H;p.x=(C.x+q.x)*.5,p.y=(C.y+q.y)*.5,p.z=(C.z+q.z)*.5;letS=n.magnitudeSquared(n.subtract(q,p,b)),l=Math.sqrt(S),j=nn;j.x=c.x,j.y=r.y,j.z=d.z;letP=tn;P.x=f.x,P.y=s.y,P.z=m.z;letD=n.midpoint(j,P,en),B=0;for(y=0;y<z;y++){n.clone(e[y],o);letR=n.magnitude(n.subtract(o,D,b));R>B&&(B=R);letM=n.magnitudeSquared(n.subtract(o,p,b));if(M>S){letw=Math.sqrt(M);l=(l+w)*.5,S=l*l;letg=w-l;p.x=(l*p.x+g*o.x)/w,p.y=(l*p.y+g*o.y)/w,p.z=(l*p.z+g*o.z)/w}}returnl<B?(n.clone(p,t.center),t.radius=l):(n.clone(D,t.center),t.radius=B),t};varan=newk,yn=newn,ln=newn,G=newN,X=newN;a.fromRectangle2D=function(e,t,o){returna.fromRectangleWithHeights2D(e,t,0,0,o)};a.fromRectangleWithHeights2D=function(e,t,o,c,r){if(x(r)||(r=newa),!x(e))returnr.center=n.clone(n.ZERO,r.center),r.radius=0,r;an._ellipsoid=Z.default,t=T(t,an),I.southwest(e,G),G.height=o,I.northeast(e,X),X.height=c;letd=t.project(G,yn),f=t.project(X,ln),s=f.x-d.x,m=f.y-d.y,z=f.z-d.z;r.radius=Math.sqrt(s*s+m*m+z*z)*.5;lety=r.center;returny.x=d.x+s*.5,y.y=d.y+m*.5,y.z=d.z+z*.5,r};varpn=[];a.fromRectangle3D=function(e,t,o,c){if(t=T(t,Z.default),o=T(o,0),x(c)||(c=newa),!x(e))returnc.center=n.clone(n.ZERO,c.center),c.radius=0,c;letr=I.subsample(e,t,o,pn);returna.fromPoints(r,c)};a.fromVertices=function(e,t,o,c){if(x(c)||(c=newa),!x(e)||e.length===0)returnc.center=n.clone(n.ZERO,c.center),c.radius=0,c;t=T(t,n.ZERO),o=T(o,3),h.typeOf.number.greaterThanOrEquals("stride",o,3);letr=L;r.x=e[0]+t.x,r.y=e[1]+t.y,r.z=e[2]+t.z;letd=n.clone(r,F),f=n.clone(r,Y),s=n.clone(r,J),m=n.clone(r,K),z=n.clone(r,Q),y=n.clone(r,$),u=e.length,i;for(i=0;i<u;i+=o){letw=e[i]+t.x,g=e[i+1]+t.y,E=e[i+2]+t.z;r.x=w,r.y=g,r.z=E,w<d.x&&n.clone(r,d),w>m.x&&n.clone(r,m),g<f.y&&n.clone(r,f),g>z.y&&n.clone(r,z),E<s.z&&n.clone(r,s),E>y.z&&n.clone(r,y)}letv=n.magnitudeSquared(n.subtract(m,d,b)),C=n.magnitudeSquared(n.subtract(z,f,b)),q=n.magnitudeSquared(n.subtract(y,s,b)),O=d,p=m,S=v;C>S&&(S=C,O=f,p=z),q>S&&(S=q,O=s,p=y);letl=H;l.x=(O.x+p.x)*.5,l.y=(O.y+p.y)*.5,l.z=(O.z+p.z)*.5;letj=n.magnitudeSquared(n.subtract(p,l,b)),P=Math.sqrt(j),D=nn;D.x=d.x,D.y=f.y,D.z=s.z;letB=tn;B.x=m.x,B.y=z.y,B.z=y.z;letR=n.midpoint(D,B,en),M=0;for(i=0;i<u;i+=o){r.x=e[i]+t.x,r.y=e[i+1]+t.y,r.z=e[i+2]+t.z;letw=n.magnitude(n.subtract(r,R,b));w>M&&(M=w);letg=n.magnitudeSquared(n.subtract(r,l,b));if(g>j){letE=Math.sqrt(g);P=(P+E)*.5,j=P*P;letW=E-P;l.x=(P*l.x+W*r.x)/E,l.y=(P*l.y+W*r.y)/E,l.z=(P*l.z+W*r.z)/E}}returnP<M?(n.clone(l,c.center),c.radius=P):(n.clone(R,c.center),c.radius=M),c};a.fromEncodedCartesianVertices=function(e,t,o){if(x(o)||(o=newa),!x(e)||!x(t)||e.length!==t.length||e.length===0)returno.center=n.clone(n.ZERO,o.center),o.radius=0,o;letc=L;c.x=e[0]+t[0],c.y=e[1]+t[1],c.z=e[2]+t[2];letr=n.clone(c,F),d=n.clone(c,Y),f=n.clone(c,J),s=n.clone(c,K),m=n.clone(c,Q),z=n.clone(c,$),y=e.length,u;for(u=0;u<y;u+=3){letM=e[u]+t[u],w=e[u+1]+t[u+1],g=e[u+2]+t[u+2];c.x=M,c.y=w,c.z=g,M<r.x&&n.clone(c,r),M>s.x&&n.clone(c,s),w<d.y&&n.clone(c,d),w>m.y&&n.clone(c,m),g<f.z&&n.clone(c,f),g>z.z&&n.clone(c,z)}leti=n.magnitudeSquared(n.subtract(s,r,b)),v=n.magnitudeSquared(n.subtract(m,d,b)),C=n.magnitudeSquared(n.subtract(z,f,b)),q=r,O=s,p=i;v>p&&(p=v,q=d,O=m),C>p&&(p=C,q=f,O=z);letS=H;S.x=(q.x+O.x)*.5,S.y=(q.y+O.y)*.5,S.z=(q.z+O.z)*.5;letl=n.magnitudeSquared(n.subtract(O,S,b)),j=Math.sqrt(l),P=nn;P.x=r.x,P.y=d.y,P.z=f.z;letD=tn;D.x=s.x,D.y=m.y,D.z=z.z;letB=n.midpoint(P,D,en),R=0;for(u=0;u<y;u+=3){c.x=e[u]+t[u],c.y=e[u+1]+t[u+1],c.z=e[u+2]+t[u+2];letM=n.magnitude(n.subtract(c,B,b));M>R&&(R=M);letw=n.magnitudeSquared(n.subtract(c,S,b));if(w>l){letg=Math.sqrt(w);j=(j+g)*.5,l=j*j;letE=g-j;S.x=(j*S.x+E*c.x)/g,S.y=(j*S.y+E*c.y)/g,S.z=(j*S.z+E*c.z)/g}}returnj<R?(n.clone(S,o.center),o.radius=j):(n.clone(B,o.center),o.radius=R),o};a.fromCornerPoints=function(e,t,o){h.typeOf.object("corner",e),h.typeOf.object("oppositeCorner",t),x(o)||(o=newa);letc=n.midpoint(e,t,o.center);returno.radius=n.distance(c,t),o};a.fromEllipsoid=function(e,t){returnh.typeOf.object("ellipsoid",e),x(t)||(t=newa),n.clone(n.ZERO,t.center),t.radius=e.maximumRadius,t};varhn=newn;a.fromBoundingSpheres=function(e,t){if(x(t)||(t=newa),!x(e)||e.length===0)returnt.center=n.clone(n.ZERO,t.center),t.radius=0,t;leto=e.length;if(o===1)returna.clone(e[0],t);if(o===2)returna.union(e[0],e[1],t);letc=[],r;for(r=0;r<o;r++)c.push(e[r].center);t=a.fromPoints(c,t);letd=t.center,f=t.radius;for(r=0;r<o;r++){lets=e[r];f=Math.max(f,n.distance(d,s.center,hn)+s.radius)}returnt.radius=f,t};varzn=newn,Sn=newn,wn=newn;a.fromOrientedBoundingBox=function(e,t){h.defined("orientedBoundingBox",e),x(t)||(t=newa);leto=e.halfAxes,c=A.getColumn(o,0,zn),r=A.getColumn(o,1,Sn),d=A.getColumn(o,2,wn);returnn.add(c,r,c),n.add(c,d,c),t.center=n.clone(e.center,t.center),t.radius=n.magnitude(c),t};varPn=newn,gn=newn;a.fromTransformation=function(e,t){h.typeOf.object("transformation",e),x(t)||(t=newa);leto=_.getTranslation(e,Pn),c=_.getScale(e,gn),r=.5*n.magnitude(c);returnt.center=n.clone(o,t.center),t.radius=r,t};a.clone=function(e,t){if(x(e))returnx(t)?(t.center=n.clone(e.center,t.center),t.radius=e.radius,t):newa(e.center,e.radius)};a.packedLength=4;a.pack=function(e,t,o){h.typeOf.object("value",e),h.defined("array",t),o=T(o,0);letc=e.center;returnt[o++]=c.x,t[o++]=c.y,t[o++]=c.z,t[o]=e.radius,t};a.unpack=function(e,t,o){h.defined("array",e),t=T(t,0),x(o)||(o=newa);letc=o.center;returnc.x=e[t++],c.y=e[t++],c.z=e[t++],o.radius=e[t],o};varOn=newn,jn=newn;a.union=function(e,t,o){h.typeOf.object("left",e),h.typeOf.object("right",t),x(o)||(o=newa);letc=e.center,r=e.radius,d=t.center,f=t.radius,s=n.subtract(d,c,On),m=n.magnitude(s);if(r>=m+f)returne.clone(o),o;if(f>=m+r)returnt.clone(o),o;letz=(r+m+f)*.5,y=n.multiplyByScalar(s,(-r+z)/m,jn);returnn.add(y,c,y),n.clone(y,o.center),o.radius=z,o};varbn=newn;a.expand=function(e,t,o){h.typeOf.object("sphere",e),h.typeOf.object("point",t),o=a.clone(e,o);letc=n.magnitude(n.subtract(t,o.center,bn));returnc>o.radius&&(o.radius=c),o};a.intersectPlane=function(e,t){h.typeOf.object("sphere",e),h.typeOf.object("plane",t);leto=e.center,c=e.radius,r=t.normal,d=n.dot(r,o)+t.distance;returnd<-c?U.OUTSIDE:d<c?U.INTERSECTING:U.INSIDE};a.transform=function(e,t,o){returnh.typeOf.object("sphere",e),h.typeOf.object("transform",t),x(o)||(o=newa),o.center=_.multiplyByPoint(t,e.center,o.center),o.radius=_.getMaximumScale(t)*e.radius,o};varqn=newn;a.distanceSquaredTo=function(e,t){h.typeOf.object("sphere",e),h.typeOf.object("cartesian",t);leto=n.subtract(e.center,t,qn),c=n.magnitude(o)-e.radius;returnc<=0?0:c*c};a.transformWithoutScale=function(e,t,o){returnh.typeOf.object("sphere",e),h.typeOf.object("transform",t),x(o)||(o=newa),o.center=_.multiplyByPoint(t,e.center,o.center),o.radius=e.radius,o};varMn=newn;a.computePlaneDistances=function(e,t,o,c){h.typeOf.object("sphere",e),h.typeOf.object("position",t),h.typeOf.object("direction",o),x(c)||(c=newrn);letr=n.subtract(e.center,t,Mn),d=n.dot(o,r);returnc.start=d-e.radius,c.stop=d+e.radius,c};vardn=newn,Tn=newn,Cn=newn,Rn=newn,En=newn,Dn=newN,sn=newArray(8);for(lete=0;e<8;++e)sn[e]=newn;varfn=newk;a.projectTo2D=function(e,t,o){h.typeOf.object("sphere",e),fn._ellipsoid=Z.default,t=T(t,fn);letc=t.ellipsoid,r=e.center,d=e.radius,f;n.equals(r,n.ZERO)?f=n.clone(n.UNIT_X,dn):f=c.geodeticSurfaceNormal(r,dn);lets=n.cross(n.UNIT_Z,f,Tn);n.normalize(s,s);letm=n.cross(f,s,Cn);n.normalize(m,m),n.multiplyByScalar(f,d,f),n.multiplyByScalar(m,d,m),n.multiplyByScalar(s,d,s);letz=n.negate(m,En),y=n.negate(s,Rn),u=sn,i=u[0];n.add(f,m,i),n.add(i,s,i),i=u[1],n.add(f,m,i),n.add(i,y,i),i=u[2],n.add(f,z,i),n.add(i,y,i),i=u[3],n.add(f,z,i),n.add(i,s,i),n.negate(f,f),i=u[4],n.add(f,m,i),n.add(i,s,i),i=u[5],n.add(f,m,i),n.add(i,y,i),i=u[6],n.add(f,z,i),n.add(i,y,i),i=u[7],n.add(f,z,i),n.add(i,s,i);letv=u.length;for(letp=0;p<v;++p){letS=u[p];n.add(r,S,S);letl=c.cartesianToCartographic(S,Dn);t.project(l,S)}o=a.fromPoints(u,o),r=o.center;letC=r.x,q=r.y,O=r.z;returnr.x=O,r.y=C,r.z=q,o};a.isOccluded=function(e,t){returnh.typeOf.object("sphere",e),h.typeOf.object("occluder",t),!t.isBoundingSphereVisible(e)};a.equals=function(e,t){returne===t||x(e)&&x(t)&&n.equals(e.center,t.center)&&e.radius===t.radius};a.prototype.intersectPlane=function(e){returna.intersectPlane(this,e)};a.prototype.distanceSquaredTo=function(e){returna.distanceSquaredTo(this,e)};a.prototype.computePlaneDistances=function(e,t,o){returna.computePlaneDistances(this,e,t,o)};a.prototype.isOccluded=function(e){returna.isOccluded(this,e)};a.prototype.equals=function(e){returna.equals(this,e)};a.prototype.clone=function(e){returna.clone(this,e)};a.prototype.volume=function(){lete=this.radius;returnxn*e*e*e};varet=a;export{kasa,Uasb,rnasc,etasd};
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{aasw,basz,iasS}from"./chunk-YWRPWWKI.js";import{aasy}from"./chunk-VTVHUB7E.js";import{aasC,casT,easx}from"./chunk-JMSSU44E.js";import{aash}from"./chunk-4UYSGV57.js";import{aasu,basa}from"./chunk-GE5NEIZC.js";import{easb}from"./chunk-35CVRQTC.js";varc={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};c.getMathType=function(e){switch(e){casec.SCALAR:returnNumber;casec.VEC2:returnT;casec.VEC3:returnC;casec.VEC4:returnw;casec.MAT2:returnS;casec.MAT3:returnx;casec.MAT4:returnz;default:thrownewu("attributeType is not a valid value.")}};c.getNumberOfComponents=function(e){switch(e){casec.SCALAR:return1;casec.VEC2:return2;casec.VEC3:return3;casec.VEC4:casec.MAT2:return4;casec.MAT3:return9;casec.MAT4:return16;default:thrownewu("attributeType is not a valid value.")}};c.getAttributeLocationCount=function(e){switch(e){casec.SCALAR:casec.VEC2:casec.VEC3:casec.VEC4:return1;casec.MAT2:return2;casec.MAT3:return3;casec.MAT4:return4;default:thrownewu("attributeType is not a valid value.")}};c.getGlslType=function(e){switch(a.typeOf.string("attributeType",e),e){casec.SCALAR:return"float";casec.VEC2:return"vec2";casec.VEC3:return"vec3";casec.VEC4:return"vec4";casec.MAT2:return"mat2";casec.MAT3:return"mat3";casec.MAT4:return"mat4";default:thrownewu("attributeType is not a valid value.")}};varN=Object.freeze(c);varV=1/256,D=256,r={};r.octEncodeInRange=function(e,t,n){a.defined("vector",e),a.defined("result",n);leto=C.magnitudeSquared(e);if(Math.abs(o-1)>h.EPSILON6)thrownewu("vector must be normalized.");if(n.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),n.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){leti=n.x,d=n.y;n.x=(1-Math.abs(d))*h.signNotZero(i),n.y=(1-Math.abs(i))*h.signNotZero(d)}returnn.x=h.toSNorm(n.x,t),n.y=h.toSNorm(n.y,t),n};r.octEncode=function(e,t){returnr.octEncodeInRange(e,255,t)};varA=newT,F=newUint8Array(1);functionE(e){returnF[0]=e,F[0]}r.octEncodeToCartesian4=function(e,t){returnr.octEncodeInRange(e,65535,A),t.x=E(A.x*V),t.y=E(A.x),t.z=E(A.y*V),t.w=E(A.y),t};r.octDecodeInRange=function(e,t,n,o){if(a.defined("result",o),e<0||e>n||t<0||t>n)thrownewu(`x and y must be unsigned normalized integers between 0 and ${n}`);if(o.x=h.fromSNorm(e,n),o.y=h.fromSNorm(t,n),o.z=1-(Math.abs(o.x)+Math.abs(o.y)),o.z<0){leti=o.x;o.x=(1-Math.abs(o.y))*h.signNotZero(i),o.y=(1-Math.abs(i))*h.signNotZero(o.y)}returnC.normalize(o,o)};r.octDecode=function(e,t,n){returnr.octDecodeInRange(e,t,255,n)};r.octDecodeFromCartesian4=function(e,t){a.typeOf.object("encoded",e),a.typeOf.object("result",t);letn=e.x,o=e.y,i=e.z,d=e.w;if(n<0||n>255||o<0||o>255||i<0||i>255||d<0||d>255)thrownewu("x, y, z, and w must be unsigned normalized integers between 0 and 255");letf=n*D+o,s=i*D+d;returnr.octDecodeInRange(f,s,65535,t)};r.octPackFloat=function(e){returna.defined("encoded",e),256*e.x+e.y};varl=newT;r.octEncodeFloat=function(e){returnr.octEncode(e,l),r.octPackFloat(l)};r.octDecodeFloat=function(e,t){a.defined("value",e);letn=e/256,o=Math.floor(n),i=(n-o)*256;returnr.octDecode(o,i,t)};r.octPack=function(e,t,n,o){a.defined("v1",e),a.defined("v2",t),a.defined("v3",n),a.defined("result",o);leti=r.octEncodeFloat(e),d=r.octEncodeFloat(t),f=r.octEncode(n,l);returno.x=65536*f.x+i,o.y=65536*f.y+d,o};r.octUnpack=function(e,t,n,o){a.defined("packed",e),a.defined("v1",t),a.defined("v2",n),a.defined("v3",o);leti=e.x/65536,d=Math.floor(i),f=(i-d)*65536;i=e.y/65536;lets=Math.floor(i),m=(i-s)*65536;r.octDecodeFloat(f,t),r.octDecodeFloat(m,n),r.octDecode(d,s,o)};r.compressTextureCoordinates=function(e){a.defined("textureCoordinates",e);lett=e.x*4095|0,n=e.y*4095|0;return4096*t+n};r.decompressTextureCoordinates=function(e,t){a.defined("compressed",e),a.defined("result",t);letn=e/4096,o=Math.floor(n);returnt.x=o/4095,t.y=(e-o*4096)/4095,t};functiong(e){returne>>1^-(e&1)}r.zigZagDeltaDecode=function(e,t,n){a.defined("uBuffer",e),a.defined("vBuffer",t),a.typeOf.number.equals("uBuffer.length","vBuffer.length",e.length,t.length),b(n)&&a.typeOf.number.equals("uBuffer.length","heightBuffer.length",e.length,n.length);leto=e.length,i=0,d=0,f=0;for(lets=0;s<o;++s)i+=g(e[s]),d+=g(t[s]),e[s]=i,t[s]=d,b(n)&&(f+=g(n[s]),n[s]=f)};r.dequantize=function(e,t,n,o){a.defined("typedArray",e),a.defined("componentDatatype",t),a.defined("type",n),a.defined("count",o);leti=N.getNumberOfComponents(n),d;switch(t){casey.BYTE:d=127;break;casey.UNSIGNED_BYTE:d=255;break;casey.SHORT:d=32767;break;casey.UNSIGNED_SHORT:d=65535;break;casey.INT:d=2147483647;break;casey.UNSIGNED_INT:d=4294967295;break;default:thrownewu(`Cannot dequantize component datatype: ${t}`)}letf=newFloat32Array(o*i);for(lets=0;s<o;s++)for(letm=0;m<i;m++){letp=s*i+m;f[p]=Math.max(e[p]/d,-1)}returnf};r.decodeRGB565=function(e,t){a.defined("typedArray",e);letn=e.length*3;b(t)&&a.typeOf.number.equals("result.length","typedArray.length * 3",t.length,n);leto=e.length;b(t)||(t=newFloat32Array(o*3));leti=31,d=63,f=1/31,s=1/63;for(letm=0;m<o;m++){letp=e[m],R=p>>11,I=p>>5&d,O=p&i,M=3*m;t[M]=R*f,t[M+1]=I*s,t[M+2]=O*f}returnt};varW=r;export{Wasa};
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{aasp,basP,dasq}from"./chunk-JMSSU44E.js";import{a}from"./chunk-4UYSGV57.js";import{aasT}from"./chunk-VLPNAR64.js";import{aasI,basg}from"./chunk-GE5NEIZC.js";import{easl}from"./chunk-35CVRQTC.js";functiony(n,i,o){if(n===0)returni*o;lett=n*n,e=t*t,c=e*t,r=c*t,h=r*t,s=h*t,d=o,u=Math.sin(2*d),f=Math.sin(4*d),M=Math.sin(6*d),_=Math.sin(8*d),E=Math.sin(10*d),S=Math.sin(12*d);returni*((1-t/4-3*e/64-5*c/256-175*r/16384-441*h/65536-4851*s/1048576)*d-(3*t/8+3*e/32+45*c/1024+105*r/4096+2205*h/131072+6237*s/524288)*u+(15*e/256+45*c/1024+525*r/16384+1575*h/65536+155925*s/8388608)*f-(35*c/3072+175*r/12288+3675*h/262144+13475*s/1048576)*M+(315*r/131072+2205*h/524288+43659*s/8388608)*_-(693*h/1310720+6237*s/5242880)*E+1001*s/8388608*S)}functionz(n,i,o){lett=n/o;if(i===0)returnt;lete=t*t,c=e*t,r=c*t,h=i,s=h*h,d=s*s,u=d*s,f=u*s,M=f*s,_=M*s,E=Math.sin(2*t),S=Math.cos(2*t),W=Math.sin(4*t),V=Math.cos(4*t),C=Math.sin(6*t),N=Math.cos(6*t),R=Math.sin(8*t),b=Math.cos(8*t),x=Math.sin(10*t),U=Math.cos(10*t),H=Math.sin(12*t);returnt+t*s/4+7*t*d/64+15*t*u/256+579*t*f/16384+1515*t*M/65536+16837*t*_/1048576+(3*t*d/16+45*t*u/256-t*(32*e-561)*f/4096-t*(232*e-1677)*M/16384+t*(399985-90560*e+512*r)*_/5242880)*S+(21*t*u/256+483*t*f/4096-t*(224*e-1969)*M/16384-t*(33152*e-112599)*_/1048576)*V+(151*t*f/4096+4681*t*M/65536+1479*t*_/16384-453*c*_/32768)*N+(1097*t*M/65536+42783*t*_/1048576)*b+8011*t*_/1048576*U+(3*s/8+3*d/16+213*u/2048-3*e*u/64+255*f/4096-33*e*f/512+20861*M/524288-33*e*M/512+r*M/1024+28273*_/1048576-471*e*_/8192+9*r*_/4096)*E+(21*d/256+21*u/256+533*f/8192-21*e*f/512+197*M/4096-315*e*M/4096+584039*_/16777216-12517*e*_/131072+7*r*_/2048)*W+(151*u/6144+151*f/4096+5019*M/131072-453*e*M/16384+26965*_/786432-8607*e*_/131072)*C+(1097*f/131072+1097*M/65536+225797*_/10485760-1097*e*_/65536)*R+(8011*M/2621440+8011*_/1048576)*x+293393*_/251658240*H}functionO(n,i){if(n===0)returnMath.log(Math.tan(.5*(a.PI_OVER_TWO+i)));leto=n*Math.sin(i);returnMath.log(Math.tan(.5*(a.PI_OVER_TWO+i)))-n/2*Math.log((1+o)/(1-o))}functionk(n,i,o,t,e){letc=O(n._ellipticity,o),r=O(n._ellipticity,e);returnMath.atan2(a.negativePiToPi(t-i),r-c)}functionA(n,i,o,t,e,c,r){leth=n._heading,s=c-t,d=0;if(a.equalsEpsilon(Math.abs(h),a.PI_OVER_TWO,a.EPSILON8))if(i===o)d=i*Math.cos(e)*a.negativePiToPi(s);else{letu=Math.sin(e);d=i*Math.cos(e)*a.negativePiToPi(s)/Math.sqrt(1-n._ellipticitySquared*u*u)}else{letu=y(n._ellipticity,i,e);d=(y(n._ellipticity,i,r)-u)/Math.cos(h)}returnMath.abs(d)}varB=newp,w=newp;functionD(n,i,o,t){lete=p.normalize(t.cartographicToCartesian(i,w),B),c=p.normalize(t.cartographicToCartesian(o,w),w);g.typeOf.number.greaterThanOrEquals("value",Math.abs(Math.abs(p.angleBetween(e,c))-Math.PI),.0125);letr=t.maximumRadius,h=t.minimumRadius,s=r*r,d=h*h;n._ellipticitySquared=(s-d)/s,n._ellipticity=Math.sqrt(n._ellipticitySquared),n._start=P.clone(i,n._start),n._start.height=0,n._end=P.clone(o,n._end),n._end.height=0,n._heading=k(n,i.longitude,i.latitude,o.longitude,o.latitude),n._distance=A(n,t.maximumRadius,t.minimumRadius,i.longitude,i.latitude,o.longitude,o.latitude)}functionv(n,i,o,t,e,c){if(o===0)returnP.clone(n,c);letr=e*e,h,s,d;if(Math.abs(a.PI_OVER_TWO-Math.abs(i))>a.EPSILON8){letu=y(e,t,n.latitude),f=o*Math.cos(i),M=u+f;if(s=z(M,e,t),Math.abs(i)<a.EPSILON10)h=a.negativePiToPi(n.longitude);else{let_=O(e,n.latitude),E=O(e,s);d=Math.tan(i)*(E-_),h=a.negativePiToPi(n.longitude+d)}}else{s=n.latitude;letu;if(e===0)u=t*Math.cos(n.latitude);else{letf=Math.sin(n.latitude);u=t*Math.cos(n.latitude)/Math.sqrt(1-r*f*f)}d=o/u,i>0?h=a.negativePiToPi(n.longitude+d):h=a.negativePiToPi(n.longitude-d)}returnl(c)?(c.longitude=h,c.latitude=s,c.height=0,c):newP(h,s,0)}functionm(n,i,o){lett=T(o,q.default);this._ellipsoid=t,this._start=newP,this._end=newP,this._heading=void0,this._distance=void0,this._ellipticity=void0,this._ellipticitySquared=void0,l(n)&&l(i)&&D(this,n,i,t)}Object.defineProperties(m.prototype,{ellipsoid:{get:function(){returnthis._ellipsoid}},surfaceDistance:{get:function(){returng.defined("distance",this._distance),this._distance}},start:{get:function(){returnthis._start}},end:{get:function(){returnthis._end}},heading:{get:function(){returng.defined("distance",this._distance),this._heading}}});m.fromStartHeadingDistance=function(n,i,o,t,e){g.defined("start",n),g.defined("heading",i),g.defined("distance",o),g.typeOf.number.greaterThan("distance",o,0);letc=T(t,q.default),r=c.maximumRadius,h=c.minimumRadius,s=r*r,d=h*h,u=Math.sqrt((s-d)/s);i=a.negativePiToPi(i);letf=v(n,i,o,c.maximumRadius,u);return!l(e)||l(t)&&!t.equals(e.ellipsoid)?newm(n,f,c):(e.setEndPoints(n,f),e)};m.prototype.setEndPoints=function(n,i){g.defined("start",n),g.defined("end",i),D(this,n,i,this._ellipsoid)};m.prototype.interpolateUsingFraction=function(n,i){returnthis.interpolateUsingSurfaceDistance(n*this._distance,i)};m.prototype.interpolateUsingSurfaceDistance=function(n,i){if(g.typeOf.number("distance",n),!l(this._distance)||this._distance===0)thrownewI("EllipsoidRhumbLine must have distinct start and end set.");returnv(this._start,this._heading,n,this._ellipsoid.maximumRadius,this._ellipticity,i)};m.prototype.findIntersectionWithLongitude=function(n,i){if(g.typeOf.number("intersectionLongitude",n),!l(this._distance)||this._distance===0)thrownewI("EllipsoidRhumbLine must have distinct start and end set.");leto=this._ellipticity,t=this._heading,e=Math.abs(t),c=this._start;if(n=a.negativePiToPi(n),a.equalsEpsilon(Math.abs(n),Math.PI,a.EPSILON14)&&(n=a.sign(c.longitude)*Math.PI),l(i)||(i=newP),Math.abs(a.PI_OVER_TWO-e)<=a.EPSILON8)returni.longitude=n,i.latitude=c.latitude,i.height=0,i;if(a.equalsEpsilon(Math.abs(a.PI_OVER_TWO-e),a.PI_OVER_TWO,a.EPSILON8))returna.equalsEpsilon(n,c.longitude,a.EPSILON12)?void0:(i.longitude=n,i.latitude=a.PI_OVER_TWO*a.sign(a.PI_OVER_TWO-t),i.height=0,i);letr=c.latitude,h=o*Math.sin(r),s=Math.tan(.5*(a.PI_OVER_TWO+r))*Math.exp((n-c.longitude)/Math.tan(t)),d=(1+h)/(1-h),u=c.latitude,f;do{f=u;letM=o*Math.sin(f),_=(1+M)/(1-M);u=2*Math.atan(s*Math.pow(_/d,o/2))-a.PI_OVER_TWO}while(!a.equalsEpsilon(u,f,a.EPSILON12));returni.longitude=n,i.latitude=u,i.height=0,i};m.prototype.findIntersectionWithLatitude=function(n,i){if(g.typeOf.number("intersectionLatitude",n),!l(this._distance)||this._distance===0)thrownewI("EllipsoidRhumbLine must have distinct start and end set.");leto=this._ellipticity,t=this._heading,e=this._start;if(a.equalsEpsilon(Math.abs(t),a.PI_OVER_TWO,a.EPSILON8))return;letc=O(o,e.latitude),r=O(o,n),h=Math.tan(t)*(r-c),s=a.negativePiToPi(e.longitude+h);returnl(i)?(i.longitude=s,i.latitude=n,i.height=0,i):newP(s,n,0)};var$=m;export{$asa};
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{aasl,basd}from"./chunk-YWRPWWKI.js";import{aast}from"./chunk-JMSSU44E.js";import{aass}from"./chunk-4UYSGV57.js";import{aasf,basr}from"./chunk-GE5NEIZC.js";import{easm}from"./chunk-35CVRQTC.js";functiono(e,n){if(r.typeOf.object("normal",e),!s.equalsEpsilon(t.magnitude(e),1,s.EPSILON6))thrownewf("normal must be normalized.");r.typeOf.number("distance",n),this.normal=t.clone(e),this.distance=n}o.fromPointNormal=function(e,n,a){if(r.typeOf.object("point",e),r.typeOf.object("normal",n),!s.equalsEpsilon(t.magnitude(n),1,s.EPSILON6))thrownewf("normal must be normalized.");letc=-t.dot(n,e);returnm(a)?(t.clone(n,a.normal),a.distance=c,a):newo(n,c)};varb=newt;o.fromCartesian4=function(e,n){r.typeOf.object("coefficients",e);leta=t.fromCartesian4(e,b),c=e.w;if(!s.equalsEpsilon(t.magnitude(a),1,s.EPSILON6))thrownewf("normal must be normalized.");returnm(n)?(t.clone(a,n.normal),n.distance=c,n):newo(a,c)};o.getPointDistance=function(e,n){returnr.typeOf.object("plane",e),r.typeOf.object("point",n),t.dot(e.normal,n)+e.distance};vary=newt;o.projectPointOntoPlane=function(e,n,a){r.typeOf.object("plane",e),r.typeOf.object("point",n),m(a)||(a=newt);letc=o.getPointDistance(e,n),p=t.multiplyByScalar(e.normal,c,y);returnt.subtract(n,p,a)};varw=newd,j=newl,N=newt;o.transform=function(e,n,a){r.typeOf.object("plane",e),r.typeOf.object("transform",n);letc=e.normal,p=e.distance,u=d.inverseTranspose(n,w),i=l.fromElements(c.x,c.y,c.z,p,j);i=d.multiplyByVector(u,i,i);letO=t.fromCartesian4(i,N);returni=l.divideByScalar(i,t.magnitude(O),i),o.fromCartesian4(i,a)};o.clone=function(e,n){returnr.typeOf.object("plane",e),m(n)?(t.clone(e.normal,n.normal),n.distance=e.distance,n):newo(e.normal,e.distance)};o.equals=function(e,n){returnr.typeOf.object("left",e),r.typeOf.object("right",n),e.distance===n.distance&&t.equals(e.normal,n.normal)};o.ORIGIN_XY_PLANE=Object.freeze(newo(t.UNIT_Z,0));o.ORIGIN_YZ_PLANE=Object.freeze(newo(t.UNIT_X,0));o.ORIGIN_ZX_PLANE=Object.freeze(newo(t.UNIT_Y,0));varT=o;export{Tasa};
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{aasP}from"./chunk-KSZ5EBRB.js";import{aasj,basd}from"./chunk-V3DSE3OK.js";import{aasO}from"./chunk-FMRIJYNG.js";import{aasA,basm,gasu}from"./chunk-YWRPWWKI.js";import{aase,casl,das_}from"./chunk-JMSSU44E.js";import{aasg}from"./chunk-VLPNAR64.js";import{aasy,basp}from"./chunk-GE5NEIZC.js";import{easr}from"./chunk-35CVRQTC.js";varx=newA;functions(n,t){if(p.defined("origin",n),t=g(t,_.default),n=t.scaleToGeodeticSurface(n),!r(n))thrownewy("origin must not be at the center of the ellipsoid.");leto=u.eastNorthUpToFixedFrame(n,t);this._ellipsoid=t,this._origin=n,this._xAxis=e.fromCartesian4(m.getColumn(o,0,x)),this._yAxis=e.fromCartesian4(m.getColumn(o,1,x));leti=e.fromCartesian4(m.getColumn(o,2,x));this._plane=O.fromPointNormal(n,i)}Object.defineProperties(s.prototype,{ellipsoid:{get:function(){returnthis._ellipsoid}},origin:{get:function(){returnthis._origin}},plane:{get:function(){returnthis._plane}},xAxis:{get:function(){returnthis._xAxis}},yAxis:{get:function(){returnthis._yAxis}},zAxis:{get:function(){returnthis._plane.normal}}});varC=newP;s.fromPoints=function(n,t){p.defined("cartesians",n);leto=P.fromPoints(n,C);returnnews(o.center,t)};varw=newj,h=newe;s.prototype.projectPointOntoPlane=function(n,t){p.defined("cartesian",n);leto=w;o.origin=n,e.normalize(n,o.direction);leti=d.rayPlane(o,this._plane,h);if(r(i)||(e.negate(o.direction,o.direction),i=d.rayPlane(o,this._plane,h)),r(i)){letc=e.subtract(i,this._origin,i),a=e.dot(this._xAxis,c),f=e.dot(this._yAxis,c);returnr(t)?(t.x=a,t.y=f,t):newl(a,f)}};s.prototype.projectPointsOntoPlane=function(n,t){p.defined("cartesians",n),r(t)||(t=[]);leto=0,i=n.length;for(letc=0;c<i;c++){leta=this.projectPointOntoPlane(n[c],t[o]);r(a)&&(t[o]=a,o++)}returnt.length=o,t};s.prototype.projectPointToNearestOnPlane=function(n,t){p.defined("cartesian",n),r(t)||(t=newl);leto=w;o.origin=n,e.clone(this._plane.normal,o.direction);leti=d.rayPlane(o,this._plane,h);r(i)||(e.negate(o.direction,o.direction),i=d.rayPlane(o,this._plane,h));letc=e.subtract(i,this._origin,i),a=e.dot(this._xAxis,c),f=e.dot(this._yAxis,c);returnt.x=a,t.y=f,t};s.prototype.projectPointsToNearestOnPlane=function(n,t){p.defined("cartesians",n),r(t)||(t=[]);leto=n.length;t.length=o;for(leti=0;i<o;i++)t[i]=this.projectPointToNearestOnPlane(n[i],t[i]);returnt};varT=newe;s.prototype.projectPointOntoEllipsoid=function(n,t){p.defined("cartesian",n),r(t)||(t=newe);leto=this._ellipsoid,i=this._origin,c=this._xAxis,a=this._yAxis,f=T;returne.multiplyByScalar(c,n.x,f),t=e.add(i,f,t),e.multiplyByScalar(a,n.y,f),e.add(t,f,t),o.scaleToGeocentricSurface(t,t),t};s.prototype.projectPointsOntoEllipsoid=function(n,t){p.defined("cartesians",n);leto=n.length;r(t)?t.length=o:t=newArray(o);for(leti=0;i<o;++i)t[i]=this.projectPointOntoEllipsoid(n[i],t[i]);returnt};varM=s;export{Masa};
${this.stack.toString()}`),t};f.throwInstantiationError=function(){thrownewf("This function defines an interface and should not be called directly.")};varr=f;varn={};n.typeOf={};functionc(t){return`${t} is required, actual value was undefined`}functiona(t,e,o){return`Expected ${o} to be typeof ${e}, actual typeof was ${t}`}n.defined=function(t,e){if(!u(e))thrownewr(c(t))};n.typeOf.func=function(t,e){if(typeofe!="function")thrownewr(a(typeofe,"function",t))};n.typeOf.string=function(t,e){if(typeofe!="string")thrownewr(a(typeofe,"string",t))};n.typeOf.number=function(t,e){if(typeofe!="number")thrownewr(a(typeofe,"number",t))};n.typeOf.number.lessThan=function(t,e,o){if(n.typeOf.number(t,e),e>=o)thrownewr(`Expected ${t} to be less than ${o}, actual value was ${e}`)};n.typeOf.number.lessThanOrEquals=function(t,e,o){if(n.typeOf.number(t,e),e>o)thrownewr(`Expected ${t} to be less than or equal to ${o}, actual value was ${e}`)};n.typeOf.number.greaterThan=function(t,e,o){if(n.typeOf.number(t,e),e<=o)thrownewr(`Expected ${t} to be greater than ${o}, actual value was ${e}`)};n.typeOf.number.greaterThanOrEquals=function(t,e,o){if(n.typeOf.number(t,e),e<o)thrownewr(`Expected ${t} to be greater than or equal to ${o}, actual value was ${e}`)};n.typeOf.object=function(t,e){if(typeofe!="object")thrownewr(a(typeofe,"object",t))};n.typeOf.bool=function(t,e){if(typeofe!="boolean")thrownewr(a(typeofe,"boolean",t))};n.typeOf.bigint=function(t,e){if(typeofe!="bigint")thrownewr(a(typeofe,"bigint",t))};n.typeOf.number.equals=function(t,e,o,i){if(n.typeOf.number(t,o),n.typeOf.number(e,i),o!==i)thrownewr(`${t} must be equal to ${e}, the actual values are ${o} and ${i}`)};varl=n;export{rasa,lasb};
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{basl,fasO,gasR,hasG,iasL}from"./chunk-YWRPWWKI.js";import{aasA,bash,casa,easy}from"./chunk-JMSSU44E.js";import{aasc}from"./chunk-ANLJ4KBN.js";import{aass}from"./chunk-VLPNAR64.js";import{aasN,basw}from"./chunk-GE5NEIZC.js";import{easI}from"./chunk-35CVRQTC.js";varU={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3},M=Object.freeze(U);varr={POINTS:c.POINTS,LINES:c.LINES,LINE_LOOP:c.LINE_LOOP,LINE_STRIP:c.LINE_STRIP,TRIANGLES:c.TRIANGLES,TRIANGLE_STRIP:c.TRIANGLE_STRIP,TRIANGLE_FAN:c.TRIANGLE_FAN};r.isLines=function(t){returnt===r.LINES||t===r.LINE_LOOP||t===r.LINE_STRIP};r.isTriangles=function(t){returnt===r.TRIANGLES||t===r.TRIANGLE_STRIP||t===r.TRIANGLE_FAN};r.validate=function(t){returnt===r.POINTS||t===r.LINES||t===r.LINE_LOOP||t===r.LINE_STRIP||t===r.TRIANGLES||t===r.TRIANGLE_STRIP||t===r.TRIANGLE_FAN};varF=Object.freeze(r);function_(t){t=s(t,s.EMPTY_OBJECT),w.typeOf.object("options.attributes",t.attributes),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=s(t.primitiveType,F.TRIANGLES),this.boundingSphere=t.boundingSphere,this.geometryType=s(t.geometryType,M.NONE),this.boundingSphereCV=t.boundingSphereCV,this.offsetAttribute=t.offsetAttribute}_.computeNumberOfVertices=function(t){w.typeOf.object("geometry",t);letm=-1;for(letuint.attributes)if(t.attributes.hasOwnProperty(u)&&I(t.attributes[u])&&I(t.attributes[u].values)){leto=t.attributes[u],e=o.values.length/o.componentsPerAttribute;if(m!==e&&m!==-1)thrownewN("All attribute lists must have the same number of attributes.");m=e}returnm};varW=newh,H=newA,V=newl,Z=[newh,newh,newh],K=[newa,newa,newa],$=[newa,newa,newa],tt=newA,et=newO,rt=newl,nt=newL;_._textureCoordinateRotationPoints=function(t,m,u,o){lete,g=G.center(o,W),D=h.toCartesian(g,u,H),Y=R.eastNorthUpToFixedFrame(D,u,V),C=l.inverse(Y,V),b=K,f=Z;f[0].longitude=o.west,f[0].latitude=o.south,f[1].longitude=o.west,f[1].latitude=o.north,f[2].longitude=o.east,f[2].latitude=o.south;letn=tt;for(e=0;e<3;e++)h.toCartesian(f[e],u,n),n=l.multiplyByPointAsVector(C,n,n),b[e].x=n.x,b[e].y=n.y;letB=O.fromAxisAngle(A.UNIT_Z,-m,et),v=y.fromQuaternion(B,rt),j=t.length,T=Number.POSITIVE_INFINITY,p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY,x=Number.NEGATIVE_INFINITY;for(e=0;e<j;e++)n=l.multiplyByPointAsVector(C,t[e],n),n=y.multiplyByVector(v,n,n),T=Math.min(T,n.x),p=Math.min(p,n.y),d=Math.max(d,n.x),x=Math.max(x,n.y);letk=L.fromRotation(m,nt),i=$;i[0].x=T,i[0].y=p,i[1].x=T,i[1].y=x,i[2].x=d,i[2].y=p;letP=b[0],z=b[2].x-P.x,X=b[1].y-P.y;for(e=0;e<3;e++){letE=i[e];L.multiplyByVector(k,E,E),E.x=(E.x-P.x)/z,E.y=(E.y-P.y)/X}letq=i[0],J=i[1],Q=i[2],S=newArray(6);returna.pack(q,S),a.pack(J,S,2),a.pack(Q,S,4),S};varLt=_;functionot(t){if(t=s(t,s.EMPTY_OBJECT),!I(t.componentDatatype))thrownewN("options.componentDatatype is required.");if(!I(t.componentsPerAttribute))thrownewN("options.componentsPerAttribute is required.");if(t.componentsPerAttribute<1||t.componentsPerAttribute>4)thrownewN("options.componentsPerAttribute must be between 1 and 4.");if(!I(t.values))thrownewN("options.values is required.");this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=s(t.normalize,!1),this.values=t.values}varOt=ot;export{Masa,Fasb,Ltasc,Otasd};
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Columbus View (Pat. Pend.)
*
* Portions licensed separately.
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
*/
import{aasW}from"./chunk-ZFTFDHK4.js";import{aasZ}from"./chunk-NNHN6WUY.js";import{aasX}from"./chunk-T7ERZ2CJ.js";import{basK,casQ,dasV}from"./chunk-GSNDLQ4C.js";import{dasH}from"./chunk-BKSIEBAA.js";import{aasU}from"./chunk-VTVHUB7E.js";import{aasr,dasJ}from"./chunk-JMSSU44E.js";import{aasB}from"./chunk-4UYSGV57.js";import{aasu}from"./chunk-VLPNAR64.js";import{aasP}from"./chunk-GE5NEIZC.js";import{easT}from"./chunk-35CVRQTC.js";varii=newr(1,1,1),S=Math.cos,q=Math.sin;functionx(t){t=u(t,u.EMPTY_OBJECT);leto=u(t.radii,ii),n=u(t.innerRadii,o),k=u(t.minimumClock,0),w=u(t.maximumClock,B.TWO_PI),d=u(t.minimumCone,0),l=u(t.maximumCone,B.PI),s=Math.round(u(t.stackPartitions,10)),A=Math.round(u(t.slicePartitions,8)),m=Math.round(u(t.subdivisions,128));if(s<1)thrownewP("options.stackPartitions cannot be less than 1");if(A<0)thrownewP("options.slicePartitions cannot be less than 0");if(m<0)thrownewP("options.subdivisions must be greater than or equal to zero.");if(T(t.offsetAttribute)&&t.offsetAttribute===W.TOP)thrownewP("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._radii=r.clone(o),this._innerRadii=r.clone(n),this._minimumClock=k,this._maximumClock=w,this._minimumCone=d,this._maximumCone=l,this._stackPartitions=s,this._slicePartitions=A,this._subdivisions=m,this._offsetAttribute=t.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}x.packedLength=2*r.packedLength+8;x.pack=function(t,o,n){if(!T(t))thrownewP("value is required");if(!T(o))thrownewP("array is required");returnn=u(n,0),r.pack(t._radii,o,n),n+=r.packedLength,r.pack(t._innerRadii,o,n),n+=r.packedLength,o[n++]=t._minimumClock,o[n++]=t._maximumClock,o[n++]=t._minimumCone,o[n++]=t._maximumCone,o[n++]=t._stackPartitions,o[n++]=t._slicePartitions,o[n++]=t._subdivisions,o[n]=u(t._offsetAttribute,-1),o};var$=newr,G=newr,b={radii:$,innerRadii:G,minimumClock:void0,maximumClock:void0,minimumCone:void0,maximumCone:void0,stackPartitions:void0,slicePartitions:void0,subdivisions:void0,offsetAttribute:void0};x.unpack=function(t,o,n){if(!T(t))thrownewP("array is required");o=u(o,0);letk=r.unpack(t,o,$);o+=r.packedLength;letw=r.unpack(t,o,G);o+=r.packedLength;letd=t[o++],l=t[o++],s=t[o++],A=t[o++],m=t[o++],f=t[o++],E=t[o++],h=t[o];returnT(n)?(n._radii=r.clone(k,n._radii),n._innerRadii=r.clone(w,n._innerRadii),n._minimumClock=d,n._maximumClock=l,n._minimumCone=s,n._maximumCone=A,n._stackPartitions=m,n._slicePartitions=f,n._subdivisions=E,n._offsetAttribute=h===-1?void0:h,n):(b.minimumClock=d,b.maximumClock=l,b.minimumCone=s,b.maximumCone=A,b.stackPartitions=m,b.slicePartitions=f,b.subdivisions=E,b.offsetAttribute=h===-1?void0:h,newx(b))};x.createGeometry=function(t){leto=t._radii;if(o.x<=0||o.y<=0||o.z<=0)return;letn=t._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;letk=t._minimumClock,w=t._maximumClock,d=t._minimumCone,l=t._maximumCone,s=t._subdivisions,A=J.fromCartesian3(o),m=t._slicePartitions+1,f=t._stackPartitions+1;m=Math.round(m*Math.abs(w-k)/B.TWO_PI),f=Math.round(f*Math.abs(l-d)/B.PI),m<2&&(m=2),f<2&&(f=2);letE=0,h=1,L=n.x!==o.x||n.y!==o.y||n.z!==o.z,Y=!1,j=!1;L&&(h=2,d>0&&(Y=!0,E+=m),l<Math.PI&&(j=!0,E+=m));lety=s*h*(f+m),a=newFloat64Array(y*3),g=2*(y+E-(m+f)*h),_=Z.createTypedArray(y,g),i,e,v,z,c=0,C=newArray(f),O=newArray(f);for(i=0;i<f;i++)z=d+i*(l-d)/(f-1),C[i]=q(z),O[i]=S(z);letM=newArray(s),R=newArray(s);for(i=0;i<s;i++)v=k+i*(w-k)/(s-1),M[i]=q(v),R[i]=S(v);for(i=0;i<f;i++)for(e=0;e<s;e++)a[c++]=o.x*C[i]*R[e],a[c++]=o.y*C[i]*M[e],a[c++]=o.z*O[i];if(L)for(i=0;i<f;i++)for(e=0;e<s;e++)a[c++]=n.x*C[i]*R[e],a[c++]=n.y*C[i]*M[e],a[c++]=n.z*O[i];for(C.length=s,O.length=s,i=0;i<s;i++)z=d+i*(l-d)/(s-1),C[i]=q(z),O[i]=S(z);for(M.length=m,R.length=m,i=0;i<m;i++)v=k+i*(w-k)/(m-1),M[i]=q(v),R[i]=S(v);for(i=0;i<s;i++)for(e=0;e<m;e++)a[c++]=o.x*C[i]*R[e],a[c++]=o.y*C[i]*M[e],a[c++]=o.z*O[i];if(L)for(i=0;i<s;i++)for(e=0;e<m;e++)a[c++]=n.x*C[i]*R[e],a[c++]=n.y*C[i]*M[e],a[c++]=n.z*O[i];for(c=0,i=0;i<f*h;i++){letp=i*s;for(e=0;e<s-1;e++)_[c++]=p+e,_[c++]=p+e+1}letD=f*s*h;for(i=0;i<m;i++)for(e=0;e<s-1;e++)_[c++]=D+i+e*m,_[c++]=D+i+(e+1)*m;if(L)for(D=f*s*h+m*s,i=0;i<m;i++)for(e=0;e<s-1;e++)_[c++]=D+i+e*m,_[c++]=D+i+(e+1)*m;if(L){letp=f*s*h,N=p+s*m;if(Y)for(i=0;i<m;i++)_[c++]=p+i,_[c++]=N+i;if(j)for(p+=s*m-m,N+=s*m-m,i=0;i<m;i++)_[c++]=p+i,_[c++]=N+i}letF=newX({position:newV({componentDatatype:U.DOUBLE,componentsPerAttribute:3,values:a})});if(T(t._offsetAttribute)){letp=a.length,N=t._offsetAttribute===W.NONE?0:1,I=newUint8Array(p/3).fill(N);F.applyOffset=newV({componentDatatype:U.UNSIGNED_BYTE,componentsPerAttribute:1,values:I})}returnnewQ({attributes:F,indices:_,primitiveType:K.LINES,boundingSphere:H.fromEllipsoid(A),offsetAttribute:t._offsetAttribute})};varCi=x;export{Ciasa};