x_ite 11.0.4 → 11.0.6

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 (50) 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 +4 -4
  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 +2 -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 +65 -53
  13. package/dist/assets/components/Geometry2DComponent.min.js +2 -2
  14. package/dist/assets/components/GeospatialComponent.js +2 -2
  15. package/dist/assets/components/GeospatialComponent.min.js +2 -2
  16. package/dist/assets/components/HAnimComponent.js +2 -2
  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 +2 -2
  21. package/dist/assets/components/LayoutComponent.min.js +2 -2
  22. package/dist/assets/components/NURBSComponent.js +2 -2
  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 +2 -2
  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 +4 -4
  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 +10 -10
  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/X_ITEComponent.js +2 -2
  41. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  42. package/dist/example.html +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.d.ts +5 -0
  45. package/dist/x_ite.js +1435 -1802
  46. package/dist/x_ite.min.js +2 -2
  47. package/dist/x_ite.min.mjs +2 -2
  48. package/dist/x_ite.mjs +1661 -2027
  49. package/dist/x_ite.zip +0 -0
  50. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
- /* X_ITE v11.0.4 */
2
- const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.0.4")];
1
+ /* X_ITE v11.0.6 */
2
+ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.0.6")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
5
5
  /******/ // The require scope
@@ -202,9 +202,12 @@ const ArcClose2DOptions_default_ = ArcClose2DOptions;
202
202
  ;
203
203
 
204
204
  /* harmony default export */ const Geometry2D_ArcClose2DOptions = (external_X_ITE_X3D_Namespace_default().add ("ArcClose2DOptions", ArcClose2DOptions_default_));
205
- ;// external "__X_ITE_X3D__ .X3DGeometryNode"
206
- const external_X_ITE_X3D_X3DGeometryNode_namespaceObject = __X_ITE_X3D__ .X3DGeometryNode;
207
- var external_X_ITE_X3D_X3DGeometryNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DGeometryNode_namespaceObject);
205
+ ;// external "__X_ITE_X3D__ .IndexedLineSet"
206
+ const external_X_ITE_X3D_IndexedLineSet_namespaceObject = __X_ITE_X3D__ .IndexedLineSet;
207
+ var external_X_ITE_X3D_IndexedLineSet_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_IndexedLineSet_namespaceObject);
208
+ ;// external "__X_ITE_X3D__ .Coordinate"
209
+ const external_X_ITE_X3D_Coordinate_namespaceObject = __X_ITE_X3D__ .Coordinate;
210
+ var external_X_ITE_X3D_Coordinate_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Coordinate_namespaceObject);
208
211
  ;// external "__X_ITE_X3D__ .Complex"
209
212
  const external_X_ITE_X3D_Complex_namespaceObject = __X_ITE_X3D__ .Complex;
210
213
  var external_X_ITE_X3D_Complex_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Complex_namespaceObject);
@@ -262,13 +265,12 @@ var external_X_ITE_X3D_Complex_default = /*#__PURE__*/__webpack_require__.n(exte
262
265
 
263
266
 
264
267
 
268
+
265
269
  function Circle2DOptions (executionContext)
266
270
  {
267
271
  external_X_ITE_X3D_X3DBaseNode_default().call (this, executionContext);
268
272
 
269
273
  this .addChildObjects ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "dimension", new (external_X_ITE_X3D_Fields_default()).SFInt32 (40))
270
-
271
- this .vertices = external_X_ITE_X3D_X3DGeometryNode_default().createArray ();
272
274
  }
273
275
 
274
276
  Object .assign (Object .setPrototypeOf (Circle2DOptions .prototype, (external_X_ITE_X3D_X3DBaseNode_default()).prototype),
@@ -279,35 +281,56 @@ Object .assign (Object .setPrototypeOf (Circle2DOptions .prototype, (external_X_
279
281
 
280
282
  this .addInterest ("eventsProcessed", this);
281
283
  },
282
- getVertices ()
284
+ getGeometry ()
283
285
  {
284
- if (!this .vertices .length)
286
+ if (!this .geometry)
285
287
  this .build ();
286
288
 
287
- return this .vertices;
289
+ return this .geometry;
288
290
  },
289
- build ()
291
+ createCoordIndex ()
292
+ {
293
+ const
294
+ dimension = this ._dimension .getValue (),
295
+ coordIndex = this .geometry ._coordIndex;
296
+
297
+ for (let n = 0; n < dimension; ++ n)
298
+ coordIndex .push (n);
299
+
300
+ coordIndex .push (0, -1);
301
+ },
302
+ createPoints ()
290
303
  {
291
304
  const
292
305
  dimension = this ._dimension .getValue (),
293
306
  angle = Math .PI * 2 / dimension,
294
- vertices = this .vertices;
307
+ point = this .geometry ._coord .getValue () ._point;
295
308
 
296
309
  for (let n = 0; n < dimension; ++ n)
297
310
  {
298
- const
299
- point1 = external_X_ITE_X3D_Complex_default().Polar (1, angle * n),
300
- point2 = external_X_ITE_X3D_Complex_default().Polar (1, angle * (n + 1));
311
+ const p = external_X_ITE_X3D_Complex_default().Polar (1, angle * n);
301
312
 
302
- vertices .push (point1 .real, point1 .imag, 0, 1);
303
- vertices .push (point2 .real, point2 .imag, 0, 1);
313
+ point .push (new (external_X_ITE_X3D_Fields_default()).SFVec3f (p .real, p .imag, 0));
304
314
  }
315
+ },
316
+ build ()
317
+ {
318
+ this .geometry = new (external_X_ITE_X3D_IndexedLineSet_default()) (this .getExecutionContext ());
319
+ this .geometry ._coord = new (external_X_ITE_X3D_Coordinate_default()) (this .getExecutionContext ());
320
+
321
+ this .createCoordIndex ();
322
+ this .createPoints ();
305
323
 
306
- vertices .shrinkToFit ();
324
+ const
325
+ geometry = this .geometry,
326
+ coord = this .geometry ._coord .getValue ();
327
+
328
+ coord .setup ();
329
+ geometry .setup ();
307
330
  },
308
331
  eventsProcessed ()
309
332
  {
310
- this .vertices .length = 0;
333
+ this .geometry = null;
311
334
  },
312
335
  });
313
336
 
@@ -324,6 +347,9 @@ const Circle2DOptions_default_ = Circle2DOptions;
324
347
  ;
325
348
 
326
349
  /* harmony default export */ const Geometry2D_Circle2DOptions = (external_X_ITE_X3D_Namespace_default().add ("Circle2DOptions", Circle2DOptions_default_));
350
+ ;// external "__X_ITE_X3D__ .X3DGeometryNode"
351
+ const external_X_ITE_X3D_X3DGeometryNode_namespaceObject = __X_ITE_X3D__ .X3DGeometryNode;
352
+ var external_X_ITE_X3D_X3DGeometryNode_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_X3DGeometryNode_namespaceObject);
327
353
  ;// ./src/x_ite/Browser/Geometry2D/Disk2DOptions.js
328
354
  /*******************************************************************************
329
355
  *
@@ -384,10 +410,9 @@ function Disk2DOptions (executionContext)
384
410
 
385
411
  this .addChildObjects ((external_X_ITE_X3D_X3DConstants_default()).inputOutput, "dimension", new (external_X_ITE_X3D_Fields_default()).SFInt32 (40))
386
412
 
387
- this .circleVertices = external_X_ITE_X3D_X3DGeometryNode_default().createArray ();
388
- this .diskTexCoords = external_X_ITE_X3D_X3DGeometryNode_default().createArray ();
389
- this .diskNormals = external_X_ITE_X3D_X3DGeometryNode_default().createArray ();
390
- this .diskVertices = external_X_ITE_X3D_X3DGeometryNode_default().createArray ();
413
+ this .diskTexCoords = external_X_ITE_X3D_X3DGeometryNode_default().createArray ();
414
+ this .diskNormals = external_X_ITE_X3D_X3DGeometryNode_default().createArray ();
415
+ this .diskVertices = external_X_ITE_X3D_X3DGeometryNode_default().createArray ();
391
416
  }
392
417
 
393
418
  Object .assign (Object .setPrototypeOf (Disk2DOptions .prototype, (external_X_ITE_X3D_X3DBaseNode_default()).prototype),
@@ -398,13 +423,6 @@ Object .assign (Object .setPrototypeOf (Disk2DOptions .prototype, (external_X_IT
398
423
 
399
424
  this .addInterest ("eventsProcessed", this);
400
425
  },
401
- getCircleVertices ()
402
- {
403
- if (!this .circleVertices .length)
404
- this .build ();
405
-
406
- return this .circleVertices;
407
- },
408
426
  getDiskTexCoords ()
409
427
  {
410
428
  if (!this .diskTexCoords .length)
@@ -438,12 +456,11 @@ Object .assign (Object .setPrototypeOf (Disk2DOptions .prototype, (external_X_IT
438
456
  return function ()
439
457
  {
440
458
  const
441
- dimension = this ._dimension .getValue (),
442
- angle = Math .PI * 2 / dimension,
443
- circleVertices = this .circleVertices,
444
- diskTexCoords = this .diskTexCoords,
445
- diskNormals = this .diskNormals,
446
- diskVertices = this .diskVertices;
459
+ dimension = this ._dimension .getValue (),
460
+ angle = Math .PI * 2 / dimension,
461
+ diskTexCoords = this .diskTexCoords,
462
+ diskNormals = this .diskNormals,
463
+ diskVertices = this .diskVertices;
447
464
 
448
465
  for (let n = 0; n < dimension; ++ n)
449
466
  {
@@ -456,11 +473,6 @@ Object .assign (Object .setPrototypeOf (Disk2DOptions .prototype, (external_X_IT
456
473
  point1 .setPolar (1, theta1);
457
474
  point2 .setPolar (1, theta2);
458
475
 
459
- // Circle
460
-
461
- circleVertices .push (point1 .real, point1 .imag, 0, 1);
462
- circleVertices .push (point2 .real, point2 .imag, 0, 1);
463
-
464
476
  // Disk
465
477
 
466
478
  diskTexCoords .push (0.5, 0.5, 0, 1,
@@ -474,7 +486,6 @@ Object .assign (Object .setPrototypeOf (Disk2DOptions .prototype, (external_X_IT
474
486
  point2 .real, point2 .imag, 0, 1);
475
487
  }
476
488
 
477
- circleVertices .shrinkToFit ();
478
489
  diskTexCoords .shrinkToFit ();
479
490
  diskNormals .shrinkToFit ();
480
491
  diskVertices .shrinkToFit ();
@@ -482,10 +493,9 @@ Object .assign (Object .setPrototypeOf (Disk2DOptions .prototype, (external_X_IT
482
493
  })(),
483
494
  eventsProcessed ()
484
495
  {
485
- this .circleVertices .length = 0;
486
- this .diskTexCoords .length = 0;
487
- this .diskNormals .length = 0;
488
- this .diskVertices .length = 0;
496
+ this .diskTexCoords .length = 0;
497
+ this .diskNormals .length = 0;
498
+ this .diskVertices .length = 0;
489
499
  },
490
500
  });
491
501
 
@@ -505,9 +515,6 @@ const Disk2DOptions_default_ = Disk2DOptions;
505
515
  ;// external "__X_ITE_X3D__ .IndexedFaceSet"
506
516
  const external_X_ITE_X3D_IndexedFaceSet_namespaceObject = __X_ITE_X3D__ .IndexedFaceSet;
507
517
  var external_X_ITE_X3D_IndexedFaceSet_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_IndexedFaceSet_namespaceObject);
508
- ;// external "__X_ITE_X3D__ .Coordinate"
509
- const external_X_ITE_X3D_Coordinate_namespaceObject = __X_ITE_X3D__ .Coordinate;
510
- var external_X_ITE_X3D_Coordinate_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_Coordinate_namespaceObject);
511
518
  ;// external "__X_ITE_X3D__ .TextureCoordinate"
512
519
  const external_X_ITE_X3D_TextureCoordinate_namespaceObject = __X_ITE_X3D__ .TextureCoordinate;
513
520
  var external_X_ITE_X3D_TextureCoordinate_default = /*#__PURE__*/__webpack_require__.n(external_X_ITE_X3D_TextureCoordinate_namespaceObject);
