x_ite 11.6.5 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +4 -4
  2. package/dist/assets/components/AnnotationComponent.js +2 -2
  3. package/dist/assets/components/AnnotationComponent.min.js +2 -2
  4. package/dist/assets/components/CADGeometryComponent.js +27 -10
  5. package/dist/assets/components/CADGeometryComponent.min.js +2 -2
  6. package/dist/assets/components/CubeMapTexturingComponent.js +2 -2
  7. package/dist/assets/components/CubeMapTexturingComponent.min.js +2 -2
  8. package/dist/assets/components/DISComponent.js +23 -2
  9. package/dist/assets/components/DISComponent.min.js +2 -2
  10. package/dist/assets/components/EventUtilitiesComponent.js +2 -2
  11. package/dist/assets/components/EventUtilitiesComponent.min.js +2 -2
  12. package/dist/assets/components/Geometry2DComponent.js +2 -2
  13. package/dist/assets/components/Geometry2DComponent.min.js +2 -2
  14. package/dist/assets/components/GeospatialComponent.js +22 -2
  15. package/dist/assets/components/GeospatialComponent.min.js +2 -2
  16. package/dist/assets/components/HAnimComponent.js +47 -37
  17. package/dist/assets/components/HAnimComponent.min.js +2 -2
  18. package/dist/assets/components/KeyDeviceSensorComponent.js +2 -2
  19. package/dist/assets/components/KeyDeviceSensorComponent.min.js +2 -2
  20. package/dist/assets/components/LayoutComponent.js +15 -24
  21. package/dist/assets/components/LayoutComponent.min.js +2 -2
  22. package/dist/assets/components/NURBSComponent.js +15 -6
  23. package/dist/assets/components/NURBSComponent.min.js +2 -2
  24. package/dist/assets/components/ParticleSystemsComponent.js +2 -2
  25. package/dist/assets/components/ParticleSystemsComponent.min.js +2 -2
  26. package/dist/assets/components/PickingComponent.js +2 -2
  27. package/dist/assets/components/PickingComponent.min.js +2 -2
  28. package/dist/assets/components/RigidBodyPhysicsComponent.js +48 -23
  29. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +2 -2
  30. package/dist/assets/components/ScriptingComponent.js +2 -2
  31. package/dist/assets/components/ScriptingComponent.min.js +2 -2
  32. package/dist/assets/components/TextComponent.js +2 -2
  33. package/dist/assets/components/TextComponent.min.js +2 -2
  34. package/dist/assets/components/TextureProjectionComponent.js +2 -2
  35. package/dist/assets/components/TextureProjectionComponent.min.js +2 -2
  36. package/dist/assets/components/Texturing3DComponent.js +35 -35
  37. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  38. package/dist/assets/components/VolumeRenderingComponent.js +2 -2
  39. package/dist/assets/components/VolumeRenderingComponent.min.js +2 -2
  40. package/dist/assets/components/WebXRComponent.js +2 -2
  41. package/dist/assets/components/WebXRComponent.min.js +2 -2
  42. package/dist/assets/components/X_ITEComponent.js +2 -2
  43. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  44. package/dist/example.html +1 -1
  45. package/dist/x_ite.css +1 -1
  46. package/dist/x_ite.js +51989 -51892
  47. package/dist/x_ite.min.js +2 -2
  48. package/dist/x_ite.min.mjs +2 -2
  49. package/dist/x_ite.mjs +51866 -51769
  50. package/dist/x_ite.zip +0 -0
  51. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- /* X_ITE v11.6.5 */
