x_ite 8.6.11 → 8.6.12

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 (94) hide show
  1. package/dist/assets/components/Annotation.js +13 -13
  2. package/dist/assets/components/Annotation.min.js +1 -1
  3. package/dist/assets/components/CADGeometry.js +21 -45
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +25 -25
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -13
  8. package/dist/assets/components/DIS.min.js +1 -1
  9. package/dist/assets/components/EventUtilities.js +9 -9
  10. package/dist/assets/components/EventUtilities.min.js +1 -1
  11. package/dist/assets/components/Geometry2D.js +19 -19
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +33 -33
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +18 -18
  16. package/dist/assets/components/HAnim.min.js +1 -1
  17. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  18. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  19. package/dist/assets/components/Layout.js +48 -42
  20. package/dist/assets/components/Layout.min.js +1 -1
  21. package/dist/assets/components/NURBS.js +24 -24
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +136 -26
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +132 -22
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +32 -76
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +28 -28
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +24 -24
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjector.js +14 -14
  34. package/dist/assets/components/TextureProjector.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +30 -30
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +19 -19
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +9 -9
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/x_ite.css +1 -1
  42. package/dist/x_ite.js +284 -359
  43. package/dist/x_ite.min.js +1 -1
  44. package/dist/x_ite.zip +0 -0
  45. package/docs/_config.yml +1 -1
  46. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +1 -1
  47. package/docs/_posts/components/Lighting/DirectionalLight.md +4 -4
  48. package/docs/_posts/components/Lighting/EnvironmentLight.md +4 -4
  49. package/docs/_posts/components/Lighting/PointLight.md +4 -4
  50. package/docs/_posts/components/Lighting/SpotLight.md +4 -4
  51. package/docs/_posts/components/Rendering/IndexedLineSet.md +1 -1
  52. package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +1 -1
  53. package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +1 -1
  54. package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +1 -1
  55. package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +1 -1
  56. package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +3 -3
  57. package/docs/_posts/components/X_ITE/BlendMode.md +1 -1
  58. package/docs/_posts/getting-started.md +8 -3
  59. package/docs/_posts/reference/browser-services.md +1 -1
  60. package/docs/_posts/reference/ecmascript-object-and-function-definitions.md +16 -99
  61. package/docs/_posts/what's-new.md +1 -1
  62. package/package.json +3 -3
  63. package/src/lib/jquery.js +6 -1
  64. package/src/standard/Math/Geometry/Box3.js +2 -5
  65. package/src/x_ite/Base/X3DBaseNode.js +8 -0
  66. package/src/x_ite/Base/X3DObject.js +14 -1
  67. package/src/x_ite/Browser/Core/BrowserOptions.js +27 -29
  68. package/src/x_ite/Browser/Core/BrowserTimings.js +2 -16
  69. package/src/x_ite/Browser/Core/X3DCoreContext.js +5 -0
  70. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +3 -3
  71. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +20 -15
  72. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +3 -3
  73. package/src/x_ite/Browser/VERSION.js +1 -1
  74. package/src/x_ite/Browser/X3DBrowser.js +2 -2
  75. package/src/x_ite/Browser/X3DBrowserContext.js +21 -12
  76. package/src/x_ite/Components/CADGeometry/CADFace.js +8 -32
  77. package/src/x_ite/Components/Core/X3DNode.js +1 -1
  78. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +1 -1
  79. package/src/x_ite/Components/Grouping/StaticGroup.js +19 -0
  80. package/src/x_ite/Components/Grouping/Switch.js +7 -25
  81. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +0 -1
  82. package/src/x_ite/Components/Layout/Layout.js +12 -10
  83. package/src/x_ite/Components/Layout/LayoutGroup.js +9 -5
  84. package/src/x_ite/Components/Navigation/LOD.js +7 -25
  85. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +1 -1
  86. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +15 -8
  87. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +7 -29
  88. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +7 -29
  89. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +3 -8
  90. package/src/x_ite/Components/Shape/Shape.js +0 -5
  91. package/src/x_ite/Components/Shape/X3DShapeNode.js +21 -17
  92. package/src/x_ite/Fields/SFNode.js +8 -0
  93. package/src/x_ite/{X3DCanvas.js → X3DCanvasElement.js} +23 -4
  94. package/src/x_ite.js +4 -4
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v8.6.11 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v8.6.12 */(function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
3
  module.exports = factory();
4
4
  else if(typeof define === 'function' && define.amd)
@@ -11,11 +11,11 @@
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 382:
14
+ /***/ 310:
15
15
  /***/ (function(module, exports, __webpack_require__) {
16
16
 
17
17
  "use strict";
18
- /* provided dependency */ var jQuery = __webpack_require__(2);
18
+ /* provided dependency */ var jQuery = __webpack_require__(29);
19
19
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;
20
20
 
21
21
  /**
@@ -387,10 +387,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;
387
387
 
388
388
  /***/ }),
389
389
 
390
- /***/ 440:
390
+ /***/ 704:
391
391
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
392
392
 
393
- /* provided dependency */ var jQuery = __webpack_require__(2);
393
+ /* provided dependency */ var jQuery = __webpack_require__(29);
394
394
  /**
395
395
  * @preserve jquery.fullscreen 1.1.5
396
396
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -586,7 +586,7 @@ installFullScreenHandlers();
586
586
 
587
587
  /***/ }),
588
588
 