@@ -1219,16 +1226,17 @@ Object .assign (Object .setPrototypeOf (Circle2D .prototype, (external_X_ITE_X3D
1219
1226
  {
1220
1227
  const
1221
1228
  options = this .getBrowser () .getCircle2DOptions (),
1229
+ geometry = options .getGeometry (),
1222
1230
  vertexArray = this .getVertices (),
1223
1231
  radius = this ._radius .getValue ();
1224
1232
 
1225
1233
  if (radius === 1)
1226
1234
  {
1227
- vertexArray .assign (options .getVertices ());
1235
+ vertexArray .assign (geometry .getVertices ());
1228
1236
  }
1229
1237
  else
1230
1238
  {
1231
- const defaultVertices = options .getVertices () .getValue ();
1239
+ const defaultVertices = geometry .getVertices () .getValue ();
1232
1240
 
1233
1241
  for (let i = 0, length = defaultVertices .length; i < length; i += 4)
1234
1242
  vertexArray .push (defaultVertices [i] * radius, defaultVertices [i + 1] * radius, 0, 1);
@@ -1373,13 +1381,17 @@ Object .assign (Object .setPrototypeOf (Disk2D .prototype, (external_X_ITE_X3D_X
1373
1381
 
1374
1382
  // Circle
1375
1383
 
1384
+ const
1385
+ options = this .getBrowser () .getCircle2DOptions (),
1386
+ geometry = options .getGeometry ();
1387
+
1376
1388
  if (outerRadius === 1)
1377
1389
  {
1378
- vertexArray .assign (options .getCircleVertices ());
1390
+ vertexArray .assign (geometry .getVertices ());
1379
1391
  }
1380
1392
  else
1381
1393
  {
1382
- const defaultVertices = options .getCircleVertices () .getValue ();
1394
+ const defaultVertices = geometry .getVertices () .getValue ();
1383
1395
 
1384
1396
  for (let i = 0, length = defaultVertices .length; i < length; i += 4)
1385
1397
  vertexArray .push (defaultVertices [i] * outerRadius, defaultVertices [i + 1] * outerRadius, 0, 1);
@@ -1,2 +1,2 @@
1
- /* X_ITE v11.0.4 */
2
- const e=window[Symbol.for("X_ITE.X3D-11.0.4")];(()=>{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 c=t.n(g);function d(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(d.prototype,o().prototype),Object.defineProperties(d,{typeName:{value:"Arc2DOptions",enumerable:!0}});const p=d,u=c().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=c().add("ArcClose2DOptions",m),D=e.X3DGeometryNode;var f=t.n(D);const w=e.Complex;var b=t.n(w);function _(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40)),this.vertices=f().createArray()}Object.assign(Object.setPrototypeOf(_.prototype,o().prototype),{initialize(){o().prototype.initialize.call(this),this.addInterest("eventsProcessed",this)},getVertices(){return this.vertices.length||this.build(),this.vertices},build(){const e=this._dimension.getValue(),t=2*Math.PI/e,i=this.vertices;for(let s=0;s<e;++s){const e=b().Polar(1,t*s),n=b().Polar(1,t*(s+1));i.push(e.real,e.imag,0,1),i.push(n.real,n.imag,0,1)}i.shrinkToFit()},eventsProcessed(){this.vertices.length=0}}),Object.defineProperties(_,{typeName:{value:"Circle2DOptions",enumerable:!0}});const v=_,P=c().add("Circle2DOptions",v);function V(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40)),this.circleVertices=f().createArray(),this.diskTexCoords=f().createArray(),this.diskNormals=f().createArray(),this.diskVertices=f().createArray()}Object.assign(Object.setPrototypeOf(V.prototype,o().prototype),{initialize(){o().prototype.initialize.call(this),this.addInterest("eventsProcessed",this)},getCircleVertices(){return this.circleVertices.length||this.build(),this.circleVertices},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(b())(.5,.5),t=new(b()),i=new(b()),s=new(b()),n=new(b());return function(){const o=this._dimension.getValue(),r=2*Math.PI/o,a=this.circleVertices,l=this.diskTexCoords,h=this.diskNormals,g=this.diskVertices;for(let c=0;c<o;++c){const o=r*c,d=r*(c+1);t.setPolar(.5,o).add(e),i.setPolar(.5,d).add(e),s.setPolar(1,o),n.setPolar(1,d),a.push(s.real,s.imag,0,1),a.push(n.real,n.imag,0,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)}a.shrinkToFit(),l.shrinkToFit(),h.shrinkToFit(),g.shrinkToFit()}})(),eventsProcessed(){this.circleVertices.length=0,this.diskTexCoords.length=0,this.diskNormals.length=0,this.diskVertices.length=0}}),Object.defineProperties(V,{typeName:{value:"Disk2DOptions",enumerable:!0}});const S=V,C=c().add("Disk2DOptions",S),M=e.IndexedFaceSet;var T=t.n(M);const A=e.Coordinate;var x=t.n(A);const F=e.TextureCoordinate;var j=t.n(F);function k(e){o().call(this,e)}Object.assign(Object.setPrototypeOf(k.prototype,o().prototype),{getGeometry(){if(this.geometry)return this.geometry;this.geometry=new(T())(this.getExecutionContext()),this.geometry._texCoord=new(j())(this.getExecutionContext()),this.geometry._coord=new(x())(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(k,{typeName:{value:"Rectangle2DOptions",enumerable:!0}});const N=k,I=c().add("Rectangle2DOptions",N),G=e.PrimitiveQuality;var R=t.n(G);function B(){}function z(e,t){const i=new t(this.getPrivateScene());return i.setup(),this[e]=function(){return i},Object.defineProperty(this,e,{enumerable:!1}),i}Object.assign(B.prototype,{initialize(){this.setPrimitiveQuality2D(this.getBrowserOptions().getPrimitiveQuality())},getArc2DOptions(){return z.call(this,"getArc2DOptions",u)},getArcClose2DOptions(){return z.call(this,"getArcClose2DOptions",O)},getCircle2DOptions(){return z.call(this,"getCircle2DOptions",P)},getDisk2DOptions(){return z.call(this,"getDisk2DOptions",C)},getRectangle2DOptions(){return z.call(this,"getRectangle2DOptions",I)},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 U=B,L=c().add("X3DGeometry2DContext",U),X=e.X3DFieldDefinition;var q=t.n(X);const E=e.FieldDefinitionArray;var Q=t.n(E);const H=e.X3DNode;var W=t.n(H);const J=e.X3DLineGeometryNode;var K=t.n(J);const Y=e.Algorithm;var Z=t.n(Y);function $(e){K().call(this,e),this.addType(a().Arc2D),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf($.prototype,K().prototype),{set_live__(){K().prototype.set_live__.call(this);const e=this.getBrowser(),t=this.isLive()&&e.getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||t?e.getArc2DOptions().addInterest("requestRebuild",this):e.getArc2DOptions().removeInterest("requestRebuild",this)},getSweepAngle(){const e=Z().interval(this._startAngle.getValue(),0,2*Math.PI),t=Z().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=b().Polar(i,r),l=t+s*((e+1)/n),h=b().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($,{...W().getStaticProperties("Arc2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new(Q())([new(q())(a().inputOutput,"metadata",new(h().SFNode)),new(q())(a().initializeOnly,"startAngle",new(h().SFFloat)),new(q())(a().initializeOnly,"endAngle",new(h().SFFloat)(1.570796)),new(q())(a().initializeOnly,"radius",new(h().SFFloat)(1))]),enumerable:!0}});const ee=$,te=c().add("Arc2D",ee);function ie(e){f().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(ie.prototype,f().prototype),{set_live__(){f().prototype.set_live__.call(this);const e=this.getBrowser(),t=this.isLive()&&e.getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||t?e.getArcClose2DOptions().addInterest("requestRebuild",this):e.getArcClose2DOptions().removeInterest("requestRebuild",this)},getSweepAngle(){const e=Z().interval(this._startAngle.getValue(),0,2*Math.PI),t=Z().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(b())(.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(),c=[],d=[];this.getMultiTexCoords().push(l);const p=a-1;for(let t=0;t<a;++t){const i=n+r*(t/p);c.push(b().Polar(.5,i).add(e)),d.push(b().Polar(o,i))}if(i){const e=c[0],t=d[0];for(let i=1;i<p;++i){const s=c[i],n=c[i+1],o=d[i],r=d[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=c[e],i=c[e+1],s=d[e],n=d[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(ie,{...W().getStaticProperties("ArcClose2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new(Q())([new(q())(a().inputOutput,"metadata",new(h().SFNode)),new(q())(a().initializeOnly,"closureType",new(h().SFString)("PIE")),new(q())(a().initializeOnly,"startAngle",new(h().SFFloat)),new(q())(a().initializeOnly,"endAngle",new(h().SFFloat)(1.570796)),new(q())(a().initializeOnly,"radius",new(h().SFFloat)(1)),new(q())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const se=ie,ne=c().add("ArcClose2D",se);function oe(e){K().call(this,e),this.addType(a().Circle2D),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(oe.prototype,K().prototype),{set_live__(){K().prototype.set_live__.call(this);const e=this.getBrowser(),t=this.isLive()&&e.getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||t?e.getCircle2DOptions().addInterest("requestRebuild",this):e.getCircle2DOptions().removeInterest("requestRebuild",this)},build(){const e=this.getBrowser().getCircle2DOptions(),t=this.getVertices(),i=this._radius.getValue();if(1===i)t.assign(e.getVertices());else{const s=e.getVertices().getValue();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(oe,{...W().getStaticProperties("Circle2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new(Q())([new(q())(a().inputOutput,"metadata",new(h().SFNode)),new(q())(a().initializeOnly,"radius",new(h().SFFloat)(1))]),enumerable:!0}});const re=oe,ae=c().add("Circle2D",re),le=e.X3DPointGeometryNode;var he=t.n(le);function ge(e){K().call(this,e),this.addType(a().Disk2D),this._innerRadius.setUnit("length"),this._outerRadius.setUnit("length")}Object.assign(Object.setPrototypeOf(ge.prototype,f().prototype),K().prototype,{set_live__(){f().prototype.set_live__.call(this);const e=this.getBrowser(),t=this.isLive()&&e.getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||t?e.getDisk2DOptions().addInterest("requestRebuild",this):e.getDisk2DOptions().removeInterest("requestRebuild",this)},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,0,0),this.getMax().set(0,0,0),this.setGeometryType(0),this.setPrimitiveMode(t.POINTS),this.setTransparent(!0),this.setSolid(!1),void this.setBase(he());if(1===n)o.assign(i.getCircleVertices());else{const e=i.getCircleVertices().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(1),this.setPrimitiveMode(t.LINES),this.setTransparent(!1),this.setSolid(!1),void this.setBase(K())}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(f())}const r=s/n,a=(1-r)/2,l=i.getDiskTexCoords().getValue(),h=i.getDiskVertices().getValue(),g=this.getTexCoords(),c=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),c.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(f())},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(ge,{...W().getStaticProperties("Disk2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new(Q())([new(q())(a().inputOutput,"metadata",new(h().SFNode)),new(q())(a().initializeOnly,"innerRadius",new(h().SFFloat)),new(q())(a().initializeOnly,"outerRadius",new(h().SFFloat)(1)),new(q())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const ce=ge,de=c().add("Disk2D",ce);function pe(e){K().call(this,e),this.addType(a().Polyline2D),this._lineSegments.setUnit("length")}Object.assign(Object.setPrototypeOf(pe.prototype,K().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(pe,{...W().getStaticProperties("Polyline2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new(Q())([new(q())(a().inputOutput,"metadata",new(h().SFNode)),new(q())(a().initializeOnly,"lineSegments",new(h().MFVec2f))]),enumerable:!0}});const ue=pe,ye=c().add("Polyline2D",ue);function me(e){he().call(this,e),this.addType(a().Polypoint2D),this._point.setUnit("length")}Object.assign(Object.setPrototypeOf(me.prototype,he().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(me,{...W().getStaticProperties("Polypoint2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new(Q())([new(q())(a().inputOutput,"metadata",new(h().SFNode)),new(q())(a().inputOutput,"point",new(h().MFVec2f))]),enumerable:!0}});const Oe=me,De=c().add("Polypoint2D",Oe),fe=e.Vector2;var we=t.n(fe);function be(e){f().call(this,e),this.addType(a().Rectangle2D),this.setGeometryType(2),this._size.setUnit("length")}Object.assign(Object.setPrototypeOf(be.prototype,f().prototype),{build:(()=>{const e=new(we())(2,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().getValue();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(be,{...W().getStaticProperties("Rectangle2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new(Q())([new(q())(a().inputOutput,"metadata",new(h().SFNode)),new(q())(a().initializeOnly,"size",new(h().SFVec2f)(2,2)),new(q())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const _e=be,ve=c().add("Rectangle2D",_e);function Pe(e){f().call(this,e),this.addType(a().TriangleSet2D),this.setGeometryType(2),this._vertices.setUnit("length")}Object.assign(Object.setPrototypeOf(Pe.prototype,f().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(Pe,{...W().getStaticProperties("TriangleSet2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new(Q())([new(q())(a().inputOutput,"metadata",new(h().SFNode)),new(q())(a().inputOutput,"vertices",new(h().MFVec2f)),new(q())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const Ve=Pe,Se=c().add("TriangleSet2D",Ve);s().add({name:"Geometry2D",concreteNodes:[te,ne,ae,de,ye,De,ve,Se],abstractNodes:[],browserContext:L});c().add("Geometry2DComponent",undefined)})();
1
+ /* X_ITE v11.0.6 */
2
+ const e=window[Symbol.for("X_ITE.X3D-11.0.6")];(()=>{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 p(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(p.prototype,o().prototype),Object.defineProperties(p,{typeName:{value:"Arc2DOptions",enumerable:!0}});const c=p,u=d().add("Arc2DOptions",c);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 w=t.n(D);const f=e.Coordinate;var b=t.n(f);const _=e.Complex;var P=t.n(_);function v(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.assign(Object.setPrototypeOf(v.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(w())(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(v,{typeName:{value:"Circle2DOptions",enumerable:!0}});const V=v,S=d().add("Circle2DOptions",V),C=e.X3DGeometryNode;var M=t.n(C);function x(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40)),this.diskTexCoords=M().createArray(),this.diskNormals=M().createArray(),this.diskVertices=M().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,A=d().add("Disk2DOptions",T),F=e.IndexedFaceSet;var j=t.n(F);const I=e.TextureCoordinate;var N=t.n(I);function k(e){o().call(this,e)}Object.assign(Object.setPrototypeOf(k.prototype,o().prototype),{getGeometry(){if(this.geometry)return this.geometry;this.geometry=new(j())(this.getExecutionContext()),this.geometry._texCoord=new(N())(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(k,{typeName:{value:"Rectangle2DOptions",enumerable:!0}});const G=k,R=d().add("Rectangle2DOptions",G),B=e.PrimitiveQuality;var z=t.n(B);function U(){}function L(e,t){const i=new t(this.getPrivateScene());return i.setup(),this[e]=function(){return i},Object.defineProperty(this,e,{enumerable:!1}),i}Object.assign(U.prototype,{initialize(){this.setPrimitiveQuality2D(this.getBrowserOptions().getPrimitiveQuality())},getArc2DOptions(){return L.call(this,"getArc2DOptions",u)},getArcClose2DOptions(){return L.call(this,"getArcClose2DOptions",O)},getCircle2DOptions(){return L.call(this,"getCircle2DOptions",S)},getDisk2DOptions(){return L.call(this,"getDisk2DOptions",A)},getRectangle2DOptions(){return L.call(this,"getRectangle2DOptions",R)},setPrimitiveQuality2D(e){const t=this.getArc2DOptions(),i=this.getArcClose2DOptions(),s=this.getCircle2DOptions(),n=this.getDisk2DOptions();switch(e){case z().LOW:t._dimension=20,i._dimension=20,s._dimension=20,n._dimension=20;break;case z().MEDIUM:t._dimension=40,i._dimension=40,s._dimension=40,n._dimension=40;break;case z().HIGH:t._dimension=80,i._dimension=80,s._dimension=80,n._dimension=80}}});const E=U,X=d().add("X3DGeometry2DContext",E),q=e.X3DFieldDefinition;var Q=t.n(q);const H=e.FieldDefinitionArray;var W=t.n(H);const J=e.X3DNode;var K=t.n(J);const Y=e.X3DLineGeometryNode;var Z=t.n(Y);const $=e.Algorithm;var ee=t.n($);function te(e){Z().call(this,e),this.addType(a().Arc2D),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(te.prototype,Z().prototype),{set_live__(){Z().prototype.set_live__.call(this);const e=this.getBrowser(),t=this.isLive()&&e.getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||t?e.getArc2DOptions().addInterest("requestRebuild",this):e.getArc2DOptions().removeInterest("requestRebuild",this)},getSweepAngle(){const e=ee().interval(this._startAngle.getValue(),0,2*Math.PI),t=ee().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(te,{...K().getStaticProperties("Arc2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new(W())([new(Q())(a().inputOutput,"metadata",new(h().SFNode)),new(Q())(a().initializeOnly,"startAngle",new(h().SFFloat)),new(Q())(a().initializeOnly,"endAngle",new(h().SFFloat)(1.570796)),new(Q())(a().initializeOnly,"radius",new(h().SFFloat)(1))]),enumerable:!0}});const ie=te,se=d().add("Arc2D",ie);function ne(e){M().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(ne.prototype,M().prototype),{set_live__(){M().prototype.set_live__.call(this);const e=this.getBrowser(),t=this.isLive()&&e.getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||t?e.getArcClose2DOptions().addInterest("requestRebuild",this):e.getArcClose2DOptions().removeInterest("requestRebuild",this)},getSweepAngle(){const e=ee().interval(this._startAngle.getValue(),0,2*Math.PI),t=ee().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=[],p=[];this.getMultiTexCoords().push(l);const c=a-1;for(let t=0;t<a;++t){const i=n+r*(t/c);d.push(P().Polar(.5,i).add(e)),p.push(P().Polar(o,i))}if(i){const e=d[0],t=p[0];for(let i=1;i<c;++i){const s=d[i],n=d[i+1],o=p[i],r=p[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<c;++e){const t=d[e],i=d[e+1],s=p[e],n=p[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(ne,{...K().getStaticProperties("ArcClose2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new(W())([new(Q())(a().inputOutput,"metadata",new(h().SFNode)),new(Q())(a().initializeOnly,"closureType",new(h().SFString)("PIE")),new(Q())(a().initializeOnly,"startAngle",new(h().SFFloat)),new(Q())(a().initializeOnly,"endAngle",new(h().SFFloat)(1.570796)),new(Q())(a().initializeOnly,"radius",new(h().SFFloat)(1)),new(Q())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const oe=ne,re=d().add("ArcClose2D",oe);function ae(e){Z().call(this,e),this.addType(a().Circle2D),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(ae.prototype,Z().prototype),{set_live__(){Z().prototype.set_live__.call(this);const e=this.getBrowser(),t=this.isLive()&&e.getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||t?e.getCircle2DOptions().addInterest("requestRebuild",this):e.getCircle2DOptions().removeInterest("requestRebuild",this)},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().getValue();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(ae,{...K().getStaticProperties("Circle2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new(W())([new(Q())(a().inputOutput,"metadata",new(h().SFNode)),new(Q())(a().initializeOnly,"radius",new(h().SFFloat)(1))]),enumerable:!0}});const le=ae,he=d().add("Circle2D",le),ge=e.X3DPointGeometryNode;var de=t.n(ge);function pe(e){Z().call(this,e),this.addType(a().Disk2D),this._innerRadius.setUnit("length"),this._outerRadius.setUnit("length")}Object.assign(Object.setPrototypeOf(pe.prototype,M().prototype),Z().prototype,{set_live__(){M().prototype.set_live__.call(this);const e=this.getBrowser(),t=this.isLive()&&e.getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||t?e.getDisk2DOptions().addInterest("requestRebuild",this):e.getDisk2DOptions().removeInterest("requestRebuild",this)},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,0,0),this.getMax().set(0,0,0),this.setGeometryType(0),this.setPrimitiveMode(t.POINTS),this.setTransparent(!0),this.setSolid(!1),void this.setBase(de());const e=this.getBrowser().getCircle2DOptions().getGeometry();if(1===n)o.assign(e.getVertices());else{const t=e.getVertices().getValue();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(Z())}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(M())}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(M())},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(pe,{...K().getStaticProperties("Disk2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new(W())([new(Q())(a().inputOutput,"metadata",new(h().SFNode)),new(Q())(a().initializeOnly,"innerRadius",new(h().SFFloat)),new(Q())(a().initializeOnly,"outerRadius",new(h().SFFloat)(1)),new(Q())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const ce=pe,ue=d().add("Disk2D",ce);function ye(e){Z().call(this,e),this.addType(a().Polyline2D),this._lineSegments.setUnit("length")}Object.assign(Object.setPrototypeOf(ye.prototype,Z().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(ye,{...K().getStaticProperties("Polyline2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new(W())([new(Q())(a().inputOutput,"metadata",new(h().SFNode)),new(Q())(a().initializeOnly,"lineSegments",new(h().MFVec2f))]),enumerable:!0}});const me=ye,Oe=d().add("Polyline2D",me);function De(e){de().call(this,e),this.addType(a().Polypoint2D),this._point.setUnit("length")}Object.assign(Object.setPrototypeOf(De.prototype,de().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(De,{...K().getStaticProperties("Polypoint2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new(W())([new(Q())(a().inputOutput,"metadata",new(h().SFNode)),new(Q())(a().inputOutput,"point",new(h().MFVec2f))]),enumerable:!0}});const we=De,fe=d().add("Polypoint2D",we),be=e.Vector2;var _e=t.n(be);function Pe(e){M().call(this,e),this.addType(a().Rectangle2D),this.setGeometryType(2),this._size.setUnit("length")}Object.assign(Object.setPrototypeOf(Pe.prototype,M().prototype),{build:(()=>{const e=new(_e())(2,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().getValue();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(Pe,{...K().getStaticProperties("Rectangle2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new(W())([new(Q())(a().inputOutput,"metadata",new(h().SFNode)),new(Q())(a().initializeOnly,"size",new(h().SFVec2f)(2,2)),new(Q())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const ve=Pe,Ve=d().add("Rectangle2D",ve);function Se(e){M().call(this,e),this.addType(a().TriangleSet2D),this.setGeometryType(2),this._vertices.setUnit("length")}Object.assign(Object.setPrototypeOf(Se.prototype,M().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(Se,{...K().getStaticProperties("TriangleSet2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new(W())([new(Q())(a().inputOutput,"metadata",new(h().SFNode)),new(Q())(a().inputOutput,"vertices",new(h().MFVec2f)),new(Q())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const Ce=Se,Me=d().add("TriangleSet2D",Ce);s().add({name:"Geometry2D",concreteNodes:[se,re,he,ue,Oe,fe,Ve,Me],abstractNodes:[],browserContext:X});d().add("Geometry2DComponent",undefined)})();
@@ -1,5 +1,5 @@
1
- /* X_ITE v11.0.4 */
2
- const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.0.4")];
1
+ /* X_ITE v11.0.6 */
2
+ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.0.6")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
5
5
  /******/ // The require scope
@@ -1,2 +1,2 @@
1
- /* X_ITE v11.0.4 */
2
- const e=window[Symbol.for("X_ITE.X3D-11.0.4")];(()=>{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 s=e.Fields;var o=t.n(s);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,t){switch(arguments.length){case 0:this.semiMajorAxis=0,this.semiMinorAxis=0;break;case 2:this.semiMajorAxis=e,this.semiMinorAxis=t;break;case 3:const i=arguments[1];this.semiMajorAxis=e,this.semiMinorAxis=e*(1-1/i)}}Object.assign(y.prototype,{getSemiMajorAxis(){return this.semiMajorAxis},getSemiMinorAxis(){return this.semiMinorAxis},toString(){return`${this.semiMajorAxis} ${this.semiMinorAxis}`}});const m=y,S=O().add("Spheroid3",m),f={AA:new S(6377563.396,299.3249646,!0),AM:new S(6377340.189,299.3249646,!0),AN:new S(6378160,298.25,!0),BN:new S(6377483.865,299.1528128,!0),BR:new S(6377397.155,299.1528128,!0),CC:new S(6378206.4,294.9786982,!0),CD:new S(6378249.145,293.465,!0),EA:new S(6377276.345,300.8017,!0),EB:new S(6377298.556,300.8017,!0),EC:new S(6377301.243,300.8017,!0),ED:new S(6377295.664,300.8017,!0),EE:new S(6377304.063,300.8017,!0),EF:new S(6377309.613,300.8017,!0),FA:new S(6378155,298.3,!0),HE:new S(6378200,298.3,!0),HO:new S(6378270,297,!0),ID:new S(6378160,298.247,!0),IN:new S(6378388,297,!0),KA:new S(6378245,298.3,!0),RF:new S(6378137,298.257222101,!0),SA:new S(6378160,298.25,!0),WD:new S(6378135,298.26,!0),WE:new S(6378137,298.257223563,!0),SUN:new S(696342e3,1/9e-6,!0),MERCURY:new S(2439700,2439700),VENUS:new S(6051800,6051800),MOON:new S(1738140,1735970),MARS:new S(3395428,3377678),JUPITER:new S(71492e3,66854e3),SATURN:new S(60268e3,54364e3),URANUS:new S(2555e3,24973e3),NEPTUNE:new S(24764e3,24341e3),PLUTO:new S(1153e3,1153e3)},b=O().add("ReferenceEllipsoids",f);function F(e,t,i){this.longitudeFirst=!t,this.degrees=!i,this.a=e.getSemiMajorAxis(),this.c=e.getSemiMinorAxis(),this.c2a2=(e.getSemiMinorAxis()/this.a)**2,this.ecc2=1-this.c2a2}Object.assign(F.prototype,{convert(e,t){const i=e.z;if(this.longitudeFirst)var n=e.y,s=e.x;else n=e.x,s=e.y;return this.degrees&&(n*=Math.PI/180,s*=Math.PI/180),this.convertRadians(n,s,i,t)},convertRadians(e,t,i,n){const s=Math.sin(e),o=s**2,r=Math.cos(e),a=this.a/Math.sqrt(1-this.ecc2*o),l=(a+i)*r;return n.set(l*Math.cos(t),l*Math.sin(t),(a*this.c2a2+i)*s)},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,s=e.z,o=Math.sqrt(i*i+n*n);if(0==o)return t.set(Math.PI,0,s-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(s/o/(1-c*d/(d+l)));const i=Math.sin(r);if(d=h/Math.sqrt(1-c*i*i),l=o/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,s=i.y,o=Math.cos(n),r=Math.cos(s)*o,a=Math.sin(s)*o,l=Math.sin(n);return t.set(r,a,l)}});const I=F,v=O().add("Geodetic",I),x=e.Algorithm;var C=t.n(x);const M=1e7,N=5e5,j=.9996;function P(e,t,i,n){const s=e.getSemiMajorAxis(),o=1-(e.getSemiMinorAxis()/s)**2,r=o/(1-o),a=(1-Math.sqrt(1-o))/(1+Math.sqrt(1-o));this.southernHemisphere=!i,this.eastingFirst=!n,this.a=s,this.ecc2=o,this.EE=r,this.E8=8*r,this.E9=9*r,this.E252=252*r,this.e1=a,this.A=j*(s*(1-o/4-3*o*o/64-5*o*o*o/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=s*(1-o),this.W=1-o/4-3*o*o/64-5*o*o*o/256,this.X=3*o/8+3*o*o/32+45*o*o*o/1024,this.Y=15*o*o/256+45*o*o*o/1024,this.Z=35*o*o*o/3072,this.longitude0=C().radians(6*t-183),this.geodeticConverter=new v(e,!0,!0)}Object.assign(P.prototype,{convert(e,t){if(this.eastingFirst)var i=e.y,n=e.x;else i=e.x,n=e.y;let s=this.southernHemisphere;i<0&&(s=!this.southernHemisphere,i=-i),s&&(i-=M),n-=N;const o=i/this.A,r=o+this.B*Math.sin(2*o)+this.C*Math.sin(4*o)+this.D*Math.sin(6*o),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*j),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,m=(5-2*u+28*c-3*g+this.E8+24*p)*w**5/120,S=r-d*h/_*(w*w/2-O+y),f=this.longitude0+(w-(1+2*c+u)*w**3/6+m)/l;return this.geodeticConverter.convertRadians(S,f,e.z,t)},apply(e,t){const i=this.geodeticConverter.applyRadians(e,t),n=i.x,s=i.y,o=Math.tan(n),r=Math.cos(n),a=this.EE,l=this.a/Math.sqrt(1-this.ecc2*Math.sin(n)**2),h=o*o,d=h*h*h,c=a*r*r,p=r*(s-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=j*l*(p+(1-h+c)*p**3/6+(5-18*d+72*c-58*a)*p**5/120)+N;let _=j*(u+l*o*(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?(_+=M,this.southernHemisphere||(_=-_)):this.southernHemisphere&&(_=-_),this.eastingFirst?t.set(g,_,i.z):t.set(_,g,i.z)}});const V=P,z=O().add("UniversalTransverseMercator",V);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.magnitude(),s=t.magnitude();return e.normalize(),t.normalize(),C().simpleSlerp(e,t,i).multiply(C().lerp(n,s,i))}});const T=G,D=O().add("Geocentric",T);let E=0;const k=E++,L=E++,A=E++,B={GD:k,GDC:k,UTM:L,GC:A,GCC:A,GS:A},R=/^Z(\d+)$/,U={GD:k,UTM:L,GC:A,getReferenceFrame(e,t){switch(this.getCoordinateSystem(e)){case k:return new v(this.getEllipsoid(e),this.getLatitudeFirst(e),t);case L:return new z(this.getEllipsoid(e),this.getZone(e),this.getNorthernHemisphere(e),this.getNorthingFirst(e));case A:return new D}return new v(b.WE,!0,t)},getElevationFrame(e,t){return new v(this.getEllipsoid(e),!0,t)},getCoordinateSystem(e){for(const t of e){const e=B[t];if(void 0!==e)return e}return k},getEllipsoid(e){for(const t of e){const e=b[t];if(void 0!==e)return e}return b.WE},getEllipsoidString(e){for(const t of e){if(void 0!==b[t])return t}return"WE"},isStandardOrder(e){switch(this.getCoordinateSystem(e)){case k:return this.getLatitudeFirst(e);case L:return this.getNorthingFirst(e);case A: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",U),W=e.X3DCast;var q=t.n(W);const H=e.Vector3;var Y=t.n(H);const Z=e.Matrix4;var $=t.n(Z);const K=new(Y()),J=new(Y()),Q=new(Y()),ee=new(Y()),te=new(Y()),ie=new(Y());function ne(e){this.addType(_().X3DGeospatialObject),this.radians=!1,this.origin=new(Y()),this.originMatrix=new($()),this.invOriginMatrix=new($())}function se(e,t){return this.invOriginMatrix.multVecMatrix(this.referenceFrame.convert(e,t))}function oe(e,t){return this.referenceFrame.apply(this.originMatrix.multVecMatrix(K.assign(e)),t)}function re(e,t){return this.invOriginMatrix.multDirMatrix(this.elevationFrame.normal(this.originMatrix.multVecMatrix(K.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(Y().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=q()(_().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,0,0),this.set_originMatrix__()},set_originMatrix__(){if(this.geoOriginNode){var e=this.origin;this.elevationFrame.normal(e,te),ee.set(0,0,1).cross(te),ee.equals(Y().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=se,this.getGeoCoord=oe,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(K.assign(e).add(this.origin),t)},getGeoElevation(e){return this.getGeoCoord(e,J).z},getGeoUpVector(e,t){return this.elevationFrame.normal(K.assign(e).add(this.origin),t)},getLocationMatrix(e,t){var 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(Y());return function(t,i){this._point[t]=this.getGeoCoord(i,e)}})(),get1Point:(()=>{const e=new(Y());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,0,0)}})(),addPoint:(()=>{const e=new(Y()),t=new(Y());return function(i,n){if(i<this.length){const s=this.point;i*=3,this.getCoord(e.set(s[i],s[i+1],s[i+2]),t),n.push(t[0],t[1],t[2],1)}else n.push(0,0,0,1)}})(),addPoints:(()=>{const e=new(Y()),t=new(Y());return function(i){const n=this.point,s=3*this.length;for(let o=0;o<s;o+=3)this.getCoord(e.set(n[o],n[o+1],n[o+2]),t),i.push(t[0],t[1],t[2],1);return i}})(),getNormal:(()=>{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,s,o){const r=this.length;return n<r&&s<r&&o<r?pe().normal(this.get1Point(n,e),this.get1Point(s,t),this.get1Point(o,i),new(Y())):new(Y())}})(),getQuadNormal:(()=>{const e=new(Y()),t=new(Y()),i=new(Y()),n=new(Y());return function(s,o,r,a){const l=this.length;return s<l&&o<l&&r<l&&a<l?pe().quadNormal(this.get1Point(s,e),this.get1Point(o,t),this.get1Point(r,i),this.get1Point(a,n),new(Y())):new(Y())}})(),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(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"point",new(o().MFVec3d))]),enumerable:!0}});const ge=ue,_e=O().add("GeoCoordinate",ge),we=e.X3DGeometryNode;var Oe=t.n(we);const ye=e.Vector2;var me=t.n(ye);function Se(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"),this.colorNode=null,this.texCoordNode=null,this.normalNode=null}Object.assign(Object.setPrototypeOf(Se.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._normal.addInterest("set_normal__",this),this.set_color__(),this.set_texCoord__(),this.set_normal__()},set_color__(){this.colorNode?.removeInterest("requestRebuild",this),this.colorNode=q()(_().X3DColorNode,this._color),this.colorNode?.addInterest("requestRebuild",this),this.setTransparent(this.colorNode?.isTransparent())},set_texCoord__(){this.texCoordNode?.removeInterest("requestRebuild",this),this.texCoordNode=q()(_().X3DTextureCoordinateNode,this._texCoord),this.texCoordNode?.addInterest("requestRebuild",this),this.setTextureCoordinate(this.texCoordNode)},set_normal__(){this.normalNode?.removeInterest("requestRebuild",this),this.normalNode=q()(_().X3DNormalNode,this._normal),this.normalNode?.addInterest("requestRebuild",this)},getColor(){return this.colorNode},getTexCoord(){return this.texCoordNode},getNormal(){return this.normalNode},getTangent(){return this.tangentNode},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,s=i-1;for(let o=0;o<i;++o)for(let i=0;i<t;++i)e.push(new(me())(i/n,o/s));return e},createNormals(e,t,i){const n=!this._ccw.getValue(),s=new Map,o=[];for(let t=0;t<e.length;++t)s.set(t,[]);for(let i=0;i<t.length;i+=3){const r=t[i],a=t[i+1],l=t[i+2];s.get(r).push(o.length),s.get(a).push(o.length+1),s.get(l).push(o.length+2);const h=pe().normal(e[r],e[a],e[l],new(Y()));n&&h.negate(),o.push(h),o.push(h),o.push(h)}return this._normalPerVertex.getValue()?this.refineNormals(s,o,i??this._creaseAngle.getValue()):o},createCoordIndex(){const e=[],t=this._xDimension.getValue(),i=t-1,n=this._zDimension.getValue()-1;for(let s=0;s<n;++s)for(let n=0;n<i;++n){const i=s*t+n,o=(s+1)*t+n,r=(s+1)*t+(n+1),a=s*t+(n+1);e.push(i),e.push(r),e.push(o),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(),s=this._zSpacing.getValue();if(this.getStandardOrder())for(let o=0;o<i;++o)for(let i=0;i<t;++i){const r=new(Y())(s*o,n*i,this.getHeight(i+o*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}else for(let o=0;o<i;++o)for(let i=0;i<t;++i){const r=new(Y())(n*i,s*o,this.getHeight(i+o*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(),s=this.getTexCoord(),o=this.getNormal(),r=this.getTangent(),a=this.createPoints(),l=this.getColors(),h=this.getMultiTexCoords(),d=this.getNormals(),c=this.getTangent(),p=this.getVertices();let u=0;if(s)s.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:m,z:S}=a[O];if(n?.addColor(e?O:u,l),s)s.addPoint(O,h);else{const{x:e,y:t}=g[O];_.push(e,t,0,1)}o?.addVector(t?O:u,d),r?.addVector(t?O:u,c),p.push(y,m,S,1)}if(!o){const e=this.createNormals(a,i);for(const{x:t,y:i,z:n}of e)d.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(Se,{...c().getStaticProperties("GeoElevationGrid","Geospatial",1,"geometry","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_height",new(o().MFDouble)),new(a())(_().initializeOnly,"geoGridOrigin",new(o().SFVec3d)),new(a())(_().initializeOnly,"xDimension",new(o().SFInt32)),new(a())(_().initializeOnly,"zDimension",new(o().SFInt32)),new(a())(_().initializeOnly,"xSpacing",new(o().SFDouble)(1)),new(a())(_().initializeOnly,"zSpacing",new(o().SFDouble)(1)),new(a())(_().inputOutput,"yScale",new(o().SFFloat)(1)),new(a())(_().initializeOnly,"solid",new(o().SFBool)(!0)),new(a())(_().initializeOnly,"ccw",new(o().SFBool)(!0)),new(a())(_().initializeOnly,"creaseAngle",new(o().SFDouble)),new(a())(_().initializeOnly,"colorPerVertex",new(o().SFBool)(!0)),new(a())(_().initializeOnly,"normalPerVertex",new(o().SFBool)(!0)),new(a())(_().inputOutput,"color",new(o().SFNode)),new(a())(_().inputOutput,"texCoord",new(o().SFNode)),new(a())(_().inputOutput,"tangent",new(o().SFNode)),new(a())(_().inputOutput,"normal",new(o().SFNode)),new(a())(_().initializeOnly,"height",new(o().MFDouble)(0,0))]),enumerable:!0}});const fe=Se,be=O().add("GeoElevationGrid",fe),Fe=e.X3DChildNode;var Ie=t.n(Fe);const ve=e.X3DBoundedObject;var xe=t.n(ve);const Ce=e.TraverseType;var Me=t.n(Ce);const Ne=e.Group;var je=t.n(Ne);const Pe=e.Inline;var Ve=t.n(Pe);const ze=e.Box3;var Ge=t.n(ze),Te=new(Y());function De(e){Ie().call(this,e),xe().call(this,e),de.call(this,e),this.addType(_().GeoLOD),this._range.setUnit("length"),this.unload=!1,this.rootGroup=new(je())(this.getBrowser().getPrivateScene()),this.rootInline=new(Ve())(e),this.child1Inline=new(Ve())(e),this.child2Inline=new(Ve())(e),this.child3Inline=new(Ve())(e),this.child4Inline=new(Ve())(e),this.childrenLoaded=!1,this.childBBox=new(Ge()),this.keepCurrentLevel=!1,this.modelViewMatrix=new($())}Object.assign(Object.setPrototypeOf(De.prototype,Ie().prototype),xe().prototype,de.prototype,{initialize(){Ie().prototype.initialize.call(this),xe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._rootNode.addFieldInterest(this.rootGroup._children),this.rootGroup._children=this._rootNode,this.rootGroup.setPrivate(!0),this.rootGroup.setup(),this.rootInline._loadState.addInterest("set_rootLoadState__",this),this.child1Inline._loadState.addInterest("set_childLoadState__",this),this.child2Inline._loadState.addInterest("set_childLoadState__",this),this.child3Inline._loadState.addInterest("set_childLoadState__",this),this.child4Inline._loadState.addInterest("set_childLoadState__",this),this._rootUrl.addFieldInterest(this.rootInline._url),this._child1Url.addFieldInterest(this.child1Inline._url),this._child2Url.addFieldInterest(this.child2Inline._url),this._child3Url.addFieldInterest(this.child3Inline._url),this._child4Url.addFieldInterest(this.child4Inline._url),this.rootInline._load=!0,this.child1Inline._load=!1,this.child2Inline._load=!1,this.child3Inline._load=!1,this.child4Inline._load=!1,this.rootInline._url=this._rootUrl,this.child1Inline._url=this._child1Url,this.child2Inline._url=this._child2Url,this.child3Inline._url=this._child3Url,this.child4Inline._url=this._child4Url,this.rootInline.setup(),this.child1Inline.setup(),this.child2Inline.setup(),this.child3Inline.setup(),this.child4Inline.setup()},getBBox(e,t){if(this._bboxSize.getValue().equals(this.getDefaultBBoxSize())){switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:return this._rootNode.length?this.rootGroup.getBBox(e,t):this.rootInline.getBBox(e,t);case 1:{const i=this.childBBox;return e.set(),e.add(this.child1Inline.getBBox(i,t)),e.add(this.child2Inline.getBBox(i,t)),e.add(this.child3Inline.getBBox(i,t)),e.add(this.child4Inline.getBBox(i,t)),e}}return e.set()}return e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},set_rootLoadState__(){0===this._level_changed.getValue()&&(this._rootNode.length||this.rootInline.checkLoadState()===_().COMPLETE_STATE&&(this._children=this.rootInline.getInternalScene().getRootNodes(),this.childrenLoaded=!1))},set_childLoadState__(){if(1===this._level_changed.getValue()){var e=0;if(this.child1Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child1Inline.checkLoadState()!==_().FAILED_STATE||++e,this.child2Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child2Inline.checkLoadState()!==_().FAILED_STATE||++e,this.child3Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child3Inline.checkLoadState()!==_().FAILED_STATE||++e,this.child4Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child4Inline.checkLoadState()!==_().FAILED_STATE||++e,4===e){this.childrenLoaded=!0;var t=this._children;t.length=0;for(var i=0,n=(s=this.child1Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i]);for(i=0,n=(s=this.child2Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i]);for(i=0,n=(s=this.child3Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i]);var s;for(i=0,n=(s=this.child4Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i])}}},set_childCameraObject__(){this.setCameraObject(this.child1Inline.isCameraObject()||this.child2Inline.isCameraObject()||this.child3Inline.isCameraObject()||this.child4Inline.isCameraObject())},set_childPickableObject__(){this.setPickableObject(this.child1Inline.isPickableObject()||this.child2Inline.isPickableObject()||this.child3Inline.isPickableObject()||this.child4Inline.isPickableObject())},getLevel(e){return this.getDistance(e)<this._range.getValue()?1:0},getDistance(e){return e.translate(this.getCoord(this._center.getValue(),Te)),e.origin.magnitude()},traverse(e,t){switch(e){case Me().PICKING:var i=this.getBrowser().getPickingHierarchy();return i.push(this),this.traverseChildren(e,t),void i.pop();case Me().DISPLAY:var n=this.getLevel(this.modelViewMatrix.assign(t.getModelViewMatrix().get()));if(n!==this._level_changed.getValue())switch(this._level_changed=n,n){case 0:this.child1Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child2Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child3Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child4Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child1Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this.child2Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this.child3Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this.child4Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this._rootNode.length?(this.rootGroup._isCameraObject.addFieldInterest(this._isCameraObject),this.rootGroup._isPickableObject.addFieldInterest(this._isPickableObject),this.setCameraObject(this.rootGroup.isCameraObject()),this.setPickableObject(this.rootGroup.isPickableObject()),this._children=this._rootNode,this.childrenLoaded=!1):this.rootInline.checkLoadState()==_().COMPLETE_STATE&&(this.rootInline._isCameraObject.addFieldInterest(this._isCameraObject),this.rootInline._isPickableObject.addFieldInterest(this._isPickableObject),this.setCameraObject(this.rootInline.isCameraObject()),this.setPickableObject(this.rootInline.isPickableObject()),this._children=this.rootInline.getInternalScene().getRootNodes(),this.childrenLoaded=!1),this.unload&&(this.child1Inline._load=!1,this.child2Inline._load=!1,this.child3Inline._load=!1,this.child4Inline._load=!1);break;case 1:this._rootNode.length?(this.rootGroup._isCameraObject.removeFieldInterest(this._isCameraObject),this.rootGroup._isPickableObject.removeFieldInterest(this._isPickableObject)):(this.rootInline._isCameraObject.removeFieldInterest(this._isCameraObject),this.rootInline._isPickableObject.removeFieldInterest(this._isPickableObject)),this.child1Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child2Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child3Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child4Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child1Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.child2Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.child3Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.child4Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.set_childCameraObject__(),this.set_childPickableObject__(),this.child1Inline._load.getValue()?this.set_childLoadState__():(this.child1Inline._load=!0,this.child2Inline._load=!0,this.child3Inline._load=!0,this.child4Inline._load=!0)}return void this.traverseChildren(e,t);default:return void this.traverseChildren(e,t)}},traverseChildren(e,t){switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:this._rootNode.length?this.rootGroup.traverse(e,t):this.rootInline.traverse(e,t);break;case 1:this.child1Inline.traverse(e,t),this.child2Inline.traverse(e,t),this.child3Inline.traverse(e,t),this.child4Inline.traverse(e,t)}},dispose(){de.prototype.dispose.call(this),xe().prototype.dispose.call(this),Ie().prototype.dispose.call(this)}}),Object.defineProperties(De,{...c().getStaticProperties("GeoLOD","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().initializeOnly,"rootUrl",new(o().MFString)),new(a())(_().initializeOnly,"child1Url",new(o().MFString)),new(a())(_().initializeOnly,"child2Url",new(o().MFString)),new(a())(_().initializeOnly,"child3Url",new(o().MFString)),new(a())(_().initializeOnly,"child4Url",new(o().MFString)),new(a())(_().initializeOnly,"center",new(o().SFVec3d)),new(a())(_().initializeOnly,"range",new(o().SFFloat)(10)),new(a())(_().outputOnly,"level_changed",new(o().SFInt32)(-1)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().initializeOnly,"rootNode",new(o().MFNode)),new(a())(_().outputOnly,"children",new(o().MFNode))]),enumerable:!0}});const Ee=De,ke=O().add("GeoLOD",Ee),Le=e.X3DTransformMatrix3DNode;var Ae=t.n(Le),Be=new($());function Re(e){Ae().call(this,e),de.call(this,e),this.addType(_().GeoLocation)}Object.assign(Object.setPrototypeOf(Re.prototype,Ae().prototype),de.prototype,{initialize(){Ae().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.setMatrix(this.getLocationMatrix(this._geoCoords.getValue(),Be))},dispose(){de.prototype.dispose.call(this),Ae().prototype.dispose.call(this)}}),Object.defineProperties(Re,{...c().getStaticProperties("GeoLocation","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(o().SFVec3d)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(o().MFNode)),new(a())(_().inputOnly,"removeChildren",new(o().MFNode)),new(a())(_().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const Ue=Re,Xe=O().add("GeoLocation",Ue),We=e.X3DInfoNode;var qe=t.n(We);const He=e.X3DUrlObject;var Ye=t.n(He);function Ze(e){qe().call(this,e),Ye().call(this,e),this.addType(_().GeoMetadata)}Object.assign(Object.setPrototypeOf(Ze.prototype,qe().prototype),Ye().prototype,{initialize(){qe().prototype.initialize.call(this),Ye().prototype.initialize.call(this)},requestImmediateLoad(e=!0){},dispose(){Ye().prototype.dispose.call(this),qe().prototype.dispose.call(this)}}),Object.defineProperties(Ze,{...c().getStaticProperties("GeoMetadata","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().inputOutput,"load",new(o().SFBool)(!0)),new(a())(_().inputOutput,"url",new(o().MFString)),new(a())(_().inputOutput,"autoRefresh",new(o().SFTime)),new(a())(_().inputOutput,"autoRefreshTimeLimit",new(o().SFTime)(3600)),new(a())(_().inputOutput,"summary",new(o().MFString)),new(a())(_().inputOutput,"data",new(o().MFNode))]),enumerable:!0}});const $e=Ze,Ke=O().add("GeoMetadata",$e);function Je(e){c().call(this,e),this.addType(_().GeoOrigin),this.radians=!1}Object.assign(Object.setPrototypeOf(Je.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(Je,{...c().getStaticProperties("GeoOrigin","Geospatial",1,"geoOrigin","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(o().SFVec3d)),new(a())(_().initializeOnly,"rotateYUp",new(o().SFBool))]),enumerable:!0}});const Qe=Je,et=O().add("GeoOrigin",Qe),tt=e.X3DInterpolatorNode;var it=t.n(tt);function nt(e){it().call(this,e),de.call(this,e),this.addType(_().GeoPositionInterpolator),this._value_changed.setUnit("length"),this.geocentric=new D}Object.assign(Object.setPrototypeOf(nt.prototype,it().prototype),de.prototype,{setup(){de.prototype.initialize.call(this),it().prototype.setup.call(this)},initialize(){it().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(o().SFVec3f))},interpolate:(()=>{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,s,o){this.getCoord(this._keyValue[n].getValue(),e),this.getCoord(this._keyValue[s].getValue(),t);const r=this.geocentric.slerp(e,t,o);this._geovalue_changed=this.getGeoCoord(r,i),this._value_changed=r}})(),dispose(){de.prototype.dispose.call(this),it().prototype.dispose.call(this)}}),Object.defineProperties(nt,{...c().getStaticProperties("GeoPositionInterpolator","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_fraction",new(o().SFFloat)),new(a())(_().inputOutput,"key",new(o().MFFloat)),new(a())(_().inputOutput,"keyValue",new(o().MFVec3d)),new(a())(_().outputOnly,"value_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"geovalue_changed",new(o().SFVec3d))]),enumerable:!0}});const st=nt,ot=O().add("GeoPositionInterpolator",st),rt=e.X3DEnvironmentalSensorNode;var at=t.n(rt);const lt=e.ProximitySensor;var ht=t.n(lt),dt=new(Y());function ct(e){at().call(this,e),de.call(this,e),this.addType(_().GeoProximitySensor),this._position_changed.setUnit("length"),this._centerOfRotation_changed.setUnit("length"),this.proximitySensor=new(ht())(e),this.setCameraObject(this.proximitySensor.isCameraObject()),this.setPickableObject(this.proximitySensor.isPickableObject())}Object.assign(Object.setPrototypeOf(ct.prototype,at().prototype),de.prototype,{initialize(){at().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._isCameraObject.addFieldInterest(this._isCameraObject),this.proximitySensor._isPickableObject.addFieldInterest(this._isPickableObject),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()},set_position__(e){this._geoCoord_changed=this.getGeoCoord(this.proximitySensor._position_changed.getValue(),dt)},traverse(e,t){this.proximitySensor.traverse(e,t)},dispose(){de.prototype.dispose.call(this),at().prototype.dispose.call(this)}}),Object.defineProperties(ct,{...c().getStaticProperties("GeoProximitySensor","Geospatial",2,"children","3.2"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(_().inputOutput,"size",new(o().SFVec3f)),new(a())(_().inputOutput,"center",new(o().SFVec3d)),new(a())(_().inputOutput,"geoCenter",new(o().SFVec3d)),new(a())(_().outputOnly,"isActive",new(o().SFBool)),new(a())(_().outputOnly,"enterTime",new(o().SFTime)),new(a())(_().outputOnly,"exitTime",new(o().SFTime)),new(a())(_().outputOnly,"geoCoord_changed",new(o().SFVec3d)),new(a())(_().outputOnly,"position_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"orientation_changed",new(o().SFRotation)),new(a())(_().outputOnly,"centerOfRotation_changed",new(o().SFVec3f))]),enumerable:!0}});const pt=ct,ut=O().add("GeoProximitySensor",pt),gt=e.X3DTouchSensorNode;var _t=t.n(gt);function wt(e){_t().call(this,e),de.call(this,e),this.addType(_().GeoTouchSensor),this._hitPoint_changed.setUnit("length")}Object.assign(Object.setPrototypeOf(wt.prototype,_t().prototype),de.prototype,{initialize(){_t().prototype.initialize.call(this),de.prototype.initialize.call(this)},set_over__:(()=>{const e=new(Y());return function(t,i,n,s,o){_t().prototype.set_over__.call(this,t,i,n,s,o),this._isOver.getValue()&&(this._hitGeoCoord_changed=this.getGeoCoord(this._hitPoint_changed.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),_t().prototype.dispose.call(this)}}),Object.defineProperties(wt,{...c().getStaticProperties("GeoTouchSensor","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(_().outputOnly,"hitTexCoord_changed",new(o().SFVec2f)),new(a())(_().outputOnly,"hitNormal_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"hitPoint_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"hitGeoCoord_changed",new(o().SFVec3d)),new(a())(_().outputOnly,"isOver",new(o().SFBool)),new(a())(_().outputOnly,"isActive",new(o().SFBool)),new(a())(_().outputOnly,"touchTime",new(o().SFTime))]),enumerable:!0}});const Ot=wt,yt=O().add("GeoTouchSensor",Ot);var mt=new($()),St=new($());function ft(e){Ae().call(this,e),de.call(this,e),this.addType(_().GeoTransform),this._translation.setUnit("length")}Object.assign(Object.setPrototypeOf(ft.prototype,Ae().prototype),de.prototype,{initialize(){Ae().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.getLocationMatrix(this._geoCenter.getValue(),St),mt.set(this._translation.getValue(),this._rotation.getValue(),this._scale.getValue(),this._scaleOrientation.getValue()),this.setMatrix(mt.multRight(St).multLeft(St.inverse()))},dispose(){de.prototype.dispose.call(this),Ae().prototype.dispose.call(this)}}),Object.defineProperties(ft,{...c().getStaticProperties("GeoTransform","Geospatial",2,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"translation",new(o().SFVec3f)),new(a())(_().inputOutput,"rotation",new(o().SFRotation)),new(a())(_().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(a())(_().inputOutput,"scaleOrientation",new(o().SFRotation)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCenter",new(o().SFVec3d)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(o().MFNode)),new(a())(_().inputOnly,"removeChildren",new(o().MFNode)),new(a())(_().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const bt=ft,Ft=O().add("GeoTransform",bt),It=e.X3DViewpointNode;var vt=t.n(It);const xt=e.Viewpoint;var Ct=t.n(xt);const Mt=e.NavigationInfo;var Nt=t.n(Mt);const jt=e.Rotation4;var Pt=t.n(jt);function Vt(e){vt().call(this,e),de.call(this,e),this.addType(_().GeoViewpoint),this.addChildObjects(_().inputOutput,"navType",new(o().MFString)("EXAMINE","ANY"),_().inputOutput,"headlight",new(o().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=zt),this.geoNavigationInfoNode=new(Nt())(e),this.projectionMatrix=new($()),this.elevation=0}function zt(e,t){vt().prototype.traverse.call(this,e,t),this.geoNavigationInfoNode.traverse(e,t)}Object.assign(Object.setPrototypeOf(Vt.prototype,vt().prototype),de.prototype,{initialize(){vt().prototype.initialize.call(this),de.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.logarithmicDepthBuffer=e.HAS_FEATURE_FRAG_DEPTH,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:Ct().prototype.getRelativeTransformation,setInterpolators:Ct().prototype.setInterpolators,getFieldOfView:Ct().prototype.getFieldOfView,setFieldOfView:Ct().prototype.setFieldOfView,getUserFieldOfView:Ct().prototype.getUserFieldOfView,getScreenScale:Ct().prototype.getScreenScale,getViewportSize:Ct().prototype.getViewportSize,getLookAtDistance:Ct().prototype.getLookAtDistance,getProjectionMatrixWithLimits:Ct().prototype.getProjectionMatrixWithLimits,getLogarithmicDepthBuffer(){return this.logarithmicDepthBuffer},getPosition:(()=>{const e=new(Y());return function(){return this.getCoord(this._position.getValue(),e)}})(),setPosition:(()=>{const e=new(Y());return function(t){this._position.setValue(this.getGeoCoord(t,e))}})(),set_position__:(()=>{const e=new(Y());return function(){this.getCoord(this._position.getValue(),e),this.elevation=this.getGeoElevation(e.add(this._positionOffset.getValue()))}})(),getOrientation:(()=>{const e=new($()),t=new(Pt());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(Pt());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(Y());return function(){return this.getCoord(this._centerOfRotation.getValue(),e)}})(),setCenterOfRotation:(()=>{const e=new(Y());return function(t){this._centerOfRotation.setValue(this.getGeoCoord(t,e))}})(),getMaxFarValue:()=>1e9,getUpVector:(()=>{const e=new(Y()),t=new(Y());return function(i=!1){return!i||this.getUserPosition().magnitude()<65e5?(this.getCoord(this._position.getValue(),e),this.getGeoUpVector(e.add(this._positionOffset.getValue()),t)):t.assign(Y().zAxis)}})(),getSpeedFactor(){return(Math.max(this.elevation,0)+10)/10*this._speedFactor.getValue()},dispose(){de.prototype.dispose.call(this),vt().prototype.dispose.call(this)}}),Object.defineProperties(Vt,{...c().getStaticProperties("GeoViewpoint","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_bind",new(o().SFBool)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().inputOutput,"position",new(o().SFVec3d)(0,0,1e5)),new(a())(_().inputOutput,"orientation",new(o().SFRotation)),new(a())(_().inputOutput,"centerOfRotation",new(o().SFVec3d)),new(a())(_().inputOutput,"fieldOfView",new(o().SFFloat)(.785398)),new(a())(_().inputOutput,"nearDistance",new(o().SFFloat)(-1)),new(a())(_().inputOutput,"farDistance",new(o().SFFloat)(-1)),new(a())(_().inputOutput,"viewAll",new(o().SFBool)),new(a())(_().inputOutput,"jump",new(o().SFBool)(!0)),new(a())(_().inputOutput,"retainUserOffsets",new(o().SFBool)),new(a())(_().initializeOnly,"speedFactor",new(o().SFFloat)(1)),new(a())(_().outputOnly,"isBound",new(o().SFBool)),new(a())(_().outputOnly,"bindTime",new(o().SFTime)),new(a())(_().inputOutput,"navigationInfo",new(o().SFNode))]),enumerable:!0}});const Gt=Vt,Tt=O().add("GeoViewpoint",Gt);n().add({name:"Geospatial",concreteNodes:[_e,be,ke,Xe,Ke,et,ot,ut,yt,Ft,Tt],abstractNodes:[de]});O().add("GeospatialComponent",undefined)})();
1
+ /* X_ITE v11.0.6 */
2
+ const e=window[Symbol.for("X_ITE.X3D-11.0.6")];(()=>{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 s=e.Fields;var o=t.n(s);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,t){switch(arguments.length){case 0:this.semiMajorAxis=0,this.semiMinorAxis=0;break;case 2:this.semiMajorAxis=e,this.semiMinorAxis=t;break;case 3:const i=arguments[1];this.semiMajorAxis=e,this.semiMinorAxis=e*(1-1/i)}}Object.assign(y.prototype,{getSemiMajorAxis(){return this.semiMajorAxis},getSemiMinorAxis(){return this.semiMinorAxis},toString(){return`${this.semiMajorAxis} ${this.semiMinorAxis}`}});const m=y,S=O().add("Spheroid3",m),f={AA:new S(6377563.396,299.3249646,!0),AM:new S(6377340.189,299.3249646,!0),AN:new S(6378160,298.25,!0),BN:new S(6377483.865,299.1528128,!0),BR:new S(6377397.155,299.1528128,!0),CC:new S(6378206.4,294.9786982,!0),CD:new S(6378249.145,293.465,!0),EA:new S(6377276.345,300.8017,!0),EB:new S(6377298.556,300.8017,!0),EC:new S(6377301.243,300.8017,!0),ED:new S(6377295.664,300.8017,!0),EE:new S(6377304.063,300.8017,!0),EF:new S(6377309.613,300.8017,!0),FA:new S(6378155,298.3,!0),HE:new S(6378200,298.3,!0),HO:new S(6378270,297,!0),ID:new S(6378160,298.247,!0),IN:new S(6378388,297,!0),KA:new S(6378245,298.3,!0),RF:new S(6378137,298.257222101,!0),SA:new S(6378160,298.25,!0),WD:new S(6378135,298.26,!0),WE:new S(6378137,298.257223563,!0),SUN:new S(696342e3,1/9e-6,!0),MERCURY:new S(2439700,2439700),VENUS:new S(6051800,6051800),MOON:new S(1738140,1735970),MARS:new S(3395428,3377678),JUPITER:new S(71492e3,66854e3),SATURN:new S(60268e3,54364e3),URANUS:new S(2555e3,24973e3),NEPTUNE:new S(24764e3,24341e3),PLUTO:new S(1153e3,1153e3)},b=O().add("ReferenceEllipsoids",f);function F(e,t,i){this.longitudeFirst=!t,this.degrees=!i,this.a=e.getSemiMajorAxis(),this.c=e.getSemiMinorAxis(),this.c2a2=(e.getSemiMinorAxis()/this.a)**2,this.ecc2=1-this.c2a2}Object.assign(F.prototype,{convert(e,t){const i=e.z;if(this.longitudeFirst)var n=e.y,s=e.x;else n=e.x,s=e.y;return this.degrees&&(n*=Math.PI/180,s*=Math.PI/180),this.convertRadians(n,s,i,t)},convertRadians(e,t,i,n){const s=Math.sin(e),o=s**2,r=Math.cos(e),a=this.a/Math.sqrt(1-this.ecc2*o),l=(a+i)*r;return n.set(l*Math.cos(t),l*Math.sin(t),(a*this.c2a2+i)*s)},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,s=e.z,o=Math.sqrt(i*i+n*n);if(0==o)return t.set(Math.PI,0,s-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(s/o/(1-c*d/(d+l)));const i=Math.sin(r);if(d=h/Math.sqrt(1-c*i*i),l=o/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,s=i.y,o=Math.cos(n),r=Math.cos(s)*o,a=Math.sin(s)*o,l=Math.sin(n);return t.set(r,a,l)}});const I=F,v=O().add("Geodetic",I),x=e.Algorithm;var C=t.n(x);const M=1e7,N=5e5,j=.9996;function P(e,t,i,n){const s=e.getSemiMajorAxis(),o=1-(e.getSemiMinorAxis()/s)**2,r=o/(1-o),a=(1-Math.sqrt(1-o))/(1+Math.sqrt(1-o));this.southernHemisphere=!i,this.eastingFirst=!n,this.a=s,this.ecc2=o,this.EE=r,this.E8=8*r,this.E9=9*r,this.E252=252*r,this.e1=a,this.A=j*(s*(1-o/4-3*o*o/64-5*o*o*o/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=s*(1-o),this.W=1-o/4-3*o*o/64-5*o*o*o/256,this.X=3*o/8+3*o*o/32+45*o*o*o/1024,this.Y=15*o*o/256+45*o*o*o/1024,this.Z=35*o*o*o/3072,this.longitude0=C().radians(6*t-183),this.geodeticConverter=new v(e,!0,!0)}Object.assign(P.prototype,{convert(e,t){if(this.eastingFirst)var i=e.y,n=e.x;else i=e.x,n=e.y;let s=this.southernHemisphere;i<0&&(s=!this.southernHemisphere,i=-i),s&&(i-=M),n-=N;const o=i/this.A,r=o+this.B*Math.sin(2*o)+this.C*Math.sin(4*o)+this.D*Math.sin(6*o),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*j),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,m=(5-2*u+28*c-3*g+this.E8+24*p)*w**5/120,S=r-d*h/_*(w*w/2-O+y),f=this.longitude0+(w-(1+2*c+u)*w**3/6+m)/l;return this.geodeticConverter.convertRadians(S,f,e.z,t)},apply(e,t){const i=this.geodeticConverter.applyRadians(e,t),n=i.x,s=i.y,o=Math.tan(n),r=Math.cos(n),a=this.EE,l=this.a/Math.sqrt(1-this.ecc2*Math.sin(n)**2),h=o*o,d=h*h*h,c=a*r*r,p=r*(s-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=j*l*(p+(1-h+c)*p**3/6+(5-18*d+72*c-58*a)*p**5/120)+N;let _=j*(u+l*o*(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?(_+=M,this.southernHemisphere||(_=-_)):this.southernHemisphere&&(_=-_),this.eastingFirst?t.set(g,_,i.z):t.set(_,g,i.z)}});const V=P,z=O().add("UniversalTransverseMercator",V);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.magnitude(),s=t.magnitude();return e.normalize(),t.normalize(),C().simpleSlerp(e,t,i).multiply(C().lerp(n,s,i))}});const T=G,D=O().add("Geocentric",T);let E=0;const k=E++,L=E++,A=E++,B={GD:k,GDC:k,UTM:L,GC:A,GCC:A,GS:A},R=/^Z(\d+)$/,U={GD:k,UTM:L,GC:A,getReferenceFrame(e,t){switch(this.getCoordinateSystem(e)){case k:return new v(this.getEllipsoid(e),this.getLatitudeFirst(e),t);case L:return new z(this.getEllipsoid(e),this.getZone(e),this.getNorthernHemisphere(e),this.getNorthingFirst(e));case A:return new D}return new v(b.WE,!0,t)},getElevationFrame(e,t){return new v(this.getEllipsoid(e),!0,t)},getCoordinateSystem(e){for(const t of e){const e=B[t];if(void 0!==e)return e}return k},getEllipsoid(e){for(const t of e){const e=b[t];if(void 0!==e)return e}return b.WE},getEllipsoidString(e){for(const t of e){if(void 0!==b[t])return t}return"WE"},isStandardOrder(e){switch(this.getCoordinateSystem(e)){case k:return this.getLatitudeFirst(e);case L:return this.getNorthingFirst(e);case A: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",U),W=e.X3DCast;var q=t.n(W);const H=e.Vector3;var Y=t.n(H);const Z=e.Matrix4;var $=t.n(Z);const K=new(Y()),J=new(Y()),Q=new(Y()),ee=new(Y()),te=new(Y()),ie=new(Y());function ne(e){this.addType(_().X3DGeospatialObject),this.radians=!1,this.origin=new(Y()),this.originMatrix=new($()),this.invOriginMatrix=new($())}function se(e,t){return this.invOriginMatrix.multVecMatrix(this.referenceFrame.convert(e,t))}function oe(e,t){return this.referenceFrame.apply(this.originMatrix.multVecMatrix(K.assign(e)),t)}function re(e,t){return this.invOriginMatrix.multDirMatrix(this.elevationFrame.normal(this.originMatrix.multVecMatrix(K.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(Y().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=q()(_().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,0,0),this.set_originMatrix__()},set_originMatrix__(){if(this.geoOriginNode){var e=this.origin;this.elevationFrame.normal(e,te),ee.set(0,0,1).cross(te),ee.equals(Y().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=se,this.getGeoCoord=oe,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(K.assign(e).add(this.origin),t)},getGeoElevation(e){return this.getGeoCoord(e,J).z},getGeoUpVector(e,t){return this.elevationFrame.normal(K.assign(e).add(this.origin),t)},getLocationMatrix(e,t){var 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(Y());return function(t,i){this._point[t]=this.getGeoCoord(i,e)}})(),get1Point:(()=>{const e=new(Y());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,0,0)}})(),addPoint:(()=>{const e=new(Y()),t=new(Y());return function(i,n){if(i<this.length){const s=this.point;i*=3,this.getCoord(e.set(s[i],s[i+1],s[i+2]),t),n.push(t[0],t[1],t[2],1)}else n.push(0,0,0,1)}})(),addPoints:(()=>{const e=new(Y()),t=new(Y());return function(i){const n=this.point,s=3*this.length;for(let o=0;o<s;o+=3)this.getCoord(e.set(n[o],n[o+1],n[o+2]),t),i.push(t[0],t[1],t[2],1);return i}})(),getNormal:(()=>{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,s,o){const r=this.length;return n<r&&s<r&&o<r?pe().normal(this.get1Point(n,e),this.get1Point(s,t),this.get1Point(o,i),new(Y())):new(Y())}})(),getQuadNormal:(()=>{const e=new(Y()),t=new(Y()),i=new(Y()),n=new(Y());return function(s,o,r,a){const l=this.length;return s<l&&o<l&&r<l&&a<l?pe().quadNormal(this.get1Point(s,e),this.get1Point(o,t),this.get1Point(r,i),this.get1Point(a,n),new(Y())):new(Y())}})(),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(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"point",new(o().MFVec3d))]),enumerable:!0}});const ge=ue,_e=O().add("GeoCoordinate",ge),we=e.X3DGeometryNode;var Oe=t.n(we);const ye=e.Vector2;var me=t.n(ye);function Se(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"),this.colorNode=null,this.texCoordNode=null,this.normalNode=null}Object.assign(Object.setPrototypeOf(Se.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._normal.addInterest("set_normal__",this),this.set_color__(),this.set_texCoord__(),this.set_normal__()},set_color__(){this.colorNode?.removeInterest("requestRebuild",this),this.colorNode=q()(_().X3DColorNode,this._color),this.colorNode?.addInterest("requestRebuild",this),this.setTransparent(this.colorNode?.isTransparent())},set_texCoord__(){this.texCoordNode?.removeInterest("requestRebuild",this),this.texCoordNode=q()(_().X3DTextureCoordinateNode,this._texCoord),this.texCoordNode?.addInterest("requestRebuild",this),this.setTextureCoordinate(this.texCoordNode)},set_normal__(){this.normalNode?.removeInterest("requestRebuild",this),this.normalNode=q()(_().X3DNormalNode,this._normal),this.normalNode?.addInterest("requestRebuild",this)},getColor(){return this.colorNode},getTexCoord(){return this.texCoordNode},getNormal(){return this.normalNode},getTangent(){return this.tangentNode},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,s=i-1;for(let o=0;o<i;++o)for(let i=0;i<t;++i)e.push(new(me())(i/n,o/s));return e},createNormals(e,t,i){const n=!this._ccw.getValue(),s=new Map,o=[];for(let t=0;t<e.length;++t)s.set(t,[]);for(let i=0;i<t.length;i+=3){const r=t[i],a=t[i+1],l=t[i+2];s.get(r).push(o.length),s.get(a).push(o.length+1),s.get(l).push(o.length+2);const h=pe().normal(e[r],e[a],e[l],new(Y()));n&&h.negate(),o.push(h),o.push(h),o.push(h)}return this._normalPerVertex.getValue()?this.refineNormals(s,o,i??this._creaseAngle.getValue()):o},createCoordIndex(){const e=[],t=this._xDimension.getValue(),i=t-1,n=this._zDimension.getValue()-1;for(let s=0;s<n;++s)for(let n=0;n<i;++n){const i=s*t+n,o=(s+1)*t+n,r=(s+1)*t+(n+1),a=s*t+(n+1);e.push(i),e.push(r),e.push(o),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(),s=this._zSpacing.getValue();if(this.getStandardOrder())for(let o=0;o<i;++o)for(let i=0;i<t;++i){const r=new(Y())(s*o,n*i,this.getHeight(i+o*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}else for(let o=0;o<i;++o)for(let i=0;i<t;++i){const r=new(Y())(n*i,s*o,this.getHeight(i+o*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(),s=this.getTexCoord(),o=this.getNormal(),r=this.getTangent(),a=this.createPoints(),l=this.getColors(),h=this.getMultiTexCoords(),d=this.getNormals(),c=this.getTangent(),p=this.getVertices();let u=0;if(s)s.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:m,z:S}=a[O];if(n?.addColor(e?O:u,l),s)s.addPoint(O,h);else{const{x:e,y:t}=g[O];_.push(e,t,0,1)}o?.addVector(t?O:u,d),r?.addVector(t?O:u,c),p.push(y,m,S,1)}if(!o){const e=this.createNormals(a,i);for(const{x:t,y:i,z:n}of e)d.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(Se,{...c().getStaticProperties("GeoElevationGrid","Geospatial",1,"geometry","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_height",new(o().MFDouble)),new(a())(_().initializeOnly,"geoGridOrigin",new(o().SFVec3d)),new(a())(_().initializeOnly,"xDimension",new(o().SFInt32)),new(a())(_().initializeOnly,"zDimension",new(o().SFInt32)),new(a())(_().initializeOnly,"xSpacing",new(o().SFDouble)(1)),new(a())(_().initializeOnly,"zSpacing",new(o().SFDouble)(1)),new(a())(_().inputOutput,"yScale",new(o().SFFloat)(1)),new(a())(_().initializeOnly,"solid",new(o().SFBool)(!0)),new(a())(_().initializeOnly,"ccw",new(o().SFBool)(!0)),new(a())(_().initializeOnly,"creaseAngle",new(o().SFDouble)),new(a())(_().initializeOnly,"colorPerVertex",new(o().SFBool)(!0)),new(a())(_().initializeOnly,"normalPerVertex",new(o().SFBool)(!0)),new(a())(_().inputOutput,"color",new(o().SFNode)),new(a())(_().inputOutput,"texCoord",new(o().SFNode)),new(a())(_().inputOutput,"tangent",new(o().SFNode)),new(a())(_().inputOutput,"normal",new(o().SFNode)),new(a())(_().initializeOnly,"height",new(o().MFDouble)(0,0))]),enumerable:!0}});const fe=Se,be=O().add("GeoElevationGrid",fe),Fe=e.X3DChildNode;var Ie=t.n(Fe);const ve=e.X3DBoundedObject;var xe=t.n(ve);const Ce=e.TraverseType;var Me=t.n(Ce);const Ne=e.Group;var je=t.n(Ne);const Pe=e.Inline;var Ve=t.n(Pe);const ze=e.Box3;var Ge=t.n(ze),Te=new(Y());function De(e){Ie().call(this,e),xe().call(this,e),de.call(this,e),this.addType(_().GeoLOD),this._range.setUnit("length"),this.unload=!1,this.rootGroup=new(je())(this.getBrowser().getPrivateScene()),this.rootInline=new(Ve())(e),this.child1Inline=new(Ve())(e),this.child2Inline=new(Ve())(e),this.child3Inline=new(Ve())(e),this.child4Inline=new(Ve())(e),this.childrenLoaded=!1,this.childBBox=new(Ge()),this.keepCurrentLevel=!1,this.modelViewMatrix=new($())}Object.assign(Object.setPrototypeOf(De.prototype,Ie().prototype),xe().prototype,de.prototype,{initialize(){Ie().prototype.initialize.call(this),xe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._rootNode.addFieldInterest(this.rootGroup._children),this.rootGroup._children=this._rootNode,this.rootGroup.setPrivate(!0),this.rootGroup.setup(),this.rootInline._loadState.addInterest("set_rootLoadState__",this),this.child1Inline._loadState.addInterest("set_childLoadState__",this),this.child2Inline._loadState.addInterest("set_childLoadState__",this),this.child3Inline._loadState.addInterest("set_childLoadState__",this),this.child4Inline._loadState.addInterest("set_childLoadState__",this),this._rootUrl.addFieldInterest(this.rootInline._url),this._child1Url.addFieldInterest(this.child1Inline._url),this._child2Url.addFieldInterest(this.child2Inline._url),this._child3Url.addFieldInterest(this.child3Inline._url),this._child4Url.addFieldInterest(this.child4Inline._url),this.rootInline._load=!0,this.child1Inline._load=!1,this.child2Inline._load=!1,this.child3Inline._load=!1,this.child4Inline._load=!1,this.rootInline._url=this._rootUrl,this.child1Inline._url=this._child1Url,this.child2Inline._url=this._child2Url,this.child3Inline._url=this._child3Url,this.child4Inline._url=this._child4Url,this.rootInline.setup(),this.child1Inline.setup(),this.child2Inline.setup(),this.child3Inline.setup(),this.child4Inline.setup()},getBBox(e,t){if(this._bboxSize.getValue().equals(this.getDefaultBBoxSize())){switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:return this._rootNode.length?this.rootGroup.getBBox(e,t):this.rootInline.getBBox(e,t);case 1:{const i=this.childBBox;return e.set(),e.add(this.child1Inline.getBBox(i,t)),e.add(this.child2Inline.getBBox(i,t)),e.add(this.child3Inline.getBBox(i,t)),e.add(this.child4Inline.getBBox(i,t)),e}}return e.set()}return e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},set_rootLoadState__(){0===this._level_changed.getValue()&&(this._rootNode.length||this.rootInline.checkLoadState()===_().COMPLETE_STATE&&(this._children=this.rootInline.getInternalScene().getRootNodes(),this.childrenLoaded=!1))},set_childLoadState__(){if(1===this._level_changed.getValue()){var e=0;if(this.child1Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child1Inline.checkLoadState()!==_().FAILED_STATE||++e,this.child2Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child2Inline.checkLoadState()!==_().FAILED_STATE||++e,this.child3Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child3Inline.checkLoadState()!==_().FAILED_STATE||++e,this.child4Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child4Inline.checkLoadState()!==_().FAILED_STATE||++e,4===e){this.childrenLoaded=!0;var t=this._children;t.length=0;for(var i=0,n=(s=this.child1Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i]);for(i=0,n=(s=this.child2Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i]);for(i=0,n=(s=this.child3Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i]);var s;for(i=0,n=(s=this.child4Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i])}}},set_childCameraObject__(){this.setCameraObject(this.child1Inline.isCameraObject()||this.child2Inline.isCameraObject()||this.child3Inline.isCameraObject()||this.child4Inline.isCameraObject())},set_childPickableObject__(){this.setPickableObject(this.child1Inline.isPickableObject()||this.child2Inline.isPickableObject()||this.child3Inline.isPickableObject()||this.child4Inline.isPickableObject())},getLevel(e){return this.getDistance(e)<this._range.getValue()?1:0},getDistance(e){return e.translate(this.getCoord(this._center.getValue(),Te)),e.origin.magnitude()},traverse(e,t){switch(e){case Me().PICKING:var i=this.getBrowser().getPickingHierarchy();return i.push(this),this.traverseChildren(e,t),void i.pop();case Me().DISPLAY:var n=this.getLevel(this.modelViewMatrix.assign(t.getModelViewMatrix().get()));if(n!==this._level_changed.getValue())switch(this._level_changed=n,n){case 0:this.child1Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child2Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child3Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child4Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child1Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this.child2Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this.child3Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this.child4Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this._rootNode.length?(this.rootGroup._isCameraObject.addFieldInterest(this._isCameraObject),this.rootGroup._isPickableObject.addFieldInterest(this._isPickableObject),this.setCameraObject(this.rootGroup.isCameraObject()),this.setPickableObject(this.rootGroup.isPickableObject()),this._children=this._rootNode,this.childrenLoaded=!1):this.rootInline.checkLoadState()==_().COMPLETE_STATE&&(this.rootInline._isCameraObject.addFieldInterest(this._isCameraObject),this.rootInline._isPickableObject.addFieldInterest(this._isPickableObject),this.setCameraObject(this.rootInline.isCameraObject()),this.setPickableObject(this.rootInline.isPickableObject()),this._children=this.rootInline.getInternalScene().getRootNodes(),this.childrenLoaded=!1),this.unload&&(this.child1Inline._load=!1,this.child2Inline._load=!1,this.child3Inline._load=!1,this.child4Inline._load=!1);break;case 1:this._rootNode.length?(this.rootGroup._isCameraObject.removeFieldInterest(this._isCameraObject),this.rootGroup._isPickableObject.removeFieldInterest(this._isPickableObject)):(this.rootInline._isCameraObject.removeFieldInterest(this._isCameraObject),this.rootInline._isPickableObject.removeFieldInterest(this._isPickableObject)),this.child1Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child2Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child3Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child4Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child1Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.child2Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.child3Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.child4Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.set_childCameraObject__(),this.set_childPickableObject__(),this.child1Inline._load.getValue()?this.set_childLoadState__():(this.child1Inline._load=!0,this.child2Inline._load=!0,this.child3Inline._load=!0,this.child4Inline._load=!0)}return void this.traverseChildren(e,t);default:return void this.traverseChildren(e,t)}},traverseChildren(e,t){switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:this._rootNode.length?this.rootGroup.traverse(e,t):this.rootInline.traverse(e,t);break;case 1:this.child1Inline.traverse(e,t),this.child2Inline.traverse(e,t),this.child3Inline.traverse(e,t),this.child4Inline.traverse(e,t)}},dispose(){de.prototype.dispose.call(this),xe().prototype.dispose.call(this),Ie().prototype.dispose.call(this)}}),Object.defineProperties(De,{...c().getStaticProperties("GeoLOD","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().initializeOnly,"rootUrl",new(o().MFString)),new(a())(_().initializeOnly,"child1Url",new(o().MFString)),new(a())(_().initializeOnly,"child2Url",new(o().MFString)),new(a())(_().initializeOnly,"child3Url",new(o().MFString)),new(a())(_().initializeOnly,"child4Url",new(o().MFString)),new(a())(_().initializeOnly,"center",new(o().SFVec3d)),new(a())(_().initializeOnly,"range",new(o().SFFloat)(10)),new(a())(_().outputOnly,"level_changed",new(o().SFInt32)(-1)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().initializeOnly,"rootNode",new(o().MFNode)),new(a())(_().outputOnly,"children",new(o().MFNode))]),enumerable:!0}});const Ee=De,ke=O().add("GeoLOD",Ee),Le=e.X3DTransformMatrix3DNode;var Ae=t.n(Le),Be=new($());function Re(e){Ae().call(this,e),de.call(this,e),this.addType(_().GeoLocation)}Object.assign(Object.setPrototypeOf(Re.prototype,Ae().prototype),de.prototype,{initialize(){Ae().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.setMatrix(this.getLocationMatrix(this._geoCoords.getValue(),Be))},dispose(){de.prototype.dispose.call(this),Ae().prototype.dispose.call(this)}}),Object.defineProperties(Re,{...c().getStaticProperties("GeoLocation","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(o().SFVec3d)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(o().MFNode)),new(a())(_().inputOnly,"removeChildren",new(o().MFNode)),new(a())(_().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const Ue=Re,Xe=O().add("GeoLocation",Ue),We=e.X3DInfoNode;var qe=t.n(We);const He=e.X3DUrlObject;var Ye=t.n(He);function Ze(e){qe().call(this,e),Ye().call(this,e),this.addType(_().GeoMetadata)}Object.assign(Object.setPrototypeOf(Ze.prototype,qe().prototype),Ye().prototype,{initialize(){qe().prototype.initialize.call(this),Ye().prototype.initialize.call(this)},requestImmediateLoad(e=!0){},dispose(){Ye().prototype.dispose.call(this),qe().prototype.dispose.call(this)}}),Object.defineProperties(Ze,{...c().getStaticProperties("GeoMetadata","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().inputOutput,"load",new(o().SFBool)(!0)),new(a())(_().inputOutput,"url",new(o().MFString)),new(a())(_().inputOutput,"autoRefresh",new(o().SFTime)),new(a())(_().inputOutput,"autoRefreshTimeLimit",new(o().SFTime)(3600)),new(a())(_().inputOutput,"summary",new(o().MFString)),new(a())(_().inputOutput,"data",new(o().MFNode))]),enumerable:!0}});const $e=Ze,Ke=O().add("GeoMetadata",$e);function Je(e){c().call(this,e),this.addType(_().GeoOrigin),this.radians=!1}Object.assign(Object.setPrototypeOf(Je.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(Je,{...c().getStaticProperties("GeoOrigin","Geospatial",1,"geoOrigin","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(o().SFVec3d)),new(a())(_().initializeOnly,"rotateYUp",new(o().SFBool))]),enumerable:!0}});const Qe=Je,et=O().add("GeoOrigin",Qe),tt=e.X3DInterpolatorNode;var it=t.n(tt);function nt(e){it().call(this,e),de.call(this,e),this.addType(_().GeoPositionInterpolator),this._value_changed.setUnit("length"),this.geocentric=new D}Object.assign(Object.setPrototypeOf(nt.prototype,it().prototype),de.prototype,{setup(){de.prototype.initialize.call(this),it().prototype.setup.call(this)},initialize(){it().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(o().SFVec3f))},interpolate:(()=>{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,s,o){this.getCoord(this._keyValue[n].getValue(),e),this.getCoord(this._keyValue[s].getValue(),t);const r=this.geocentric.slerp(e,t,o);this._geovalue_changed=this.getGeoCoord(r,i),this._value_changed=r}})(),dispose(){de.prototype.dispose.call(this),it().prototype.dispose.call(this)}}),Object.defineProperties(nt,{...c().getStaticProperties("GeoPositionInterpolator","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_fraction",new(o().SFFloat)),new(a())(_().inputOutput,"key",new(o().MFFloat)),new(a())(_().inputOutput,"keyValue",new(o().MFVec3d)),new(a())(_().outputOnly,"value_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"geovalue_changed",new(o().SFVec3d))]),enumerable:!0}});const st=nt,ot=O().add("GeoPositionInterpolator",st),rt=e.X3DEnvironmentalSensorNode;var at=t.n(rt);const lt=e.ProximitySensor;var ht=t.n(lt),dt=new(Y());function ct(e){at().call(this,e),de.call(this,e),this.addType(_().GeoProximitySensor),this._position_changed.setUnit("length"),this._centerOfRotation_changed.setUnit("length"),this.proximitySensor=new(ht())(e),this.setCameraObject(this.proximitySensor.isCameraObject()),this.setPickableObject(this.proximitySensor.isPickableObject())}Object.assign(Object.setPrototypeOf(ct.prototype,at().prototype),de.prototype,{initialize(){at().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._isCameraObject.addFieldInterest(this._isCameraObject),this.proximitySensor._isPickableObject.addFieldInterest(this._isPickableObject),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()},set_position__(e){this._geoCoord_changed=this.getGeoCoord(this.proximitySensor._position_changed.getValue(),dt)},traverse(e,t){this.proximitySensor.traverse(e,t)},dispose(){de.prototype.dispose.call(this),at().prototype.dispose.call(this)}}),Object.defineProperties(ct,{...c().getStaticProperties("GeoProximitySensor","Geospatial",2,"children","3.2"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(_().inputOutput,"size",new(o().SFVec3f)),new(a())(_().inputOutput,"center",new(o().SFVec3d)),new(a())(_().inputOutput,"geoCenter",new(o().SFVec3d)),new(a())(_().outputOnly,"isActive",new(o().SFBool)),new(a())(_().outputOnly,"enterTime",new(o().SFTime)),new(a())(_().outputOnly,"exitTime",new(o().SFTime)),new(a())(_().outputOnly,"geoCoord_changed",new(o().SFVec3d)),new(a())(_().outputOnly,"position_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"orientation_changed",new(o().SFRotation)),new(a())(_().outputOnly,"centerOfRotation_changed",new(o().SFVec3f))]),enumerable:!0}});const pt=ct,ut=O().add("GeoProximitySensor",pt),gt=e.X3DTouchSensorNode;var _t=t.n(gt);function wt(e){_t().call(this,e),de.call(this,e),this.addType(_().GeoTouchSensor),this._hitPoint_changed.setUnit("length")}Object.assign(Object.setPrototypeOf(wt.prototype,_t().prototype),de.prototype,{initialize(){_t().prototype.initialize.call(this),de.prototype.initialize.call(this)},set_over__:(()=>{const e=new(Y());return function(t,i,n,s,o){_t().prototype.set_over__.call(this,t,i,n,s,o),this._isOver.getValue()&&(this._hitGeoCoord_changed=this.getGeoCoord(this._hitPoint_changed.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),_t().prototype.dispose.call(this)}}),Object.defineProperties(wt,{...c().getStaticProperties("GeoTouchSensor","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(_().outputOnly,"hitTexCoord_changed",new(o().SFVec2f)),new(a())(_().outputOnly,"hitNormal_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"hitPoint_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"hitGeoCoord_changed",new(o().SFVec3d)),new(a())(_().outputOnly,"isOver",new(o().SFBool)),new(a())(_().outputOnly,"isActive",new(o().SFBool)),new(a())(_().outputOnly,"touchTime",new(o().SFTime))]),enumerable:!0}});const Ot=wt,yt=O().add("GeoTouchSensor",Ot);var mt=new($()),St=new($());function ft(e){Ae().call(this,e),de.call(this,e),this.addType(_().GeoTransform),this._translation.setUnit("length")}Object.assign(Object.setPrototypeOf(ft.prototype,Ae().prototype),de.prototype,{initialize(){Ae().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.getLocationMatrix(this._geoCenter.getValue(),St),mt.set(this._translation.getValue(),this._rotation.getValue(),this._scale.getValue(),this._scaleOrientation.getValue()),this.setMatrix(mt.multRight(St).multLeft(St.inverse()))},dispose(){de.prototype.dispose.call(this),Ae().prototype.dispose.call(this)}}),Object.defineProperties(ft,{...c().getStaticProperties("GeoTransform","Geospatial",2,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"translation",new(o().SFVec3f)),new(a())(_().inputOutput,"rotation",new(o().SFRotation)),new(a())(_().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(a())(_().inputOutput,"scaleOrientation",new(o().SFRotation)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCenter",new(o().SFVec3d)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(o().MFNode)),new(a())(_().inputOnly,"removeChildren",new(o().MFNode)),new(a())(_().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const bt=ft,Ft=O().add("GeoTransform",bt),It=e.X3DViewpointNode;var vt=t.n(It);const xt=e.Viewpoint;var Ct=t.n(xt);const Mt=e.NavigationInfo;var Nt=t.n(Mt);const jt=e.Rotation4;var Pt=t.n(jt);function Vt(e){vt().call(this,e),de.call(this,e),this.addType(_().GeoViewpoint),this.addChildObjects(_().inputOutput,"navType",new(o().MFString)("EXAMINE","ANY"),_().inputOutput,"headlight",new(o().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=zt),this.geoNavigationInfoNode=new(Nt())(e),this.projectionMatrix=new($()),this.elevation=0}function zt(e,t){vt().prototype.traverse.call(this,e,t),this.geoNavigationInfoNode.traverse(e,t)}Object.assign(Object.setPrototypeOf(Vt.prototype,vt().prototype),de.prototype,{initialize(){vt().prototype.initialize.call(this),de.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.logarithmicDepthBuffer=e.HAS_FEATURE_FRAG_DEPTH,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:Ct().prototype.getRelativeTransformation,setInterpolators:Ct().prototype.setInterpolators,getFieldOfView:Ct().prototype.getFieldOfView,setFieldOfView:Ct().prototype.setFieldOfView,getUserFieldOfView:Ct().prototype.getUserFieldOfView,getScreenScale:Ct().prototype.getScreenScale,getViewportSize:Ct().prototype.getViewportSize,getLookAtDistance:Ct().prototype.getLookAtDistance,getProjectionMatrixWithLimits:Ct().prototype.getProjectionMatrixWithLimits,getLogarithmicDepthBuffer(){return this.logarithmicDepthBuffer},getPosition:(()=>{const e=new(Y());return function(){return this.getCoord(this._position.getValue(),e)}})(),setPosition:(()=>{const e=new(Y());return function(t){this._position.setValue(this.getGeoCoord(t,e))}})(),set_position__:(()=>{const e=new(Y());return function(){this.getCoord(this._position.getValue(),e),this.elevation=this.getGeoElevation(e.add(this._positionOffset.getValue()))}})(),getOrientation:(()=>{const e=new($()),t=new(Pt());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(Pt());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(Y());return function(){return this.getCoord(this._centerOfRotation.getValue(),e)}})(),setCenterOfRotation:(()=>{const e=new(Y());return function(t){this._centerOfRotation.setValue(this.getGeoCoord(t,e))}})(),getMaxFarValue:()=>1e9,getUpVector:(()=>{const e=new(Y()),t=new(Y());return function(i=!1){return!i||this.getUserPosition().magnitude()<65e5?(this.getCoord(this._position.getValue(),e),this.getGeoUpVector(e.add(this._positionOffset.getValue()),t)):t.assign(Y().zAxis)}})(),getSpeedFactor(){return(Math.max(this.elevation,0)+10)/10*this._speedFactor.getValue()},dispose(){de.prototype.dispose.call(this),vt().prototype.dispose.call(this)}}),Object.defineProperties(Vt,{...c().getStaticProperties("GeoViewpoint","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_bind",new(o().SFBool)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().inputOutput,"position",new(o().SFVec3d)(0,0,1e5)),new(a())(_().inputOutput,"orientation",new(o().SFRotation)),new(a())(_().inputOutput,"centerOfRotation",new(o().SFVec3d)),new(a())(_().inputOutput,"fieldOfView",new(o().SFFloat)(.785398)),new(a())(_().inputOutput,"nearDistance",new(o().SFFloat)(-1)),new(a())(_().inputOutput,"farDistance",new(o().SFFloat)(-1)),new(a())(_().inputOutput,"viewAll",new(o().SFBool)),new(a())(_().inputOutput,"jump",new(o().SFBool)(!0)),new(a())(_().inputOutput,"retainUserOffsets",new(o().SFBool)),new(a())(_().initializeOnly,"speedFactor",new(o().SFFloat)(1)),new(a())(_().outputOnly,"isBound",new(o().SFBool)),new(a())(_().outputOnly,"bindTime",new(o().SFTime)),new(a())(_().inputOutput,"navigationInfo",new(o().SFNode))]),enumerable:!0}});const Gt=Vt,Tt=O().add("GeoViewpoint",Gt);n().add({name:"Geospatial",concreteNodes:[_e,be,ke,Xe,Ke,et,ot,ut,yt,Ft,Tt],abstractNodes:[de]});O().add("GeospatialComponent",undefined)})();
@@ -1,5 +1,5 @@
1
- /* X_ITE v11.0.4 */
2
- const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.0.4")];
1
+ /* X_ITE v11.0.6 */
2
+ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.0.6")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
5
5
  /******/ // The require scope