2
- const e=window[Symbol.for("X_ITE.X3D-11.6.5")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var s=t.n(i);const n=e.X3DBaseNode;var o=t.n(n);const r=e.X3DConstants;var a=t.n(r);const l=e.Fields;var h=t.n(l);const g=e.Namespace;var d=t.n(g);function c(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(c.prototype,o().prototype),Object.defineProperties(c,{typeName:{value:"Arc2DOptions",enumerable:!0}});const p=c,u=d().add("Arc2DOptions",p);function y(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(y.prototype,o().prototype),Object.defineProperties(y,{typeName:{value:"ArcClose2DOptions",enumerable:!0}});const m=y,O=d().add("ArcClose2DOptions",m),D=e.IndexedLineSet;var f=t.n(D);const w=e.Coordinate;var b=t.n(w);const _=e.Complex;var P=t.n(_);function S(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.assign(Object.setPrototypeOf(S.prototype,o().prototype),{initialize(){o().prototype.initialize.call(this),this.addInterest("eventsProcessed",this)},getGeometry(){return this.geometry||this.build(),this.geometry},createCoordIndex(){const e=this._dimension.getValue(),t=this.geometry._coordIndex;for(let i=0;i<e;++i)t.push(i);t.push(0,-1)},createPoints(){const e=this._dimension.getValue(),t=2*Math.PI/e,i=this.geometry._coord.getValue()._point;for(let s=0;s<e;++s){const e=P().Polar(1,t*s);i.push(new(h().SFVec3f)(e.real,e.imag,0))}},build(){this.geometry=new(f())(this.getExecutionContext()),this.geometry._coord=new(b())(this.getExecutionContext()),this.createCoordIndex(),this.createPoints();const e=this.geometry;this.geometry._coord.getValue().setup(),e.setup()},eventsProcessed(){this.geometry=null}}),Object.defineProperties(S,{typeName:{value:"Circle2DOptions",enumerable:!0}});const V=S,M=d().add("Circle2DOptions",V),v=e.X3DGeometryNode;var C=t.n(v);function x(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40)),this.diskTexCoords=C().createArray(),this.diskNormals=C().createArray(),this.diskVertices=C().createArray()}Object.assign(Object.setPrototypeOf(x.prototype,o().prototype),{initialize(){o().prototype.initialize.call(this),this.addInterest("eventsProcessed",this)},getDiskTexCoords(){return this.diskTexCoords.length||this.build(),this.diskTexCoords},getDiskNormals(){return this.diskNormals.length||this.build(),this.diskNormals},getDiskVertices(){return this.diskVertices.length||this.build(),this.diskVertices},build:(()=>{const e=new(P())(.5,.5),t=new(P()),i=new(P()),s=new(P()),n=new(P());return function(){const o=this._dimension.getValue(),r=2*Math.PI/o,a=this.diskTexCoords,l=this.diskNormals,h=this.diskVertices;for(let g=0;g<o;++g){const o=r*g,d=r*(g+1);t.setPolar(.5,o).add(e),i.setPolar(.5,d).add(e),s.setPolar(1,o),n.setPolar(1,d),a.push(.5,.5,0,1,t.real,t.imag,0,1,i.real,i.imag,0,1),l.push(0,0,1,0,0,1,0,0,1),h.push(0,0,0,1,s.real,s.imag,0,1,n.real,n.imag,0,1)}a.shrinkToFit(),l.shrinkToFit(),h.shrinkToFit()}})(),eventsProcessed(){this.diskTexCoords.length=0,this.diskNormals.length=0,this.diskVertices.length=0}}),Object.defineProperties(x,{typeName:{value:"Disk2DOptions",enumerable:!0}});const T=x,F=d().add("Disk2DOptions",T),j=e.IndexedFaceSet;var A=t.n(j);const N=e.TextureCoordinate;var k=t.n(N);function I(e){o().call(this,e)}Object.assign(Object.setPrototypeOf(I.prototype,o().prototype),{getGeometry(){if(this.geometry)return this.geometry;this.geometry=new(A())(this.getExecutionContext()),this.geometry._texCoord=new(k())(this.getExecutionContext()),this.geometry._coord=new(b())(this.getExecutionContext());const e=this.geometry,t=this.geometry._texCoord.getValue(),i=this.geometry._coord.getValue();return t._point=[1,1,0,1,0,0,1,0],i._point=[1,1,0,-1,1,0,-1,-1,0,1,-1,0],e._coordIndex=[0,1,2,3,-1],t.setup(),i.setup(),e.setup(),this.geometry}}),Object.defineProperties(I,{typeName:{value:"Rectangle2DOptions",enumerable:!0}});const G=I,z=d().add("Rectangle2DOptions",G),B=e.PrimitiveQuality;var R=t.n(B);const U=Symbol(),E=Symbol(),X=Symbol(),L=Symbol(),Q=Symbol();function H(){}function q(e,t){return this[e]??=(()=>{const e=new t(this.getPrivateScene());return e.setup(),e})()}Object.assign(H.prototype,{initialize(){this.setPrimitiveQuality2D(this.getBrowserOptions().getPrimitiveQuality())},getArc2DOptions(){return q.call(this,U,u)},getArcClose2DOptions(){return q.call(this,E,O)},getCircle2DOptions(){return q.call(this,X,M)},getDisk2DOptions(){return q.call(this,L,F)},getRectangle2DOptions(){return q.call(this,Q,z)},setPrimitiveQuality2D(e){const t=this.getArc2DOptions(),i=this.getArcClose2DOptions(),s=this.getCircle2DOptions(),n=this.getDisk2DOptions();switch(e){case R().LOW:t._dimension=20,i._dimension=20,s._dimension=20,n._dimension=20;break;case R().MEDIUM:t._dimension=40,i._dimension=40,s._dimension=40,n._dimension=40;break;case R().HIGH:t._dimension=80,i._dimension=80,s._dimension=80,n._dimension=80}}});const W=H,J=d().add("X3DGeometry2DContext",W),K=e.X3DFieldDefinition;var Y=t.n(K);const Z=e.FieldDefinitionArray;var $=t.n(Z);const ee=e.X3DNode;var te=t.n(ee);const ie=e.X3DLineGeometryNode;var se=t.n(ie);const ne=e.Algorithm;var oe=t.n(ne);function re(e){se().call(this,e),this.addType(a().Arc2D),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(re.prototype,se().prototype),{set_live__(){this.connectOptions(this.getBrowser().getArc2DOptions())},getSweepAngle(){const e=oe().interval(this._startAngle.getValue(),0,2*Math.PI),t=oe().interval(this._endAngle.getValue(),0,2*Math.PI);if(e===t)return 2*Math.PI;const i=Math.abs(t-e);return e>t?2*Math.PI-i:isNaN(i)?0:i},build(){const e=this.getBrowser().getArc2DOptions()._dimension.getValue(),t=this._startAngle.getValue(),i=Math.abs(this._radius.getValue()),s=this.getSweepAngle(),n=Math.max(3,Math.floor(s*e/(2*Math.PI))),o=this.getVertices();for(let e=0;e<n;++e){const r=t+s*(e/n),a=P().Polar(i,r),l=t+s*((e+1)/n),h=P().Polar(i,l);o.push(a.real,a.imag,0,1),o.push(h.real,h.imag,0,1)}this.getMin().set(-i,-i,0),this.getMax().set(i,i,0)}}),Object.defineProperties(re,{...te().getStaticProperties("Arc2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"startAngle",new(h().SFFloat)),new(Y())(a().initializeOnly,"endAngle",new(h().SFFloat)(1.570796)),new(Y())(a().initializeOnly,"radius",new(h().SFFloat)(1))]),enumerable:!0}});const ae=re,le=d().add("Arc2D",ae);function he(e){C().call(this,e),this.addType(a().ArcClose2D),this.setGeometryType(2),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(he.prototype,C().prototype),{set_live__(){this.connectOptions(this.getBrowser().getArcClose2DOptions())},getSweepAngle(){const e=oe().interval(this._startAngle.getValue(),0,2*Math.PI),t=oe().interval(this._endAngle.getValue(),0,2*Math.PI);if(e===t)return 2*Math.PI;const i=Math.abs(t-e);return e>t?2*Math.PI-i:isNaN(i)?0:i},build:(()=>{const e=new(P())(.5,.5);return function(){const t=this.getBrowser().getArcClose2DOptions(),i="CHORD"===this._closureType.getValue(),s=t._dimension.getValue(),n=this._startAngle.getValue(),o=Math.abs(this._radius.getValue()),r=this.getSweepAngle(),a=Math.max(4,Math.floor(r*s/(2*Math.PI))),l=this.getTexCoords(),h=this.getNormals(),g=this.getVertices(),d=[],c=[];this.getMultiTexCoords().push(l);const p=a-1;for(let t=0;t<a;++t){const i=n+r*(t/p);d.push(P().Polar(.5,i).add(e)),c.push(P().Polar(o,i))}if(i){const e=d[0],t=c[0];for(let i=1;i<p;++i){const s=d[i],n=d[i+1],o=c[i],r=c[i+1];l.push(e.real,e.imag,0,1,s.real,s.imag,0,1,n.real,n.imag,0,1),h.push(0,0,1,0,0,1,0,0,1),g.push(t.real,t.imag,0,1,o.real,o.imag,0,1,r.real,r.imag,0,1)}}else for(let e=0;e<p;++e){const t=d[e],i=d[e+1],s=c[e],n=c[e+1];l.push(.5,.5,0,1,t.real,t.imag,0,1,i.real,i.imag,0,1),h.push(0,0,1,0,0,1,0,0,1),g.push(0,0,0,1,s.real,s.imag,0,1,n.real,n.imag,0,1)}this.getMin().set(-o,-o,0),this.getMax().set(o,o,0),this.setSolid(this._solid.getValue())}})()}),Object.defineProperties(he,{...te().getStaticProperties("ArcClose2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"closureType",new(h().SFString)("PIE")),new(Y())(a().initializeOnly,"startAngle",new(h().SFFloat)),new(Y())(a().initializeOnly,"endAngle",new(h().SFFloat)(1.570796)),new(Y())(a().initializeOnly,"radius",new(h().SFFloat)(1)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const ge=he,de=d().add("ArcClose2D",ge);function ce(e){se().call(this,e),this.addType(a().Circle2D),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(ce.prototype,se().prototype),{set_live__(){this.connectOptions(this.getBrowser().getCircle2DOptions())},build(){const e=this.getBrowser().getCircle2DOptions().getGeometry(),t=this.getVertices(),i=this._radius.getValue();if(1===i)t.assign(e.getVertices());else{const s=e.getVertices();for(let e=0,n=s.length;e<n;e+=4)t.push(s[e]*i,s[e+1]*i,0,1)}this.getMin().set(-i,-i,0),this.getMax().set(i,i,0)}}),Object.defineProperties(ce,{...te().getStaticProperties("Circle2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"radius",new(h().SFFloat)(1))]),enumerable:!0}});const pe=ce,ue=d().add("Circle2D",pe),ye=e.X3DPointGeometryNode;var me=t.n(ye);function Oe(e){se().call(this,e),this.addType(a().Disk2D),this._innerRadius.setUnit("length"),this._outerRadius.setUnit("length")}Object.assign(Object.setPrototypeOf(Oe.prototype,C().prototype),se().prototype,{set_live__(){this.connectOptions(this.getBrowser().getDisk2DOptions())},build(){const e=this.getBrowser(),t=e.getContext(),i=e.getDisk2DOptions(),s=Math.min(Math.abs(this._innerRadius.getValue()),Math.abs(this._outerRadius.getValue())),n=Math.max(Math.abs(this._innerRadius.getValue()),Math.abs(this._outerRadius.getValue())),o=this.getVertices();if(s===n){if(0===n)return o.push(0,0,0,1),this.getMin().set(0),this.getMax().set(0),this.setGeometryType(0),this.setPrimitiveMode(t.POINTS),this.setTransparent(!0),this.setSolid(!1),void this.setBase(me());const e=this.getBrowser().getCircle2DOptions().getGeometry();if(1===n)o.assign(e.getVertices());else{const t=e.getVertices();for(let e=0,i=t.length;e<i;e+=4)o.push(t[e]*n,t[e+1]*n,0,1)}return this.getMin().set(-n,-n,0),this.getMax().set(n,n,0),this.setGeometryType(1),this.setPrimitiveMode(t.LINES),this.setTransparent(!1),this.setSolid(!1),void this.setBase(se())}if(0===s){if(this.getMultiTexCoords().push(i.getDiskTexCoords()),this.getNormals().assign(i.getDiskNormals()),1===n)o.assign(i.getDiskVertices());else{const e=i.getDiskVertices().getValue();for(let t=0,i=e.length;t<i;t+=4)o.push(e[t]*n,e[t+1]*n,0,1)}return this.getMin().set(-n,-n,0),this.getMax().set(n,n,0),this.setGeometryType(2),this.setPrimitiveMode(t.TRIANGLES),this.setTransparent(!1),this.setSolid(this._solid.getValue()),void this.setBase(C())}const r=s/n,a=(1-r)/2,l=i.getDiskTexCoords().getValue(),h=i.getDiskVertices().getValue(),g=this.getTexCoords(),d=this.getNormals();this.getMultiTexCoords().push(g);for(let e=0,t=h.length;e<t;e+=12)g.push(l[e+4]*r+a,l[e+5]*r+a,0,1,l[e+4],l[e+5],0,1,l[e+8],l[e+9],0,1,l[e+4]*r+a,l[e+5]*r+a,0,1,l[e+8],l[e+9],0,1,l[e+8]*r+a,l[e+9]*r+a,0,1),d.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),o.push(h[e+4]*s,h[e+5]*s,0,1,h[e+4]*n,h[e+5]*n,0,1,h[e+8]*n,h[e+9]*n,0,1,h[e+4]*s,h[e+5]*s,0,1,h[e+8]*n,h[e+9]*n,0,1,h[e+8]*s,h[e+9]*s,0,1);this.getMin().set(-n,-n,0),this.getMax().set(n,n,0),this.setGeometryType(2),this.setPrimitiveMode(t.TRIANGLES),this.setTransparent(!1),this.setSolid(this._solid.getValue()),this.setBase(C())},setBase(e){this.intersectsLine=e.prototype.intersectsLine,this.intersectsBox=e.prototype.intersectsBox,this.generateTexCoords=e.prototype.generateTexCoords,this.displaySimple=e.prototype.displaySimple,this.display=e.prototype.display,this.displaySimpleInstanced=e.prototype.displaySimpleInstanced,this.displayInstanced=e.prototype.displayInstanced},updateRenderFunctions(){}}),Object.defineProperties(Oe,{...te().getStaticProperties("Disk2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"innerRadius",new(h().SFFloat)),new(Y())(a().initializeOnly,"outerRadius",new(h().SFFloat)(1)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const De=Oe,fe=d().add("Disk2D",De);function we(e){se().call(this,e),this.addType(a().Polyline2D),this._lineSegments.setUnit("length")}Object.assign(Object.setPrototypeOf(we.prototype,se().prototype),{build(){const e=this._lineSegments.getValue(),t=this.getVertices();for(let i=0,s=2*(this._lineSegments.length-1);i<s;i+=2)t.push(e[i+0],e[i+1],0,1),t.push(e[i+2],e[i+3],0,1)}}),Object.defineProperties(we,{...te().getStaticProperties("Polyline2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"lineSegments",new(h().MFVec2f))]),enumerable:!0}});const be=we,_e=d().add("Polyline2D",be);function Pe(e){me().call(this,e),this.addType(a().Polypoint2D),this._point.setUnit("length")}Object.assign(Object.setPrototypeOf(Pe.prototype,me().prototype),{build(){const e=this._point.getValue(),t=this.getVertices();for(let i=0,s=2*this._point.length;i<s;i+=2)t.push(e[i],e[i+1],0,1)}}),Object.defineProperties(Pe,{...te().getStaticProperties("Polypoint2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().inputOutput,"point",new(h().MFVec2f))]),enumerable:!0}});const Se=Pe,Ve=d().add("Polypoint2D",Se),Me=e.Vector2;var ve=t.n(Me);function Ce(e){C().call(this,e),this.addType(a().Rectangle2D),this.setGeometryType(2),this._size.setUnit("length")}Object.assign(Object.setPrototypeOf(Ce.prototype,C().prototype),{build:(()=>{const e=new(ve())(2);return function(){const t=this.getBrowser().getRectangle2DOptions().getGeometry(),i=this._size.getValue(),s=this.getVertices();if(this.getMultiTexCoords().push(...t.getMultiTexCoords()),this.getTangents().assign(t.getTangents()),this.getNormals().assign(t.getNormals()),i.equals(e))s.assign(t.getVertices()),this.getMin().assign(t.getMin()),this.getMax().assign(t.getMax());else{const e=Math.abs(i.x/2),n=Math.abs(i.y/2),o=t.getVertices();for(let t=0;t<o.length;t+=4)s.push(e*o[t],n*o[t+1],0,1);this.getMin().set(-e,-n,0),this.getMax().set(e,n,0)}this.setSolid(this._solid.getValue())}})()}),Object.defineProperties(Ce,{...te().getStaticProperties("Rectangle2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"size",new(h().SFVec2f)(2,2)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const xe=Ce,Te=d().add("Rectangle2D",xe);function Fe(e){C().call(this,e),this.addType(a().TriangleSet2D),this.setGeometryType(2),this._vertices.setUnit("length")}Object.assign(Object.setPrototypeOf(Fe.prototype,C().prototype),{build(){const e=this._vertices.getValue(),t=this.getNormals(),i=this.getVertices();for(let s=0,n=2*this._vertices.length;s<n;s+=2)t.push(0,0,1),i.push(e[s],e[s+1],0,1);this.setSolid(this._solid.getValue())},generateTexCoords(){const e=this.getTexCoords();if(0===e.length){const t=this.getTexCoordParams(),i=t.min,s=t.Ssize,n=this.getVertices().getValue();for(let t=0,o=n.length;t<o;t+=4)e.push((n[t]-i[0])/s,(n[t+1]-i[1])/s,0,1);e.shrinkToFit()}this.getMultiTexCoords().push(e)}}),Object.defineProperties(Fe,{...te().getStaticProperties("TriangleSet2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().inputOutput,"vertices",new(h().MFVec2f)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const je=Fe,Ae=d().add("TriangleSet2D",je);s().add({name:"Geometry2D",concreteNodes:[le,de,ue,fe,_e,Ve,Te,Ae],abstractNodes:[],browserContext:J});d().add("Geometry2DComponent",undefined)})();
1
+ /* X_ITE v12.0.0 */
2
+ const e=window[Symbol.for("X_ITE.X3D-12.0.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var s=t.n(i);const n=e.X3DBaseNode;var o=t.n(n);const r=e.X3DConstants;var a=t.n(r);const l=e.Fields;var h=t.n(l);const g=e.Namespace;var d=t.n(g);function c(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(c.prototype,o().prototype),Object.defineProperties(c,{typeName:{value:"Arc2DOptions",enumerable:!0}});const p=c,u=d().add("Arc2DOptions",p);function y(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(y.prototype,o().prototype),Object.defineProperties(y,{typeName:{value:"ArcClose2DOptions",enumerable:!0}});const m=y,O=d().add("ArcClose2DOptions",m),D=e.IndexedLineSet;var f=t.n(D);const w=e.Coordinate;var b=t.n(w);const _=e.Complex;var P=t.n(_);function S(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.assign(Object.setPrototypeOf(S.prototype,o().prototype),{initialize(){o().prototype.initialize.call(this),this.addInterest("eventsProcessed",this)},getGeometry(){return this.geometry||this.build(),this.geometry},createCoordIndex(){const e=this._dimension.getValue(),t=this.geometry._coordIndex;for(let i=0;i<e;++i)t.push(i);t.push(0,-1)},createPoints(){const e=this._dimension.getValue(),t=2*Math.PI/e,i=this.geometry._coord.getValue()._point;for(let s=0;s<e;++s){const e=P().Polar(1,t*s);i.push(new(h().SFVec3f)(e.real,e.imag,0))}},build(){this.geometry=new(f())(this.getExecutionContext()),this.geometry._coord=new(b())(this.getExecutionContext()),this.createCoordIndex(),this.createPoints();const e=this.geometry;this.geometry._coord.getValue().setup(),e.setup()},eventsProcessed(){this.geometry=null}}),Object.defineProperties(S,{typeName:{value:"Circle2DOptions",enumerable:!0}});const V=S,M=d().add("Circle2DOptions",V),v=e.X3DGeometryNode;var C=t.n(v);function x(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40)),this.diskTexCoords=C().createArray(),this.diskNormals=C().createArray(),this.diskVertices=C().createArray()}Object.assign(Object.setPrototypeOf(x.prototype,o().prototype),{initialize(){o().prototype.initialize.call(this),this.addInterest("eventsProcessed",this)},getDiskTexCoords(){return this.diskTexCoords.length||this.build(),this.diskTexCoords},getDiskNormals(){return this.diskNormals.length||this.build(),this.diskNormals},getDiskVertices(){return this.diskVertices.length||this.build(),this.diskVertices},build:(()=>{const e=new(P())(.5,.5),t=new(P()),i=new(P()),s=new(P()),n=new(P());return function(){const o=this._dimension.getValue(),r=2*Math.PI/o,a=this.diskTexCoords,l=this.diskNormals,h=this.diskVertices;for(let g=0;g<o;++g){const o=r*g,d=r*(g+1);t.setPolar(.5,o).add(e),i.setPolar(.5,d).add(e),s.setPolar(1,o),n.setPolar(1,d),a.push(.5,.5,0,1,t.real,t.imag,0,1,i.real,i.imag,0,1),l.push(0,0,1,0,0,1,0,0,1),h.push(0,0,0,1,s.real,s.imag,0,1,n.real,n.imag,0,1)}a.shrinkToFit(),l.shrinkToFit(),h.shrinkToFit()}})(),eventsProcessed(){this.diskTexCoords.length=0,this.diskNormals.length=0,this.diskVertices.length=0}}),Object.defineProperties(x,{typeName:{value:"Disk2DOptions",enumerable:!0}});const T=x,F=d().add("Disk2DOptions",T),j=e.IndexedFaceSet;var A=t.n(j);const N=e.TextureCoordinate;var k=t.n(N);function I(e){o().call(this,e)}Object.assign(Object.setPrototypeOf(I.prototype,o().prototype),{getGeometry(){if(this.geometry)return this.geometry;this.geometry=new(A())(this.getExecutionContext()),this.geometry._texCoord=new(k())(this.getExecutionContext()),this.geometry._coord=new(b())(this.getExecutionContext());const e=this.geometry,t=this.geometry._texCoord.getValue(),i=this.geometry._coord.getValue();return t._point=[1,1,0,1,0,0,1,0],i._point=[1,1,0,-1,1,0,-1,-1,0,1,-1,0],e._coordIndex=[0,1,2,3,-1],t.setup(),i.setup(),e.setup(),this.geometry}}),Object.defineProperties(I,{typeName:{value:"Rectangle2DOptions",enumerable:!0}});const G=I,z=d().add("Rectangle2DOptions",G),B=e.PrimitiveQuality;var R=t.n(B);const U=Symbol(),E=Symbol(),X=Symbol(),L=Symbol(),Q=Symbol();function H(){}function q(e,t){return this[e]??=(()=>{const e=new t(this.getPrivateScene());return e.setup(),e})()}Object.assign(H.prototype,{initialize(){this.setPrimitiveQuality2D(this.getBrowserOptions().getPrimitiveQuality())},getArc2DOptions(){return q.call(this,U,u)},getArcClose2DOptions(){return q.call(this,E,O)},getCircle2DOptions(){return q.call(this,X,M)},getDisk2DOptions(){return q.call(this,L,F)},getRectangle2DOptions(){return q.call(this,Q,z)},setPrimitiveQuality2D(e){const t=this.getArc2DOptions(),i=this.getArcClose2DOptions(),s=this.getCircle2DOptions(),n=this.getDisk2DOptions();switch(e){case R().LOW:t._dimension=20,i._dimension=20,s._dimension=20,n._dimension=20;break;case R().MEDIUM:t._dimension=40,i._dimension=40,s._dimension=40,n._dimension=40;break;case R().HIGH:t._dimension=80,i._dimension=80,s._dimension=80,n._dimension=80}}});const W=H,J=d().add("X3DGeometry2DContext",W),K=e.X3DFieldDefinition;var Y=t.n(K);const Z=e.FieldDefinitionArray;var $=t.n(Z);const ee=e.X3DNode;var te=t.n(ee);const ie=e.X3DLineGeometryNode;var se=t.n(ie);const ne=e.Algorithm;var oe=t.n(ne);function re(e){se().call(this,e),this.addType(a().Arc2D),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(re.prototype,se().prototype),{set_live__(){this.connectOptions(this.getBrowser().getArc2DOptions())},getSweepAngle(){const e=oe().interval(this._startAngle.getValue(),0,2*Math.PI),t=oe().interval(this._endAngle.getValue(),0,2*Math.PI);if(e===t)return 2*Math.PI;const i=Math.abs(t-e);return e>t?2*Math.PI-i:isNaN(i)?0:i},build(){const e=this.getBrowser().getArc2DOptions()._dimension.getValue(),t=this._startAngle.getValue(),i=Math.abs(this._radius.getValue()),s=this.getSweepAngle(),n=Math.max(3,Math.floor(s*e/(2*Math.PI))),o=this.getVertices();for(let e=0;e<n;++e){const r=t+s*(e/n),a=P().Polar(i,r),l=t+s*((e+1)/n),h=P().Polar(i,l);o.push(a.real,a.imag,0,1),o.push(h.real,h.imag,0,1)}this.getMin().set(-i,-i,0),this.getMax().set(i,i,0)}}),Object.defineProperties(re,{...te().getStaticProperties("Arc2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"startAngle",new(h().SFFloat)),new(Y())(a().initializeOnly,"endAngle",new(h().SFFloat)(1.570796)),new(Y())(a().initializeOnly,"radius",new(h().SFFloat)(1))]),enumerable:!0}});const ae=re,le=d().add("Arc2D",ae);function he(e){C().call(this,e),this.addType(a().ArcClose2D),this.setGeometryType(2),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(he.prototype,C().prototype),{set_live__(){this.connectOptions(this.getBrowser().getArcClose2DOptions())},getSweepAngle(){const e=oe().interval(this._startAngle.getValue(),0,2*Math.PI),t=oe().interval(this._endAngle.getValue(),0,2*Math.PI);if(e===t)return 2*Math.PI;const i=Math.abs(t-e);return e>t?2*Math.PI-i:isNaN(i)?0:i},build:(()=>{const e=new(P())(.5,.5);return function(){const t=this.getBrowser().getArcClose2DOptions(),i="CHORD"===this._closureType.getValue(),s=t._dimension.getValue(),n=this._startAngle.getValue(),o=Math.abs(this._radius.getValue()),r=this.getSweepAngle(),a=Math.max(4,Math.floor(r*s/(2*Math.PI))),l=this.getTexCoords(),h=this.getNormals(),g=this.getVertices(),d=[],c=[];this.getMultiTexCoords().push(l);const p=a-1;for(let t=0;t<a;++t){const i=n+r*(t/p);d.push(P().Polar(.5,i).add(e)),c.push(P().Polar(o,i))}if(i){const e=d[0],t=c[0];for(let i=1;i<p;++i){const s=d[i],n=d[i+1],o=c[i],r=c[i+1];l.push(e.real,e.imag,0,1,s.real,s.imag,0,1,n.real,n.imag,0,1),h.push(0,0,1,0,0,1,0,0,1),g.push(t.real,t.imag,0,1,o.real,o.imag,0,1,r.real,r.imag,0,1)}}else for(let e=0;e<p;++e){const t=d[e],i=d[e+1],s=c[e],n=c[e+1];l.push(.5,.5,0,1,t.real,t.imag,0,1,i.real,i.imag,0,1),h.push(0,0,1,0,0,1,0,0,1),g.push(0,0,0,1,s.real,s.imag,0,1,n.real,n.imag,0,1)}this.getMin().set(-o,-o,0),this.getMax().set(o,o,0),this.setSolid(this._solid.getValue())}})()}),Object.defineProperties(he,{...te().getStaticProperties("ArcClose2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"closureType",new(h().SFString)("PIE")),new(Y())(a().initializeOnly,"startAngle",new(h().SFFloat)),new(Y())(a().initializeOnly,"endAngle",new(h().SFFloat)(1.570796)),new(Y())(a().initializeOnly,"radius",new(h().SFFloat)(1)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const ge=he,de=d().add("ArcClose2D",ge);function ce(e){se().call(this,e),this.addType(a().Circle2D),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(ce.prototype,se().prototype),{set_live__(){this.connectOptions(this.getBrowser().getCircle2DOptions())},build(){const e=this.getBrowser().getCircle2DOptions().getGeometry(),t=this.getVertices(),i=this._radius.getValue();if(1===i)t.assign(e.getVertices());else{const s=e.getVertices();for(let e=0,n=s.length;e<n;e+=4)t.push(s[e]*i,s[e+1]*i,0,1)}this.getMin().set(-i,-i,0),this.getMax().set(i,i,0)}}),Object.defineProperties(ce,{...te().getStaticProperties("Circle2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"radius",new(h().SFFloat)(1))]),enumerable:!0}});const pe=ce,ue=d().add("Circle2D",pe),ye=e.X3DPointGeometryNode;var me=t.n(ye);function Oe(e){se().call(this,e),this.addType(a().Disk2D),this._innerRadius.setUnit("length"),this._outerRadius.setUnit("length")}Object.assign(Object.setPrototypeOf(Oe.prototype,C().prototype),se().prototype,{set_live__(){this.connectOptions(this.getBrowser().getDisk2DOptions())},build(){const e=this.getBrowser(),t=e.getContext(),i=e.getDisk2DOptions(),s=Math.min(Math.abs(this._innerRadius.getValue()),Math.abs(this._outerRadius.getValue())),n=Math.max(Math.abs(this._innerRadius.getValue()),Math.abs(this._outerRadius.getValue())),o=this.getVertices();if(s===n){if(0===n)return o.push(0,0,0,1),this.getMin().set(0),this.getMax().set(0),this.setGeometryType(0),this.setPrimitiveMode(t.POINTS),this.setTransparent(!0),this.setSolid(!1),void this.setBase(me());const e=this.getBrowser().getCircle2DOptions().getGeometry();if(1===n)o.assign(e.getVertices());else{const t=e.getVertices();for(let e=0,i=t.length;e<i;e+=4)o.push(t[e]*n,t[e+1]*n,0,1)}return this.getMin().set(-n,-n,0),this.getMax().set(n,n,0),this.setGeometryType(1),this.setPrimitiveMode(t.LINES),this.setTransparent(!1),this.setSolid(!1),void this.setBase(se())}if(0===s){if(this.getMultiTexCoords().push(i.getDiskTexCoords()),this.getNormals().assign(i.getDiskNormals()),1===n)o.assign(i.getDiskVertices());else{const e=i.getDiskVertices().getValue();for(let t=0,i=e.length;t<i;t+=4)o.push(e[t]*n,e[t+1]*n,0,1)}return this.getMin().set(-n,-n,0),this.getMax().set(n,n,0),this.setGeometryType(2),this.setPrimitiveMode(t.TRIANGLES),this.setTransparent(!1),this.setSolid(this._solid.getValue()),void this.setBase(C())}const r=s/n,a=(1-r)/2,l=i.getDiskTexCoords().getValue(),h=i.getDiskVertices().getValue(),g=this.getTexCoords(),d=this.getNormals();this.getMultiTexCoords().push(g);for(let e=0,t=h.length;e<t;e+=12)g.push(l[e+4]*r+a,l[e+5]*r+a,0,1,l[e+4],l[e+5],0,1,l[e+8],l[e+9],0,1,l[e+4]*r+a,l[e+5]*r+a,0,1,l[e+8],l[e+9],0,1,l[e+8]*r+a,l[e+9]*r+a,0,1),d.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),o.push(h[e+4]*s,h[e+5]*s,0,1,h[e+4]*n,h[e+5]*n,0,1,h[e+8]*n,h[e+9]*n,0,1,h[e+4]*s,h[e+5]*s,0,1,h[e+8]*n,h[e+9]*n,0,1,h[e+8]*s,h[e+9]*s,0,1);this.getMin().set(-n,-n,0),this.getMax().set(n,n,0),this.setGeometryType(2),this.setPrimitiveMode(t.TRIANGLES),this.setTransparent(!1),this.setSolid(this._solid.getValue()),this.setBase(C())},setBase(e){this.intersectsLine=e.prototype.intersectsLine,this.intersectsBox=e.prototype.intersectsBox,this.generateTexCoords=e.prototype.generateTexCoords,this.displaySimple=e.prototype.displaySimple,this.display=e.prototype.display,this.displaySimpleInstanced=e.prototype.displaySimpleInstanced,this.displayInstanced=e.prototype.displayInstanced},updateRenderFunctions(){}}),Object.defineProperties(Oe,{...te().getStaticProperties("Disk2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"innerRadius",new(h().SFFloat)),new(Y())(a().initializeOnly,"outerRadius",new(h().SFFloat)(1)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const De=Oe,fe=d().add("Disk2D",De);function we(e){se().call(this,e),this.addType(a().Polyline2D),this._lineSegments.setUnit("length")}Object.assign(Object.setPrototypeOf(we.prototype,se().prototype),{build(){const e=this._lineSegments.getValue(),t=this.getVertices();for(let i=0,s=2*(this._lineSegments.length-1);i<s;i+=2)t.push(e[i+0],e[i+1],0,1),t.push(e[i+2],e[i+3],0,1)}}),Object.defineProperties(we,{...te().getStaticProperties("Polyline2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"lineSegments",new(h().MFVec2f))]),enumerable:!0}});const be=we,_e=d().add("Polyline2D",be);function Pe(e){me().call(this,e),this.addType(a().Polypoint2D),this._point.setUnit("length")}Object.assign(Object.setPrototypeOf(Pe.prototype,me().prototype),{build(){const e=this._point.getValue(),t=this.getVertices();for(let i=0,s=2*this._point.length;i<s;i+=2)t.push(e[i],e[i+1],0,1)}}),Object.defineProperties(Pe,{...te().getStaticProperties("Polypoint2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().inputOutput,"point",new(h().MFVec2f))]),enumerable:!0}});const Se=Pe,Ve=d().add("Polypoint2D",Se),Me=e.Vector2;var ve=t.n(Me);function Ce(e){C().call(this,e),this.addType(a().Rectangle2D),this.setGeometryType(2),this._size.setUnit("length")}Object.assign(Object.setPrototypeOf(Ce.prototype,C().prototype),{build:(()=>{const e=new(ve())(2);return function(){const t=this.getBrowser().getRectangle2DOptions().getGeometry(),i=this._size.getValue(),s=this.getVertices();if(this.getMultiTexCoords().push(...t.getMultiTexCoords()),this.getTangents().assign(t.getTangents()),this.getNormals().assign(t.getNormals()),i.equals(e))s.assign(t.getVertices()),this.getMin().assign(t.getMin()),this.getMax().assign(t.getMax());else{const e=Math.abs(i.x/2),n=Math.abs(i.y/2),o=t.getVertices();for(let t=0;t<o.length;t+=4)s.push(e*o[t],n*o[t+1],0,1);this.getMin().set(-e,-n,0),this.getMax().set(e,n,0)}this.setSolid(this._solid.getValue())}})()}),Object.defineProperties(Ce,{...te().getStaticProperties("Rectangle2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"size",new(h().SFVec2f)(2,2)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const xe=Ce,Te=d().add("Rectangle2D",xe);function Fe(e){C().call(this,e),this.addType(a().TriangleSet2D),this.setGeometryType(2),this._vertices.setUnit("length")}Object.assign(Object.setPrototypeOf(Fe.prototype,C().prototype),{build(){const e=this._vertices.getValue(),t=this.getNormals(),i=this.getVertices();for(let s=0,n=2*this._vertices.length;s<n;s+=2)t.push(0,0,1),i.push(e[s],e[s+1],0,1);this.setSolid(this._solid.getValue())},generateTexCoords(){const e=this.getTexCoords();if(0===e.length){const t=this.getTexCoordParams(),i=t.min,s=t.Ssize,n=this.getVertices().getValue();for(let t=0,o=n.length;t<o;t+=4)e.push((n[t]-i[0])/s,(n[t+1]-i[1])/s,0,1);e.shrinkToFit()}this.getMultiTexCoords().push(e)}}),Object.defineProperties(Fe,{...te().getStaticProperties("TriangleSet2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().inputOutput,"vertices",new(h().MFVec2f)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const je=Fe,Ae=d().add("TriangleSet2D",je);s().add({name:"Geometry2D",concreteNodes:[le,de,ue,fe,_e,Ve,Te,Ae],abstractNodes:[],browserContext:J});d().add("Geometry2DComponent",undefined)})();
@@ -1,5 +1,5 @@
1
- /* X_ITE v11.6.5 */
2
- const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.6.5")];
1
+ /* X_ITE v12.0.0 */
2
+ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-12.0.0")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
5
5
  /******/ // The require scope
@@ -1523,6 +1523,26 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
1523
1523
 
1524
1524
  return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
1525
1525
  },
1526
+ getShapes (shapes, modelMatrix)
1527
+ {
1528
+ switch (this .childrenLoaded ? this ._level_changed .getValue () : 0)
1529
+ {
1530
+ case 0:
1531
+ {
1532
+ if (this ._rootNode .length)
1533
+ return this .rootGroupNode .getShapes (shapes, modelMatrix);
1534
+
1535
+ return this .rootInlineNode .getShapes (shapes, modelMatrix);
1536
+ }
1537
+ case 1:
1538
+ {
1539
+ for (const childInlineNode of this .childInlineNodes)
1540
+ childInlineNode .getShapes (shapes, modelMatrix);
1541
+
1542
+ return shapes;
1543
+ }
1544
+ }
1545
+ },
1526
1546
  set_rootLoadState__ ()
1527
1547
  {
1528
1548
  if (this ._level_changed .getValue () !== 0)
@@ -1,2 +1,2 @@
1
- /* X_ITE v11.6.5 */
2
- const e=window[Symbol.for("X_ITE.X3D-11.6.5")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const o=e.Fields;var s=t.n(o);const r=e.X3DFieldDefinition;var a=t.n(r);const l=e.FieldDefinitionArray;var h=t.n(l);const d=e.X3DNode;var c=t.n(d);const p=e.X3DCoordinateNode;var u=t.n(p);const g=e.X3DConstants;var _=t.n(g);const w=e.Namespace;var O=t.n(w);function y(e=1,t=1,i=!1){this.set(e,t,i)}Object.assign(y.prototype,{copy(){const e=Object.create(y.prototype);return e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e},assign(e){return this.semiMajorAxis=e.semiMajorAxis,this.semiMinorAxis=e.semiMinorAxis,this},equals(e){return this.semiMajorAxis===e.semiMajorAxis&&this.semiMinorAxis===e.semiMinorAxis},set(e=1,t=1,i=!1){if(i){const i=t;this.semiMajorAxis=e,this.semiMinorAxis=e*(1-1/i)}else this.semiMajorAxis=e,this.semiMinorAxis=t;return this},toString(){return`${this.semiMajorAxis} ${this.semiMinorAxis}`}});const S=y,f=O().add("Spheroid3",S),m=new Map([["AA",new f(6377563.396,299.3249646,!0)],["AM",new f(6377340.189,299.3249646,!0)],["AN",new f(6378160,298.25,!0)],["BN",new f(6377483.865,299.1528128,!0)],["BR",new f(6377397.155,299.1528128,!0)],["CC",new f(6378206.4,294.9786982,!0)],["CD",new f(6378249.145,293.465,!0)],["EA",new f(6377276.345,300.8017,!0)],["EB",new f(6377298.556,300.8017,!0)],["EC",new f(6377301.243,300.8017,!0)],["ED",new f(6377295.664,300.8017,!0)],["EE",new f(6377304.063,300.8017,!0)],["EF",new f(6377309.613,300.8017,!0)],["FA",new f(6378155,298.3,!0)],["HE",new f(6378200,298.3,!0)],["HO",new f(6378270,297,!0)],["ID",new f(6378160,298.247,!0)],["IN",new f(6378388,297,!0)],["KA",new f(6378245,298.3,!0)],["RF",new f(6378137,298.257222101,!0)],["SA",new f(6378160,298.25,!0)],["WD",new f(6378135,298.26,!0)],["WE",new f(6378137,298.257223563,!0)],["SUN",new f(696342e3,1/9e-6,!0)],["MERCURY",new f(2439700,2439700)],["VENUS",new f(6051800,6051800)],["MOON",new f(1738140,1735970)],["MARS",new f(3395428,3377678)],["JUPITER",new f(71492e3,66854e3)],["SATURN",new f(60268e3,54364e3)],["URANUS",new f(2555e3,24973e3)],["NEPTUNE",new f(24764e3,24341e3)],["PLUTO",new f(1153e3,1153e3)]]),F=O().add("ReferenceEllipsoids",m);function N(e,t,i){this.longitudeFirst=!t,this.degrees=!i,this.a=e.semiMajorAxis,this.c=e.semiMinorAxis,this.c2a2=(e.semiMinorAxis/this.a)**2,this.ecc2=1-this.c2a2}Object.assign(N.prototype,{convert(e,t){const i=e.z;if(this.longitudeFirst)var n=e.y,o=e.x;else n=e.x,o=e.y;return this.degrees&&(n*=Math.PI/180,o*=Math.PI/180),this.convertRadians(n,o,i,t)},convertRadians(e,t,i,n){const o=Math.sin(e),s=o**2,r=Math.cos(e),a=this.a/Math.sqrt(1-this.ecc2*s),l=(a+i)*r;return n.set(l*Math.cos(t),l*Math.sin(t),(a*this.c2a2+i)*o)},apply(e,t){if(this.applyRadians(e,t),this.degrees&&(t.x*=180/Math.PI,t.y*=180/Math.PI),this.longitudeFirst){const e=t.x;t.x=t.y,t.y=e}return t},applyRadians(e,t){const i=e.x,n=e.y,o=e.z,s=Math.sqrt(i*i+n*n);if(0==s)return t.set(Math.PI,0,o-this.c);let r=0,a=Math.atan2(n,i),l=0,h=this.a,d=h,c=this.ecc2;for(let e=0;e<30;++e){const e=l,t=r;r=Math.atan(o/s/(1-c*d/(d+l)));const i=Math.sin(r);if(d=h/Math.sqrt(1-c*i*i),l=s/Math.cos(r)-d,Math.abs(l-e)<.001&&Math.abs(r-t)<1e-10)break}return t.set(r,a,l)},normal(e,t){const i=this.applyRadians(e,t),n=i.x,o=i.y,s=Math.cos(n),r=Math.cos(o)*s,a=Math.sin(o)*s,l=Math.sin(n);return t.set(r,a,l)}});const b=N,v=O().add("Geodetic",b),x=e.Algorithm;var M=t.n(x);const I=1e7,V=5e5,z=.9996;function C(e,t,i,n){const o=e.semiMajorAxis,s=1-(e.semiMinorAxis/o)**2,r=s/(1-s),a=(1-Math.sqrt(1-s))/(1+Math.sqrt(1-s));this.southernHemisphere=!i,this.eastingFirst=!n,this.a=o,this.ecc2=s,this.EE=r,this.E8=8*r,this.E9=9*r,this.E252=252*r,this.e1=a,this.A=z*(o*(1-s/4-3*s*s/64-5*s*s*s/256)),this.B=3*a/2-7*a*a*a/32,this.C=21*a*a/16-55*a*a*a*a/32,this.D=151*a*a*a/96,this.E=o*(1-s),this.W=1-s/4-3*s*s/64-5*s*s*s/256,this.X=3*s/8+3*s*s/32+45*s*s*s/1024,this.Y=15*s*s/256+45*s*s*s/1024,this.Z=35*s*s*s/3072,this.longitude0=M().radians(6*t-183),this.geodeticConverter=new v(e,!0,!0)}Object.assign(C.prototype,{convert(e,t){if(this.eastingFirst)var i=e.y,n=e.x;else i=e.x,n=e.y;let o=this.southernHemisphere;i<0&&(o=!this.southernHemisphere,i=-i),o&&(i-=I),n-=V;const s=i/this.A,r=s+this.B*Math.sin(2*s)+this.C*Math.sin(4*s)+this.D*Math.sin(6*s),a=Math.sin(r)**2,l=Math.cos(r),h=Math.tan(r),d=this.a/Math.sqrt(1-this.ecc2*a),c=h**2,p=h**8,u=this.EE*c,g=u*u,_=this.E/(1-this.ecc2*a)**1.5,w=n/(d*z),O=(5+3*c+10*u-4*g-this.E9)*w**4/24,y=(61+90*c+298*u+45*p-this.E252-3*g)*w**6/720,S=(5-2*u+28*c-3*g+this.E8+24*p)*w**5/120,f=r-d*h/_*(w*w/2-O+y),m=this.longitude0+(w-(1+2*c+u)*w**3/6+S)/l;return this.geodeticConverter.convertRadians(f,m,e.z,t)},apply(e,t){const i=this.geodeticConverter.applyRadians(e,t),n=i.x,o=i.y,s=Math.tan(n),r=Math.cos(n),a=this.EE,l=this.a/Math.sqrt(1-this.ecc2*Math.sin(n)**2),h=s*s,d=h*h*h,c=a*r*r,p=r*(o-this.longitude0),u=this.a*(this.W*n-this.X*Math.sin(2*n)+this.Y*Math.sin(4*n)-this.Z*Math.sin(6*n)),g=z*l*(p+(1-h+c)*p**3/6+(5-18*d+72*c-58*a)*p**5/120)+V;let _=z*(u+l*s*(p*p/2+(5-h+9*c+4*c*c)*p**4/24+(61-58*d+600*c-330*a)*p**6/720));return n<0?(_+=I,this.southernHemisphere||(_=-_)):this.southernHemisphere&&(_=-_),this.eastingFirst?t.set(g,_,i.z):t.set(_,g,i.z)}});const j=C,P=O().add("UniversalTransverseMercator",j);function G(){}Object.assign(G.prototype,{convert:(e,t)=>t.assign(e),apply:(e,t)=>t.assign(e),slerp(e,t,i){const n=e.norm(),o=t.norm();return e.normalize(),t.normalize(),M().simpleSlerp(e,t,i).multiply(M().lerp(n,o,i))}});const D=G,T=O().add("Geocentric",D);let E=0;const A=E++,L=E++,U=E++,B=new Map([["GD",A],["GDC",A],["UTM",L],["GC",U],["GCC",U],["GS",U]]),R=/^Z(\d+)$/,k={GD:A,UTM:L,GC:U,getReferenceFrame(e,t){switch(this.getCoordinateSystem(e)){case A:return new v(this.getEllipsoid(e),this.getLatitudeFirst(e),t);case L:return new P(this.getEllipsoid(e),this.getZone(e),this.getNorthernHemisphere(e),this.getNorthingFirst(e));case U:return new T}return new v(F.get("WE"),!0,t)},getElevationFrame(e,t){return new v(this.getEllipsoid(e),!0,t)},getCoordinateSystem(e){for(const t of e){const e=B.get(t);if(void 0!==e)return e}return A},getEllipsoid(e){for(const t of e){const e=F.get(t);if(void 0!==e)return e}return F.get("WE")},isStandardOrder(e){switch(this.getCoordinateSystem(e)){case A:return this.getLatitudeFirst(e);case L:return this.getNorthingFirst(e);case U:return!0}return this.getLatitudeFirst(e)},getLatitudeFirst(e){for(const t of e)if("longitude_first"===t)return!1;return!0},getNorthingFirst(e){for(const t of e)if("easting_first"===t)return!1;return!0},getZone(e){for(const t of e){const e=t.match(R);if(e)return parseInt(e[1])}return 1},getNorthernHemisphere(e){for(const t of e)if("S"===t)return!1;return!0}},X=O().add("GeospatialObject",k),W=e.X3DCast;var Y=t.n(W);const q=e.Vector3;var H=t.n(q);const Z=e.Matrix4;var $=t.n(Z);const J=new(H()),K=new(H()),Q=new(H()),ee=new(H()),te=new(H()),ie=new(H());function ne(e){this.addType(_().X3DGeospatialObject),this.radians=!1,this.origin=new(H()),this.originMatrix=new($()),this.invOriginMatrix=new($())}function oe(e,t){return this.invOriginMatrix.multVecMatrix(this.referenceFrame.convert(e,t))}function se(e,t){return this.referenceFrame.apply(this.originMatrix.multVecMatrix(J.assign(e)),t)}function re(e,t){return this.invOriginMatrix.multDirMatrix(this.elevationFrame.normal(this.originMatrix.multVecMatrix(J.assign(e)),t))}function ae(e,t){return le.call(this,e,t).multRight(this.invOriginMatrix)}function le(e,t){return this.referenceFrame.convert(e,Q),this.elevationFrame.normal(Q,te),ee.set(0,0,1).cross(te),ee.equals(H().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),t.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,Q.x,Q.y,Q.z,1)}Object.assign(ne.prototype,{initialize(){this._geoSystem.addInterest("set_geoSystem__",this),this._geoOrigin.addInterest("set_geoOrigin__",this),this.set_geoSystem__(),this.set_geoOrigin__()},set_geoSystem__(){this.coordinateSystem=X.getCoordinateSystem(this._geoSystem),this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians),this.elevationFrame=X.getElevationFrame(this._geoSystem,this.radians),this.standardOrder=X.isStandardOrder(this._geoSystem)},set_geoOrigin__(){this.geoOriginNode&&(this.geoOriginNode.removeInterest("set_origin__",this),this.geoOriginNode.removeInterest("set_rotateYUp__",this),this.geoOriginNode.removeInterest("addNodeEvent",this)),this.geoOriginNode=Y()(_().GeoOrigin,this._geoOrigin),this.geoOriginNode&&(this.geoOriginNode.addInterest("set_origin__",this),this.geoOriginNode.addInterest("set_rotateYUp__",this),this.geoOriginNode.addInterest("addNodeEvent",this)),this.set_origin__(),this.set_rotateYUp__()},set_origin__(){this.geoOriginNode?this.geoOriginNode.getOrigin(this.origin):this.origin.set(0),this.set_originMatrix__()},set_originMatrix__(){if(this.geoOriginNode){const e=this.origin;this.elevationFrame.normal(e,te),ee.set(0,0,1).cross(te),ee.equals(H().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),this.originMatrix.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,e.x,e.y,e.z,1),this.invOriginMatrix.assign(this.originMatrix).inverse()}},set_rotateYUp__(){this.geoOriginNode&&this.geoOriginNode._rotateYUp.getValue()?(this.getCoord=oe,this.getGeoCoord=se,this.getGeoUpVector=re,this.getLocationMatrix=ae):(delete this.getCoord,delete this.getGeoCoord,delete this.getGeoUpVector,delete this.getLocationMatrix)},getReferenceFrame(){return this.referenceFrame},getStandardOrder(){return this.standardOrder},getCoord(e,t){return this.referenceFrame.convert(e,t).subtract(this.origin)},getGeoCoord(e,t){return this.referenceFrame.apply(J.assign(e).add(this.origin),t)},getGeoElevation(e){return this.getGeoCoord(e,K).z},getGeoUpVector(e,t){return this.elevationFrame.normal(J.assign(e).add(this.origin),t)},getLocationMatrix(e,t){const i=this.origin,n=le.call(this,e,t);return n[12]-=i.x,n[13]-=i.y,n[14]-=i.z,n},dispose(){}}),Object.defineProperties(ne,c().getStaticProperties("X3DGeospatialObject","Geospatial",1));const he=ne,de=O().add("X3DGeospatialObject",he),ce=e.Triangle3;var pe=t.n(ce);function ue(e){u().call(this,e),de.call(this,e),this.addType(_().GeoCoordinate)}Object.assign(Object.setPrototypeOf(ue.prototype,u().prototype),de.prototype,{initialize(){u().prototype.initialize.call(this),de.prototype.initialize.call(this)},set1Point:(()=>{const e=new(H());return function(t,i){this._point[t]=this.getGeoCoord(i,e)}})(),get1Point:(()=>{const e=new(H());return function(t,i){if(t<this.length){const n=this.point;return t*=3,this.getCoord(e.set(n[t],n[t+1],n[t+2]),i)}return i.set(0)}})(),addPoint:(()=>{const e=new(H()),t=new(H());return function(i,n){if(i<this.length){const o=this.point;i*=3,this.getCoord(e.set(o[i],o[i+1],o[i+2]),t),n.push(t[0],t[1],t[2],1)}else n.push(0,0,0,1)}})(),addPoints:(()=>{const e=new(H()),t=new(H());return function(i){const n=this.point,o=3*this.length;for(let s=0;s<o;s+=3)this.getCoord(e.set(n[s],n[s+1],n[s+2]),t),i.push(t[0],t[1],t[2],1);return i}})(),getNormal:(()=>{const e=new(H()),t=new(H()),i=new(H());return function(n,o,s){const r=this.length;return n<r&&o<r&&s<r?pe().normal(this.get1Point(n,e),this.get1Point(o,t),this.get1Point(s,i),new(H())):new(H())}})(),getQuadNormal:(()=>{const e=new(H()),t=new(H()),i=new(H()),n=new(H());return function(o,s,r,a){const l=this.length;return o<l&&s<l&&r<l&&a<l?pe().quadNormal(this.get1Point(o,e),this.get1Point(s,t),this.get1Point(r,i),this.get1Point(a,n),new(H())):new(H())}})(),dispose(){de.prototype.dispose.call(this),u().prototype.dispose.call(this)}}),Object.defineProperties(ue,{...c().getStaticProperties("GeoCoordinate","Geospatial",1,"coord","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"point",new(s().MFVec3d))]),enumerable:!0}});const ge=ue,_e=O().add("GeoCoordinate",ge),we=e.X3DGeometryNode;var Oe=t.n(we);const ye=e.Vector2;var Se=t.n(ye);function fe(e){Oe().call(this,e),de.call(this,e),this.addType(_().GeoElevationGrid),this._set_height.setUnit("length"),this._creaseAngle.setUnit("angle"),this._height.setUnit("length")}Object.assign(Object.setPrototypeOf(fe.prototype,Oe().prototype),de.prototype,{initialize(){Oe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._set_height.addFieldInterest(this._height),this._color.addInterest("set_color__",this),this._texCoord.addInterest("set_texCoord__",this),this._tangent.addInterest("set_tangent__",this),this._normal.addInterest("set_normal__",this),this.set_color__(),this.set_texCoord__(),this.set_tangent__(),this.set_normal__()},getHeight(e){return e<this._height.length?this._height[e]*this._yScale.getValue():0},createTexCoords(){const e=[],t=this._xDimension.getValue(),i=this._zDimension.getValue(),n=t-1,o=i-1;for(let s=0;s<i;++s)for(let i=0;i<t;++i)e.push(new(Se())(i/n,s/o));return e},createNormals(e,t,i){const n=!this._ccw.getValue(),o=new Map,s=[];for(let t=0;t<e.length;++t)o.set(t,[]);for(let i=0;i<t.length;i+=3){const r=t[i],a=t[i+1],l=t[i+2];o.get(r).push(s.length),o.get(a).push(s.length+1),o.get(l).push(s.length+2);const h=pe().normal(e[r],e[a],e[l],new(H()));n&&h.negate(),s.push(h),s.push(h),s.push(h)}return this._normalPerVertex.getValue()?this.refineNormals(o,s,i??this._creaseAngle.getValue()):s},createCoordIndex(){const e=[],t=this._xDimension.getValue(),i=t-1,n=this._zDimension.getValue()-1;for(let o=0;o<n;++o)for(let n=0;n<i;++n){const i=o*t+n,s=(o+1)*t+n,r=(o+1)*t+(n+1),a=o*t+(n+1);e.push(i),e.push(r),e.push(s),e.push(i),e.push(a),e.push(r)}return e},createPoints(){const e=[],t=this._xDimension.getValue(),i=this._zDimension.getValue(),n=this._xSpacing.getValue(),o=this._zSpacing.getValue();if(this.getStandardOrder())for(let s=0;s<i;++s)for(let i=0;i<t;++i){const r=new(H())(o*s,n*i,this.getHeight(i+s*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}else for(let s=0;s<i;++s)for(let i=0;i<t;++i){const r=new(H())(n*i,o*s,this.getHeight(i+s*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}return e},build(){if(this._xDimension.getValue()<2||this._zDimension.getValue()<2)return;const e=this._colorPerVertex.getValue(),t=this._normalPerVertex.getValue(),i=this.createCoordIndex(),n=this.getColor(),o=this.getTexCoord(),s=this.getTangent(),r=this.getNormal(),a=this.createPoints(),l=this.getColors(),h=this.getMultiTexCoords(),d=this.getTangents(),c=this.getNormals(),p=this.getVertices();let u=0;if(o)o.init(h);else{var g=this.createTexCoords(),_=this.getTexCoords();h.push(_)}for(let w=0;w<i.length;++u)for(let O=0;O<6;++O,++w){const O=i[w],{x:y,y:S,z:f}=a[O];if(n?.addColor(e?O:u,l),o)o.addPoint(O,h);else{const{x:e,y:t}=g[O];_.push(e,t,0,1)}s?.addVector(t?O:u,d),r?.addVector(t?O:u,c),p.push(y,S,f,1)}if(!r){const e=this.createNormals(a,i);for(const{x:t,y:i,z:n}of e)c.push(t,i,n)}this.setSolid(this._solid.getValue()),this.setCCW(this._ccw.getValue())},dispose(){de.prototype.dispose.call(this),Oe().prototype.dispose.call(this)}}),Object.defineProperties(fe,{...c().getStaticProperties("GeoElevationGrid","Geospatial",1,"geometry","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_height",new(s().MFDouble)),new(a())(_().initializeOnly,"geoGridOrigin",new(s().SFVec3d)),new(a())(_().initializeOnly,"xDimension",new(s().SFInt32)),new(a())(_().initializeOnly,"zDimension",new(s().SFInt32)),new(a())(_().initializeOnly,"xSpacing",new(s().SFDouble)(1)),new(a())(_().initializeOnly,"zSpacing",new(s().SFDouble)(1)),new(a())(_().inputOutput,"yScale",new(s().SFFloat)(1)),new(a())(_().initializeOnly,"solid",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"ccw",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"creaseAngle",new(s().SFDouble)),new(a())(_().initializeOnly,"colorPerVertex",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"normalPerVertex",new(s().SFBool)(!0)),new(a())(_().inputOutput,"color",new(s().SFNode)),new(a())(_().inputOutput,"texCoord",new(s().SFNode)),new(a())(_().inputOutput,"tangent",new(s().SFNode)),new(a())(_().inputOutput,"normal",new(s().SFNode)),new(a())(_().initializeOnly,"height",new(s().MFDouble)(0,0))]),enumerable:!0}});const me=fe,Fe=O().add("GeoElevationGrid",me),Ne=e.X3DChildNode;var be=t.n(Ne);const ve=e.X3DBoundedObject;var xe=t.n(ve);const Me=e.TraverseType;var Ie=t.n(Me);const Ve=e.Group;var ze=t.n(Ve);const Ce=e.Inline;var je=t.n(Ce);function Pe(e){be().call(this,e),xe().call(this,e),de.call(this,e),this.addType(_().GeoLOD),this.setVisibleObject(!0),this._range.setUnit("length"),this.unload=!1,this.rootGroupNode=new(ze())(this.getBrowser().getPrivateScene()),this.rootInlineNode=new(je())(e),this.child1InlineNode=new(je())(e),this.child2InlineNode=new(je())(e),this.child3InlineNode=new(je())(e),this.child4InlineNode=new(je())(e),this.childInlineNodes=[this.child1InlineNode,this.child2InlineNode,this.child3InlineNode,this.child4InlineNode],this.childrenLoaded=!1,this.keepCurrentLevel=!1}Object.assign(Object.setPrototypeOf(Pe.prototype,be().prototype),xe().prototype,de.prototype,{initialize(){be().prototype.initialize.call(this),xe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._rootNode.addFieldInterest(this.rootGroupNode._children),this.rootGroupNode._children=this._rootNode,this.rootGroupNode.setPrivate(!0),this.rootInlineNode._loadState.addInterest("set_rootLoadState__",this);for(const e of this.childInlineNodes)e._loadState.addInterest("set_childLoadState__",this);this._rootUrl.addFieldInterest(this.rootInlineNode._url),this._child1Url.addFieldInterest(this.child1InlineNode._url),this._child2Url.addFieldInterest(this.child2InlineNode._url),this._child3Url.addFieldInterest(this.child3InlineNode._url),this._child4Url.addFieldInterest(this.child4InlineNode._url),this.rootInlineNode._load=!0;for(const e of this.childInlineNodes)e._load=!1;this.rootInlineNode._url=this._rootUrl,this.child1InlineNode._url=this._child1Url,this.child2InlineNode._url=this._child2Url,this.child3InlineNode._url=this._child3Url,this.child4InlineNode._url=this._child4Url,this.rootInlineNode.setup();for(const e of this.childInlineNodes)e.setup()},getBBox(e,t){if(this.isDefaultBBoxSize())switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:return this._rootNode.length?this.rootGroupNode.getBBox(e,t):this.rootInlineNode.getBBox(e,t);case 1:return xe().prototype.getBBox.call(this,this.childInlineNodes,e,t)}return e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},set_rootLoadState__(){0===this._level_changed.getValue()&&(this._rootNode.length||this.rootInlineNode.checkLoadState()===_().COMPLETE_STATE&&(this.childrenLoaded=!1,this._children=this.rootInlineNode.getInternalScene().getRootNodes()))},set_childLoadState__(){if(1!==this._level_changed.getValue())return;4===this.childInlineNodes.reduce((e,t)=>e+(t.checkLoadState()===_().COMPLETE_STATE||t.checkLoadState()===_().FAILED_STATE),0)&&(this.childrenLoaded=!0,this._children=this.childInlineNodes.flatMap(e=>Array.from(e.getInternalScene().getRootNodes())))},set_childBoundedObject__(){this.setBoundedObject(this.childInlineNodes.some(e=>e.isBoundedObject()))},set_childPointingObject__(){this.setPointingObject(this.childInlineNodes.some(e=>e.isPointingObject()))},set_childCameraObject__(){this.setCameraObject(this.childInlineNodes.some(e=>e.isCameraObject()))},set_childPickableObject__(){this.setPickableObject(this.childInlineNodes.some(e=>e.isPickableObject()))},set_childCollisionObject__(){this.setCollisionObject(this.childInlineNodes.some(e=>e.isCollisionObject()))},set_childShadowObject__(){this.setShadowObject(this.childInlineNodes.some(e=>e.isShadowObject()))},getLevel:(()=>{const e=new(H());return function(t){t.translate(this.getCoord(this._center.getValue(),e));return t.origin.norm()<this._range.getValue()?1:0}})(),changeLevel:(()=>{const e=new($());return function(t){const i=this.getLevel(e.assign(t.getModelViewMatrix().get()));if(i!==this._level_changed.getValue())switch(this._level_changed=i,i){case 0:for(const e of this.childInlineNodes)e._isBoundedObject.removeInterest("set_childBoundedObject__",this),e._isPointingObject.removeInterest("set_childPointingObject__",this),e._isCameraObject.removeInterest("set_childCameraObject__",this),e._isPickableObject.removeInterest("set_childPickableObject__",this),e._isCollisionObject.removeInterest("set_childCollisionObject__",this),e._isShadowObject.removeInterest("set_childShadowObject__",this);if(this._rootNode.length?(this.connectChildNode(this.rootGroupNode,[Ie().DISPLAY]),this._children=this._rootNode,this.childrenLoaded=!1):this.rootInlineNode.checkLoadState()==_().COMPLETE_STATE&&(this.connectChildNode(this.rootInlineNode,[Ie().DISPLAY]),this._children=this.rootInlineNode.getInternalScene().getRootNodes(),this.childrenLoaded=!1),this.unload)for(const e of this.childInlineNodes)e._load=!1;break;case 1:this._rootNode.length?this.disconnectChildNode(this.rootGroupNode):this.disconnectChildNode(this.rootInlineNode);for(const e of this.childInlineNodes)e._isBoundedObject.addInterest("set_childBoundedObject__",this),e._isPointingObject.addInterest("set_childPointingObject__",this),e._isCameraObject.addInterest("set_childCameraObject__",this),e._isPickableObject.addInterest("set_childPickableObject__",this),e._isCollisionObject.addInterest("set_childCollisionObject__",this),e._isShadowObject.addInterest("set_childShadowObject__",this);if(this.set_childBoundedObject__(),this.set_childPointingObject__(),this.set_childCameraObject__(),this.set_childPickableObject__(),this.set_childCollisionObject__(),this.set_childShadowObject__(),this.child1InlineNode._load.getValue())this.set_childLoadState__();else for(const e of this.childInlineNodes)e._load=!0}}})(),traverse(e,t){switch(e===Ie().DISPLAY&&this.changeLevel(t),this.childrenLoaded?this._level_changed.getValue():0){case 0:this._rootNode.length?this.rootGroupNode.traverse(e,t):this.rootInlineNode.traverse(e,t);break;case 1:for(const i of this.childInlineNodes)i.traverse(e,t)}},dispose(){de.prototype.dispose.call(this),xe().prototype.dispose.call(this),be().prototype.dispose.call(this)}}),Object.defineProperties(Pe,{...c().getStaticProperties("GeoLOD","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().initializeOnly,"rootUrl",new(s().MFString)),new(a())(_().initializeOnly,"child1Url",new(s().MFString)),new(a())(_().initializeOnly,"child2Url",new(s().MFString)),new(a())(_().initializeOnly,"child3Url",new(s().MFString)),new(a())(_().initializeOnly,"child4Url",new(s().MFString)),new(a())(_().initializeOnly,"center",new(s().SFVec3d)),new(a())(_().initializeOnly,"range",new(s().SFFloat)(10)),new(a())(_().outputOnly,"level_changed",new(s().SFInt32)(-1)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().initializeOnly,"rootNode",new(s().MFNode)),new(a())(_().outputOnly,"children",new(s().MFNode))]),enumerable:!0}});const Ge=Pe,De=O().add("GeoLOD",Ge),Te=e.X3DTransformMatrix3DNode;var Ee=t.n(Te);function Ae(e){Ee().call(this,e),de.call(this,e),this.addType(_().GeoLocation)}Object.assign(Object.setPrototypeOf(Ae.prototype,Ee().prototype),de.prototype,{initialize(){Ee().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed:(()=>{const e=new($());return function(){this.setMatrix(this.getLocationMatrix(this._geoCoords.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),Ee().prototype.dispose.call(this)}}),Object.defineProperties(Ae,{...c().getStaticProperties("GeoLocation","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(s().SFVec3d)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(s().MFNode)),new(a())(_().inputOnly,"removeChildren",new(s().MFNode)),new(a())(_().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const Le=Ae,Ue=O().add("GeoLocation",Le),Be=e.X3DInfoNode;var Re=t.n(Be);const ke=e.X3DUrlObject;var Xe=t.n(ke);function We(e){Re().call(this,e),Xe().call(this,e),this.addType(_().GeoMetadata)}Object.assign(Object.setPrototypeOf(We.prototype,Re().prototype),Xe().prototype,{initialize(){Re().prototype.initialize.call(this),Xe().prototype.initialize.call(this)},async requestImmediateLoad(e=!0){},dispose(){Xe().prototype.dispose.call(this),Re().prototype.dispose.call(this)}}),Object.defineProperties(We,{...c().getStaticProperties("GeoMetadata","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().inputOutput,"load",new(s().SFBool)(!0)),new(a())(_().inputOutput,"url",new(s().MFString)),new(a())(_().inputOutput,"autoRefresh",new(s().SFTime)(0)),new(a())(_().inputOutput,"autoRefreshTimeLimit",new(s().SFTime)(3600)),new(a())(_().inputOutput,"summary",new(s().MFString)),new(a())(_().inputOutput,"data",new(s().MFNode))]),enumerable:!0}});const Ye=We,qe=O().add("GeoMetadata",Ye);function He(e){c().call(this,e),this.addType(_().GeoOrigin),this.radians=!1}Object.assign(Object.setPrototypeOf(He.prototype,c().prototype),{initialize(){c().prototype.initialize.call(this),this._geoSystem.addInterest("set_geoSystem__",this),this.set_geoSystem__()},set_geoSystem__(){this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians)},getOrigin(e){return this.referenceFrame.convert(this._geoCoords.getValue(),e)}}),Object.defineProperties(He,{...c().getStaticProperties("GeoOrigin","Geospatial",1,"geoOrigin","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(s().SFVec3d)),new(a())(_().initializeOnly,"rotateYUp",new(s().SFBool))]),enumerable:!0}});const Ze=He,$e=O().add("GeoOrigin",Ze),Je=e.X3DInterpolatorNode;var Ke=t.n(Je);function Qe(e){Ke().call(this,e),de.call(this,e),this.addType(_().GeoPositionInterpolator),this._value_changed.setUnit("length"),this.geocentric=new T}Object.assign(Object.setPrototypeOf(Qe.prototype,Ke().prototype),de.prototype,{setup(){de.prototype.initialize.call(this),Ke().prototype.setup.call(this)},initialize(){Ke().prototype.initialize.call(this),this._keyValue.addInterest("set_keyValue__",this)},set_keyValue__(){const e=this._key,t=this._keyValue;t.length<e.length&&t.resize(e.length,t.length?t[t.length-1]:new(s().SFVec3f))},interpolate:(()=>{const e=new(H()),t=new(H()),i=new(H());return function(n,o,s){this.getCoord(this._keyValue[n].getValue(),e),this.getCoord(this._keyValue[o].getValue(),t);const r=this.geocentric.slerp(e,t,s);this._geovalue_changed=this.getGeoCoord(r,i),this._value_changed=r}})(),dispose(){de.prototype.dispose.call(this),Ke().prototype.dispose.call(this)}}),Object.defineProperties(Qe,{...c().getStaticProperties("GeoPositionInterpolator","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_fraction",new(s().SFFloat)),new(a())(_().inputOutput,"key",new(s().MFFloat)),new(a())(_().inputOutput,"keyValue",new(s().MFVec3d)),new(a())(_().outputOnly,"value_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"geovalue_changed",new(s().SFVec3d))]),enumerable:!0}});const et=Qe,tt=O().add("GeoPositionInterpolator",et),it=e.X3DEnvironmentalSensorNode;var nt=t.n(it);const ot=e.ProximitySensor;var st=t.n(ot);function rt(e){nt().call(this,e),de.call(this,e),this.addType(_().GeoProximitySensor),this._position_changed.setUnit("length"),this._centerOfRotation_changed.setUnit("length"),this.proximitySensor=new(st())(e)}Object.assign(Object.setPrototypeOf(rt.prototype,nt().prototype),de.prototype,{initialize(){nt().prototype.initialize.call(this),de.prototype.initialize.call(this),this._enabled.addFieldInterest(this.proximitySensor._enabled),this._size.addFieldInterest(this.proximitySensor._size),this._center.addFieldInterest(this.proximitySensor._center),this._geoCenter.addFieldInterest(this._center),this.proximitySensor._isActive.addFieldInterest(this._isActive),this.proximitySensor._enterTime.addFieldInterest(this._enterTime),this.proximitySensor._exitTime.addFieldInterest(this._exitTime),this.proximitySensor._position_changed.addFieldInterest(this._position_changed),this.proximitySensor._orientation_changed.addFieldInterest(this._orientation_changed),this.proximitySensor._centerOfRotation_changed.addFieldInterest(this._centerOfRotation_changed),this.proximitySensor._position_changed.addInterest("set_position__",this),this.proximitySensor._enabled=this._enabled,this.proximitySensor._size=this._size,this.proximitySensor._center=this._center,this.proximitySensor.setup(),this.connectChildNode(this.proximitySensor)},set_position__:(()=>{const e=new(H());return function(){this._geoCoord_changed=this.getGeoCoord(this.proximitySensor._position_changed.getValue(),e)}})(),traverse(e,t){this.proximitySensor.traverse(e,t)},dispose(){de.prototype.dispose.call(this),nt().prototype.dispose.call(this)}}),Object.defineProperties(rt,{...c().getStaticProperties("GeoProximitySensor","Geospatial",2,"children","3.2"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(s().SFBool)(!0)),new(a())(_().inputOutput,"size",new(s().SFVec3f)),new(a())(_().inputOutput,"center",new(s().SFVec3d)),new(a())(_().inputOutput,"geoCenter",new(s().SFVec3d)),new(a())(_().outputOnly,"isActive",new(s().SFBool)),new(a())(_().outputOnly,"enterTime",new(s().SFTime)),new(a())(_().outputOnly,"exitTime",new(s().SFTime)),new(a())(_().outputOnly,"geoCoord_changed",new(s().SFVec3d)),new(a())(_().outputOnly,"position_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"orientation_changed",new(s().SFRotation)),new(a())(_().outputOnly,"centerOfRotation_changed",new(s().SFVec3f))]),enumerable:!0}});const at=rt,lt=O().add("GeoProximitySensor",at),ht=e.X3DTouchSensorNode;var dt=t.n(ht);function ct(e){dt().call(this,e),de.call(this,e),this.addType(_().GeoTouchSensor),this._hitPoint_changed.setUnit("length")}Object.assign(Object.setPrototypeOf(ct.prototype,dt().prototype),de.prototype,{initialize(){dt().prototype.initialize.call(this),de.prototype.initialize.call(this)},set_over__:(()=>{const e=new(H());return function(t,i,n,o,s){dt().prototype.set_over__.call(this,t,i,n,o,s),this._isOver.getValue()&&(this._hitGeoCoord_changed=this.getGeoCoord(this._hitPoint_changed.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),dt().prototype.dispose.call(this)}}),Object.defineProperties(ct,{...c().getStaticProperties("GeoTouchSensor","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(s().SFBool)(!0)),new(a())(_().outputOnly,"hitTexCoord_changed",new(s().SFVec2f)),new(a())(_().outputOnly,"hitNormal_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"hitPoint_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"hitGeoCoord_changed",new(s().SFVec3d)),new(a())(_().outputOnly,"isOver",new(s().SFBool)),new(a())(_().outputOnly,"isActive",new(s().SFBool)),new(a())(_().outputOnly,"touchTime",new(s().SFTime))]),enumerable:!0}});const pt=ct,ut=O().add("GeoTouchSensor",pt);function gt(e){Ee().call(this,e),de.call(this,e),this.addType(_().GeoTransform),this._translation.setUnit("length")}Object.assign(Object.setPrototypeOf(gt.prototype,Ee().prototype),de.prototype,{initialize(){Ee().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed:(()=>{const e=new($()),t=new($());return function(){this.getLocationMatrix(this._geoCenter.getValue(),t),e.set(this._translation.getValue(),this._rotation.getValue(),this._scale.getValue(),this._scaleOrientation.getValue()),this.setMatrix(e.multRight(t).multLeft(t.inverse()))}})(),dispose(){de.prototype.dispose.call(this),Ee().prototype.dispose.call(this)}}),Object.defineProperties(gt,{...c().getStaticProperties("GeoTransform","Geospatial",2,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"translation",new(s().SFVec3f)),new(a())(_().inputOutput,"rotation",new(s().SFRotation)),new(a())(_().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(a())(_().inputOutput,"scaleOrientation",new(s().SFRotation)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCenter",new(s().SFVec3d)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(s().MFNode)),new(a())(_().inputOnly,"removeChildren",new(s().MFNode)),new(a())(_().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const _t=gt,wt=O().add("GeoTransform",_t),Ot=e.X3DViewpointNode;var yt=t.n(Ot);const St=e.Viewpoint;var ft=t.n(St);const mt=e.NavigationInfo;var Ft=t.n(mt);const Nt=e.Rotation4;var bt=t.n(Nt);function vt(e){yt().call(this,e),de.call(this,e),this.addType(_().GeoViewpoint),this.addChildObjects(_().inputOutput,"navType",new(s().MFString)("EXAMINE","ANY"),_().inputOutput,"headlight",new(s().SFBool)(!0)),this._centerOfRotation.setUnit("length"),this._fieldOfView.setUnit("angle"),e.getSpecificationVersion()<=3.2&&(this.addAlias("navType",this._navType),this.addAlias("headlight",this._headlight),this.traverse=xt),this.geoNavigationInfoNode=new(Ft())(e),this.projectionMatrix=new($()),this.elevation=0}function xt(e,t){yt().prototype.traverse.call(this,e,t),this.geoNavigationInfoNode.traverse(e,t)}Object.assign(Object.setPrototypeOf(vt.prototype,yt().prototype),de.prototype,{initialize(){yt().prototype.initialize.call(this),de.prototype.initialize.call(this),this._position.addInterest("set_position__",this),this._positionOffset.addInterest("set_position__",this),this._navType.addFieldInterest(this.geoNavigationInfoNode._type),this._headlight.addFieldInterest(this.geoNavigationInfoNode._headlight),this.geoNavigationInfoNode._type=this._navType,this.geoNavigationInfoNode._headlight=this._headlight,this.geoNavigationInfoNode.setup(),this.getExecutionContext().getSpecificationVersion()<=3.2&&(this._navigationInfo=this.geoNavigationInfoNode),this.set_position__()},getRelativeTransformation:ft().prototype.getRelativeTransformation,setInterpolators:ft().prototype.setInterpolators,getFieldOfView:ft().prototype.getFieldOfView,setFieldOfView:ft().prototype.setFieldOfView,getUserFieldOfView:ft().prototype.getUserFieldOfView,getScreenScale:ft().prototype.getScreenScale,getViewportSize:ft().prototype.getViewportSize,getLookAtDistance:ft().prototype.getLookAtDistance,getProjectionMatrixWithLimits:ft().prototype.getProjectionMatrixWithLimits,getLogarithmicDepthBuffer:()=>!0,getPosition:(()=>{const e=new(H());return function(){return this.getCoord(this._position.getValue(),e)}})(),setPosition:(()=>{const e=new(H());return function(t){this._position.setValue(this.getGeoCoord(t,e))}})(),set_position__:(()=>{const e=new(H());return function(){this.getCoord(this._position.getValue(),e),this.elevation=this.getGeoElevation(e.add(this._positionOffset.getValue()))}})(),getOrientation:(()=>{const e=new($()),t=new(bt());return function(){const i=this.getLocationMatrix(this._position.getValue(),e).submatrix;return t.setMatrix(i),t.multLeft(this._orientation.getValue())}})(),setOrientation:(()=>{const e=new($()),t=new(bt());return function(i){const n=this.getLocationMatrix(this._position.getValue(),e).submatrix;t.setMatrix(n),this._orientation.setValue(t.inverse().multLeft(i))}})(),getCenterOfRotation:(()=>{const e=new(H());return function(){return this.getCoord(this._centerOfRotation.getValue(),e)}})(),setCenterOfRotation:(()=>{const e=new(H());return function(t){this._centerOfRotation.setValue(this.getGeoCoord(t,e))}})(),getMaxFarValue:()=>1e9,getUpVector:(()=>{const e=new(H()),t=new(H());return function(i=!1){return!i||this.getUserPosition().norm()<65e5?(this.getCoord(this._position.getValue(),e),this.getGeoUpVector(e.add(this._positionOffset.getValue()),t)):t.assign(H().zAxis)}})(),getSpeedFactor(){return(Math.max(this.elevation,0)+10)/10*this._speedFactor.getValue()},dispose(){de.prototype.dispose.call(this),yt().prototype.dispose.call(this)}}),Object.defineProperties(vt,{...c().getStaticProperties("GeoViewpoint","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_bind",new(s().SFBool)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().inputOutput,"position",new(s().SFVec3d)(0,0,1e5)),new(a())(_().inputOutput,"orientation",new(s().SFRotation)),new(a())(_().inputOutput,"centerOfRotation",new(s().SFVec3d)),new(a())(_().inputOutput,"fieldOfView",new(s().SFFloat)(.785398)),new(a())(_().inputOutput,"nearDistance",new(s().SFFloat)(-1)),new(a())(_().inputOutput,"farDistance",new(s().SFFloat)(-1)),new(a())(_().inputOutput,"viewAll",new(s().SFBool)),new(a())(_().inputOutput,"jump",new(s().SFBool)(!0)),new(a())(_().inputOutput,"retainUserOffsets",new(s().SFBool)),new(a())(_().initializeOnly,"speedFactor",new(s().SFFloat)(1)),new(a())(_().outputOnly,"isBound",new(s().SFBool)),new(a())(_().outputOnly,"bindTime",new(s().SFTime)),new(a())(_().inputOutput,"navigationInfo",new(s().SFNode))]),enumerable:!0}});const Mt=vt,It=O().add("GeoViewpoint",Mt);n().add({name:"Geospatial",concreteNodes:[_e,Fe,De,Ue,qe,$e,tt,lt,ut,wt,It],abstractNodes:[de]});O().add("GeospatialComponent",undefined)})();
1
+ /* X_ITE v12.0.0 */
2
+ const e=window[Symbol.for("X_ITE.X3D-12.0.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const o=e.Fields;var s=t.n(o);const r=e.X3DFieldDefinition;var a=t.n(r);const h=e.FieldDefinitionArray;var l=t.n(h);const d=e.X3DNode;var c=t.n(d);const p=e.X3DCoordinateNode;var u=t.n(p);const g=e.X3DConstants;var _=t.n(g);const w=e.Namespace;var O=t.n(w);function y(e=1,t=1,i=!1){this.set(e,t,i)}Object.assign(y.prototype,{copy(){const e=Object.create(y.prototype);return e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e},assign(e){return this.semiMajorAxis=e.semiMajorAxis,this.semiMinorAxis=e.semiMinorAxis,this},equals(e){return this.semiMajorAxis===e.semiMajorAxis&&this.semiMinorAxis===e.semiMinorAxis},set(e=1,t=1,i=!1){if(i){const i=t;this.semiMajorAxis=e,this.semiMinorAxis=e*(1-1/i)}else this.semiMajorAxis=e,this.semiMinorAxis=t;return this},toString(){return`${this.semiMajorAxis} ${this.semiMinorAxis}`}});const S=y,f=O().add("Spheroid3",S),m=new Map([["AA",new f(6377563.396,299.3249646,!0)],["AM",new f(6377340.189,299.3249646,!0)],["AN",new f(6378160,298.25,!0)],["BN",new f(6377483.865,299.1528128,!0)],["BR",new f(6377397.155,299.1528128,!0)],["CC",new f(6378206.4,294.9786982,!0)],["CD",new f(6378249.145,293.465,!0)],["EA",new f(6377276.345,300.8017,!0)],["EB",new f(6377298.556,300.8017,!0)],["EC",new f(6377301.243,300.8017,!0)],["ED",new f(6377295.664,300.8017,!0)],["EE",new f(6377304.063,300.8017,!0)],["EF",new f(6377309.613,300.8017,!0)],["FA",new f(6378155,298.3,!0)],["HE",new f(6378200,298.3,!0)],["HO",new f(6378270,297,!0)],["ID",new f(6378160,298.247,!0)],["IN",new f(6378388,297,!0)],["KA",new f(6378245,298.3,!0)],["RF",new f(6378137,298.257222101,!0)],["SA",new f(6378160,298.25,!0)],["WD",new f(6378135,298.26,!0)],["WE",new f(6378137,298.257223563,!0)],["SUN",new f(696342e3,1/9e-6,!0)],["MERCURY",new f(2439700,2439700)],["VENUS",new f(6051800,6051800)],["MOON",new f(1738140,1735970)],["MARS",new f(3395428,3377678)],["JUPITER",new f(71492e3,66854e3)],["SATURN",new f(60268e3,54364e3)],["URANUS",new f(2555e3,24973e3)],["NEPTUNE",new f(24764e3,24341e3)],["PLUTO",new f(1153e3,1153e3)]]),F=O().add("ReferenceEllipsoids",m);function N(e,t,i){this.longitudeFirst=!t,this.degrees=!i,this.a=e.semiMajorAxis,this.c=e.semiMinorAxis,this.c2a2=(e.semiMinorAxis/this.a)**2,this.ecc2=1-this.c2a2}Object.assign(N.prototype,{convert(e,t){const i=e.z;if(this.longitudeFirst)var n=e.y,o=e.x;else n=e.x,o=e.y;return this.degrees&&(n*=Math.PI/180,o*=Math.PI/180),this.convertRadians(n,o,i,t)},convertRadians(e,t,i,n){const o=Math.sin(e),s=o**2,r=Math.cos(e),a=this.a/Math.sqrt(1-this.ecc2*s),h=(a+i)*r;return n.set(h*Math.cos(t),h*Math.sin(t),(a*this.c2a2+i)*o)},apply(e,t){if(this.applyRadians(e,t),this.degrees&&(t.x*=180/Math.PI,t.y*=180/Math.PI),this.longitudeFirst){const e=t.x;t.x=t.y,t.y=e}return t},applyRadians(e,t){const i=e.x,n=e.y,o=e.z,s=Math.sqrt(i*i+n*n);if(0==s)return t.set(Math.PI,0,o-this.c);let r=0,a=Math.atan2(n,i),h=0,l=this.a,d=l,c=this.ecc2;for(let e=0;e<30;++e){const e=h,t=r;r=Math.atan(o/s/(1-c*d/(d+h)));const i=Math.sin(r);if(d=l/Math.sqrt(1-c*i*i),h=s/Math.cos(r)-d,Math.abs(h-e)<.001&&Math.abs(r-t)<1e-10)break}return t.set(r,a,h)},normal(e,t){const i=this.applyRadians(e,t),n=i.x,o=i.y,s=Math.cos(n),r=Math.cos(o)*s,a=Math.sin(o)*s,h=Math.sin(n);return t.set(r,a,h)}});const b=N,v=O().add("Geodetic",b),x=e.Algorithm;var M=t.n(x);const I=1e7,V=5e5,z=.9996;function C(e,t,i,n){const o=e.semiMajorAxis,s=1-(e.semiMinorAxis/o)**2,r=s/(1-s),a=(1-Math.sqrt(1-s))/(1+Math.sqrt(1-s));this.southernHemisphere=!i,this.eastingFirst=!n,this.a=o,this.ecc2=s,this.EE=r,this.E8=8*r,this.E9=9*r,this.E252=252*r,this.e1=a,this.A=z*(o*(1-s/4-3*s*s/64-5*s*s*s/256)),this.B=3*a/2-7*a*a*a/32,this.C=21*a*a/16-55*a*a*a*a/32,this.D=151*a*a*a/96,this.E=o*(1-s),this.W=1-s/4-3*s*s/64-5*s*s*s/256,this.X=3*s/8+3*s*s/32+45*s*s*s/1024,this.Y=15*s*s/256+45*s*s*s/1024,this.Z=35*s*s*s/3072,this.longitude0=M().radians(6*t-183),this.geodeticConverter=new v(e,!0,!0)}Object.assign(C.prototype,{convert(e,t){if(this.eastingFirst)var i=e.y,n=e.x;else i=e.x,n=e.y;let o=this.southernHemisphere;i<0&&(o=!this.southernHemisphere,i=-i),o&&(i-=I),n-=V;const s=i/this.A,r=s+this.B*Math.sin(2*s)+this.C*Math.sin(4*s)+this.D*Math.sin(6*s),a=Math.sin(r)**2,h=Math.cos(r),l=Math.tan(r),d=this.a/Math.sqrt(1-this.ecc2*a),c=l**2,p=l**8,u=this.EE*c,g=u*u,_=this.E/(1-this.ecc2*a)**1.5,w=n/(d*z),O=(5+3*c+10*u-4*g-this.E9)*w**4/24,y=(61+90*c+298*u+45*p-this.E252-3*g)*w**6/720,S=(5-2*u+28*c-3*g+this.E8+24*p)*w**5/120,f=r-d*l/_*(w*w/2-O+y),m=this.longitude0+(w-(1+2*c+u)*w**3/6+S)/h;return this.geodeticConverter.convertRadians(f,m,e.z,t)},apply(e,t){const i=this.geodeticConverter.applyRadians(e,t),n=i.x,o=i.y,s=Math.tan(n),r=Math.cos(n),a=this.EE,h=this.a/Math.sqrt(1-this.ecc2*Math.sin(n)**2),l=s*s,d=l*l*l,c=a*r*r,p=r*(o-this.longitude0),u=this.a*(this.W*n-this.X*Math.sin(2*n)+this.Y*Math.sin(4*n)-this.Z*Math.sin(6*n)),g=z*h*(p+(1-l+c)*p**3/6+(5-18*d+72*c-58*a)*p**5/120)+V;let _=z*(u+h*s*(p*p/2+(5-l+9*c+4*c*c)*p**4/24+(61-58*d+600*c-330*a)*p**6/720));return n<0?(_+=I,this.southernHemisphere||(_=-_)):this.southernHemisphere&&(_=-_),this.eastingFirst?t.set(g,_,i.z):t.set(_,g,i.z)}});const j=C,P=O().add("UniversalTransverseMercator",j);function G(){}Object.assign(G.prototype,{convert:(e,t)=>t.assign(e),apply:(e,t)=>t.assign(e),slerp(e,t,i){const n=e.norm(),o=t.norm();return e.normalize(),t.normalize(),M().simpleSlerp(e,t,i).multiply(M().lerp(n,o,i))}});const D=G,T=O().add("Geocentric",D);let E=0;const A=E++,L=E++,U=E++,B=new Map([["GD",A],["GDC",A],["UTM",L],["GC",U],["GCC",U],["GS",U]]),R=/^Z(\d+)$/,k={GD:A,UTM:L,GC:U,getReferenceFrame(e,t){switch(this.getCoordinateSystem(e)){case A:return new v(this.getEllipsoid(e),this.getLatitudeFirst(e),t);case L:return new P(this.getEllipsoid(e),this.getZone(e),this.getNorthernHemisphere(e),this.getNorthingFirst(e));case U:return new T}return new v(F.get("WE"),!0,t)},getElevationFrame(e,t){return new v(this.getEllipsoid(e),!0,t)},getCoordinateSystem(e){for(const t of e){const e=B.get(t);if(void 0!==e)return e}return A},getEllipsoid(e){for(const t of e){const e=F.get(t);if(void 0!==e)return e}return F.get("WE")},isStandardOrder(e){switch(this.getCoordinateSystem(e)){case A:return this.getLatitudeFirst(e);case L:return this.getNorthingFirst(e);case U:return!0}return this.getLatitudeFirst(e)},getLatitudeFirst(e){for(const t of e)if("longitude_first"===t)return!1;return!0},getNorthingFirst(e){for(const t of e)if("easting_first"===t)return!1;return!0},getZone(e){for(const t of e){const e=t.match(R);if(e)return parseInt(e[1])}return 1},getNorthernHemisphere(e){for(const t of e)if("S"===t)return!1;return!0}},X=O().add("GeospatialObject",k),W=e.X3DCast;var Y=t.n(W);const q=e.Vector3;var H=t.n(q);const Z=e.Matrix4;var $=t.n(Z);const J=new(H()),K=new(H()),Q=new(H()),ee=new(H()),te=new(H()),ie=new(H());function ne(e){this.addType(_().X3DGeospatialObject),this.radians=!1,this.origin=new(H()),this.originMatrix=new($()),this.invOriginMatrix=new($())}function oe(e,t){return this.invOriginMatrix.multVecMatrix(this.referenceFrame.convert(e,t))}function se(e,t){return this.referenceFrame.apply(this.originMatrix.multVecMatrix(J.assign(e)),t)}function re(e,t){return this.invOriginMatrix.multDirMatrix(this.elevationFrame.normal(this.originMatrix.multVecMatrix(J.assign(e)),t))}function ae(e,t){return he.call(this,e,t).multRight(this.invOriginMatrix)}function he(e,t){return this.referenceFrame.convert(e,Q),this.elevationFrame.normal(Q,te),ee.set(0,0,1).cross(te),ee.equals(H().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),t.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,Q.x,Q.y,Q.z,1)}Object.assign(ne.prototype,{initialize(){this._geoSystem.addInterest("set_geoSystem__",this),this._geoOrigin.addInterest("set_geoOrigin__",this),this.set_geoSystem__(),this.set_geoOrigin__()},set_geoSystem__(){this.coordinateSystem=X.getCoordinateSystem(this._geoSystem),this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians),this.elevationFrame=X.getElevationFrame(this._geoSystem,this.radians),this.standardOrder=X.isStandardOrder(this._geoSystem)},set_geoOrigin__(){this.geoOriginNode&&(this.geoOriginNode.removeInterest("set_origin__",this),this.geoOriginNode.removeInterest("set_rotateYUp__",this),this.geoOriginNode.removeInterest("addNodeEvent",this)),this.geoOriginNode=Y()(_().GeoOrigin,this._geoOrigin),this.geoOriginNode&&(this.geoOriginNode.addInterest("set_origin__",this),this.geoOriginNode.addInterest("set_rotateYUp__",this),this.geoOriginNode.addInterest("addNodeEvent",this)),this.set_origin__(),this.set_rotateYUp__()},set_origin__(){this.geoOriginNode?this.geoOriginNode.getOrigin(this.origin):this.origin.set(0),this.set_originMatrix__()},set_originMatrix__(){if(this.geoOriginNode){const e=this.origin;this.elevationFrame.normal(e,te),ee.set(0,0,1).cross(te),ee.equals(H().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),this.originMatrix.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,e.x,e.y,e.z,1),this.invOriginMatrix.assign(this.originMatrix).inverse()}},set_rotateYUp__(){this.geoOriginNode&&this.geoOriginNode._rotateYUp.getValue()?(this.getCoord=oe,this.getGeoCoord=se,this.getGeoUpVector=re,this.getLocationMatrix=ae):(delete this.getCoord,delete this.getGeoCoord,delete this.getGeoUpVector,delete this.getLocationMatrix)},getReferenceFrame(){return this.referenceFrame},getStandardOrder(){return this.standardOrder},getCoord(e,t){return this.referenceFrame.convert(e,t).subtract(this.origin)},getGeoCoord(e,t){return this.referenceFrame.apply(J.assign(e).add(this.origin),t)},getGeoElevation(e){return this.getGeoCoord(e,K).z},getGeoUpVector(e,t){return this.elevationFrame.normal(J.assign(e).add(this.origin),t)},getLocationMatrix(e,t){const i=this.origin,n=he.call(this,e,t);return n[12]-=i.x,n[13]-=i.y,n[14]-=i.z,n},dispose(){}}),Object.defineProperties(ne,c().getStaticProperties("X3DGeospatialObject","Geospatial",1));const le=ne,de=O().add("X3DGeospatialObject",le),ce=e.Triangle3;var pe=t.n(ce);function ue(e){u().call(this,e),de.call(this,e),this.addType(_().GeoCoordinate)}Object.assign(Object.setPrototypeOf(ue.prototype,u().prototype),de.prototype,{initialize(){u().prototype.initialize.call(this),de.prototype.initialize.call(this)},set1Point:(()=>{const e=new(H());return function(t,i){this._point[t]=this.getGeoCoord(i,e)}})(),get1Point:(()=>{const e=new(H());return function(t,i){if(t<this.length){const n=this.point;return t*=3,this.getCoord(e.set(n[t],n[t+1],n[t+2]),i)}return i.set(0)}})(),addPoint:(()=>{const e=new(H()),t=new(H());return function(i,n){if(i<this.length){const o=this.point;i*=3,this.getCoord(e.set(o[i],o[i+1],o[i+2]),t),n.push(t[0],t[1],t[2],1)}else n.push(0,0,0,1)}})(),addPoints:(()=>{const e=new(H()),t=new(H());return function(i){const n=this.point,o=3*this.length;for(let s=0;s<o;s+=3)this.getCoord(e.set(n[s],n[s+1],n[s+2]),t),i.push(t[0],t[1],t[2],1);return i}})(),getNormal:(()=>{const e=new(H()),t=new(H()),i=new(H());return function(n,o,s){const r=this.length;return n<r&&o<r&&s<r?pe().normal(this.get1Point(n,e),this.get1Point(o,t),this.get1Point(s,i),new(H())):new(H())}})(),getQuadNormal:(()=>{const e=new(H()),t=new(H()),i=new(H()),n=new(H());return function(o,s,r,a){const h=this.length;return o<h&&s<h&&r<h&&a<h?pe().quadNormal(this.get1Point(o,e),this.get1Point(s,t),this.get1Point(r,i),this.get1Point(a,n),new(H())):new(H())}})(),dispose(){de.prototype.dispose.call(this),u().prototype.dispose.call(this)}}),Object.defineProperties(ue,{...c().getStaticProperties("GeoCoordinate","Geospatial",1,"coord","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"point",new(s().MFVec3d))]),enumerable:!0}});const ge=ue,_e=O().add("GeoCoordinate",ge),we=e.X3DGeometryNode;var Oe=t.n(we);const ye=e.Vector2;var Se=t.n(ye);function fe(e){Oe().call(this,e),de.call(this,e),this.addType(_().GeoElevationGrid),this._set_height.setUnit("length"),this._creaseAngle.setUnit("angle"),this._height.setUnit("length")}Object.assign(Object.setPrototypeOf(fe.prototype,Oe().prototype),de.prototype,{initialize(){Oe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._set_height.addFieldInterest(this._height),this._color.addInterest("set_color__",this),this._texCoord.addInterest("set_texCoord__",this),this._tangent.addInterest("set_tangent__",this),this._normal.addInterest("set_normal__",this),this.set_color__(),this.set_texCoord__(),this.set_tangent__(),this.set_normal__()},getHeight(e){return e<this._height.length?this._height[e]*this._yScale.getValue():0},createTexCoords(){const e=[],t=this._xDimension.getValue(),i=this._zDimension.getValue(),n=t-1,o=i-1;for(let s=0;s<i;++s)for(let i=0;i<t;++i)e.push(new(Se())(i/n,s/o));return e},createNormals(e,t,i){const n=!this._ccw.getValue(),o=new Map,s=[];for(let t=0;t<e.length;++t)o.set(t,[]);for(let i=0;i<t.length;i+=3){const r=t[i],a=t[i+1],h=t[i+2];o.get(r).push(s.length),o.get(a).push(s.length+1),o.get(h).push(s.length+2);const l=pe().normal(e[r],e[a],e[h],new(H()));n&&l.negate(),s.push(l),s.push(l),s.push(l)}return this._normalPerVertex.getValue()?this.refineNormals(o,s,i??this._creaseAngle.getValue()):s},createCoordIndex(){const e=[],t=this._xDimension.getValue(),i=t-1,n=this._zDimension.getValue()-1;for(let o=0;o<n;++o)for(let n=0;n<i;++n){const i=o*t+n,s=(o+1)*t+n,r=(o+1)*t+(n+1),a=o*t+(n+1);e.push(i),e.push(r),e.push(s),e.push(i),e.push(a),e.push(r)}return e},createPoints(){const e=[],t=this._xDimension.getValue(),i=this._zDimension.getValue(),n=this._xSpacing.getValue(),o=this._zSpacing.getValue();if(this.getStandardOrder())for(let s=0;s<i;++s)for(let i=0;i<t;++i){const r=new(H())(o*s,n*i,this.getHeight(i+s*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}else for(let s=0;s<i;++s)for(let i=0;i<t;++i){const r=new(H())(n*i,o*s,this.getHeight(i+s*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}return e},build(){if(this._xDimension.getValue()<2||this._zDimension.getValue()<2)return;const e=this._colorPerVertex.getValue(),t=this._normalPerVertex.getValue(),i=this.createCoordIndex(),n=this.getColor(),o=this.getTexCoord(),s=this.getTangent(),r=this.getNormal(),a=this.createPoints(),h=this.getColors(),l=this.getMultiTexCoords(),d=this.getTangents(),c=this.getNormals(),p=this.getVertices();let u=0;if(o)o.init(l);else{var g=this.createTexCoords(),_=this.getTexCoords();l.push(_)}for(let w=0;w<i.length;++u)for(let O=0;O<6;++O,++w){const O=i[w],{x:y,y:S,z:f}=a[O];if(n?.addColor(e?O:u,h),o)o.addPoint(O,l);else{const{x:e,y:t}=g[O];_.push(e,t,0,1)}s?.addVector(t?O:u,d),r?.addVector(t?O:u,c),p.push(y,S,f,1)}if(!r){const e=this.createNormals(a,i);for(const{x:t,y:i,z:n}of e)c.push(t,i,n)}this.setSolid(this._solid.getValue()),this.setCCW(this._ccw.getValue())},dispose(){de.prototype.dispose.call(this),Oe().prototype.dispose.call(this)}}),Object.defineProperties(fe,{...c().getStaticProperties("GeoElevationGrid","Geospatial",1,"geometry","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_height",new(s().MFDouble)),new(a())(_().initializeOnly,"geoGridOrigin",new(s().SFVec3d)),new(a())(_().initializeOnly,"xDimension",new(s().SFInt32)),new(a())(_().initializeOnly,"zDimension",new(s().SFInt32)),new(a())(_().initializeOnly,"xSpacing",new(s().SFDouble)(1)),new(a())(_().initializeOnly,"zSpacing",new(s().SFDouble)(1)),new(a())(_().inputOutput,"yScale",new(s().SFFloat)(1)),new(a())(_().initializeOnly,"solid",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"ccw",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"creaseAngle",new(s().SFDouble)),new(a())(_().initializeOnly,"colorPerVertex",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"normalPerVertex",new(s().SFBool)(!0)),new(a())(_().inputOutput,"color",new(s().SFNode)),new(a())(_().inputOutput,"texCoord",new(s().SFNode)),new(a())(_().inputOutput,"tangent",new(s().SFNode)),new(a())(_().inputOutput,"normal",new(s().SFNode)),new(a())(_().initializeOnly,"height",new(s().MFDouble)(0,0))]),enumerable:!0}});const me=fe,Fe=O().add("GeoElevationGrid",me),Ne=e.X3DChildNode;var be=t.n(Ne);const ve=e.X3DBoundedObject;var xe=t.n(ve);const Me=e.TraverseType;var Ie=t.n(Me);const Ve=e.Group;var ze=t.n(Ve);const Ce=e.Inline;var je=t.n(Ce);function Pe(e){be().call(this,e),xe().call(this,e),de.call(this,e),this.addType(_().GeoLOD),this.setVisibleObject(!0),this._range.setUnit("length"),this.unload=!1,this.rootGroupNode=new(ze())(this.getBrowser().getPrivateScene()),this.rootInlineNode=new(je())(e),this.child1InlineNode=new(je())(e),this.child2InlineNode=new(je())(e),this.child3InlineNode=new(je())(e),this.child4InlineNode=new(je())(e),this.childInlineNodes=[this.child1InlineNode,this.child2InlineNode,this.child3InlineNode,this.child4InlineNode],this.childrenLoaded=!1,this.keepCurrentLevel=!1}Object.assign(Object.setPrototypeOf(Pe.prototype,be().prototype),xe().prototype,de.prototype,{initialize(){be().prototype.initialize.call(this),xe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._rootNode.addFieldInterest(this.rootGroupNode._children),this.rootGroupNode._children=this._rootNode,this.rootGroupNode.setPrivate(!0),this.rootInlineNode._loadState.addInterest("set_rootLoadState__",this);for(const e of this.childInlineNodes)e._loadState.addInterest("set_childLoadState__",this);this._rootUrl.addFieldInterest(this.rootInlineNode._url),this._child1Url.addFieldInterest(this.child1InlineNode._url),this._child2Url.addFieldInterest(this.child2InlineNode._url),this._child3Url.addFieldInterest(this.child3InlineNode._url),this._child4Url.addFieldInterest(this.child4InlineNode._url),this.rootInlineNode._load=!0;for(const e of this.childInlineNodes)e._load=!1;this.rootInlineNode._url=this._rootUrl,this.child1InlineNode._url=this._child1Url,this.child2InlineNode._url=this._child2Url,this.child3InlineNode._url=this._child3Url,this.child4InlineNode._url=this._child4Url,this.rootInlineNode.setup();for(const e of this.childInlineNodes)e.setup()},getBBox(e,t){if(this.isDefaultBBoxSize())switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:return this._rootNode.length?this.rootGroupNode.getBBox(e,t):this.rootInlineNode.getBBox(e,t);case 1:return xe().prototype.getBBox.call(this,this.childInlineNodes,e,t)}return e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},getShapes(e,t){switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:return this._rootNode.length?this.rootGroupNode.getShapes(e,t):this.rootInlineNode.getShapes(e,t);case 1:for(const i of this.childInlineNodes)i.getShapes(e,t);return e}},set_rootLoadState__(){0===this._level_changed.getValue()&&(this._rootNode.length||this.rootInlineNode.checkLoadState()===_().COMPLETE_STATE&&(this.childrenLoaded=!1,this._children=this.rootInlineNode.getInternalScene().getRootNodes()))},set_childLoadState__(){if(1!==this._level_changed.getValue())return;4===this.childInlineNodes.reduce((e,t)=>e+(t.checkLoadState()===_().COMPLETE_STATE||t.checkLoadState()===_().FAILED_STATE),0)&&(this.childrenLoaded=!0,this._children=this.childInlineNodes.flatMap(e=>Array.from(e.getInternalScene().getRootNodes())))},set_childBoundedObject__(){this.setBoundedObject(this.childInlineNodes.some(e=>e.isBoundedObject()))},set_childPointingObject__(){this.setPointingObject(this.childInlineNodes.some(e=>e.isPointingObject()))},set_childCameraObject__(){this.setCameraObject(this.childInlineNodes.some(e=>e.isCameraObject()))},set_childPickableObject__(){this.setPickableObject(this.childInlineNodes.some(e=>e.isPickableObject()))},set_childCollisionObject__(){this.setCollisionObject(this.childInlineNodes.some(e=>e.isCollisionObject()))},set_childShadowObject__(){this.setShadowObject(this.childInlineNodes.some(e=>e.isShadowObject()))},getLevel:(()=>{const e=new(H());return function(t){t.translate(this.getCoord(this._center.getValue(),e));return t.origin.norm()<this._range.getValue()?1:0}})(),changeLevel:(()=>{const e=new($());return function(t){const i=this.getLevel(e.assign(t.getModelViewMatrix().get()));if(i!==this._level_changed.getValue())switch(this._level_changed=i,i){case 0:for(const e of this.childInlineNodes)e._isBoundedObject.removeInterest("set_childBoundedObject__",this),e._isPointingObject.removeInterest("set_childPointingObject__",this),e._isCameraObject.removeInterest("set_childCameraObject__",this),e._isPickableObject.removeInterest("set_childPickableObject__",this),e._isCollisionObject.removeInterest("set_childCollisionObject__",this),e._isShadowObject.removeInterest("set_childShadowObject__",this);if(this._rootNode.length?(this.connectChildNode(this.rootGroupNode,[Ie().DISPLAY]),this._children=this._rootNode,this.childrenLoaded=!1):this.rootInlineNode.checkLoadState()==_().COMPLETE_STATE&&(this.connectChildNode(this.rootInlineNode,[Ie().DISPLAY]),this._children=this.rootInlineNode.getInternalScene().getRootNodes(),this.childrenLoaded=!1),this.unload)for(const e of this.childInlineNodes)e._load=!1;break;case 1:this._rootNode.length?this.disconnectChildNode(this.rootGroupNode):this.disconnectChildNode(this.rootInlineNode);for(const e of this.childInlineNodes)e._isBoundedObject.addInterest("set_childBoundedObject__",this),e._isPointingObject.addInterest("set_childPointingObject__",this),e._isCameraObject.addInterest("set_childCameraObject__",this),e._isPickableObject.addInterest("set_childPickableObject__",this),e._isCollisionObject.addInterest("set_childCollisionObject__",this),e._isShadowObject.addInterest("set_childShadowObject__",this);if(this.set_childBoundedObject__(),this.set_childPointingObject__(),this.set_childCameraObject__(),this.set_childPickableObject__(),this.set_childCollisionObject__(),this.set_childShadowObject__(),this.child1InlineNode._load.getValue())this.set_childLoadState__();else for(const e of this.childInlineNodes)e._load=!0}}})(),traverse(e,t){switch(e===Ie().DISPLAY&&this.changeLevel(t),this.childrenLoaded?this._level_changed.getValue():0){case 0:this._rootNode.length?this.rootGroupNode.traverse(e,t):this.rootInlineNode.traverse(e,t);break;case 1:for(const i of this.childInlineNodes)i.traverse(e,t)}},dispose(){de.prototype.dispose.call(this),xe().prototype.dispose.call(this),be().prototype.dispose.call(this)}}),Object.defineProperties(Pe,{...c().getStaticProperties("GeoLOD","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().initializeOnly,"rootUrl",new(s().MFString)),new(a())(_().initializeOnly,"child1Url",new(s().MFString)),new(a())(_().initializeOnly,"child2Url",new(s().MFString)),new(a())(_().initializeOnly,"child3Url",new(s().MFString)),new(a())(_().initializeOnly,"child4Url",new(s().MFString)),new(a())(_().initializeOnly,"center",new(s().SFVec3d)),new(a())(_().initializeOnly,"range",new(s().SFFloat)(10)),new(a())(_().outputOnly,"level_changed",new(s().SFInt32)(-1)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().initializeOnly,"rootNode",new(s().MFNode)),new(a())(_().outputOnly,"children",new(s().MFNode))]),enumerable:!0}});const Ge=Pe,De=O().add("GeoLOD",Ge),Te=e.X3DTransformMatrix3DNode;var Ee=t.n(Te);function Ae(e){Ee().call(this,e),de.call(this,e),this.addType(_().GeoLocation)}Object.assign(Object.setPrototypeOf(Ae.prototype,Ee().prototype),de.prototype,{initialize(){Ee().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed:(()=>{const e=new($());return function(){this.setMatrix(this.getLocationMatrix(this._geoCoords.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),Ee().prototype.dispose.call(this)}}),Object.defineProperties(Ae,{...c().getStaticProperties("GeoLocation","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(s().SFVec3d)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(s().MFNode)),new(a())(_().inputOnly,"removeChildren",new(s().MFNode)),new(a())(_().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const Le=Ae,Ue=O().add("GeoLocation",Le),Be=e.X3DInfoNode;var Re=t.n(Be);const ke=e.X3DUrlObject;var Xe=t.n(ke);function We(e){Re().call(this,e),Xe().call(this,e),this.addType(_().GeoMetadata)}Object.assign(Object.setPrototypeOf(We.prototype,Re().prototype),Xe().prototype,{initialize(){Re().prototype.initialize.call(this),Xe().prototype.initialize.call(this)},async requestImmediateLoad(e=!0){},dispose(){Xe().prototype.dispose.call(this),Re().prototype.dispose.call(this)}}),Object.defineProperties(We,{...c().getStaticProperties("GeoMetadata","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().inputOutput,"load",new(s().SFBool)(!0)),new(a())(_().inputOutput,"url",new(s().MFString)),new(a())(_().inputOutput,"autoRefresh",new(s().SFTime)(0)),new(a())(_().inputOutput,"autoRefreshTimeLimit",new(s().SFTime)(3600)),new(a())(_().inputOutput,"summary",new(s().MFString)),new(a())(_().inputOutput,"data",new(s().MFNode))]),enumerable:!0}});const Ye=We,qe=O().add("GeoMetadata",Ye);function He(e){c().call(this,e),this.addType(_().GeoOrigin),this.radians=!1}Object.assign(Object.setPrototypeOf(He.prototype,c().prototype),{initialize(){c().prototype.initialize.call(this),this._geoSystem.addInterest("set_geoSystem__",this),this.set_geoSystem__()},set_geoSystem__(){this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians)},getOrigin(e){return this.referenceFrame.convert(this._geoCoords.getValue(),e)}}),Object.defineProperties(He,{...c().getStaticProperties("GeoOrigin","Geospatial",1,"geoOrigin","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(s().SFVec3d)),new(a())(_().initializeOnly,"rotateYUp",new(s().SFBool))]),enumerable:!0}});const Ze=He,$e=O().add("GeoOrigin",Ze),Je=e.X3DInterpolatorNode;var Ke=t.n(Je);function Qe(e){Ke().call(this,e),de.call(this,e),this.addType(_().GeoPositionInterpolator),this._value_changed.setUnit("length"),this.geocentric=new T}Object.assign(Object.setPrototypeOf(Qe.prototype,Ke().prototype),de.prototype,{setup(){de.prototype.initialize.call(this),Ke().prototype.setup.call(this)},initialize(){Ke().prototype.initialize.call(this),this._keyValue.addInterest("set_keyValue__",this)},set_keyValue__(){const e=this._key,t=this._keyValue;t.length<e.length&&t.resize(e.length,t.length?t[t.length-1]:new(s().SFVec3f))},interpolate:(()=>{const e=new(H()),t=new(H()),i=new(H());return function(n,o,s){this.getCoord(this._keyValue[n].getValue(),e),this.getCoord(this._keyValue[o].getValue(),t);const r=this.geocentric.slerp(e,t,s);this._geovalue_changed=this.getGeoCoord(r,i),this._value_changed=r}})(),dispose(){de.prototype.dispose.call(this),Ke().prototype.dispose.call(this)}}),Object.defineProperties(Qe,{...c().getStaticProperties("GeoPositionInterpolator","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_fraction",new(s().SFFloat)),new(a())(_().inputOutput,"key",new(s().MFFloat)),new(a())(_().inputOutput,"keyValue",new(s().MFVec3d)),new(a())(_().outputOnly,"value_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"geovalue_changed",new(s().SFVec3d))]),enumerable:!0}});const et=Qe,tt=O().add("GeoPositionInterpolator",et),it=e.X3DEnvironmentalSensorNode;var nt=t.n(it);const ot=e.ProximitySensor;var st=t.n(ot);function rt(e){nt().call(this,e),de.call(this,e),this.addType(_().GeoProximitySensor),this._position_changed.setUnit("length"),this._centerOfRotation_changed.setUnit("length"),this.proximitySensor=new(st())(e)}Object.assign(Object.setPrototypeOf(rt.prototype,nt().prototype),de.prototype,{initialize(){nt().prototype.initialize.call(this),de.prototype.initialize.call(this),this._enabled.addFieldInterest(this.proximitySensor._enabled),this._size.addFieldInterest(this.proximitySensor._size),this._center.addFieldInterest(this.proximitySensor._center),this._geoCenter.addFieldInterest(this._center),this.proximitySensor._isActive.addFieldInterest(this._isActive),this.proximitySensor._enterTime.addFieldInterest(this._enterTime),this.proximitySensor._exitTime.addFieldInterest(this._exitTime),this.proximitySensor._position_changed.addFieldInterest(this._position_changed),this.proximitySensor._orientation_changed.addFieldInterest(this._orientation_changed),this.proximitySensor._centerOfRotation_changed.addFieldInterest(this._centerOfRotation_changed),this.proximitySensor._position_changed.addInterest("set_position__",this),this.proximitySensor._enabled=this._enabled,this.proximitySensor._size=this._size,this.proximitySensor._center=this._center,this.proximitySensor.setup(),this.connectChildNode(this.proximitySensor)},set_position__:(()=>{const e=new(H());return function(){this._geoCoord_changed=this.getGeoCoord(this.proximitySensor._position_changed.getValue(),e)}})(),traverse(e,t){this.proximitySensor.traverse(e,t)},dispose(){de.prototype.dispose.call(this),nt().prototype.dispose.call(this)}}),Object.defineProperties(rt,{...c().getStaticProperties("GeoProximitySensor","Geospatial",2,"children","3.2"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(s().SFBool)(!0)),new(a())(_().inputOutput,"size",new(s().SFVec3f)),new(a())(_().inputOutput,"center",new(s().SFVec3d)),new(a())(_().inputOutput,"geoCenter",new(s().SFVec3d)),new(a())(_().outputOnly,"isActive",new(s().SFBool)),new(a())(_().outputOnly,"enterTime",new(s().SFTime)),new(a())(_().outputOnly,"exitTime",new(s().SFTime)),new(a())(_().outputOnly,"geoCoord_changed",new(s().SFVec3d)),new(a())(_().outputOnly,"position_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"orientation_changed",new(s().SFRotation)),new(a())(_().outputOnly,"centerOfRotation_changed",new(s().SFVec3f))]),enumerable:!0}});const at=rt,ht=O().add("GeoProximitySensor",at),lt=e.X3DTouchSensorNode;var dt=t.n(lt);function ct(e){dt().call(this,e),de.call(this,e),this.addType(_().GeoTouchSensor),this._hitPoint_changed.setUnit("length")}Object.assign(Object.setPrototypeOf(ct.prototype,dt().prototype),de.prototype,{initialize(){dt().prototype.initialize.call(this),de.prototype.initialize.call(this)},set_over__:(()=>{const e=new(H());return function(t,i,n,o,s){dt().prototype.set_over__.call(this,t,i,n,o,s),this._isOver.getValue()&&(this._hitGeoCoord_changed=this.getGeoCoord(this._hitPoint_changed.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),dt().prototype.dispose.call(this)}}),Object.defineProperties(ct,{...c().getStaticProperties("GeoTouchSensor","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(s().SFBool)(!0)),new(a())(_().outputOnly,"hitTexCoord_changed",new(s().SFVec2f)),new(a())(_().outputOnly,"hitNormal_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"hitPoint_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"hitGeoCoord_changed",new(s().SFVec3d)),new(a())(_().outputOnly,"isOver",new(s().SFBool)),new(a())(_().outputOnly,"isActive",new(s().SFBool)),new(a())(_().outputOnly,"touchTime",new(s().SFTime))]),enumerable:!0}});const pt=ct,ut=O().add("GeoTouchSensor",pt);function gt(e){Ee().call(this,e),de.call(this,e),this.addType(_().GeoTransform),this._translation.setUnit("length")}Object.assign(Object.setPrototypeOf(gt.prototype,Ee().prototype),de.prototype,{initialize(){Ee().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed:(()=>{const e=new($()),t=new($());return function(){this.getLocationMatrix(this._geoCenter.getValue(),t),e.set(this._translation.getValue(),this._rotation.getValue(),this._scale.getValue(),this._scaleOrientation.getValue()),this.setMatrix(e.multRight(t).multLeft(t.inverse()))}})(),dispose(){de.prototype.dispose.call(this),Ee().prototype.dispose.call(this)}}),Object.defineProperties(gt,{...c().getStaticProperties("GeoTransform","Geospatial",2,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"translation",new(s().SFVec3f)),new(a())(_().inputOutput,"rotation",new(s().SFRotation)),new(a())(_().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(a())(_().inputOutput,"scaleOrientation",new(s().SFRotation)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCenter",new(s().SFVec3d)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(s().MFNode)),new(a())(_().inputOnly,"removeChildren",new(s().MFNode)),new(a())(_().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const _t=gt,wt=O().add("GeoTransform",_t),Ot=e.X3DViewpointNode;var yt=t.n(Ot);const St=e.Viewpoint;var ft=t.n(St);const mt=e.NavigationInfo;var Ft=t.n(mt);const Nt=e.Rotation4;var bt=t.n(Nt);function vt(e){yt().call(this,e),de.call(this,e),this.addType(_().GeoViewpoint),this.addChildObjects(_().inputOutput,"navType",new(s().MFString)("EXAMINE","ANY"),_().inputOutput,"headlight",new(s().SFBool)(!0)),this._centerOfRotation.setUnit("length"),this._fieldOfView.setUnit("angle"),e.getSpecificationVersion()<=3.2&&(this.addAlias("navType",this._navType),this.addAlias("headlight",this._headlight),this.traverse=xt),this.geoNavigationInfoNode=new(Ft())(e),this.projectionMatrix=new($()),this.elevation=0}function xt(e,t){yt().prototype.traverse.call(this,e,t),this.geoNavigationInfoNode.traverse(e,t)}Object.assign(Object.setPrototypeOf(vt.prototype,yt().prototype),de.prototype,{initialize(){yt().prototype.initialize.call(this),de.prototype.initialize.call(this),this._position.addInterest("set_position__",this),this._positionOffset.addInterest("set_position__",this),this._navType.addFieldInterest(this.geoNavigationInfoNode._type),this._headlight.addFieldInterest(this.geoNavigationInfoNode._headlight),this.geoNavigationInfoNode._type=this._navType,this.geoNavigationInfoNode._headlight=this._headlight,this.geoNavigationInfoNode.setup(),this.getExecutionContext().getSpecificationVersion()<=3.2&&(this._navigationInfo=this.geoNavigationInfoNode),this.set_position__()},getRelativeTransformation:ft().prototype.getRelativeTransformation,setInterpolators:ft().prototype.setInterpolators,getFieldOfView:ft().prototype.getFieldOfView,setFieldOfView:ft().prototype.setFieldOfView,getUserFieldOfView:ft().prototype.getUserFieldOfView,getScreenScale:ft().prototype.getScreenScale,getViewportSize:ft().prototype.getViewportSize,getLookAtDistance:ft().prototype.getLookAtDistance,getProjectionMatrixWithLimits:ft().prototype.getProjectionMatrixWithLimits,getLogarithmicDepthBuffer:()=>!0,getPosition:(()=>{const e=new(H());return function(){return this.getCoord(this._position.getValue(),e)}})(),setPosition:(()=>{const e=new(H());return function(t){this._position.setValue(this.getGeoCoord(t,e))}})(),set_position__:(()=>{const e=new(H());return function(){this.getCoord(this._position.getValue(),e),this.elevation=this.getGeoElevation(e.add(this._positionOffset.getValue()))}})(),getOrientation:(()=>{const e=new($()),t=new(bt());return function(){const i=this.getLocationMatrix(this._position.getValue(),e).submatrix;return t.setMatrix(i),t.multLeft(this._orientation.getValue())}})(),setOrientation:(()=>{const e=new($()),t=new(bt());return function(i){const n=this.getLocationMatrix(this._position.getValue(),e).submatrix;t.setMatrix(n),this._orientation.setValue(t.inverse().multLeft(i))}})(),getCenterOfRotation:(()=>{const e=new(H());return function(){return this.getCoord(this._centerOfRotation.getValue(),e)}})(),setCenterOfRotation:(()=>{const e=new(H());return function(t){this._centerOfRotation.setValue(this.getGeoCoord(t,e))}})(),getMaxFarValue:()=>1e9,getUpVector:(()=>{const e=new(H()),t=new(H());return function(i=!1){return!i||this.getUserPosition().norm()<65e5?(this.getCoord(this._position.getValue(),e),this.getGeoUpVector(e.add(this._positionOffset.getValue()),t)):t.assign(H().zAxis)}})(),getSpeedFactor(){return(Math.max(this.elevation,0)+10)/10*this._speedFactor.getValue()},dispose(){de.prototype.dispose.call(this),yt().prototype.dispose.call(this)}}),Object.defineProperties(vt,{...c().getStaticProperties("GeoViewpoint","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_bind",new(s().SFBool)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().inputOutput,"position",new(s().SFVec3d)(0,0,1e5)),new(a())(_().inputOutput,"orientation",new(s().SFRotation)),new(a())(_().inputOutput,"centerOfRotation",new(s().SFVec3d)),new(a())(_().inputOutput,"fieldOfView",new(s().SFFloat)(.785398)),new(a())(_().inputOutput,"nearDistance",new(s().SFFloat)(-1)),new(a())(_().inputOutput,"farDistance",new(s().SFFloat)(-1)),new(a())(_().inputOutput,"viewAll",new(s().SFBool)),new(a())(_().inputOutput,"jump",new(s().SFBool)(!0)),new(a())(_().inputOutput,"retainUserOffsets",new(s().SFBool)),new(a())(_().initializeOnly,"speedFactor",new(s().SFFloat)(1)),new(a())(_().outputOnly,"isBound",new(s().SFBool)),new(a())(_().outputOnly,"bindTime",new(s().SFTime)),new(a())(_().inputOutput,"navigationInfo",new(s().SFNode))]),enumerable:!0}});const Mt=vt,It=O().add("GeoViewpoint",Mt);n().add({name:"Geospatial",concreteNodes:[_e,Fe,De,Ue,qe,$e,tt,ht,ut,wt,It],abstractNodes:[de]});O().add("GeospatialComponent",undefined)})();
@@ -1,5 +1,5 @@
1
- /* X_ITE v11.6.5 */
2
- const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.6.5")];
1
+ /* X_ITE v12.0.0 */
2
+ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-12.0.0")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
5
5
  /******/ // The require scope
@@ -358,6 +358,10 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (external_X_IT
358
358
  {
359
359
  return this .transformNode .getSubBBox (bbox, shadows);
360
360
  },
361
+ getShapes (shapes, modelMatrix)
362
+ {
363
+ return this .transformNode .getShapes (shapes, modelMatrix);
364
+ },
361
365
  getMatrix ()
362
366
  {
363
367
  return this .transformNode .getMatrix ();
@@ -366,14 +370,6 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (external_X_IT
366
370
  {
367
371
  return this .humanoidKey;
368
372
  },
369
- getNumJoints ()
370
- {
371
- return this .numJoints;
372
- },
373
- getNumDisplacements ()
374
- {
375
- return this .numDisplacements;
376
- },
377
373
  set_humanoidKey__ ()
378
374
  {
379
375
  this .humanoidKey = `[${this .numJoints}.${this .numDisplacements}]`;
@@ -693,19 +689,34 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (external_X_IT
693
689
  gl .bindTexture (gl .TEXTURE_2D, this .jointMatricesTexture);
694
690
  gl .texImage2D (gl .TEXTURE_2D, 0, gl .RGBA32F, size, size, 0, gl .RGBA, gl .FLOAT, jointMatricesArray);
695
691
  },
692
+ getShaderOptions (options)
693
+ {
694
+ options .push ("X3D_SKINNING");
695
+ options .push (`X3D_NUM_JOINT_SETS ${this .numJoints / 4}`);
696
+ options .push (`X3D_NUM_DISPLACEMENTS ${this .numDisplacements}`);
697
+ },
696
698
  setShaderUniforms (gl, shaderObject)
697
699
  {
698
700
  const
699
- browser = this .getBrowser (),
700
- jointsTextureTextureUnit = browser .getTextureUnit (),
701
- displacementsTextureTextureUnit = browser .getTextureUnit (),
702
- displacementWeightsTextureTextureUnit = browser .getTextureUnit (),
703
- jointMatricesTextureUnit = browser .getTextureUnit ();
701
+ browser = this .getBrowser (),
702
+ jointsTextureTextureUnit = browser .getTextureUnit (),
703
+ jointMatricesTextureUnit = browser .getTextureUnit ();
704
704
 
705
705
  gl .activeTexture (gl .TEXTURE0 + jointsTextureTextureUnit);
706
706
  gl .bindTexture (gl .TEXTURE_2D, this .jointsTexture);
707
707
  gl .uniform1i (shaderObject .x3d_JointsTexture, jointsTextureTextureUnit);
708
708
 
709
+ gl .activeTexture (gl .TEXTURE0 + jointMatricesTextureUnit);
710
+ gl .bindTexture (gl .TEXTURE_2D, this .jointMatricesTexture);
711
+ gl .uniform1i (shaderObject .x3d_JointMatricesTexture, jointMatricesTextureUnit);
712
+
713
+ if (!this .numDisplacements)
714
+ return;
715
+
716
+ const
717
+ displacementsTextureTextureUnit = browser .getTextureUnit (),
718
+ displacementWeightsTextureTextureUnit = browser .getTextureUnit ();
719
+
709
720
  gl .activeTexture (gl .TEXTURE0 + displacementsTextureTextureUnit);
710
721
  gl .bindTexture (gl .TEXTURE_2D, this .displacementsTexture);
711
722
  gl .uniform1i (shaderObject .x3d_DisplacementsTexture, displacementsTextureTextureUnit);
@@ -713,10 +724,6 @@ Object .assign (Object .setPrototypeOf (HAnimHumanoid .prototype, (external_X_IT
713
724
  gl .activeTexture (gl .TEXTURE0 + displacementWeightsTextureTextureUnit);
714
725
  gl .bindTexture (gl .TEXTURE_2D, this .displacementWeightsTexture);
715
726
  gl .uniform1i (shaderObject .x3d_DisplacementWeightsTexture, displacementWeightsTextureTextureUnit);
716
-
717
- gl .activeTexture (gl .TEXTURE0 + jointMatricesTextureUnit);
718
- gl .bindTexture (gl .TEXTURE_2D, this .jointMatricesTexture);
719
- gl .uniform1i (shaderObject .x3d_JointMatricesTexture, jointMatricesTextureUnit);
720
727
  },
721
728
  dispose ()
722
729
  {
@@ -1416,14 +1423,6 @@ Object .assign (Object .setPrototypeOf (HAnimSegment .prototype, (external_X_ITE
1416
1423
  {
1417
1424
  return this .humanoidKey;
1418
1425
  },
1419
- getNumJoints ()
1420
- {
1421
- return this .numJoints;
1422
- },
1423
- getNumDisplacements ()
1424
- {
1425
- return this .numDisplacements;
1426
- },
1427
1426
  set_humanoidKey__ ()
1428
1427
  {
1429
1428
  this .humanoidKey = `[${this .numJoints}.${this .numDisplacements}]`;
@@ -1559,15 +1558,20 @@ Object .assign (Object .setPrototypeOf (HAnimSegment .prototype, (external_X_ITE
1559
1558
  },
1560
1559
  traverse (type, renderObject)
1561
1560
  {
1562
- if (this .coordNode)
1561
+ if (this .coordNode && this .numDisplacements)
1562
+ {
1563
1563
  renderObject .getHAnimNode () .push (this);
1564
1564
 
1565
- external_X_ITE_X3D_X3DGroupingNode_default().prototype .traverse .call (this, type, renderObject);
1565
+ external_X_ITE_X3D_X3DGroupingNode_default().prototype .traverse .call (this, type, renderObject);
1566
1566
 
1567
- this .skinning (type, renderObject);
1567
+ this .skinning (type, renderObject);
1568
1568
 
1569
- if (this .coordNode)
1570
1569
  renderObject .getHAnimNode () .pop ();
1570
+ }
1571
+ else
1572
+ {
1573
+ external_X_ITE_X3D_X3DGroupingNode_default().prototype .traverse .call (this, type, renderObject);
1574
+ }
1571
1575
  },
1572
1576
  skinning: (() =>
1573
1577
  {
@@ -1600,13 +1604,23 @@ Object .assign (Object .setPrototypeOf (HAnimSegment .prototype, (external_X_ITE
1600
1604
  gl .texImage2D (gl .TEXTURE_2D, 0, gl .RGBA32F, size, size, 0, gl .RGBA, gl .FLOAT, jointMatricesArray);
1601
1605
  };
1602
1606
  })(),
1607
+ getShaderOptions (options)
1608
+ {
1609
+ options .push ("X3D_SKINNING");
1610
+ options .push (`X3D_NUM_JOINT_SETS ${this .numJoints / 4}`);
1611
+ options .push (`X3D_NUM_DISPLACEMENTS ${this .numDisplacements}`);
1612
+ },
1603
1613
  setShaderUniforms (gl, shaderObject)
1604
1614
  {
1605
1615
  const
1606
1616
  browser = this .getBrowser (),
1617
+ jointMatricesTextureUnit = browser .getTextureUnit (),
1607
1618
  displacementsTextureTextureUnit = browser .getTextureUnit (),
1608
- displacementWeightsTextureTextureUnit = browser .getTextureUnit (),
1609
- jointMatricesTextureUnit = browser .getTextureUnit ();
1619
+ displacementWeightsTextureTextureUnit = browser .getTextureUnit ();
1620
+
1621
+ gl .activeTexture (gl .TEXTURE0 + jointMatricesTextureUnit);
1622
+ gl .bindTexture (gl .TEXTURE_2D, this .jointMatricesTexture);
1623
+ gl .uniform1i (shaderObject .x3d_JointMatricesTexture, jointMatricesTextureUnit);
1610
1624
 
1611
1625
  gl .activeTexture (gl .TEXTURE0 + displacementsTextureTextureUnit);
1612
1626
  gl .bindTexture (gl .TEXTURE_2D, this .displacementsTexture);
@@ -1615,10 +1629,6 @@ Object .assign (Object .setPrototypeOf (HAnimSegment .prototype, (external_X_ITE
1615
1629
  gl .activeTexture (gl .TEXTURE0 + displacementWeightsTextureTextureUnit);
1616
1630
  gl .bindTexture (gl .TEXTURE_2D, this .displacementWeightsTexture);
1617
1631
  gl .uniform1i (shaderObject .x3d_DisplacementWeightsTexture, displacementWeightsTextureTextureUnit);
1618
-
1619
- gl .activeTexture (gl .TEXTURE0 + jointMatricesTextureUnit);
1620
- gl .bindTexture (gl .TEXTURE_2D, this .jointMatricesTexture);
1621
- gl .uniform1i (shaderObject .x3d_JointMatricesTexture, jointMatricesTextureUnit);
1622
1632
  },
1623
1633
  });
1624
1634