589
- /***/ 11:
589
+ /***/ 556:
590
590
  /***/ ((module, exports, __webpack_require__) => {
591
591
 
592
592
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -600,7 +600,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
600
600
  (function (factory) {
601
601
  if ( true ) {
602
602
  // AMD. Register as an anonymous module.
603
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
603
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(29)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
604
604
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
605
605
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
606
606
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -811,7 +811,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
811
811
 
812
812
  /***/ }),
813
813
 
814
- /***/ 2:
814
+ /***/ 29:
815
815
  /***/ (function(module, exports) {
816
816
 
817
817
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11812,7 +11812,7 @@ return jQuery;
11812
11812
 
11813
11813
  /***/ }),
11814
11814
 
11815
- /***/ 735:
11815
+ /***/ 496:
11816
11816
  /***/ ((module) => {
11817
11817
 
11818
11818
  /**
@@ -16591,7 +16591,7 @@ if (true) {
16591
16591
 
16592
16592
  /***/ }),
16593
16593
 
16594
- /***/ 250:
16594
+ /***/ 973:
16595
16595
  /***/ (function(__unused_webpack_module, exports) {
16596
16596
 
16597
16597
 
@@ -19836,7 +19836,7 @@ if (true) {
19836
19836
 
19837
19837
  /***/ }),
19838
19838
 
19839
- /***/ 423:
19839
+ /***/ 414:
19840
19840
  /***/ (function(module, exports) {
19841
19841
 
19842
19842
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -21849,7 +21849,8 @@ x_ite_Namespace.set ("standard/Utility/MapUtilities", MapUtilities_default_);
21849
21849
  const
21850
21850
  _name = Symbol (),
21851
21851
  _interests = Symbol (),
21852
- _values = Symbol ();
21852
+ _values = Symbol (),
21853
+ _userData = Symbol ();
21853
21854
 
21854
21855
  function X3DObject () { }
21855
21856
 
@@ -21859,6 +21860,7 @@ X3DObject .prototype =
21859
21860
  [_name]: "",
21860
21861
  [_interests]: new Map (),
21861
21862
  [_values]: [ ],
21863
+ [_userData]: new Map (),
21862
21864
  getId: function ()
21863
21865
  {
21864
21866
  return X3DObject .getId (this);
@@ -21920,6 +21922,17 @@ X3DObject .prototype =
21920
21922
  interest ();
21921
21923
  }
21922
21924
  },
21925
+ getUserData: function (key)
21926
+ {
21927
+ return this [_userData] .get (key);
21928
+ },
21929
+ setUserData: function (key, value)
21930
+ {
21931
+ if (this [_userData] === X3DObject .prototype [_userData])
21932
+ this [_userData] = new Map ();
21933
+
21934
+ this [_userData] .set (key, value);
21935
+ },
21923
21936
  toString: function (options = Object .prototype)
21924
21937
  {
21925
21938
  const generator = new InputOutput_Generator (options);
@@ -30544,6 +30557,14 @@ SFNode .prototype = Object .assign (Object .create (Base_X3DField.prototype),
30544
30557
  if (value)
30545
30558
  value .removeCloneCount (count);
30546
30559
  },
30560
+ getNodeUserData: function (key)
30561
+ {
30562
+ return this [_target] .getValue () .getUserData (key);
30563
+ },
30564
+ setNodeUserData: function (key, value)
30565
+ {
30566
+ this [_target] .getValue () .setUserData (key, value);
30567
+ },
30547
30568
  valueOf: function ()
30548
30569
  {
30549
30570
  const
@@ -34450,6 +34471,14 @@ X3DBaseNode .prototype = Object .assign (Object .create (Base_X3DEventObject.pro
34450
34471
  {
34451
34472
  return this;
34452
34473
  },
34474
+ beginUpdate: function ()
34475
+ {
34476
+ this .setLive (true);
34477
+ },
34478
+ endUpdate: function ()
34479
+ {
34480
+ this .setLive (false);
34481
+ },
34453
34482
  isLive: (function ()
34454
34483
  {
34455
34484
  function isLive ()
@@ -34956,7 +34985,7 @@ x_ite_Namespace.set ("x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34956
34985
  *
34957
34986
  ******************************************************************************/
34958
34987
 
34959
- const VERSION_default_ = "8.6.11";
34988
+ const VERSION_default_ = "8.6.12";
34960
34989
  ;
34961
34990
 
34962
34991
  x_ite_Namespace.set ("x_ite/Browser/VERSION", VERSION_default_);
@@ -35860,7 +35889,7 @@ const gettext_default_ = gettext;
35860
35889
  x_ite_Namespace.set ("locale/gettext", gettext_default_);
35861
35890
  /* harmony default export */ const locale_gettext = (gettext_default_);
35862
35891
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
35863
- /* provided dependency */ var $ = __webpack_require__(2);
35892
+ /* provided dependency */ var $ = __webpack_require__(29);
35864
35893
  /*******************************************************************************
35865
35894
  *
35866
35895
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -35917,7 +35946,6 @@ function BrowserTimings (executionContext)
35917
35946
  Base_X3DBaseNode.call (this, executionContext);
35918
35947
 
35919
35948
  this .localStorage = this .getBrowser () .getLocalStorage () .addNameSpace ("BrowserTimings.");
35920
- this .enabled = false;
35921
35949
  this .fps = new Time_StopWatch ();
35922
35950
  this .localeOptions = { minimumFractionDigits: 2, maximumFractionDigits: 2 };
35923
35951
  }
@@ -35941,7 +35969,7 @@ BrowserTimings .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
35941
35969
  {
35942
35970
  Base_X3DBaseNode.prototype.initialize.call (this);
35943
35971
 
35944
- this .getBrowser () .getBrowserOptions () ._ContextMenu .addInterest ("set_enabled__", this);
35972
+ this .getBrowser () .getBrowserOptions () ._Timings .addInterest ("set_enabled__", this);
35945
35973
 
35946
35974
  this .localStorage .addDefaultValues ({ type: "LESS" });
35947
35975
 
@@ -35957,22 +35985,9 @@ BrowserTimings .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
35957
35985
 
35958
35986
  this .set_button__ ();
35959
35987
  },
35960
- getEnabled: function ()
35961
- {
35962
- return this .enabled;
35963
- },
35964
- setEnabled: function (enabled)
35965
- {
35966
- if (this .enabled === enabled)
35967
- return;
35968
-
35969
- this .enabled = enabled;
35970
-
35971
- this .set_enabled__ ();
35972
- },
35973
35988
  set_enabled__: function ()
35974
35989
  {
35975
- if (this .enabled && this .getBrowser () .getBrowserOption ("ContextMenu"))
35990
+ if (this .getBrowser () .getBrowserOption ("Timings"))
35976
35991
  {
35977
35992
  this .element .stop (true, true) .fadeIn ();
35978
35993
  this .fps .reset ();
@@ -36292,6 +36307,7 @@ const TextureQuality_default_ = TextureQuality;
36292
36307
  x_ite_Namespace.set ("x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
36293
36308
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
36294
36309
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
36310
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(29);
36295
36311
  /*******************************************************************************
36296
36312
  *
36297
36313
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36385,6 +36401,7 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36385
36401
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "LogarithmicDepthBuffer", new x_ite_Fields.SFBool ()),
36386
36402
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "Notifications", new x_ite_Fields.SFBool (true)),
36387
36403
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "Multisampling", new x_ite_Fields.SFInt32 (4)),
36404
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "OptimizeStaticGroup", new x_ite_Fields.SFBool (true)),
36388
36405
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "StraightenHorizon", new x_ite_Fields.SFBool (true)),
36389
36406
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "Timings", new x_ite_Fields.SFBool ()),
36390
36407
  ]),
@@ -36427,7 +36444,7 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36427
36444
  },
36428
36445
  configure: (function ()
36429
36446
  {
36430
- const globals = new Set ([
36447
+ const attributes = new Set ([
36431
36448
  "Antialiased",
36432
36449
  "Cache",
36433
36450
  "ContentScale",
@@ -36438,6 +36455,14 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36438
36455
  "SplashScreen",
36439
36456
  ]);
36440
36457
 
36458
+ const restorable = new Set ([
36459
+ "PrimitiveQuality",
36460
+ "Rubberband",
36461
+ "StraightenHorizon",
36462
+ "TextureQuality",
36463
+ "Timings",
36464
+ ]);
36465
+
36441
36466
  return function ()
36442
36467
  {
36443
36468
  const
@@ -36446,15 +36471,28 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36446
36471
 
36447
36472
  for (const { name, value } of this .getFieldDefinitions ())
36448
36473
  {
36449
- if (globals .has (name))
36474
+ if (attributes .has (name))
36450
36475
  {
36451
- const attribute = name [0] .toLowerCase () + name .slice (1);
36452
- browser .attributeChangedCallback (attribute, null, browser .getElement () .attr (name));
36476
+ const
36477
+ attribute = BrowserOptions_$.toLowerCaseFirst (name),
36478
+ value = browser .getElement () .attr (attribute);
36479
+
36480
+ browser .attributeChangedCallback (attribute, null, value);
36481
+
36453
36482
  continue;
36454
36483
  }
36455
36484
 
36456
- if (localStorage [name] !== undefined)
36485
+ if (restorable .has (name))
36486
+ {
36487
+ const
36488
+ value = localStorage [name],
36489
+ field = this .getField (name);
36490
+
36491
+ if (value !== field .getValue ())
36492
+ field .setValue (value);
36493
+
36457
36494
  continue;
36495
+ }
36458
36496
 
36459
36497
  const field = this .getField (name);
36460
36498
 
@@ -36463,28 +36501,6 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36463
36501
 
36464
36502
  field .assign (value);
36465
36503
  }
36466
-
36467
- const
36468
- rubberband = localStorage .Rubberband,
36469
- primitiveQuality = localStorage .PrimitiveQuality,
36470
- textureQuality = localStorage .TextureQuality,
36471
- straightenHorizon = localStorage .StraightenHorizon,
36472
- timings = localStorage .Timings;
36473
-
36474
- if (rubberband !== this ._Rubberband .getValue ())
36475
- this ._Rubberband = rubberband;
36476
-
36477
- if (primitiveQuality !== this ._PrimitiveQuality .getValue ())
36478
- this ._PrimitiveQuality = primitiveQuality;
36479
-
36480
- if (textureQuality !== this ._TextureQuality .getValue ())
36481
- this ._TextureQuality = textureQuality;
36482
-
36483
- if (straightenHorizon !== this ._StraightenHorizon .getValue ())
36484
- this ._StraightenHorizon = straightenHorizon;
36485
-
36486
- if (timings !== this ._Timings .getValue ())
36487
- this ._Timings = timings;
36488
36504
  };
36489
36505
  })(),
36490
36506
  getPrimitiveQuality: function ()
@@ -36617,8 +36633,6 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36617
36633
  set_timings__: function (timings)
36618
36634
  {
36619
36635
  this .localStorage .Timings = timings .getValue ();
36620
-
36621
- this .getBrowser () .getBrowserTimings () .setEnabled (timings .getValue ());
36622
36636
  },
36623
36637
  });
36624
36638
 
@@ -36828,7 +36842,7 @@ const RenderingProperties_default_ = RenderingProperties;
36828
36842
  x_ite_Namespace.set ("x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
36829
36843
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
36830
36844
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
36831
- /* provided dependency */ var Notification_$ = __webpack_require__(2);
36845
+ /* provided dependency */ var Notification_$ = __webpack_require__(29);
36832
36846
  /*******************************************************************************
36833
36847
  *
36834
36848
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36950,8 +36964,8 @@ const Notification_default_ = Notification;
36950
36964
  x_ite_Namespace.set ("x_ite/Browser/Core/Notification", Notification_default_);
36951
36965
  /* harmony default export */ const Core_Notification = (Notification_default_);
36952
36966
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
36953
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(440);
36954
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(2);
36967
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(704);
36968
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(29);
36955
36969
  /*******************************************************************************
36956
36970
  *
36957
36971
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -38539,7 +38553,7 @@ X3DNode .prototype = Object .assign (Object .create (Base_X3DBaseNode.prototype)
38539
38553
  case Base_X3DConstants.SFNode:
38540
38554
  case Base_X3DConstants.MFNode:
38541
38555
  {
38542
- generator .PushContainerField (field);
38556
+ generator .PushContainerField (null);
38543
38557
 
38544
38558
  generator .string += ">";
38545
38559
  generator .string += generator .TidyBreak ();
@@ -40523,7 +40537,7 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40523
40537
  {
40524
40538
  if (field .getValue () !== null)
40525
40539
  {
40526
- generator .PushContainerField (field);
40540
+ generator .PushContainerField (null);
40527
40541
 
40528
40542
  generator .string += generator .Indent ();
40529
40543
  generator .string += "<fieldValue";
@@ -41939,7 +41953,7 @@ const X3DUrlObject_default_ = X3DUrlObject;
41939
41953
  x_ite_Namespace.set ("x_ite/Components/Networking/X3DUrlObject", X3DUrlObject_default_);
41940
41954
  /* harmony default export */ const Networking_X3DUrlObject = (X3DUrlObject_default_);
41941
41955
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
41942
- /* provided dependency */ var X3DParser_$ = __webpack_require__(2);
41956
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(29);
41943
41957
  /*******************************************************************************
41944
41958
  *
41945
41959
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -45116,7 +45130,7 @@ const VRMLParser_default_ = VRMLParser;
45116
45130
  x_ite_Namespace.set ("x_ite/Parser/VRMLParser", VRMLParser_default_);
45117
45131
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
45118
45132
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
45119
- /* provided dependency */ var XMLParser_$ = __webpack_require__(2);
45133
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(29);
45120
45134
  /*******************************************************************************
45121
45135
  *
45122
45136
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47159,7 +47173,7 @@ const URLs_default_ = URLs;
47159
47173
  x_ite_Namespace.set ("x_ite/Browser/Networking/URLs", URLs_default_);
47160
47174
  /* harmony default export */ const Networking_URLs = (URLs_default_);
47161
47175
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
47162
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(2);
47176
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(29);
47163
47177
  /*******************************************************************************
47164
47178
  *
47165
47179
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -49604,7 +49618,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
49604
49618
  x_ite_Namespace.set ("x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
49605
49619
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
49606
49620
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
49607
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(2);
49621
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(29);
49608
49622
  /*******************************************************************************
49609
49623
  *
49610
49624
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -49757,7 +49771,7 @@ const GLB2Parser_default_ = GLB2Parser;
49757
49771
  x_ite_Namespace.set ("x_ite/Parser/GLB2Parser", GLB2Parser_default_);
49758
49772
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
49759
49773
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
49760
- /* provided dependency */ var OBJParser_$ = __webpack_require__(2);
49774
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(29);
49761
49775
  /*******************************************************************************
49762
49776
  *
49763
49777
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -52210,8 +52224,8 @@ const MatrixStack_default_ = MatrixStack;
52210
52224
  x_ite_Namespace.set ("standard/Math/Utility/MatrixStack", MatrixStack_default_);
52211
52225
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
52212
52226
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
52213
- /* provided dependency */ var SVGParser_$ = __webpack_require__(2);
52214
- /* provided dependency */ var libtess = __webpack_require__(735);
52227
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(29);
52228
+ /* provided dependency */ var libtess = __webpack_require__(496);
52215
52229
  /*******************************************************************************
52216
52230
  *
52217
52231
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -54980,7 +54994,7 @@ const SVGParser_default_ = SVGParser;
54980
54994
  x_ite_Namespace.set ("x_ite/Parser/SVGParser", SVGParser_default_);
54981
54995
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
54982
54996
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
54983
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(2);
54997
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(29);
54984
54998
  /*******************************************************************************
54985
54999
  *
54986
55000
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -55309,7 +55323,7 @@ const Plane3_default_ = Plane3;
55309
55323
  x_ite_Namespace.set ("standard/Math/Geometry/Plane3", Plane3_default_);
55310
55324
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
55311
55325
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
55312
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(735);
55326
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(496);
55313
55327
  /*******************************************************************************
55314
55328
  *
55315
55329
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -56703,11 +56717,8 @@ Box3 .prototype =
56703
56717
  p2 = r1 .subtract (x),
56704
56718
  p3 = r2 .subtract (x);
56705
56719
 
56706
- min .assign (p1);
56707
- max .assign (p1);
56708
-
56709
- min .min (p2, p3, p4);
56710
- max .max (p2, p3, p4);
56720
+ min .assign (p1) .min (p2, p3, p4);
56721
+ max .assign (p1) .max (p2, p3, p4);
56711
56722
 
56712
56723
  p1 .negate ();
56713
56724
  p2 .negate ();
@@ -62611,7 +62622,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
62611
62622
  x_ite_Namespace.set ("x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
62612
62623
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
62613
62624
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
62614
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(2);
62625
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(29);
62615
62626
  /*******************************************************************************
62616
62627
  *
62617
62628
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -65153,7 +65164,7 @@ X3DViewpointNode .prototype = Object .assign (Object .create (Core_X3DBindableNo
65153
65164
  {
65154
65165
  bbox = bbox .copy () .multRight (Numbers_Matrix4.inverse (this .getModelMatrix ()));
65155
65166
 
65156
- const minDistance = layerNode .getNavigationInfo () .getNearValue () * 2;
65167
+ const minDistance = Math .max (layerNode .getNavigationInfo () .getNearValue () * 2, this .getLookAtDistance (bbox));
65157
65168
 
65158
65169
  this .lookAt (layerNode, bbox .center, minDistance, factor, straighten);
65159
65170
  },
@@ -65586,7 +65597,6 @@ X3DBoundedObject .prototype =
65586
65597
  const modelViewMatrix = renderObject .getModelViewMatrix ();
65587
65598
 
65588
65599
  this .getBBox (bbox);
65589
-
65590
65600
  matrix .set (bbox .center, null, bbox .size);
65591
65601
 
65592
65602
  modelViewMatrix .push ();
@@ -66907,7 +66917,7 @@ const X3DWorld_default_ = X3DWorld;
66907
66917
  x_ite_Namespace.set ("x_ite/Execution/X3DWorld", X3DWorld_default_);
66908
66918
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
66909
66919
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
66910
- /* provided dependency */ var FileLoader_$ = __webpack_require__(2);
66920
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(29);
66911
66921
  /*******************************************************************************
66912
66922
  *
66913
66923
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -69081,7 +69091,7 @@ const X3DExecutionContext_default_ = X3DExecutionContext;
69081
69091
  x_ite_Namespace.set ("x_ite/Execution/X3DExecutionContext", X3DExecutionContext_default_);
69082
69092
  /* harmony default export */ const Execution_X3DExecutionContext = (X3DExecutionContext_default_);
69083
69093
  ;// CONCATENATED MODULE: ./src/x_ite/Configuration/ComponentInfo.js
69084
- /* provided dependency */ var ComponentInfo_$ = __webpack_require__(2);
69094
+ /* provided dependency */ var ComponentInfo_$ = __webpack_require__(29);
69085
69095
  /*******************************************************************************
69086
69096
  *
69087
69097
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -71052,7 +71062,7 @@ const DataStorage_default_ = DataStorage;
71052
71062
  x_ite_Namespace.set ("standard/Utility/DataStorage", DataStorage_default_);
71053
71063
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
71054
71064
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
71055
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(2);
71065
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(29);
71056
71066
  /*******************************************************************************
71057
71067
  *
71058
71068
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -71380,6 +71390,11 @@ X3DCoreContext .prototype =
71380
71390
  this .loadURL (new x_ite_Fields.MFString (newValue), new x_ite_Fields.MFString ());
71381
71391
  break;
71382
71392
  }
71393
+ case "timings":
71394
+ {
71395
+ this .setBrowserOption ("Timings", this .parseBooleanAttribute (newValue, false));
71396
+ break;
71397
+ }
71383
71398
  case "url":
71384
71399
  {
71385
71400
  this .loadURL (this .parseUrlAttribute (newValue), new x_ite_Fields.MFString ());
@@ -74304,15 +74319,15 @@ X3DShapeNode .prototype = Object .assign (Object .create (Core_X3DChildNode.prot
74304
74319
  Core_X3DChildNode.prototype.initialize.call (this);
74305
74320
  Grouping_X3DBoundedObject.prototype.initialize.call (this);
74306
74321
 
74307
- this ._bboxSize .addInterest ("set_bbox__", this);
74308
- this ._bboxCenter .addInterest ("set_bbox__", this);
74309
- this ._appearance .addInterest ("set_apparance__", this);
74310
- this ._geometry .addInterest ("set_geometry__", this);
74322
+ this ._bboxSize .addInterest ("set_bbox__", this);
74323
+ this ._bboxCenter .addInterest ("set_bbox__", this);
74324
+ this ._appearance .addInterest ("set_appearance__", this);
74325
+ this ._geometry .addInterest ("set_geometry__", this);
74311
74326
 
74312
74327
  this ._appearance .addInterest ("set_transparent__", this);
74313
74328
  this ._geometry .addInterest ("set_transparent__", this);
74314
74329
 
74315
- this .set_apparance__ ();
74330
+ this .set_appearance__ ();
74316
74331
  this .set_geometry__ ();
74317
74332
  this .set_transparent__ ();
74318
74333
  },
@@ -74340,7 +74355,7 @@ X3DShapeNode .prototype = Object .assign (Object .create (Core_X3DChildNode.prot
74340
74355
  },
74341
74356
  getAppearance: function ()
74342
74357
  {
74343
- return this .apparanceNode;
74358
+ return this .appearanceNode;
74344
74359
  },
74345
74360
  getGeometry: function ()
74346
74361
  {
@@ -74365,25 +74380,29 @@ X3DShapeNode .prototype = Object .assign (Object .create (Core_X3DChildNode.prot
74365
74380
  this .bbox .set ();
74366
74381
  }
74367
74382
  else
74383
+ {
74368
74384
  this .bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
74385
+ }
74369
74386
 
74370
74387
  this .bboxSize .assign (this .bbox .size);
74371
74388
  this .bboxCenter .assign (this .bbox .center);
74372
74389
  },
74373
- set_apparance__: function ()
74390
+ set_appearance__: function ()
74374
74391
  {
74375
- if (this .apparanceNode)
74376
- this .apparanceNode ._transparent .removeInterest ("set_transparent__", this);
74392
+ if (this .appearanceNode)
74393
+ this .appearanceNode ._transparent .removeInterest ("set_transparent__", this);
74377
74394
 
74378
- this .apparanceNode = Base_X3DCast (Base_X3DConstants.X3DAppearanceNode, this ._appearance);
74395
+ this .appearanceNode = Base_X3DCast (Base_X3DConstants.X3DAppearanceNode, this ._appearance);
74379
74396
 
74380
- if (this .apparanceNode)
74397
+ if (this .appearanceNode)
74381
74398
  {
74382
- this .apparanceNode ._alphaMode .addInterest ("set_transparent__", this);
74383
- this .apparanceNode ._transparent .addInterest ("set_transparent__", this);
74399
+ this .appearanceNode ._alphaMode .addInterest ("set_transparent__", this);
74400
+ this .appearanceNode ._transparent .addInterest ("set_transparent__", this);
74384
74401
  }
74385
74402
  else
74386
- this .apparanceNode = this .getBrowser () .getDefaultAppearance ();
74403
+ {
74404
+ this .appearanceNode = this .getBrowser () .getDefaultAppearance ();
74405
+ }
74387
74406
  },
74388
74407
  set_geometry__: function ()
74389
74408
  {
@@ -74405,13 +74424,13 @@ X3DShapeNode .prototype = Object .assign (Object .create (Core_X3DChildNode.prot
74405
74424
  },
74406
74425
  set_transparent__: function ()
74407
74426
  {
74408
- if (this .apparanceNode .getAlphaMode () === Shape_AlphaMode.AUTO)
74427
+ if (this .appearanceNode .getAlphaMode () === Shape_AlphaMode.AUTO)
74409
74428
  {
74410
- this .transparent = !!(this .apparanceNode .isTransparent () || this .geometryNode?.isTransparent ());
74429
+ this .transparent = !!(this .appearanceNode .isTransparent () || this .geometryNode?.isTransparent ());
74411
74430
  }
74412
74431
  else
74413
74432
  {
74414
- this .transparent = this .apparanceNode .isTransparent ();
74433
+ this .transparent = this .appearanceNode .isTransparent ();
74415
74434
  }
74416
74435
  },
74417
74436
  dispose: function ()
@@ -74426,119 +74445,6 @@ const X3DShapeNode_default_ = X3DShapeNode;
74426
74445
 
74427
74446
  x_ite_Namespace.set ("x_ite/Components/Shape/X3DShapeNode", X3DShapeNode_default_);
74428
74447
  /* harmony default export */ const Shape_X3DShapeNode = (X3DShapeNode_default_);
74429
- ;// CONCATENATED MODULE: ./src/standard/Math/Algorithms/QuickSort.js
74430
- /*******************************************************************************
74431
- *
74432
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
74433
- *
74434
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
74435
- *
74436
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
74437
- *
74438
- * The copyright notice above does not evidence any actual of intended
74439
- * publication of such source code, and is an unpublished work by create3000.
74440
- * This material contains CONFIDENTIAL INFORMATION that is the property of
74441
- * create3000.
74442
- *
74443
- * No permission is granted to copy, distribute, or create derivative works from
74444
- * the contents of this software, in whole or in part, without the prior written
74445
- * permission of create3000.
74446
- *
74447
- * NON-MILITARY USE ONLY
74448
- *
74449
- * All create3000 software are effectively free software with a non-military use
74450
- * restriction. It is free. Well commented source is provided. You may reuse the
74451
- * source in any way you please with the exception anything that uses it must be
74452
- * marked to indicate is contains 'non-military use only' components.
74453
- *
74454
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
74455
- *
74456
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
74457
- *
74458
- * This file is part of the X_ITE Project.
74459
- *
74460
- * X_ITE is free software: you can redistribute it and/or modify it under the
74461
- * terms of the GNU General Public License version 3 only, as published by the
74462
- * Free Software Foundation.
74463
- *
74464
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
74465
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
74466
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
74467
- * details (a copy is included in the LICENSE file that accompanied this code).
74468
- *
74469
- * You should have received a copy of the GNU General Public License version 3
74470
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
74471
- * copy of the GPLv3 License.
74472
- *
74473
- * For Silvio, Joy and Adi.
74474
- *
74475
- ******************************************************************************/
74476
-
74477
- function QuickSort (array, compare)
74478
- {
74479
- this .array = array;
74480
-
74481
- if (compare)
74482
- this .compare = compare;
74483
- }
74484
-
74485
- QuickSort .prototype =
74486
- {
74487
- compare: function (lhs, rhs)
74488
- {
74489
- return lhs < rhs;
74490
- },
74491
- sort: function (first, last)
74492
- {
74493
- if (last - first > 1)
74494
- this .quicksort (first, last - 1);
74495
- },
74496
- quicksort: function (lo, hi)
74497
- {
74498
- let
74499
- i = lo,
74500
- j = hi;
74501
-
74502
- const
74503
- array = this .array,
74504
- compare = this .compare;
74505
-
74506
- // Vergleichs­element x
74507
- const x = array [(lo + hi) >>> 1];
74508
-
74509
- for (;;)
74510
- {
74511
- while (compare (array [i], x)) ++ i;
74512
- while (compare (x, array [j])) -- j;
74513
-
74514
- if (i < j)
74515
- {
74516
- // Exchange
74517
-
74518
- const t = array [i];
74519
- array [i] = array [j];
74520
- array [j] = t;
74521
-
74522
- i ++; j --;
74523
- }
74524
- else
74525
- {
74526
- if (i === j) ++ i, -- j;
74527
- break;
74528
- }
74529
- }
74530
-
74531
- // Rekursion
74532
- if (lo < j) this .quicksort (lo, j);
74533
- if (i < hi) this .quicksort (i, hi);
74534
- },
74535
- };
74536
-
74537
- const QuickSort_default_ = QuickSort;
74538
- ;
74539
-
74540
- x_ite_Namespace.set ("standard/Math/Algorithms/QuickSort", QuickSort_default_);
74541
- /* harmony default export */ const Algorithms_QuickSort = ((/* unused pure expression or super */ null && (QuickSort_default_)));
74542
74448
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Shape.js
74543
74449
  /*******************************************************************************
74544
74450
  *
@@ -74594,11 +74500,6 @@ x_ite_Namespace.set ("standard/Math/Algorithms/QuickSort", QuickSort_default_);
74594
74500
 
74595
74501
 
74596
74502
 
74597
-
74598
-
74599
-
74600
-
74601
-
74602
74503
  function Shape (executionContext)
74603
74504
  {
74604
74505
  Shape_X3DShapeNode.call (this, executionContext);
@@ -74793,6 +74694,7 @@ x_ite_Namespace.set ("x_ite/Components/Shape/Shape", Shape_default_);
74793
74694
 
74794
74695
 
74795
74696
 
74697
+
74796
74698
  function X3DLineGeometryNode (executionContext)
74797
74699
  {
74798
74700
  if (!this .getExecutionContext ())
@@ -74802,9 +74704,10 @@ function X3DLineGeometryNode (executionContext)
74802
74704
  browser = this .getBrowser (),
74803
74705
  gl = browser .getContext ();
74804
74706
 
74805
- this .lineStipples = new Float32Array ();
74806
- this .lineStippleBuffer = gl .createBuffer ();
74807
- this .trianglesBuffer = gl .createBuffer ();
74707
+ this .lineStipples = new Float32Array ();
74708
+ this .lineStippleBuffer = gl .createBuffer ();
74709
+ this .trianglesBuffer = gl .createBuffer ();
74710
+ this .thickVertexArrayObject = new Rendering_VertexArray (gl);
74808
74711
 
74809
74712
  this .setGeometryType (1);
74810
74713
  this .setPrimitiveMode (gl .LINES);
@@ -74822,6 +74725,12 @@ X3DLineGeometryNode .prototype = Object .assign (Object .create (Rendering_X3DGe
74822
74725
  {
74823
74726
  return false;
74824
74727
  },
74728
+ updateVertexArrays: function ()
74729
+ {
74730
+ Rendering_X3DGeometryNode.prototype.updateVertexArrays.call (this);
74731
+
74732
+ this .thickVertexArrayObject .update ();
74733
+ },
74825
74734
  buildTexCoords: function ()
74826
74735
  {
74827
74736
  // Line stipple support.
@@ -74833,8 +74742,7 @@ X3DLineGeometryNode .prototype = Object .assign (Object .create (Rendering_X3DGe
74833
74742
  gl = this .getBrowser () .getContext (),
74834
74743
  numLines = this .getVertices () .length / 8;
74835
74744
 
74836
- if (this .lineStipples .length !== numLines * 6)
74837
- this .lineStipples = new Float32Array (numLines * 6);
74745
+ this .lineStipples = new Float32Array (numLines * 6);
74838
74746
 
74839
74747
  gl .bindBuffer (gl .ARRAY_BUFFER, this .lineStippleBuffer);
74840
74748
  gl .bufferData (gl .ARRAY_BUFFER, this .lineStipples, gl .DYNAMIC_DRAW);
@@ -74896,7 +74804,7 @@ X3DLineGeometryNode .prototype = Object .assign (Object .create (Rendering_X3DGe
74896
74804
  {
74897
74805
  // Setup vertex attributes.
74898
74806
 
74899
- if (this .vertexArrayObject .enable (shaderNode))
74807
+ if (this .thickVertexArrayObject .enable (shaderNode))
74900
74808
  {
74901
74809
  const
74902
74810
  stride = 15 * Float32Array .BYTES_PER_ELEMENT,
@@ -74981,7 +74889,7 @@ X3DLineGeometryNode .prototype = Object .assign (Object .create (Rendering_X3DGe
74981
74889
 
74982
74890
  // Setup vertex attributes.
74983
74891
 
74984
- if (this .vertexArrayObject .enable (transformShaderNode))
74892
+ if (this .thickVertexArrayObject .enable (transformShaderNode))
74985
74893
  {
74986
74894
  const
74987
74895
  lineStippleStride = 6 * Float32Array .BYTES_PER_ELEMENT,
@@ -75057,7 +74965,7 @@ X3DLineGeometryNode .prototype = Object .assign (Object .create (Rendering_X3DGe
75057
74965
 
75058
74966
  // Setup vertex attributes.
75059
74967
 
75060
- if (this .vertexArrayObject .enable (shaderNode))
74968
+ if (this .thickVertexArrayObject .enable (shaderNode))
75061
74969
  {
75062
74970
  const
75063
74971
  stride = 15 * Float32Array .BYTES_PER_ELEMENT,
@@ -77416,8 +77324,8 @@ const OrientationChaser_default_ = OrientationChaser;
77416
77324
  x_ite_Namespace.set ("x_ite/Components/Followers/OrientationChaser", OrientationChaser_default_);
77417
77325
  /* harmony default export */ const Followers_OrientationChaser = (OrientationChaser_default_);
77418
77326
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
77419
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(11);
77420
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(2);
77327
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(556);
77328
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(29);
77421
77329
  /*******************************************************************************
77422
77330
  *
77423
77331
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -78281,8 +78189,8 @@ const ExamineViewer_default_ = ExamineViewer;
78281
78189
  x_ite_Namespace.set ("x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
78282
78190
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
78283
78191
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
78284
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(11);
78285
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(2);
78192
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(556);
78193
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(29);
78286
78194
  /*******************************************************************************
78287
78195
  *
78288
78196
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -78469,7 +78377,7 @@ X3DFlyViewer .prototype = Object .assign (Object .create (Navigation_X3DViewer.p
78469
78377
  this .addFly ();
78470
78378
 
78471
78379
  if (this .getBrowser () .getBrowserOption ("Rubberband"))
78472
- this .getBrowser () .finished () .addInterest ("display", this, MOVE);
78380
+ this .getBrowser () .finishedEvents () .addInterest ("display", this, MOVE);
78473
78381
  }
78474
78382
 
78475
78383
  this ._isActive = true;
@@ -78500,7 +78408,7 @@ X3DFlyViewer .prototype = Object .assign (Object .create (Navigation_X3DViewer.p
78500
78408
  this .addPan ();
78501
78409
 
78502
78410
  if (this .getBrowser () .getBrowserOption ("Rubberband"))
78503
- this .getBrowser () .finished () .addInterest ("display", this, PAN);
78411
+ this .getBrowser () .finishedEvents () .addInterest ("display", this, PAN);
78504
78412
 
78505
78413
  this ._isActive = true;
78506
78414
  break;
@@ -78989,7 +78897,7 @@ X3DFlyViewer .prototype = Object .assign (Object .create (Navigation_X3DViewer.p
78989
78897
 
78990
78898
  browser .prepareEvents () .removeInterest ("fly", this);
78991
78899
  browser .prepareEvents () .removeInterest ("pan", this);
78992
- browser .finished () .removeInterest ("display", this);
78900
+ browser .finishedEvents () .removeInterest ("display", this);
78993
78901
 
78994
78902
  this .orientationChaser ._value_changed .removeInterest ("set_orientationOffset__", this);
78995
78903
 
@@ -79232,8 +79140,8 @@ const FlyViewer_default_ = FlyViewer;
79232
79140
  x_ite_Namespace.set ("x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
79233
79141
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
79234
79142
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
79235
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(11);
79236
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(2);
79143
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(556);
79144
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(29);
79237
79145
  /*******************************************************************************
79238
79146
  *
79239
79147
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -79542,8 +79450,8 @@ const NoneViewer_default_ = NoneViewer;
79542
79450
  x_ite_Namespace.set ("x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
79543
79451
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
79544
79452
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
79545
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(11);
79546
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(2);
79453
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(556);
79454
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(29);
79547
79455
  /*******************************************************************************
79548
79456
  *
79549
79457
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -80849,7 +80757,8 @@ const
80849
80757
  X3DNetworkingContext_loadingObjects = Symbol (),
80850
80758
  _loading = Symbol (),
80851
80759
  _location = Symbol (),
80852
- _defaultScene = Symbol ();
80760
+ _defaultScene = Symbol (),
80761
+ _set_loadCount = Symbol ();
80853
80762
 
80854
80763
  function getBaseURI (element)
80855
80764
  {
@@ -80876,7 +80785,9 @@ function X3DNetworkingContext ()
80876
80785
  X3DNetworkingContext .prototype =
80877
80786
  {
80878
80787
  initialize: function ()
80879
- { },
80788
+ {
80789
+ this ._loadCount .addInterest (_set_loadCount, this);
80790
+ },
80880
80791
  getProviderUrl: function ()
80881
80792
  {
80882
80793
  return Networking_URLs.getProviderUrl ();
@@ -80957,12 +80868,25 @@ X3DNetworkingContext .prototype =
80957
80868
  setLoadCount: function (value)
80958
80869
  {
80959
80870
  this ._loadCount = value;
80871
+ },
80872
+ resetLoadCount: function ()
80873
+ {
80874
+ this ._loadCount = 0;
80875
+ this [_loadingDisplay] = 0;
80876
+ this [_loadingTotal] = 0;
80877
+
80878
+ this [X3DNetworkingContext_loadingObjects] .clear ();
80960
80879
 
80880
+ for (const object of this .getPrivateScene () .getLoadingObjects ())
80881
+ this .addLoadingObject (object);
80882
+ },
80883
+ [_set_loadCount]: function ()
80884
+ {
80961
80885
  const loadingDisplay = [... this [X3DNetworkingContext_loadingObjects]]
80962
80886
  .filter (o => o .isPrivate)
80963
80887
  .reduce ((v, o) => v + !o .isPrivate (), 0);
80964
80888
 
80965
- if (value || this [_loading])
80889
+ if (this ._loadCount .getValue () || this [_loading])
80966
80890
  {
80967
80891
  var string = ((loadingDisplay || 1) === 1
80968
80892
  ? locale_gettext ("Loading %1 file")
@@ -80978,7 +80902,7 @@ X3DNetworkingContext .prototype =
80978
80902
  {
80979
80903
  this .getSplashScreen () .find (".x_ite-private-spinner-text") .text (string);
80980
80904
  this .getSplashScreen () .find (".x_ite-private-progressbar div")
80981
- .css ("width", (100 - 100 * value / this [_loadingTotal]) + "%");
80905
+ .css ("width", (100 - 100 * this ._loadCount .getValue () / this [_loadingTotal]) + "%");
80982
80906
  }
80983
80907
  else
80984
80908
  {
@@ -80988,17 +80912,6 @@ X3DNetworkingContext .prototype =
80988
80912
 
80989
80913
  this [_loadingDisplay] = loadingDisplay;
80990
80914
  },
80991
- resetLoadCount: function ()
80992
- {
80993
- this ._loadCount = 0;
80994
- this [_loadingDisplay] = 0;
80995
- this [_loadingTotal] = 0;
80996
-
80997
- this [X3DNetworkingContext_loadingObjects] .clear ();
80998
-
80999
- for (const object of this .getPrivateScene () .getLoadingObjects ())
81000
- this .addLoadingObject (object);
81001
- },
81002
80915
  };
81003
80916
 
81004
80917
  const X3DNetworkingContext_default_ = X3DNetworkingContext;
@@ -81146,8 +81059,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
81146
81059
  x_ite_Namespace.set ("x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
81147
81060
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
81148
81061
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
81149
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(11);
81150
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(2);
81062
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(556);
81063
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(29);
81151
81064
  /*******************************************************************************
81152
81065
  *
81153
81066
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -81274,7 +81187,7 @@ PointingDevice .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
81274
81187
  event .stopImmediatePropagation (); // Keeps the rest of the handlers from being executed
81275
81188
 
81276
81189
  browser .setCursor ("HAND");
81277
- browser .finished () .addInterest ("onverifymotion", this, x, y);
81190
+ browser .finishedEvents () .addInterest ("onverifymotion", this, x, y);
81278
81191
  }
81279
81192
  }
81280
81193
  },
@@ -81295,7 +81208,7 @@ PointingDevice .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
81295
81208
 
81296
81209
  browser .buttonReleaseEvent ();
81297
81210
  browser .setCursor (this .isOver ? "HAND" : "DEFAULT");
81298
- browser .finished () .addInterest ("onverifymotion", this, x, y);
81211
+ browser .finishedEvents () .addInterest ("onverifymotion", this, x, y);
81299
81212
  browser .addBrowserEvent ();
81300
81213
 
81301
81214
  this .cursor = "DEFAULT";
@@ -81422,7 +81335,7 @@ PointingDevice .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
81422
81335
  // and the new child has a sensor node inside. This sensor node must be update to
81423
81336
  // reflect the correct isOver state.
81424
81337
 
81425
- this .getBrowser () .finished () .removeInterest ("onverifymotion", this);
81338
+ this .getBrowser () .finishedEvents () .removeInterest ("onverifymotion", this);
81426
81339
 
81427
81340
  this .onmotion (x, y);
81428
81341
  },
@@ -82169,8 +82082,8 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
82169
82082
  x_ite_Namespace.set ("x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
82170
82083
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
82171
82084
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
82172
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(2);
82173
- /* provided dependency */ var ResizeSensor = __webpack_require__(382);
82085
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(29);
82086
+ /* provided dependency */ var ResizeSensor = __webpack_require__(310);
82174
82087
  /*******************************************************************************
82175
82088
  *
82176
82089
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -88055,6 +87968,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
88055
87968
  x_ite_Namespace.set ("x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
88056
87969
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
88057
87970
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
87971
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(29);
88058
87972
  /*******************************************************************************
88059
87973
  *
88060
87974
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -88363,13 +88277,13 @@ X3DProgrammableShaderObject .prototype =
88363
88277
 
88364
88278
  if (attribute < 0)
88365
88279
  {
88366
- this [`enable${name}Attribute`] = Function .prototype;
88367
- this [`${lcfirst (name)}AttributeDivisor`] = Function .prototype;
88280
+ this [`enable${name}Attribute`] = Function .prototype;
88281
+ this [`${X3DProgrammableShaderObject_$.toLowerCaseFirst (name)}AttributeDivisor`] = Function .prototype;
88368
88282
  }
88369
88283
  else
88370
88284
  {
88371
88285
  delete this [`enable${name}Attribute`];
88372
- delete this [`${lcfirst (name)}AttributeDivisor`];
88286
+ delete this [`${X3DProgrammableShaderObject_$.toLowerCaseFirst (name)}AttributeDivisor`];
88373
88287
  }
88374
88288
  }
88375
88289
 
@@ -89379,11 +89293,6 @@ X3DProgrammableShaderObject .prototype =
89379
89293
  dispose: function () { },
89380
89294
  };
89381
89295
 
89382
- function lcfirst (string)
89383
- {
89384
- return string [0] .toLowerCase () + string .slice (1);
89385
- }
89386
-
89387
89296
  const X3DProgrammableShaderObject_default_ = X3DProgrammableShaderObject;
89388
89297
  ;
89389
89298
 
@@ -90837,7 +90746,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
90837
90746
  x_ite_Namespace.set ("x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
90838
90747
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
90839
90748
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
90840
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(2);
90749
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(29);
90841
90750
  /*******************************************************************************
90842
90751
  *
90843
90752
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -94074,12 +93983,13 @@ function X3DBrowserContext (element)
94074
93983
  for (const browserContext of browserContexts)
94075
93984
  browserContext .call (this);
94076
93985
 
94077
- this .addChildObjects ("initialized", new Fields_SFTime (),
94078
- "shutdown", new Fields_SFTime (),
94079
- "prepareEvents", new Fields_SFTime (),
94080
- "timeEvents", new Fields_SFTime (),
94081
- "sensorEvents", new Fields_SFTime (),
94082
- "finished", new Fields_SFTime ());
93986
+ this .addChildObjects ("initialized", new Fields_SFTime (),
93987
+ "shutdown", new Fields_SFTime (),
93988
+ "prepareEvents", new Fields_SFTime (),
93989
+ "timeEvents", new Fields_SFTime (),
93990
+ "sensorEvents", new Fields_SFTime (),
93991
+ "displayEvents", new Fields_SFTime (),
93992
+ "finishedEvents", new Fields_SFTime ());
94083
93993
 
94084
93994
  this [_changedTime] = 0;
94085
93995
  this [_previousTime] = 0;
@@ -94164,9 +94074,13 @@ X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.
94164
94074
  {
94165
94075
  return this ._sensorEvents;
94166
94076
  },
94167
- finished: function ()
94077
+ displayEvents: function ()
94078
+ {
94079
+ return this ._displayEvents;
94080
+ },
94081
+ finishedEvents: function ()
94168
94082
  {
94169
- return this ._finished;
94083
+ return this ._finishedEvents;
94170
94084
  },
94171
94085
  getBrowser: function ()
94172
94086
  {
@@ -94227,10 +94141,10 @@ X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.
94227
94141
 
94228
94142
  // Events
94229
94143
 
94230
- this ._prepareEvents .processInterests ();
94144
+ this .addTaintedField (this ._prepareEvents);
94231
94145
  this [_processEvents] ();
94232
94146
 
94233
- this ._timeEvents .processInterests ();
94147
+ this .addTaintedField (this ._timeEvents);
94234
94148
  this [_processEvents] ();
94235
94149
 
94236
94150
  // Camera
@@ -94250,13 +94164,16 @@ X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.
94250
94164
 
94251
94165
  // Events
94252
94166
 
94253
- this ._sensorEvents .processInterests ();
94167
+ this .addTaintedField (this ._sensorEvents);
94254
94168
  this [_processEvents] ();
94255
94169
 
94256
94170
  // Display
94257
94171
 
94258
94172
  this [_displayTime] .start ()
94259
94173
 
94174
+ this .addTaintedField (this ._displayEvents);
94175
+ this [_processEvents] ();
94176
+
94260
94177
  const gl = this .getContext ();
94261
94178
 
94262
94179
  this .getFrameBuffer () .bind ();
@@ -94272,7 +94189,8 @@ X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.
94272
94189
 
94273
94190
  // Finish
94274
94191
 
94275
- this ._finished .processInterests ();
94192
+ this .addTaintedField (this ._finishedEvents);
94193
+ this [_processEvents] ();
94276
94194
 
94277
94195
  this [_browserTime] .stop ();
94278
94196
  this [_systemTime] .start ();
@@ -100759,6 +100677,8 @@ StaticGroup .prototype = Object .assign (Object .create (Core_X3DChildNode.proto
100759
100677
  Core_X3DChildNode.prototype.initialize.call (this);
100760
100678
  Grouping_X3DBoundedObject.prototype.initialize.call (this);
100761
100679
 
100680
+ this .getBrowser () .getBrowserOptions () ._OptimizeStaticGroup .addInterest ("set_optimize__", this);
100681
+
100762
100682
  this ._bboxSize .addFieldInterest (this .groupNode ._bboxSize);
100763
100683
  this ._bboxCenter .addFieldInterest (this .groupNode ._bboxCenter);
100764
100684
  this ._children .addFieldInterest (this .groupNode ._children);
@@ -100777,12 +100697,24 @@ StaticGroup .prototype = Object .assign (Object .create (Core_X3DChildNode.proto
100777
100697
  this .setCameraObject (this .groupNode .isCameraObject ());
100778
100698
  this .setPickableObject (this .groupNode .isPickableObject ());
100779
100699
 
100700
+ this .set_optimize__ ();
100780
100701
  this .set_children__ ();
100781
100702
  },
100782
100703
  getBBox: function (bbox, shadows)
100783
100704
  {
100784
100705
  return bbox .assign (shadows ? this .shadowBBox : this .bbox);
100785
100706
  },
100707
+ set_optimize__: function ()
100708
+ {
100709
+ if (this .getBrowser () .getBrowserOption ("OptimizeStaticGroup"))
100710
+ {
100711
+ delete this .traverse;
100712
+ }
100713
+ else
100714
+ {
100715
+ this .traverse = traverse;
100716
+ }
100717
+ },
100786
100718
  set_children__: function ()
100787
100719
  {
100788
100720
  this .groupNode .getBBox (this .bbox);
@@ -100879,6 +100811,11 @@ StaticGroup .prototype = Object .assign (Object .create (Core_X3DChildNode.proto
100879
100811
  },
100880
100812
  });
100881
100813
 
100814
+ function traverse (type, renderObject)
100815
+ {
100816
+ this .groupNode .traverse (type, renderObject);
100817
+ }
100818
+
100882
100819
  const StaticGroup_default_ = StaticGroup;
100883
100820
  ;
100884
100821
 
@@ -100995,10 +100932,7 @@ Switch .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
100995
100932
  {
100996
100933
  const boundedObject = Base_X3DCast (Base_X3DConstants.X3DBoundedObject, this .visibleNode);
100997
100934
 
100998
- if (boundedObject)
100999
- return boundedObject .getBBox (bbox, shadows);
101000
-
101001
- return bbox .set ();
100935
+ return boundedObject?.getBBox (bbox, shadows) ?? bbox .set ();
101002
100936
  }
101003
100937
 
101004
100938
  return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
@@ -101052,11 +100986,11 @@ Switch .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
101052
100986
  },
101053
100987
  set_cameraObject__: function ()
101054
100988
  {
101055
- this .setCameraObject (!!(this .visibleNode && this .visibleNode .isCameraObject ()));
100989
+ this .setCameraObject (!!this .visibleNode?.isCameraObject ());
101056
100990
  },
101057
100991
  set_transformSensors__: function ()
101058
100992
  {
101059
- this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode && this .visibleNode .isPickableObject ()));
100993
+ this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode?.isPickableObject ()));
101060
100994
  },
101061
100995
  set_visible__: function ()
101062
100996
  {
@@ -101083,11 +101017,7 @@ Switch .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
101083
101017
  case Rendering_TraverseType.CAMERA:
101084
101018
  case Rendering_TraverseType.SHADOW:
101085
101019
  {
101086
- const visibleNode = this .visibleNode;
101087
-
101088
- if (visibleNode)
101089
- visibleNode .traverse (type, renderObject);
101090
-
101020
+ this .visibleNode?.traverse (type, renderObject);
101091
101021
  return;
101092
101022
  }
101093
101023
  case Rendering_TraverseType.PICKING:
@@ -101119,25 +101049,14 @@ Switch .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
101119
101049
  }
101120
101050
  case Rendering_TraverseType.COLLISION:
101121
101051
  {
101122
- const visibleNode = this .visibleNode;
101123
-
101124
- if (visibleNode)
101125
- visibleNode .traverse (type, renderObject);
101126
-
101052
+ this .visibleNode?.traverse (type, renderObject);
101127
101053
  return;
101128
101054
  }
101129
101055
  case Rendering_TraverseType.DISPLAY:
101130
101056
  {
101131
- const visibleNode = this .visibleNode;
101132
-
101133
- if (visibleNode)
101134
- visibleNode .traverse (type, renderObject);
101135
-
101136
- const boundedObject = this .boundedObject;
101137
-
101138
- if (boundedObject)
101139
- boundedObject .displayBBox (type, renderObject);
101057
+ this .visibleNode?.traverse (type, renderObject);
101140
101058
 
101059
+ this .boundedObject?.displayBBox (type, renderObject);
101141
101060
  return;
101142
101061
  }
101143
101062
  }
@@ -104895,10 +104814,7 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
104895
104814
  {
104896
104815
  const boundedObject = Base_X3DCast (Base_X3DConstants.X3DBoundedObject, this .visibleNode);
104897
104816
 
104898
- if (boundedObject)
104899
- return boundedObject .getBBox (bbox, shadows);
104900
-
104901
- return bbox .set ();
104817
+ return boundedObject?.getBBox (bbox, shadows) ?? bbox .set ();
104902
104818
  }
104903
104819
 
104904
104820
  return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
@@ -104954,11 +104870,11 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
104954
104870
  },
104955
104871
  set_cameraObject__: function ()
104956
104872
  {
104957
- this .setCameraObject (!!(this .visibleNode && this .visibleNode .isCameraObject ()));
104873
+ this .setCameraObject (!!this .visibleNode?.isCameraObject ());
104958
104874
  },
104959
104875
  set_transformSensors__: function ()
104960
104876
  {
104961
- this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode && this .visibleNode .isPickableObject ()));
104877
+ this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode?.isPickableObject ()));
104962
104878
  },
104963
104879
  set_visible__: function ()
104964
104880
  {
@@ -105030,11 +104946,7 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
105030
104946
  case Rendering_TraverseType.CAMERA:
105031
104947
  case Rendering_TraverseType.SHADOW:
105032
104948
  {
105033
- const visibleNode = this .visibleNode;
105034
-
105035
- if (visibleNode)
105036
- visibleNode .traverse (type, renderObject);
105037
-
104949
+ this .visibleNode?.traverse (type, renderObject);
105038
104950
  return;
105039
104951
  }
105040
104952
  case Rendering_TraverseType.PICKING:
@@ -105066,11 +104978,7 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
105066
104978
  }
105067
104979
  case Rendering_TraverseType.COLLISION:
105068
104980
  {
105069
- const visibleNode = this .visibleNode;
105070
-
105071
- if (visibleNode)
105072
- visibleNode .traverse (type, renderObject);
105073
-
104981
+ this .visibleNode?.traverse (type, renderObject);
105074
104982
  return;
105075
104983
  }
105076
104984
  case Rendering_TraverseType.DISPLAY:
@@ -105098,16 +105006,9 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
105098
105006
  }
105099
105007
  }
105100
105008
 
105101
- const visibleNode = this .visibleNode;
105102
-
105103
- if (visibleNode)
105104
- visibleNode .traverse (type, renderObject);
105105
-
105106
- const boundedObject = this .boundedObject;
105107
-
105108
- if (boundedObject)
105109
- boundedObject .displayBBox (type, renderObject);
105009
+ this .visibleNode?.traverse (type, renderObject);
105110
105010
 
105011
+ this .boundedObject?.displayBBox (type, renderObject);
105111
105012
  return;
105112
105013
  }
105113
105014
  }
@@ -105265,7 +105166,7 @@ ViewpointGroup .prototype = Object .assign (Object .create (Core_X3DChildNode.pr
105265
105166
  this .setPickableObject (false);
105266
105167
 
105267
105168
  if (displayed)
105268
- this .traverse = traverse;
105169
+ this .traverse = ViewpointGroup_traverse;
105269
105170
  else
105270
105171
  delete this .traverse;
105271
105172
  }
@@ -105341,7 +105242,7 @@ function traverseWithProximitySensor (type, renderObject)
105341
105242
  }
105342
105243
  }
105343
105244
 
105344
- function traverse (type, renderObject)
105245
+ function ViewpointGroup_traverse (type, renderObject)
105345
105246
  {
105346
105247
  switch (type)
105347
105248
  {
@@ -112688,7 +112589,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
112688
112589
  x_ite_Namespace.set ("x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
112689
112590
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
112690
112591
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
112691
- /* provided dependency */ var AudioClip_$ = __webpack_require__(2);
112592
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(29);
112692
112593
  /*******************************************************************************
112693
112594
  *
112694
112595
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115503,8 +115404,8 @@ const GIFMedia_default_ = GifMedia;
115503
115404
  x_ite_Namespace.set ("x_ite/Browser/Texturing/GIFMedia", GIFMedia_default_);
115504
115405
  /* harmony default export */ const GIFMedia = (GIFMedia_default_);
115505
115406
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
115506
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(2);
115507
- /* provided dependency */ var SuperGif = __webpack_require__(423);
115407
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(29);
115408
+ /* provided dependency */ var SuperGif = __webpack_require__(414);
115508
115409
  /*******************************************************************************
115509
115410
  *
115510
115411
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116452,7 +116353,7 @@ const MultiTextureTransform_default_ = MultiTextureTransform;
116452
116353
  x_ite_Namespace.set ("x_ite/Components/Texturing/MultiTextureTransform", MultiTextureTransform_default_);
116453
116354
  /* harmony default export */ const Texturing_MultiTextureTransform = (MultiTextureTransform_default_);
116454
116355
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/PixelTexture.js
116455
- /* provided dependency */ var PixelTexture_$ = __webpack_require__(2);
116356
+ /* provided dependency */ var PixelTexture_$ = __webpack_require__(29);
116456
116357
  /*******************************************************************************
116457
116358
  *
116458
116359
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117155,7 +117056,7 @@ const Components_default_ = Components;
117155
117056
  x_ite_Namespace.set ("x_ite/Components", Components_default_);
117156
117057
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
117157
117058
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
117158
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(2);
117059
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(29);
117159
117060
  /*******************************************************************************
117160
117061
  * MIT License
117161
117062
  *
@@ -118392,7 +118293,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
118392
118293
  x_ite_Namespace.set ("x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
118393
118294
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
118394
118295
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
118395
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(2);
118296
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(29);
118396
118297
  /*******************************************************************************
118397
118298
  *
118398
118299
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119208,14 +119109,14 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119208
119109
  beginUpdate: function ()
119209
119110
  {
119210
119111
  this .setLive (true);
119211
- this .getExecutionContext () .setLive (true);
119112
+ this .getExecutionContext () .beginUpdate ();
119212
119113
  this .advanceTime ();
119213
119114
  this .addBrowserEvent ();
119214
119115
  },
119215
119116
  endUpdate: function ()
119216
119117
  {
119217
119118
  this .setLive (false);
119218
- this .getExecutionContext () .setLive (false);
119119
+ this .getExecutionContext () .endUpdate ();
119219
119120
  },
119220
119121
  print: function ()
119221
119122
  {
@@ -119337,7 +119238,7 @@ const X3DBrowser_default_ = X3DBrowser;
119337
119238
  x_ite_Namespace.set ("x_ite/Browser/X3DBrowser", X3DBrowser_default_);
119338
119239
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
119339
119240
  ;// CONCATENATED MODULE: ./src/x_ite/Fallback.js
119340
- /* provided dependency */ var Fallback_$ = __webpack_require__(2);
119241
+ /* provided dependency */ var Fallback_$ = __webpack_require__(29);
119341
119242
  /*******************************************************************************
119342
119243
  *
119343
119244
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119516,8 +119417,8 @@ const MicroTime_default_ = undefined;
119516
119417
  x_ite_Namespace.set ("standard/Time/MicroTime", MicroTime_default_);
119517
119418
  /* harmony default export */ const MicroTime = ((/* unused pure expression or super */ null && (MicroTime_default_)));
119518
119419
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
119519
- /* provided dependency */ var jquery_$ = __webpack_require__(2);
119520
- /* provided dependency */ var pako = __webpack_require__(250);
119420
+ /* provided dependency */ var jquery_$ = __webpack_require__(29);
119421
+ /* provided dependency */ var pako = __webpack_require__(973);
119521
119422
  jquery_$.decodeText = function (input)
119522
119423
  {
119523
119424
  if (typeof input === "string")
@@ -119536,7 +119437,12 @@ jquery_$.ungzip = function (arrayBuffer)
119536
119437
  {
119537
119438
  return arrayBuffer;
119538
119439
  }
119539
- }
119440
+ };
119441
+
119442
+ jquery_$.toLowerCaseFirst = function (string)
119443
+ {
119444
+ return string [0] .toLowerCase () + string .slice (1);
119445
+ };
119540
119446
 
119541
119447
  const jquery_default_ = jquery_$;
119542
119448
  ;
@@ -119544,14 +119450,14 @@ const jquery_default_ = jquery_$;
119544
119450
  x_ite_Namespace.set ("lib/jquery", jquery_default_);
119545
119451
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
119546
119452
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
119547
- /* provided dependency */ var libtess_libtess = __webpack_require__(735);
119453
+ /* provided dependency */ var libtess_libtess = __webpack_require__(496);
119548
119454
  const libtess_default_ = libtess_libtess;
119549
119455
  ;
119550
119456
 
119551
119457
  x_ite_Namespace.set ("lib/libtess", libtess_default_);
119552
119458
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
119553
119459
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
119554
- /* provided dependency */ var X3D_$ = __webpack_require__(2);
119460
+ /* provided dependency */ var X3D_$ = __webpack_require__(29);
119555
119461
  /*******************************************************************************
119556
119462
  *
119557
119463
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119806,8 +119712,8 @@ const X3D_default_ = X3D;
119806
119712
 
119807
119713
  x_ite_Namespace.set ("x_ite/X3D", X3D_default_);
119808
119714
  /* harmony default export */ const x_ite_X3D = (X3D_default_);
119809
- ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvas.js
119810
- /* provided dependency */ var X3DCanvas_$ = __webpack_require__(2);
119715
+ ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
119716
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(29);
119811
119717
  /*******************************************************************************
119812
119718
  *
119813
119719
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119858,11 +119764,11 @@ x_ite_Namespace.set ("x_ite/X3D", X3D_default_);
119858
119764
 
119859
119765
 
119860
119766
 
119861
- class X3DCanvas extends HTMLElement
119767
+ class X3DCanvasElement extends HTMLElement
119862
119768
  {
119863
119769
  static define ()
119864
119770
  {
119865
- customElements .define ("x3d-canvas", X3DCanvas);
119771
+ customElements .define ("x3d-canvas", X3DCanvasElement);
119866
119772
  }
119867
119773
 
119868
119774
  constructor ()
@@ -119873,8 +119779,8 @@ class X3DCanvas extends HTMLElement
119873
119779
  shadow = this .attachShadow ({ mode: "open", delegatesFocus: true }),
119874
119780
  link = document .createElement ("link");
119875
119781
 
119876
- X3DCanvas_$(this) .data ("shadow", X3DCanvas_$(shadow));
119877
- X3DCanvas_$(this) .data ("loaded", new Promise (function (resolve, reject)
119782
+ X3DCanvasElement_$(this) .data ("shadow", X3DCanvasElement_$(shadow));
119783
+ X3DCanvasElement_$(this) .data ("loaded", new Promise (function (resolve, reject)
119878
119784
  {
119879
119785
  link .onload = resolve;
119880
119786
  link .onerror = reject;
@@ -119886,7 +119792,10 @@ class X3DCanvas extends HTMLElement
119886
119792
 
119887
119793
  shadow .appendChild (link);
119888
119794
 
119889
- this .browser = new Browser_X3DBrowser (this);
119795
+ Object .defineProperty (this, "browser",
119796
+ {
119797
+ value: new Browser_X3DBrowser (this),
119798
+ })
119890
119799
  }
119891
119800
 
119892
119801
  connectedCallback ()
@@ -119909,6 +119818,7 @@ class X3DCanvas extends HTMLElement
119909
119818
  "splashScreen",
119910
119819
  "splashscreen",
119911
119820
  "src",
119821
+ "timings",
119912
119822
  "url",
119913
119823
  ];
119914
119824
  }
@@ -119917,16 +119827,31 @@ class X3DCanvas extends HTMLElement
119917
119827
  {
119918
119828
  this .browser .attributeChangedCallback (name, oldValue, newValue);
119919
119829
  }
119830
+
119831
+ captureStream (... args)
119832
+ {
119833
+ return this .browser .getCanvas () [0] .captureStream (... args);
119834
+ }
119835
+
119836
+ toBlob (... args)
119837
+ {
119838
+ return this .browser .getCanvas () [0] .toBlob (... args);
119839
+ }
119840
+
119841
+ toDataURL (... args)
119842
+ {
119843
+ return this .browser .getCanvas () [0] .toDataURL (... args);
119844
+ }
119920
119845
  }
119921
119846
 
119922
119847
  // IE fix.
119923
119848
  document .createElement ("X3DCanvas");
119924
119849
 
119925
- const X3DCanvas_default_ = X3DCanvas;
119850
+ const X3DCanvasElement_default_ = X3DCanvasElement;
119926
119851
  ;
119927
119852
 
119928
- x_ite_Namespace.set ("x_ite/X3DCanvas", X3DCanvas_default_);
119929
- /* harmony default export */ const x_ite_X3DCanvas = (X3DCanvas_default_);
119853
+ x_ite_Namespace.set ("x_ite/X3DCanvasElement", X3DCanvasElement_default_);
119854
+ /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
119930
119855
  ;// CONCATENATED MODULE: ./src/shim.js
119931
119856
  /*******************************************************************************
119932
119857
  *
@@ -120067,9 +119992,9 @@ x_ite_Namespace.set ("shim", shim_default_);
120067
119992
 
120068
119993
  // Assign X3D to global namespace.
120069
119994
 
120070
- window [Symbol .for ("X_ITE.X3D-8.6.11")] = x_ite_X3D;
119995
+ window [Symbol .for ("X_ITE.X3D-8.6.12")] = x_ite_X3D;
120071
119996
 
120072
- x_ite_X3DCanvas.define ();
119997
+ x_ite_X3DCanvasElement.define ();
120073
119998
 
120074
119999
  x_ite_X3D ();
120075
120000