x_ite 8.6.10 → 8.6.11

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 (87) hide show
  1. package/Makefile +12 -12
  2. package/build/bin/version.pl +6 -0
  3. package/dist/assets/components/Annotation.js +13 -13
  4. package/dist/assets/components/Annotation.min.js +1 -1
  5. package/dist/assets/components/CADGeometry.js +13 -13
  6. package/dist/assets/components/CADGeometry.min.js +1 -1
  7. package/dist/assets/components/CubeMapTexturing.js +25 -25
  8. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  9. package/dist/assets/components/DIS.js +13 -13
  10. package/dist/assets/components/DIS.min.js +1 -1
  11. package/dist/assets/components/EventUtilities.js +9 -9
  12. package/dist/assets/components/EventUtilities.min.js +1 -1
  13. package/dist/assets/components/Geometry2D.js +19 -19
  14. package/dist/assets/components/Geometry2D.min.js +1 -1
  15. package/dist/assets/components/Geospatial.js +40 -58
  16. package/dist/assets/components/Geospatial.min.js +1 -1
  17. package/dist/assets/components/HAnim.js +18 -18
  18. package/dist/assets/components/HAnim.min.js +1 -1
  19. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  20. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  21. package/dist/assets/components/Layout.js +27 -27
  22. package/dist/assets/components/Layout.min.js +1 -1
  23. package/dist/assets/components/NURBS.js +28 -34
  24. package/dist/assets/components/NURBS.min.js +1 -1
  25. package/dist/assets/components/ParticleSystems.js +27 -26
  26. package/dist/assets/components/ParticleSystems.min.js +1 -1
  27. package/dist/assets/components/Picking.js +19 -19
  28. package/dist/assets/components/Picking.min.js +1 -1
  29. package/dist/assets/components/RigidBodyPhysics.js +19 -19
  30. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  31. package/dist/assets/components/Scripting.js +28 -28
  32. package/dist/assets/components/Scripting.min.js +1 -1
  33. package/dist/assets/components/Text.js +24 -24
  34. package/dist/assets/components/Text.min.js +1 -1
  35. package/dist/assets/components/TextureProjector.js +14 -14
  36. package/dist/assets/components/TextureProjector.min.js +1 -1
  37. package/dist/assets/components/Texturing3D.js +30 -30
  38. package/dist/assets/components/Texturing3D.min.js +1 -1
  39. package/dist/assets/components/VolumeRendering.js +19 -19
  40. package/dist/assets/components/VolumeRendering.min.js +1 -1
  41. package/dist/assets/components/X_ITE.js +9 -9
  42. package/dist/assets/components/X_ITE.min.js +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.js +422 -488
  45. package/dist/x_ite.min.js +1 -1
  46. package/dist/x_ite.zip +0 -0
  47. package/docs/_config.yml +1 -1
  48. package/docs/laboratory/gltf-sample-viewer.html +4 -2
  49. package/package.json +1 -1
  50. package/src/assets/shaders/webgl1/include/Fragment.glsl.js +11 -4
  51. package/src/assets/shaders/webgl2/include/Fragment.glsl.js +11 -4
  52. package/src/standard/Math/Algorithm.js +8 -1
  53. package/src/standard/Utility/BitSet.js +33 -0
  54. package/src/x_ite/Browser/Core/BrowserTimings.js +7 -1
  55. package/src/x_ite/Browser/Core/Context.js +1 -1
  56. package/src/x_ite/Browser/Rendering/GeometryContext.js +2 -0
  57. package/src/x_ite/Browser/Shape/AlphaMode.js +1 -1
  58. package/src/x_ite/Browser/VERSION.js +1 -1
  59. package/src/x_ite/Browser/X3DBrowser.js +2 -2
  60. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +115 -139
  61. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +1 -1
  62. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +10 -31
  63. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +3 -6
  64. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +7 -25
  65. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +1 -1
  66. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +4 -10
  67. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +0 -10
  68. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +4 -3
  69. package/src/x_ite/Components/Rendering/IndexedLineSet.js +11 -33
  70. package/src/x_ite/Components/Rendering/LineSet.js +12 -37
  71. package/src/x_ite/Components/Rendering/PointSet.js +11 -24
  72. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +14 -39
  73. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +1 -1
  74. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +0 -2
  75. package/src/x_ite/Components/Shape/Appearance.js +9 -5
  76. package/src/x_ite/Components/Shape/Material.js +1 -2
  77. package/src/x_ite/Components/Shape/PhysicalMaterial.js +1 -2
  78. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +1 -1
  79. package/src/x_ite/Components/Shape/UnlitMaterial.js +1 -1
  80. package/src/x_ite/Components/Shape/X3DMaterialNode.js +24 -9
  81. package/src/x_ite/Components/Shape/X3DShapeNode.js +1 -2
  82. package/src/x_ite/Components/Texturing/ImageTexture.js +1 -1
  83. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +2 -0
  84. package/src/x_ite/Fields/SFImage.js +9 -9
  85. package/src/x_ite/Fields/SFInt32.js +2 -2
  86. package/src/x_ite/Rendering/X3DRenderObject.js +0 -1
  87. package/x_ite.min.html +1 -1
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v8.6.10 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v8.6.11 */(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
- /***/ 858:
14
+ /***/ 382:
15
15
  /***/ (function(module, exports, __webpack_require__) {
16
16
 
17
17
  "use strict";
18
- /* provided dependency */ var jQuery = __webpack_require__(535);
18
+ /* provided dependency */ var jQuery = __webpack_require__(2);
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
- /***/ 507:
390
+ /***/ 440:
391
391
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
392
392
 
393
- /* provided dependency */ var jQuery = __webpack_require__(535);
393
+ /* provided dependency */ var jQuery = __webpack_require__(2);
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
- /***/ 341:
589
+ /***/ 11:
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__(535)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
603
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2)], __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
- /***/ 535:
814
+ /***/ 2:
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
- /***/ 51:
11815
+ /***/ 735:
11816
11816
  /***/ ((module) => {
11817
11817
 
11818
11818
  /**
@@ -16591,7 +16591,7 @@ if (true) {
16591
16591
 
16592
16592
  /***/ }),
16593
16593
 
16594
- /***/ 626:
16594
+ /***/ 250:
16595
16595
  /***/ (function(__unused_webpack_module, exports) {
16596
16596
 
16597
16597
 
@@ -19836,7 +19836,7 @@ if (true) {
19836
19836
 
19837
19837
  /***/ }),
19838
19838
 
19839
- /***/ 381:
19839
+ /***/ 423:
19840
19840
  /***/ (function(module, exports) {
19841
19841
 
19842
19842
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -23619,7 +23619,14 @@ const Algorithm_default_ = class Algorithm
23619
23619
  if (this .isPowerOfTwo (n))
23620
23620
  return n;
23621
23621
 
23622
- return 1 << 32 - Math .clz32 (n);
23622
+ return 1 << (32 - Math .clz32 (n));
23623
+ }
23624
+
23625
+ static bitCount (n)
23626
+ {
23627
+ n = n - ((n >>> 1) & 0x55555555);
23628
+ n = (n & 0x33333333) + ((n >>> 2) & 0x33333333);
23629
+ return ((n + (n >>> 4) & 0xF0F0F0F) * 0x1010101) >>> 24;
23623
23630
  }
23624
23631
 
23625
23632
  static cmp (lhs, rhs)
@@ -24921,7 +24928,7 @@ x_ite_Namespace.set ("x_ite/Fields/SFFloat", SFFloat_default_);
24921
24928
 
24922
24929
  function SFInt32 (value)
24923
24930
  {
24924
- return Base_X3DField.call (this, ~~value);
24931
+ return Base_X3DField.call (this, value|0);
24925
24932
  }
24926
24933
 
24927
24934
  SFInt32 .prototype = Object .assign (Object .create (Base_X3DField.prototype),
@@ -24945,7 +24952,7 @@ SFInt32 .prototype = Object .assign (Object .create (Base_X3DField.prototype),
24945
24952
  },
24946
24953
  set: function (value)
24947
24954
  {
24948
- Base_X3DField.prototype.set.call (this, ~~value);
24955
+ Base_X3DField.prototype.set.call (this, value|0);
24949
24956
  },
24950
24957
  valueOf: Base_X3DField.prototype.getValue,
24951
24958
  toStream: function (generator)
@@ -33823,9 +33830,9 @@ function Image (width, height, comp, array)
33823
33830
  {
33824
33831
  const MFInt32 = Fields_ArrayFields.MFInt32;
33825
33832
 
33826
- this .width = ~~width;
33827
- this .height = ~~height;
33828
- this .comp = ~~comp;
33833
+ this .width = width|0;
33834
+ this .height = height|0;
33835
+ this .comp = comp|0;
33829
33836
  this .array = new MFInt32 ();
33830
33837
  this .array .setValue (array);
33831
33838
  this .array .length = this .width * this .height;
@@ -33854,14 +33861,14 @@ Image .prototype =
33854
33861
  },
33855
33862
  set: function (width, height, comp, array)
33856
33863
  {
33857
- this .width = ~~width;
33858
- this .height = ~~height;
33859
- this .comp = ~~comp;
33864
+ this .width = width|0;
33865
+ this .height = height|0;
33866
+ this .comp = comp|0;
33860
33867
  this .array .assign (array);
33861
33868
  },
33862
33869
  setWidth: function (value)
33863
33870
  {
33864
- this .width = ~~value;
33871
+ this .width = value|0;
33865
33872
  this .array .length = this .width * this .height;
33866
33873
  },
33867
33874
  getWidth: function ()
@@ -33870,7 +33877,7 @@ Image .prototype =
33870
33877
  },
33871
33878
  setHeight: function (value)
33872
33879
  {
33873
- this .height = ~~value;
33880
+ this .height = value|0;
33874
33881
  this .array .length = this .width * this .height;
33875
33882
  },
33876
33883
  getHeight: function ()
@@ -33879,7 +33886,7 @@ Image .prototype =
33879
33886
  },
33880
33887
  setComp: function (value)
33881
33888
  {
33882
- this .comp = ~~value;
33889
+ this .comp = value|0;
33883
33890
  },
33884
33891
  getComp: function ()
33885
33892
  {
@@ -34949,7 +34956,7 @@ x_ite_Namespace.set ("x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34949
34956
  *
34950
34957
  ******************************************************************************/
34951
34958
 
34952
- const VERSION_default_ = "8.6.10";
34959
+ const VERSION_default_ = "8.6.11";
34953
34960
  ;
34954
34961
 
34955
34962
  x_ite_Namespace.set ("x_ite/Browser/VERSION", VERSION_default_);
@@ -35239,7 +35246,7 @@ const Context =
35239
35246
  }
35240
35247
  };
35241
35248
 
35242
- check ();
35249
+ setTimeout (check, 0);
35243
35250
  });
35244
35251
  },
35245
35252
  getBufferSubDataAsync: async function (target, buffer, srcByteOffset, dstBuffer, /* optional */ dstOffset, /* optional */ length)
@@ -35853,7 +35860,7 @@ const gettext_default_ = gettext;
35853
35860
  x_ite_Namespace.set ("locale/gettext", gettext_default_);
35854
35861
  /* harmony default export */ const locale_gettext = (gettext_default_);
35855
35862
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
35856
- /* provided dependency */ var $ = __webpack_require__(535);
35863
+ /* provided dependency */ var $ = __webpack_require__(2);
35857
35864
  /*******************************************************************************
35858
35865
  *
35859
35866
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -35934,6 +35941,8 @@ BrowserTimings .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
35934
35941
  {
35935
35942
  Base_X3DBaseNode.prototype.initialize.call (this);
35936
35943
 
35944
+ this .getBrowser () .getBrowserOptions () ._ContextMenu .addInterest ("set_enabled__", this);
35945
+
35937
35946
  this .localStorage .addDefaultValues ({ type: "LESS" });
35938
35947
 
35939
35948
  this .element = $("<div></div>") .hide () .addClass ("x_ite-private-browser-timings") .appendTo (this .getBrowser () .getSurface ());
@@ -35959,7 +35968,11 @@ BrowserTimings .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
35959
35968
 
35960
35969
  this .enabled = enabled;
35961
35970
 
35962
- if (enabled)
35971
+ this .set_enabled__ ();
35972
+ },
35973
+ set_enabled__: function ()
35974
+ {
35975
+ if (this .enabled && this .getBrowser () .getBrowserOption ("ContextMenu"))
35963
35976
  {
35964
35977
  this .element .stop (true, true) .fadeIn ();
35965
35978
  this .fps .reset ();
@@ -36815,7 +36828,7 @@ const RenderingProperties_default_ = RenderingProperties;
36815
36828
  x_ite_Namespace.set ("x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
36816
36829
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
36817
36830
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
36818
- /* provided dependency */ var Notification_$ = __webpack_require__(535);
36831
+ /* provided dependency */ var Notification_$ = __webpack_require__(2);
36819
36832
  /*******************************************************************************
36820
36833
  *
36821
36834
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36937,8 +36950,8 @@ const Notification_default_ = Notification;
36937
36950
  x_ite_Namespace.set ("x_ite/Browser/Core/Notification", Notification_default_);
36938
36951
  /* harmony default export */ const Core_Notification = (Notification_default_);
36939
36952
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
36940
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(507);
36941
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(535);
36953
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(440);
36954
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(2);
36942
36955
  /*******************************************************************************
36943
36956
  *
36944
36957
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -41926,7 +41939,7 @@ const X3DUrlObject_default_ = X3DUrlObject;
41926
41939
  x_ite_Namespace.set ("x_ite/Components/Networking/X3DUrlObject", X3DUrlObject_default_);
41927
41940
  /* harmony default export */ const Networking_X3DUrlObject = (X3DUrlObject_default_);
41928
41941
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
41929
- /* provided dependency */ var X3DParser_$ = __webpack_require__(535);
41942
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(2);
41930
41943
  /*******************************************************************************
41931
41944
  *
41932
41945
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -45103,7 +45116,7 @@ const VRMLParser_default_ = VRMLParser;
45103
45116
  x_ite_Namespace.set ("x_ite/Parser/VRMLParser", VRMLParser_default_);
45104
45117
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
45105
45118
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
45106
- /* provided dependency */ var XMLParser_$ = __webpack_require__(535);
45119
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(2);
45107
45120
  /*******************************************************************************
45108
45121
  *
45109
45122
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47146,7 +47159,7 @@ const URLs_default_ = URLs;
47146
47159
  x_ite_Namespace.set ("x_ite/Browser/Networking/URLs", URLs_default_);
47147
47160
  /* harmony default export */ const Networking_URLs = (URLs_default_);
47148
47161
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
47149
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(535);
47162
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(2);
47150
47163
  /*******************************************************************************
47151
47164
  *
47152
47165
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -49591,7 +49604,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
49591
49604
  x_ite_Namespace.set ("x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
49592
49605
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
49593
49606
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
49594
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(535);
49607
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(2);
49595
49608
  /*******************************************************************************
49596
49609
  *
49597
49610
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -49744,7 +49757,7 @@ const GLB2Parser_default_ = GLB2Parser;
49744
49757
  x_ite_Namespace.set ("x_ite/Parser/GLB2Parser", GLB2Parser_default_);
49745
49758
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
49746
49759
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
49747
- /* provided dependency */ var OBJParser_$ = __webpack_require__(535);
49760
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(2);
49748
49761
  /*******************************************************************************
49749
49762
  *
49750
49763
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -52197,8 +52210,8 @@ const MatrixStack_default_ = MatrixStack;
52197
52210
  x_ite_Namespace.set ("standard/Math/Utility/MatrixStack", MatrixStack_default_);
52198
52211
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
52199
52212
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
52200
- /* provided dependency */ var SVGParser_$ = __webpack_require__(535);
52201
- /* provided dependency */ var libtess = __webpack_require__(51);
52213
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(2);
52214
+ /* provided dependency */ var libtess = __webpack_require__(735);
52202
52215
  /*******************************************************************************
52203
52216
  *
52204
52217
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -54967,7 +54980,7 @@ const SVGParser_default_ = SVGParser;
54967
54980
  x_ite_Namespace.set ("x_ite/Parser/SVGParser", SVGParser_default_);
54968
54981
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
54969
54982
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
54970
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(535);
54983
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(2);
54971
54984
  /*******************************************************************************
54972
54985
  *
54973
54986
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -55296,7 +55309,7 @@ const Plane3_default_ = Plane3;
55296
55309
  x_ite_Namespace.set ("standard/Math/Geometry/Plane3", Plane3_default_);
55297
55310
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
55298
55311
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
55299
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(51);
55312
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(735);
55300
55313
  /*******************************************************************************
55301
55314
  *
55302
55315
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -58092,7 +58105,6 @@ X3DRenderObject .prototype =
58092
58105
  return {
58093
58106
  renderObject: this,
58094
58107
  transparent: transparent,
58095
- minAlpha: transparent ? 0 : 1,
58096
58108
  modelViewMatrix: new Float32Array (16),
58097
58109
  scissor: new Numbers_Vector4 (0, 0, 0, 0),
58098
58110
  localObjects: [ ],
@@ -59624,7 +59636,7 @@ X3DFogObject .prototype =
59624
59636
  this .set_color__ ();
59625
59637
  this .set_visibilityRange__ ();
59626
59638
  },
59627
- getHidden: function ()
59639
+ isHidden: function ()
59628
59640
  {
59629
59641
  return this .hidden;
59630
59642
  },
@@ -61114,6 +61126,69 @@ const X3DGeometryNode_default_ = X3DGeometryNode;
61114
61126
 
61115
61127
  x_ite_Namespace.set ("x_ite/Components/Rendering/X3DGeometryNode", X3DGeometryNode_default_);
61116
61128
  /* harmony default export */ const Rendering_X3DGeometryNode = (X3DGeometryNode_default_);
61129
+ ;// CONCATENATED MODULE: ./src/x_ite/Browser/Shape/AlphaMode.js
61130
+ /*******************************************************************************
61131
+ *
61132
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
61133
+ *
61134
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
61135
+ *
61136
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
61137
+ *
61138
+ * The copyright notice above does not evidence any actual of intended
61139
+ * publication of such source code, and is an unpublished work by create3000.
61140
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
61141
+ * create3000.
61142
+ *
61143
+ * No permission is granted to copy, distribute, or create derivative works from
61144
+ * the contents of this software, in whole or in part, without the prior written
61145
+ * permission of create3000.
61146
+ *
61147
+ * NON-MILITARY USE ONLY
61148
+ *
61149
+ * All create3000 software are effectively free software with a non-military use
61150
+ * restriction. It is free. Well commented source is provided. You may reuse the
61151
+ * source in any way you please with the exception anything that uses it must be
61152
+ * marked to indicate is contains 'non-military use only' components.
61153
+ *
61154
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
61155
+ *
61156
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
61157
+ *
61158
+ * This file is part of the X_ITE Project.
61159
+ *
61160
+ * X_ITE is free software: you can redistribute it and/or modify it under the
61161
+ * terms of the GNU General Public License version 3 only, as published by the
61162
+ * Free Software Foundation.
61163
+ *
61164
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
61165
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
61166
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
61167
+ * details (a copy is included in the LICENSE file that accompanied this code).
61168
+ *
61169
+ * You should have received a copy of the GNU General Public License version 3
61170
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
61171
+ * copy of the GPLv3 License.
61172
+ *
61173
+ * For Silvio, Joy and Adi.
61174
+ *
61175
+ ******************************************************************************/
61176
+
61177
+ let AlphaMode_i = 0;
61178
+
61179
+ const AlphaMode =
61180
+ {
61181
+ AUTO: AlphaMode_i ++, // Must be zero!
61182
+ OPAQUE: AlphaMode_i ++,
61183
+ MASK: AlphaMode_i ++,
61184
+ BLEND: AlphaMode_i ++,
61185
+ };
61186
+
61187
+ const AlphaMode_default_ = AlphaMode;
61188
+ ;
61189
+
61190
+ x_ite_Namespace.set ("x_ite/Browser/Shape/AlphaMode", AlphaMode_default_);
61191
+ /* harmony default export */ const Shape_AlphaMode = (AlphaMode_default_);
61117
61192
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/GeometryContext.js
61118
61193
  /*******************************************************************************
61119
61194
  *
@@ -61164,10 +61239,12 @@ x_ite_Namespace.set ("x_ite/Components/Rendering/X3DGeometryNode", X3DGeometryNo
61164
61239
 
61165
61240
 
61166
61241
 
61242
+
61167
61243
  function GeometryContext (options = { })
61168
61244
  {
61169
61245
  Object .assign (this,
61170
61246
  {
61247
+ alphaMode: Shape_AlphaMode.OPAQUE,
61171
61248
  geometryType: 3,
61172
61249
  hasFogCoords: false,
61173
61250
  colorMaterial: false,
@@ -61249,6 +61326,8 @@ x_ite_Namespace.set ("x_ite/Browser/Rendering/GeometryContext", GeometryContext_
61249
61326
  *
61250
61327
  ******************************************************************************/
61251
61328
 
61329
+
61330
+
61252
61331
  function BitSet (value = 0)
61253
61332
  {
61254
61333
  this .value = value;
@@ -61257,6 +61336,21 @@ function BitSet (value = 0)
61257
61336
  BitSet .prototype =
61258
61337
  {
61259
61338
  constructor: BitSet,
61339
+ [Symbol .iterator]: function* ()
61340
+ {
61341
+ let
61342
+ value = this .value,
61343
+ index = 0;
61344
+
61345
+ while (value)
61346
+ {
61347
+ if (value & 1)
61348
+ yield index;
61349
+
61350
+ value >>>= 1;
61351
+ index += 1;
61352
+ }
61353
+ },
61260
61354
  get: function (index)
61261
61355
  {
61262
61356
  const mask = 1 << index;
@@ -61276,6 +61370,11 @@ BitSet .prototype =
61276
61370
  {
61277
61371
  this .value = 0;
61278
61372
  },
61373
+ entries: function* ()
61374
+ {
61375
+ for (const i of this)
61376
+ yield [i, i];
61377
+ },
61279
61378
  valueOf: function ()
61280
61379
  {
61281
61380
  return this .value;
@@ -61286,6 +61385,17 @@ BitSet .prototype =
61286
61385
  },
61287
61386
  };
61288
61387
 
61388
+ BitSet .prototype .keys = BitSet .prototype [Symbol .iterator];
61389
+ BitSet .prototype .values = BitSet .prototype [Symbol .iterator];
61390
+
61391
+ Object .defineProperty (BitSet .prototype, "size",
61392
+ {
61393
+ get: function ()
61394
+ {
61395
+ return Algorithm.bitCount (this .value);
61396
+ },
61397
+ });
61398
+
61289
61399
  const BitSet_default_ = BitSet;
61290
61400
  ;
61291
61401
 
@@ -61365,8 +61475,6 @@ function X3DBackgroundNode (executionContext)
61365
61475
  this ._skyAngle .setUnit ("angle");
61366
61476
  this ._groundAngle .setUnit ("angle");
61367
61477
 
61368
- const browser = this .getBrowser ();
61369
-
61370
61478
  this .hidden = false;
61371
61479
  this .projectionMatrixArray = new Float32Array (16);
61372
61480
  this .modelMatrix = new Numbers_Matrix4 ();
@@ -61374,9 +61482,12 @@ function X3DBackgroundNode (executionContext)
61374
61482
  this .clipPlanes = [ ];
61375
61483
  this .colors = [ ];
61376
61484
  this .sphere = [ ];
61485
+ this .textureNodes = new Array (6);
61377
61486
  this .textureBits = new Utility_BitSet ();
61378
61487
  this .sphereContext = new Rendering_GeometryContext ({ colorMaterial: true });
61488
+ this .sphereAlphaContext = new Rendering_GeometryContext ({ colorMaterial: true, alphaMode: Shape_AlphaMode.BLEND });
61379
61489
  this .texturesContext = new Rendering_GeometryContext ({ textureNode: true });
61490
+ this .texturesAlphaContext = new Rendering_GeometryContext ({ textureNode: true, alphaMode: Shape_AlphaMode.BLEND });
61380
61491
  }
61381
61492
 
61382
61493
  X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableNode.prototype),
@@ -61390,32 +61501,22 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61390
61501
  browser = this .getBrowser (),
61391
61502
  gl = browser .getContext ();
61392
61503
 
61393
- this .colorBuffer = gl .createBuffer ();
61394
- this .sphereBuffer = gl .createBuffer ();
61395
- this .texCoordBuffers = new Array (browser .getMaxTextures ()) .fill (gl .createBuffer ());
61396
- this .frontBuffer = gl .createBuffer ();
61397
- this .backBuffer = gl .createBuffer ();
61398
- this .leftBuffer = gl .createBuffer ();
61399
- this .rightBuffer = gl .createBuffer ();
61400
- this .topBuffer = gl .createBuffer ();
61401
- this .bottomBuffer = gl .createBuffer ();
61402
- this .sphereArrayObject = new Rendering_VertexArray (gl);
61403
- this .frontArrayObject = new Rendering_VertexArray (gl);
61404
- this .backArrayObject = new Rendering_VertexArray (gl);
61405
- this .leftArrayObject = new Rendering_VertexArray (gl);
61406
- this .rightArrayObject = new Rendering_VertexArray (gl);
61407
- this .topArrayObject = new Rendering_VertexArray (gl);
61408
- this .bottomArrayObject = new Rendering_VertexArray (gl);
61409
-
61410
- this ._groundAngle .addInterest ("build", this);
61411
- this ._groundColor .addInterest ("build", this);
61412
- this ._skyAngle .addInterest ("build", this);
61413
- this ._skyColor .addInterest ("build", this);
61504
+ this .colorBuffer = gl .createBuffer ();
61505
+ this .sphereBuffer = gl .createBuffer ();
61506
+ this .texCoordBuffers = [gl .createBuffer ()];
61507
+ this .textureBuffers = Array .from ({length: 6}, () => gl .createBuffer ());
61508
+ this .sphereArrayObject = new Rendering_VertexArray (gl);
61509
+ this .textureArrayObjects = Array .from ({length: 6}, () => new Rendering_VertexArray (gl));
61510
+
61511
+ this ._groundAngle .addInterest ("build", this);
61512
+ this ._groundColor .addInterest ("build", this);
61513
+ this ._skyAngle .addInterest ("build", this);
61514
+ this ._skyColor .addInterest ("build", this);
61414
61515
 
61415
61516
  this .build ();
61416
61517
  this .transferRectangle ();
61417
61518
  },
61418
- getHidden: function ()
61519
+ isHidden: function ()
61419
61520
  {
61420
61521
  return this .hidden;
61421
61522
  },
@@ -61425,36 +61526,54 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61425
61526
 
61426
61527
  this .getBrowser () .addBrowserEvent ();
61427
61528
  },
61529
+ isTransparent: function ()
61530
+ {
61531
+ if (this .hidden)
61532
+ return true;
61533
+
61534
+ if (this ._transparency .getValue () <= 0)
61535
+ return false;
61536
+
61537
+ if (this .textureBits .size !== 6)
61538
+ return true;
61539
+
61540
+ for (const i of this .textureBits)
61541
+ {
61542
+ if (this .textureNodes [i] ._transparent .getValue ())
61543
+ return true;
61544
+ }
61545
+
61546
+ return false;
61547
+ },
61428
61548
  set_frontTexture__: function (value)
61429
61549
  {
61430
- this .updateTexture ("frontTexture", value, 0);
61550
+ this .updateTexture (0, value);
61431
61551
  },
61432
61552
  set_backTexture__: function (value)
61433
61553
  {
61434
- this .updateTexture ("backTexture", value, 1);
61554
+ this .updateTexture (1, value);
61435
61555
  },
61436
61556
  set_leftTexture__: function (value)
61437
61557
  {
61438
- this .updateTexture ("leftTexture", value, 2);
61558
+ this .updateTexture (2, value);
61439
61559
  },
61440
61560
  set_rightTexture__: function (value)
61441
61561
  {
61442
- this .updateTexture ("rightTexture", value, 3);
61562
+ this .updateTexture (3, value);
61443
61563
  },
61444
61564
  set_topTexture__: function (value)
61445
61565
  {
61446
- this .updateTexture ("topTexture", value, 4);
61566
+ this .updateTexture (4, value);
61447
61567
  },
61448
61568
  set_bottomTexture__: function (value)
61449
61569
  {
61450
- this .updateTexture ("bottomTexture", value, 5);
61570
+ this .updateTexture (5, value);
61451
61571
  },
61452
- updateTexture: function (name, textureNode, index)
61572
+ updateTexture: function (index, textureNode)
61453
61573
  {
61454
- if (this [name])
61455
- this [name] ._loadState .removeInterest ("setTextureBit", this);
61574
+ this .textureNodes [index]?._loadState .removeInterest ("setTextureBit", this);
61456
61575
 
61457
- this [name] = textureNode;
61576
+ this .textureNodes [index] = textureNode;
61458
61577
 
61459
61578
  if (textureNode)
61460
61579
  {
@@ -61471,34 +61590,6 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61471
61590
  {
61472
61591
  this .textureBits .set (bit, loadState .getValue () === Base_X3DConstants.COMPLETE_STATE || textureNode .getWidth ());
61473
61592
  },
61474
- isTransparent: function ()
61475
- {
61476
- if (this .hidden)
61477
- return true;
61478
-
61479
- if (this ._transparency .getValue () === 0)
61480
- return false;
61481
-
61482
- if (! this .frontTexture || this .frontTexture ._transparent .getValue ())
61483
- return true;
61484
-
61485
- if (! this .backTexture || this .backTexture ._transparent .getValue ())
61486
- return true;
61487
-
61488
- if (! this .leftTexture || this .leftTexture ._transparent .getValue ())
61489
- return true;
61490
-
61491
- if (! this .rightTexture || this .rightTexture ._transparent .getValue ())
61492
- return true;
61493
-
61494
- if (! this .topTexture || this .topTexture ._transparent .getValue ())
61495
- return true;
61496
-
61497
- if (! this .bottomTexture || this .bottomTexture ._transparent .getValue ())
61498
- return true;
61499
-
61500
- return false;
61501
- },
61502
61593
  getColor: function (theta, color, angle)
61503
61594
  {
61504
61595
  const index = Algorithm.upperBound (angle, 0, angle .length, theta);
@@ -61531,10 +61622,10 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61531
61622
  -s, -s, s, 1, s, -s, s, 1, -s, -s, -s, 1, // Bottom
61532
61623
  -s, -s, -s, 1, s, -s, s, 1, s, -s, -s, 1);
61533
61624
 
61534
- const c = this ._skyColor [0];
61625
+ const color = this ._skyColor [0];
61535
61626
 
61536
61627
  for (let i = 0, vertices = this .sphere .vertices; i < vertices; ++ i)
61537
- this .colors .push (c .r, c .g, c .b, 1);
61628
+ this .colors .push (... color, 1);
61538
61629
  }
61539
61630
  else
61540
61631
  {
@@ -61631,13 +61722,13 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61631
61722
 
61632
61723
  // Triangle 1 and 2
61633
61724
 
61634
- this .colors .push (c1 .r, c1 .g, c1 .b, 1,
61635
- c2 .r, c2 .g, c2 .b, 1,
61636
- c2 .r, c2 .g, c2 .b, 1,
61725
+ this .colors .push (... c1, 1,
61726
+ ... c2, 1,
61727
+ ... c2, 1,
61637
61728
  // Triangle 2
61638
- c1 .r, c1 .g, c1 .b, 1,
61639
- c1 .r, c1 .g, c1 .b, 1,
61640
- c2 .r, c2 .g, c2 .b, 1);
61729
+ ... c1, 1,
61730
+ ... c1, 1,
61731
+ ... c2, 1);
61641
61732
 
61642
61733
  this .sphere .push (y1 .imag, z1 .real, y1 .real, 1,
61643
61734
  y3 .imag, z2 .real, y3 .real, 1,
@@ -61670,67 +61761,76 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61670
61761
  {
61671
61762
  const s = SIZE;
61672
61763
 
61673
- const texCoords = [
61764
+ const texCoords = new Float32Array ([
61674
61765
  1, 1, 0, 1,
61675
61766
  0, 1, 0, 1,
61676
61767
  0, 0, 0, 1,
61677
61768
  1, 1, 0, 1,
61678
61769
  0, 0, 0, 1,
61679
61770
  1, 0, 0, 1,
61680
- ];
61771
+ ]);
61681
61772
 
61682
- const frontVertices = [
61773
+ const frontVertices = new Float32Array ([
61683
61774
  s, s, -s, 1,
61684
61775
  -s, s, -s, 1,
61685
61776
  -s, -s, -s, 1,
61686
61777
  s, s, -s, 1,
61687
61778
  -s, -s, -s, 1,
61688
61779
  s, -s, -s, 1,
61689
- ];
61780
+ ]);
61690
61781
 
61691
- const backVertices = [
61782
+ const backVertices = new Float32Array ([
61692
61783
  -s, s, s, 1,
61693
61784
  s, s, s, 1,
61694
61785
  s, -s, s, 1,
61695
61786
  -s, s, s, 1,
61696
61787
  s, -s, s, 1,
61697
61788
  -s, -s, s, 1,
61698
- ];
61789
+ ]);
61699
61790
 
61700
- const leftVertices = [
61791
+ const leftVertices = new Float32Array ([
61701
61792
  -s, s, -s, 1,
61702
61793
  -s, s, s, 1,
61703
61794
  -s, -s, s, 1,
61704
61795
  -s, s, -s, 1,
61705
61796
  -s, -s, s, 1,
61706
61797
  -s, -s, -s, 1,
61707
- ];
61798
+ ]);
61708
61799
 
61709
- const rightVertices = [
61800
+ const rightVertices = new Float32Array ([
61710
61801
  s, s, s, 1,
61711
61802
  s, s, -s, 1,
61712
61803
  s, -s, -s, 1,
61713
61804
  s, s, s, 1,
61714
61805
  s, -s, -s, 1,
61715
61806
  s, -s, s, 1,
61716
- ];
61807
+ ]);
61717
61808
 
61718
- const topVertices = [
61809
+ const topVertices = new Float32Array ([
61719
61810
  s, s, s, 1,
61720
61811
  -s, s, s, 1,
61721
61812
  -s, s, -s, 1,
61722
61813
  s, s, s, 1,
61723
61814
  -s, s, -s, 1,
61724
61815
  s, s, -s, 1,
61725
- ];
61816
+ ]);
61726
61817
 
61727
- const bottomVertices = [
61818
+ const bottomVertices = new Float32Array ([
61728
61819
  s, -s, -s, 1,
61729
61820
  -s, -s, -s, 1,
61730
61821
  -s, -s, s, 1,
61731
61822
  s, -s, -s, 1,
61732
61823
  -s, -s, s, 1,
61733
61824
  s, -s, s, 1,
61825
+ ]);
61826
+
61827
+ const vertices = [
61828
+ frontVertices,
61829
+ backVertices,
61830
+ leftVertices,
61831
+ rightVertices,
61832
+ topVertices,
61833
+ bottomVertices,
61734
61834
  ];
61735
61835
 
61736
61836
  return function ()
@@ -61740,27 +61840,15 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61740
61840
  // Transfer texCoords.
61741
61841
 
61742
61842
  gl .bindBuffer (gl .ARRAY_BUFFER, this .texCoordBuffers [0]);
61743
- gl .bufferData (gl .ARRAY_BUFFER, new Float32Array (texCoords), gl .DYNAMIC_DRAW);
61843
+ gl .bufferData (gl .ARRAY_BUFFER, texCoords, gl .DYNAMIC_DRAW);
61744
61844
 
61745
61845
  // Transfer rectangle.
61746
61846
 
61747
- gl .bindBuffer (gl .ARRAY_BUFFER, this .frontBuffer);
61748
- gl .bufferData (gl .ARRAY_BUFFER, new Float32Array (frontVertices), gl .DYNAMIC_DRAW);
61749
-
61750
- gl .bindBuffer (gl .ARRAY_BUFFER, this .backBuffer);
61751
- gl .bufferData (gl .ARRAY_BUFFER, new Float32Array (backVertices), gl .DYNAMIC_DRAW);
61752
-
61753
- gl .bindBuffer (gl .ARRAY_BUFFER, this .leftBuffer);
61754
- gl .bufferData (gl .ARRAY_BUFFER, new Float32Array (leftVertices), gl .DYNAMIC_DRAW);
61755
-
61756
- gl .bindBuffer (gl .ARRAY_BUFFER, this .rightBuffer);
61757
- gl .bufferData (gl .ARRAY_BUFFER, new Float32Array (rightVertices), gl .DYNAMIC_DRAW);
61758
-
61759
- gl .bindBuffer (gl .ARRAY_BUFFER, this .topBuffer);
61760
- gl .bufferData (gl .ARRAY_BUFFER, new Float32Array (topVertices), gl .DYNAMIC_DRAW);
61761
-
61762
- gl .bindBuffer (gl .ARRAY_BUFFER, this .bottomBuffer);
61763
- gl .bufferData (gl .ARRAY_BUFFER, new Float32Array (bottomVertices), gl .DYNAMIC_DRAW);
61847
+ for (let i = 0; i < 6; ++ i)
61848
+ {
61849
+ gl .bindBuffer (gl .ARRAY_BUFFER, this .textureBuffers [i]);
61850
+ gl .bufferData (gl .ARRAY_BUFFER, vertices [i], gl .DYNAMIC_DRAW);
61851
+ }
61764
61852
  };
61765
61853
  })(),
61766
61854
  traverse: function (type, renderObject)
@@ -61777,21 +61865,21 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61777
61865
  case Rendering_TraverseType.DISPLAY:
61778
61866
  {
61779
61867
  const
61780
- sourceObjects = renderObject .getLocalObjects (),
61781
- destObjects = this .clipPlanes;
61868
+ localObjects = renderObject .getLocalObjects (),
61869
+ clipPlanes = this .clipPlanes;
61782
61870
 
61783
- let d = 0;
61871
+ let c = 0;
61784
61872
 
61785
- for (let s = 0, length = sourceObjects .length; s < length; ++ s)
61873
+ for (let l = 0, length = localObjects .length; l < length; ++ l)
61786
61874
  {
61787
- if (sourceObjects [s] .isClipped)
61788
- destObjects [d ++] = sourceObjects [s];
61875
+ if (localObjects [l] .isClipped)
61876
+ clipPlanes [c ++] = localObjects [l];
61789
61877
  }
61790
61878
 
61791
- destObjects .length = d;
61879
+ clipPlanes .length = c;
61792
61880
 
61793
- this .sphereContext .objectsCount [0] = destObjects .length;
61794
- this .texturesContext .objectsCount [0] = destObjects .length;
61881
+ this .sphereContext .objectsCount [0] = clipPlanes .length;
61882
+ this .texturesContext .objectsCount [0] = clipPlanes .length;
61795
61883
  return;
61796
61884
  }
61797
61885
  }
@@ -61840,15 +61928,15 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61840
61928
  })(),
61841
61929
  drawSphere: function (renderObject)
61842
61930
  {
61843
- const transparency = this ._transparency .getValue ();
61931
+ const transparency = Algorithm.clamp (this ._transparency .getValue (), 0, 1);
61844
61932
 
61845
- if (transparency >= 1)
61933
+ if (transparency === 1)
61846
61934
  return;
61847
61935
 
61848
61936
  const
61849
61937
  browser = this .getBrowser (),
61850
61938
  gl = browser .getContext (),
61851
- shaderNode = browser .getDefaultMaterial () .getShader (this .sphereContext);
61939
+ shaderNode = browser .getDefaultMaterial () .getShader (transparency ? this .sphereAlphaContext : this .sphereContext);
61852
61940
 
61853
61941
  shaderNode .enable (gl);
61854
61942
  shaderNode .setClipPlanes (gl, this .clipPlanes);
@@ -61885,9 +61973,10 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61885
61973
  return function (renderObject)
61886
61974
  {
61887
61975
  const
61888
- browser = this .getBrowser (),
61889
- gl = browser .getContext (),
61890
- shaderNode = browser .getDefaultMaterial () .getShader (this .texturesContext);
61976
+ browser = this .getBrowser (),
61977
+ gl = browser .getContext (),
61978
+ shaderNode = browser .getDefaultMaterial () .getShader (this .texturesContext),
61979
+ alphaShaderNode = browser .getDefaultMaterial () .getShader (this .texturesAlphaContext);
61891
61980
 
61892
61981
  shaderNode .enable (gl);
61893
61982
  shaderNode .setClipPlanes (gl, this .clipPlanes);
@@ -61904,37 +61993,34 @@ X3DBackgroundNode .prototype = Object .assign (Object .create (Core_X3DBindableN
61904
61993
 
61905
61994
  // Draw all textures.
61906
61995
 
61907
- this .drawRectangle (gl, browser, shaderNode, renderObject, this .frontTexture, this .frontBuffer, this .frontArrayObject);
61908
- this .drawRectangle (gl, browser, shaderNode, renderObject, this .backTexture, this .backBuffer, this .backArrayObject);
61909
- this .drawRectangle (gl, browser, shaderNode, renderObject, this .leftTexture, this .leftBuffer, this .leftArrayObject);
61910
- this .drawRectangle (gl, browser, shaderNode, renderObject, this .rightTexture, this .rightBuffer, this .rightArrayObject);
61911
- this .drawRectangle (gl, browser, shaderNode, renderObject, this .topTexture, this .topBuffer, this .topArrayObject);
61912
- this .drawRectangle (gl, browser, shaderNode, renderObject, this .bottomTexture, this .bottomBuffer, this .bottomArrayObject);
61996
+ for (const i of this .textureBits)
61997
+ {
61998
+ const textureNode = this .textureNodes [i];
61999
+
62000
+ this .drawRectangle (gl, browser, textureNode ._transparent .getValue () ? alphaShaderNode : shaderNode, renderObject, textureNode, this .textureBuffers [i], this .textureArrayObjects [i]);
62001
+ }
61913
62002
  };
61914
62003
  })(),
61915
62004
  drawRectangle: function (gl, browser, shaderNode, renderObject, textureNode, buffer, vertexArray)
61916
62005
  {
61917
- if (textureNode && (textureNode .checkLoadState () === Base_X3DConstants.COMPLETE_STATE || textureNode .getWidth ()))
61918
- {
61919
- textureNode .setShaderUniforms (gl, shaderNode, renderObject);
62006
+ textureNode .setShaderUniforms (gl, shaderNode, renderObject);
61920
62007
 
61921
- if (vertexArray .enable (gl, shaderNode))
61922
- {
61923
- shaderNode .enableTexCoordAttribute (gl, this .texCoordBuffers, 0, 0);
61924
- shaderNode .enableVertexAttribute (gl, buffer, 0, 0);
61925
- }
62008
+ if (vertexArray .enable (gl, shaderNode))
62009
+ {
62010
+ shaderNode .enableTexCoordAttribute (gl, this .texCoordBuffers, 0, 0);
62011
+ shaderNode .enableVertexAttribute (gl, buffer, 0, 0);
62012
+ }
61926
62013
 
61927
- // Draw.
62014
+ // Draw.
61928
62015
 
61929
- if (textureNode ._transparent .getValue ())
61930
- gl .enable (gl .BLEND);
61931
- else
61932
- gl .disable (gl .BLEND);
62016
+ if (textureNode ._transparent .getValue ())
62017
+ gl .enable (gl .BLEND);
62018
+ else
62019
+ gl .disable (gl .BLEND);
61933
62020
 
61934
- gl .drawArrays (gl .TRIANGLES, 0, 6);
62021
+ gl .drawArrays (gl .TRIANGLES, 0, 6);
61935
62022
 
61936
- browser .resetTextureUnits ();
61937
- }
62023
+ browser .resetTextureUnits ();
61938
62024
  },
61939
62025
  });
61940
62026
 
@@ -62474,8 +62560,10 @@ X3DTexture2DNode .prototype = Object .assign (Object .create (Texturing_X3DSingl
62474
62560
 
62475
62561
  gl .bindTexture (gl .TEXTURE_2D, this .getTexture ());
62476
62562
  gl .pixelStorei (gl .UNPACK_FLIP_Y_WEBGL, flipY);
62563
+ //gl .pixelStorei (gl .UNPACK_COLORSPACE_CONVERSION_WEBGL, colorspace ? gl .BROWSER_DEFAULT_WEBGL : gl .NONE);
62477
62564
  gl .texImage2D (gl .TEXTURE_2D, 0, gl .RGBA, width, height, 0, gl .RGBA, gl .UNSIGNED_BYTE, data);
62478
62565
  gl .pixelStorei (gl .UNPACK_FLIP_Y_WEBGL, false);
62566
+ //gl .pixelStorei (gl .UNPACK_COLORSPACE_CONVERSION_WEBGL, gl .BROWSER_DEFAULT_WEBGL);
62479
62567
 
62480
62568
  this .setTransparent (transparent);
62481
62569
  this .updateTextureParameters ();
@@ -62523,7 +62611,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
62523
62611
  x_ite_Namespace.set ("x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
62524
62612
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
62525
62613
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
62526
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(535);
62614
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(2);
62527
62615
  /*******************************************************************************
62528
62616
  *
62529
62617
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -62782,7 +62870,7 @@ ImageTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
62782
62870
  flipImage (data, width, height, components)
62783
62871
  {
62784
62872
  const
62785
- height1_2 = height >> 1,
62873
+ height1_2 = height >>> 1,
62786
62874
  bytesPerRow = width * components,
62787
62875
  tmp = new Uint8Array (bytesPerRow);
62788
62876
 
@@ -64902,11 +64990,6 @@ X3DViewpointNode .prototype = Object .assign (Object .create (Core_X3DBindableNo
64902
64990
  if (this ._viewAll .getValue ())
64903
64991
  this .viewAll (layerNode .getBBox (new Geometry_Box3 ()));
64904
64992
 
64905
- if (this .getBrowser () .getBrowserOption ("StraightenHorizon"))
64906
- {
64907
- this ._orientationOffset = this .straightenHorizon (this .getUserOrientation ()) .multLeft (this .getOrientation () .copy () .inverse ());
64908
- }
64909
-
64910
64993
  // Handle NavigationInfo.
64911
64994
 
64912
64995
  const
@@ -65005,11 +65088,6 @@ X3DViewpointNode .prototype = Object .assign (Object .create (Core_X3DBindableNo
65005
65088
  this ._centerOfRotationOffset = Numbers_Vector3.Zero;
65006
65089
  this ._fieldOfViewScale = 1;
65007
65090
 
65008
- if (this .getBrowser () .getBrowserOption ("StraightenHorizon"))
65009
- {
65010
- this ._orientationOffset = this .straightenHorizon (this .getUserOrientation ()) .multLeft (this .getOrientation () .copy () .inverse ());
65011
- }
65012
-
65013
65091
  this .set_nearDistance__ ();
65014
65092
  this .set_farDistance__ ();
65015
65093
  },
@@ -65651,7 +65729,7 @@ X3DGroupingNode .prototype = Object .assign (Object .create (Core_X3DChildNode.p
65651
65729
 
65652
65730
  return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
65653
65731
  },
65654
- getHidden: function ()
65732
+ isHidden: function ()
65655
65733
  {
65656
65734
  return this .hidden;
65657
65735
  },
@@ -66829,7 +66907,7 @@ const X3DWorld_default_ = X3DWorld;
66829
66907
  x_ite_Namespace.set ("x_ite/Execution/X3DWorld", X3DWorld_default_);
66830
66908
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
66831
66909
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
66832
- /* provided dependency */ var FileLoader_$ = __webpack_require__(535);
66910
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(2);
66833
66911
  /*******************************************************************************
66834
66912
  *
66835
66913
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -69003,7 +69081,7 @@ const X3DExecutionContext_default_ = X3DExecutionContext;
69003
69081
  x_ite_Namespace.set ("x_ite/Execution/X3DExecutionContext", X3DExecutionContext_default_);
69004
69082
  /* harmony default export */ const Execution_X3DExecutionContext = (X3DExecutionContext_default_);
69005
69083
  ;// CONCATENATED MODULE: ./src/x_ite/Configuration/ComponentInfo.js
69006
- /* provided dependency */ var ComponentInfo_$ = __webpack_require__(535);
69084
+ /* provided dependency */ var ComponentInfo_$ = __webpack_require__(2);
69007
69085
  /*******************************************************************************
69008
69086
  *
69009
69087
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -70974,7 +71052,7 @@ const DataStorage_default_ = DataStorage;
70974
71052
  x_ite_Namespace.set ("standard/Utility/DataStorage", DataStorage_default_);
70975
71053
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
70976
71054
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
70977
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(535);
71055
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(2);
70978
71056
  /*******************************************************************************
70979
71057
  *
70980
71058
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -72060,69 +72138,47 @@ X3DComposedGeometryNode .prototype = Object .assign (Object .create (Rendering_X
72060
72138
  },
72061
72139
  set_fogCoord__: function ()
72062
72140
  {
72063
- if (this .fogCoordNode)
72064
- this .fogCoordNode .removeInterest ("requestRebuild", this);
72141
+ this .fogCoordNode?.removeInterest ("requestRebuild", this);
72065
72142
 
72066
72143
  this .fogCoordNode = Base_X3DCast (Base_X3DConstants.FogCoordinate, this ._fogCoord);
72067
72144
 
72068
- if (this .fogCoordNode)
72069
- this .fogCoordNode .addInterest ("requestRebuild", this);
72145
+ this .fogCoordNode?.addInterest ("requestRebuild", this);
72070
72146
  },
72071
72147
  set_color__: function ()
72072
72148
  {
72073
- if (this .colorNode)
72074
- {
72075
- this .colorNode .removeInterest ("requestRebuild", this);
72076
- this .colorNode ._transparent .removeInterest ("set_transparent__", this);
72077
- }
72149
+ this .colorNode?.removeInterest ("requestRebuild", this);
72078
72150
 
72079
72151
  this .colorNode = Base_X3DCast (Base_X3DConstants.X3DColorNode, this ._color);
72080
72152
 
72081
- if (this .colorNode)
72082
- {
72083
- this .colorNode .addInterest ("requestRebuild", this);
72084
- this .colorNode ._transparent .addInterest ("set_transparent__", this);
72153
+ this .colorNode?.addInterest ("requestRebuild", this);
72085
72154
 
72086
- this .set_transparent__ ();
72087
- }
72088
- else
72089
- this .setTransparent (false);
72090
- },
72091
- set_transparent__: function ()
72092
- {
72093
- this .setTransparent (this .colorNode .isTransparent ());
72155
+ this .setTransparent (this .colorNode?.isTransparent () ?? false);
72094
72156
  },
72095
72157
  set_texCoord__: function ()
72096
72158
  {
72097
- if (this .texCoordNode)
72098
- this .texCoordNode .removeInterest ("requestRebuild", this);
72159
+ this .texCoordNode?.removeInterest ("requestRebuild", this);
72099
72160
 
72100
72161
  this .texCoordNode = Base_X3DCast (Base_X3DConstants.X3DTextureCoordinateNode, this ._texCoord);
72101
72162
 
72102
- if (this .texCoordNode)
72103
- this .texCoordNode .addInterest ("requestRebuild", this);
72163
+ this .texCoordNode?.addInterest ("requestRebuild", this);
72104
72164
 
72105
72165
  this .setTextureCoordinate (this .texCoordNode);
72106
72166
  },
72107
72167
  set_normal__: function ()
72108
72168
  {
72109
- if (this .normalNode)
72110
- this .normalNode .removeInterest ("requestRebuild", this);
72169
+ this .normalNode?.removeInterest ("requestRebuild", this);
72111
72170
 
72112
72171
  this .normalNode = Base_X3DCast (Base_X3DConstants.X3DNormalNode, this ._normal);
72113
72172
 
72114
- if (this .normalNode)
72115
- this .normalNode .addInterest ("requestRebuild", this);
72173
+ this .normalNode?.addInterest ("requestRebuild", this);
72116
72174
  },
72117
72175
  set_coord__: function ()
72118
72176
  {
72119
- if (this .coordNode)
72120
- this .coordNode .removeInterest ("requestRebuild", this);
72177
+ this .coordNode?.removeInterest ("requestRebuild", this);
72121
72178
 
72122
72179
  this .coordNode = Base_X3DCast (Base_X3DConstants.X3DCoordinateNode, this ._coord);
72123
72180
 
72124
- if (this .coordNode)
72125
- this .coordNode .addInterest ("requestRebuild", this);
72181
+ this .coordNode?.addInterest ("requestRebuild", this);
72126
72182
  },
72127
72183
  getPolygonIndex: function (index)
72128
72184
  {
@@ -72159,8 +72215,7 @@ X3DComposedGeometryNode .prototype = Object .assign (Object .create (Rendering_X
72159
72215
  normalArray = this .getNormals (),
72160
72216
  vertexArray = this .getVertices ();
72161
72217
 
72162
- if (texCoordNode)
72163
- texCoordNode .init (multiTexCoordArray);
72218
+ texCoordNode?.init (multiTexCoordArray);
72164
72219
 
72165
72220
  // Fill GeometryNode
72166
72221
 
@@ -72173,8 +72228,7 @@ X3DComposedGeometryNode .prototype = Object .assign (Object .create (Rendering_X
72173
72228
  for (let a = 0; a < numAttribNodes; ++ a)
72174
72229
  attribNodes [a] .addValue (index, attribArrays [a]);
72175
72230
 
72176
- if (fogCoordNode)
72177
- fogCoordNode .addDepth (index, fogDepthArray);
72231
+ fogCoordNode?.addDepth (index, fogDepthArray);
72178
72232
 
72179
72233
  if (colorNode)
72180
72234
  {
@@ -72184,8 +72238,7 @@ X3DComposedGeometryNode .prototype = Object .assign (Object .create (Rendering_X
72184
72238
  colorNode .addColor (face, colorArray);
72185
72239
  }
72186
72240
 
72187
- if (texCoordNode)
72188
- texCoordNode .addPoint (index, multiTexCoordArray);
72241
+ texCoordNode?.addPoint (index, multiTexCoordArray);
72189
72242
 
72190
72243
  if (normalNode)
72191
72244
  {
@@ -72481,8 +72534,7 @@ IndexedFaceSet .prototype = Object .assign (Object .create (Rendering_X3DCompose
72481
72534
  normalArray = this .getNormals (),
72482
72535
  vertexArray = this .getVertices ();
72483
72536
 
72484
- if (texCoordNode)
72485
- texCoordNode .init (multiTexCoordArray);
72537
+ texCoordNode?.init (multiTexCoordArray);
72486
72538
 
72487
72539
  for (const polygon of polygons)
72488
72540
  {
@@ -72497,8 +72549,7 @@ IndexedFaceSet .prototype = Object .assign (Object .create (Rendering_X3DCompose
72497
72549
  for (let a = 0; a < numAttribNodes; ++ a)
72498
72550
  attribNodes [a] .addValue (index, attribArrays [a]);
72499
72551
 
72500
- if (fogCoordNode)
72501
- fogCoordNode .addDepth (index, fogDepthArray);
72552
+ fogCoordNode?.addDepth (index, fogDepthArray);
72502
72553
 
72503
72554
  if (colorNode)
72504
72555
  {
@@ -72508,8 +72559,7 @@ IndexedFaceSet .prototype = Object .assign (Object .create (Rendering_X3DCompose
72508
72559
  colorNode .addColor (this .getColorIndex (face), colorArray);
72509
72560
  }
72510
72561
 
72511
- if (texCoordNode)
72512
- texCoordNode .addPoint (this .getTexCoordPerVertexIndex (i), multiTexCoordArray);
72562
+ texCoordNode?.addPoint (this .getTexCoordPerVertexIndex (i), multiTexCoordArray);
72513
72563
 
72514
72564
  if (normalNode)
72515
72565
  {
@@ -74177,69 +74227,6 @@ const X3DGeometry3DContext_default_ = X3DGeometry3DContext;
74177
74227
 
74178
74228
  x_ite_Namespace.set ("x_ite/Browser/Geometry3D/X3DGeometry3DContext", X3DGeometry3DContext_default_);
74179
74229
  /* harmony default export */ const Geometry3D_X3DGeometry3DContext = (X3DGeometry3DContext_default_);
74180
- ;// CONCATENATED MODULE: ./src/x_ite/Browser/Shape/AlphaMode.js
74181
- /*******************************************************************************
74182
- *
74183
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
74184
- *
74185
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
74186
- *
74187
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
74188
- *
74189
- * The copyright notice above does not evidence any actual of intended
74190
- * publication of such source code, and is an unpublished work by create3000.
74191
- * This material contains CONFIDENTIAL INFORMATION that is the property of
74192
- * create3000.
74193
- *
74194
- * No permission is granted to copy, distribute, or create derivative works from
74195
- * the contents of this software, in whole or in part, without the prior written
74196
- * permission of create3000.
74197
- *
74198
- * NON-MILITARY USE ONLY
74199
- *
74200
- * All create3000 software are effectively free software with a non-military use
74201
- * restriction. It is free. Well commented source is provided. You may reuse the
74202
- * source in any way you please with the exception anything that uses it must be
74203
- * marked to indicate is contains 'non-military use only' components.
74204
- *
74205
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
74206
- *
74207
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
74208
- *
74209
- * This file is part of the X_ITE Project.
74210
- *
74211
- * X_ITE is free software: you can redistribute it and/or modify it under the
74212
- * terms of the GNU General Public License version 3 only, as published by the
74213
- * Free Software Foundation.
74214
- *
74215
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
74216
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
74217
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
74218
- * details (a copy is included in the LICENSE file that accompanied this code).
74219
- *
74220
- * You should have received a copy of the GNU General Public License version 3
74221
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
74222
- * copy of the GPLv3 License.
74223
- *
74224
- * For Silvio, Joy and Adi.
74225
- *
74226
- ******************************************************************************/
74227
-
74228
- let AlphaMode_i = 0;
74229
-
74230
- const AlphaMode =
74231
- {
74232
- AUTO: AlphaMode_i ++,
74233
- OPAQUE: AlphaMode_i ++,
74234
- MASK: AlphaMode_i ++,
74235
- BLEND: AlphaMode_i ++,
74236
- };
74237
-
74238
- const AlphaMode_default_ = AlphaMode;
74239
- ;
74240
-
74241
- x_ite_Namespace.set ("x_ite/Browser/Shape/AlphaMode", AlphaMode_default_);
74242
- /* harmony default export */ const Shape_AlphaMode = (AlphaMode_default_);
74243
74230
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/X3DShapeNode.js
74244
74231
  /*******************************************************************************
74245
74232
  *
@@ -74420,8 +74407,7 @@ X3DShapeNode .prototype = Object .assign (Object .create (Core_X3DChildNode.prot
74420
74407
  {
74421
74408
  if (this .apparanceNode .getAlphaMode () === Shape_AlphaMode.AUTO)
74422
74409
  {
74423
- this .transparent = this .apparanceNode .isTransparent () ||
74424
- (this .geometryNode && this .geometryNode .isTransparent ());
74410
+ this .transparent = !!(this .apparanceNode .isTransparent () || this .geometryNode?.isTransparent ());
74425
74411
  }
74426
74412
  else
74427
74413
  {
@@ -75351,57 +75337,37 @@ IndexedLineSet .prototype = Object .assign (Object .create (Rendering_X3DLineGeo
75351
75337
  },
75352
75338
  set_fogCoord__: function ()
75353
75339
  {
75354
- if (this .fogCoordNode)
75355
- this .fogCoordNode .removeInterest ("requestRebuild", this);
75340
+ this .fogCoordNode?.removeInterest ("requestRebuild", this);
75356
75341
 
75357
75342
  this .fogCoordNode = Base_X3DCast (Base_X3DConstants.FogCoordinate, this ._fogCoord);
75358
75343
 
75359
- if (this .fogCoordNode)
75360
- this .fogCoordNode .addInterest ("requestRebuild", this);
75344
+ this .fogCoordNode?.addInterest ("requestRebuild", this);
75361
75345
  },
75362
75346
  set_color__: function ()
75363
75347
  {
75364
- if (this .colorNode)
75365
- {
75366
- this .colorNode .removeInterest ("requestRebuild", this);
75367
- this .colorNode ._transparent .removeInterest ("set_transparent__", this);
75368
- }
75348
+ this .colorNode?.removeInterest ("requestRebuild", this);
75369
75349
 
75370
75350
  this .colorNode = Base_X3DCast (Base_X3DConstants.X3DColorNode, this ._color);
75371
75351
 
75372
- if (this .colorNode)
75373
- {
75374
- this .colorNode .addInterest ("requestRebuild", this);
75375
- this .colorNode ._transparent .addInterest ("set_transparent__", this);
75352
+ this .colorNode?.addInterest ("requestRebuild", this);
75376
75353
 
75377
- this .set_transparent__ ();
75378
- }
75379
- else
75380
- this .setTransparent (false);
75381
- },
75382
- set_transparent__: function ()
75383
- {
75384
- this .setTransparent (this .colorNode .isTransparent ());
75354
+ this .setTransparent (this .colorNode?.isTransparent () ?? false);
75385
75355
  },
75386
75356
  set_normal__: function ()
75387
75357
  {
75388
- if (this .normalNode)
75389
- this .normalNode .removeInterest ("requestRebuild", this);
75358
+ this .normalNode?.removeInterest ("requestRebuild", this);
75390
75359
 
75391
75360
  this .normalNode = Base_X3DCast (Base_X3DConstants.X3DNormalNode, this ._normal);
75392
75361
 
75393
- if (this .normalNode)
75394
- this .normalNode .addInterest ("requestRebuild", this);
75362
+ this .normalNode?.addInterest ("requestRebuild", this);
75395
75363
  },
75396
75364
  set_coord__: function ()
75397
75365
  {
75398
- if (this .coordNode)
75399
- this .coordNode .removeInterest ("requestRebuild", this);
75366
+ this .coordNode?.removeInterest ("requestRebuild", this);
75400
75367
 
75401
75368
  this .coordNode = Base_X3DCast (Base_X3DConstants.X3DCoordinateNode, this ._coord);
75402
75369
 
75403
- if (this .coordNode)
75404
- this .coordNode .addInterest ("requestRebuild", this);
75370
+ this .coordNode?.addInterest ("requestRebuild", this);
75405
75371
  },
75406
75372
  getColorPerVertexIndex: function (index)
75407
75373
  {
@@ -75495,8 +75461,7 @@ IndexedLineSet .prototype = Object .assign (Object .create (Rendering_X3DLineGeo
75495
75461
  for (let a = 0; a < numAttribNodes; ++ a)
75496
75462
  attribNodes [a] .addValue (index, attribArrays [a]);
75497
75463
 
75498
- if (fogCoordNode)
75499
- fogCoordNode .addDepth (index, fogDepthArray);
75464
+ fogCoordNode?.addDepth (index, fogDepthArray);
75500
75465
 
75501
75466
  if (colorNode)
75502
75467
  {
@@ -75506,8 +75471,7 @@ IndexedLineSet .prototype = Object .assign (Object .create (Rendering_X3DLineGeo
75506
75471
  colorNode .addColor (this .getColorIndex (face), colorArray);
75507
75472
  }
75508
75473
 
75509
- if (normalNode)
75510
- normalNode .addVector (index, normalArray);
75474
+ normalNode?.addVector (index, normalArray);
75511
75475
 
75512
75476
  coordNode .addPoint (index, vertexArray);
75513
75477
  }
@@ -77452,8 +77416,8 @@ const OrientationChaser_default_ = OrientationChaser;
77452
77416
  x_ite_Namespace.set ("x_ite/Components/Followers/OrientationChaser", OrientationChaser_default_);
77453
77417
  /* harmony default export */ const Followers_OrientationChaser = (OrientationChaser_default_);
77454
77418
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
77455
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(341);
77456
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(535);
77419
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(11);
77420
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(2);
77457
77421
  /*******************************************************************************
77458
77422
  *
77459
77423
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -78317,8 +78281,8 @@ const ExamineViewer_default_ = ExamineViewer;
78317
78281
  x_ite_Namespace.set ("x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
78318
78282
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
78319
78283
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
78320
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(341);
78321
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(535);
78284
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(11);
78285
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(2);
78322
78286
  /*******************************************************************************
78323
78287
  *
78324
78288
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -79268,8 +79232,8 @@ const FlyViewer_default_ = FlyViewer;
79268
79232
  x_ite_Namespace.set ("x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
79269
79233
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
79270
79234
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
79271
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(341);
79272
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(535);
79235
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(11);
79236
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(2);
79273
79237
  /*******************************************************************************
79274
79238
  *
79275
79239
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -79578,8 +79542,8 @@ const NoneViewer_default_ = NoneViewer;
79578
79542
  x_ite_Namespace.set ("x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
79579
79543
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
79580
79544
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
79581
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(341);
79582
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(535);
79545
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(11);
79546
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(2);
79583
79547
  /*******************************************************************************
79584
79548
  *
79585
79549
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -81182,8 +81146,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
81182
81146
  x_ite_Namespace.set ("x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
81183
81147
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
81184
81148
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
81185
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(341);
81186
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(535);
81149
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(11);
81150
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(2);
81187
81151
  /*******************************************************************************
81188
81152
  *
81189
81153
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -82205,8 +82169,8 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
82205
82169
  x_ite_Namespace.set ("x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
82206
82170
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
82207
82171
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
82208
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(535);
82209
- /* provided dependency */ var ResizeSensor = __webpack_require__(858);
82172
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(2);
82173
+ /* provided dependency */ var ResizeSensor = __webpack_require__(382);
82210
82174
  /*******************************************************************************
82211
82175
  *
82212
82176
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -82651,7 +82615,6 @@ const Fragment_glsl_default_ = /* glsl */ `
82651
82615
  #endif
82652
82616
 
82653
82617
  uniform float x3d_AlphaCutoff;
82654
- uniform float x3d_MinAlpha;
82655
82618
 
82656
82619
  #if defined (X3D_FOG) && defined (X3D_FOG_COORDS)
82657
82620
  varying float fogDepth;
@@ -82758,10 +82721,18 @@ fragment_main ()
82758
82721
  finalColor .rgb = getFogColor (finalColor .rgb);
82759
82722
  #endif
82760
82723
 
82761
- if (finalColor .a < x3d_AlphaCutoff)
82762
- discard;
82724
+ #if defined (X3D_ALPHA_MODE_OPAQUE)
82725
+ finalColor .a = 1.0;
82726
+ #endif
82727
+
82728
+ #if defined (X3D_ALPHA_MODE_MASK)
82729
+ if (finalColor .a < x3d_AlphaCutoff)
82730
+ discard;
82731
+
82732
+ finalColor .a = 1.0;
82733
+ #endif
82763
82734
 
82764
- gl_FragColor = vec4 (finalColor .rgb, max (finalColor .a, x3d_MinAlpha));
82735
+ gl_FragColor = finalColor;
82765
82736
 
82766
82737
  #if defined (X3D_LOGARITHMIC_DEPTH_BUFFER)
82767
82738
  //https://outerra.blogspot.com/2013/07/logarithmic-depth-buffer-optimizations.html
@@ -84169,7 +84140,6 @@ x_ite_Namespace.set ("assets/shaders/webgl2/include/Fog.glsl", include_Fog_glsl_
84169
84140
  ;// CONCATENATED MODULE: ./src/assets/shaders/webgl2/include/Fragment.glsl.js
84170
84141
  const include_Fragment_glsl_default_ = /* glsl */ `
84171
84142
  uniform float x3d_AlphaCutoff;
84172
- uniform float x3d_MinAlpha;
84173
84143
 
84174
84144
  #if defined (X3D_FOG) && defined (X3D_FOG_COORDS)
84175
84145
  in float fogDepth;
@@ -84285,10 +84255,18 @@ fragment_main ()
84285
84255
  finalColor .rgb = getFogColor (finalColor .rgb);
84286
84256
  #endif
84287
84257
 
84288
- if (finalColor .a < x3d_AlphaCutoff)
84289
- discard;
84258
+ #if defined (X3D_ALPHA_MODE_OPAQUE)
84259
+ finalColor .a = 1.0;
84260
+ #endif
84290
84261
 
84291
- x3d_FragColor = vec4 (finalColor .rgb, max (finalColor .a, x3d_MinAlpha));
84262
+ #if defined (X3D_ALPHA_MODE_MASK)
84263
+ if (finalColor .a < x3d_AlphaCutoff)
84264
+ discard;
84265
+
84266
+ finalColor .a = 1.0;
84267
+ #endif
84268
+
84269
+ x3d_FragColor = finalColor;
84292
84270
 
84293
84271
  #if defined (X3D_LOGARITHMIC_DEPTH_BUFFER)
84294
84272
  //https://outerra.blogspot.com/2013/07/logarithmic-depth-buffer-optimizations.html
@@ -88232,7 +88210,6 @@ X3DProgrammableShaderObject .prototype =
88232
88210
 
88233
88211
  this .x3d_Id = gl .getUniformLocation (program, "x3d_Id");
88234
88212
  this .x3d_LogarithmicFarFactor1_2 = gl .getUniformLocation (program, "x3d_LogarithmicFarFactor1_2");
88235
- this .x3d_MinAlpha = gl .getUniformLocation (program, "x3d_MinAlpha");
88236
88213
 
88237
88214
  for (let i = 0; i < maxClipPlanes; ++ i)
88238
88215
  this .x3d_ClipPlane [i] = gl .getUniformLocation (program, "x3d_ClipPlane[" + i + "]");
@@ -89139,7 +89116,6 @@ X3DProgrammableShaderObject .prototype =
89139
89116
  // Alpha
89140
89117
 
89141
89118
  gl .uniform1f (this .x3d_AlphaCutoff, appearanceNode .getAlphaCutoff ());
89142
- gl .uniform1f (this .x3d_MinAlpha, renderContext .minAlpha);
89143
89119
 
89144
89120
  // Style Properties
89145
89121
 
@@ -90861,7 +90837,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
90861
90837
  x_ite_Namespace.set ("x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
90862
90838
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
90863
90839
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
90864
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(535);
90840
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(2);
90865
90841
  /*******************************************************************************
90866
90842
  *
90867
90843
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -91510,6 +91486,10 @@ Appearance .prototype = Object .assign (Object .create (Shape_X3DAppearanceNode.
91510
91486
  {
91511
91487
  return this .alphaMode;
91512
91488
  },
91489
+ getNormalizedAlphaMode: function (transparent)
91490
+ {
91491
+ return this .alphaMode || (transparent ? Shape_AlphaMode.BLEND : Shape_AlphaMode.OPAQUE);
91492
+ },
91513
91493
  getAlphaCutoff: function ()
91514
91494
  {
91515
91495
  return this .alphaCutoff;
@@ -91783,11 +91763,11 @@ Appearance .prototype = Object .assign (Object .create (Shape_X3DAppearanceNode.
91783
91763
  switch (this .alphaMode)
91784
91764
  {
91785
91765
  case Shape_AlphaMode.AUTO:
91786
- this .setTransparent (Boolean (this .stylePropertiesNode [3] && this .stylePropertiesNode [3] .isTransparent () ||
91787
- (this .materialNode && this .materialNode .isTransparent ()) ||
91788
- (this .backMaterialNode && this .backMaterialNode .isTransparent ()) ||
91789
- (this .textureNode && this .textureNode .isTransparent ()) ||
91790
- this .blendModeNode));
91766
+ this .setTransparent (!!(this .stylePropertiesNode [3]?.isTransparent () ||
91767
+ this .materialNode?.isTransparent () ||
91768
+ this .backMaterialNode?.isTransparent () ||
91769
+ this .textureNode?.isTransparent () ||
91770
+ this .blendModeNode));
91791
91771
  break;
91792
91772
  case Shape_AlphaMode.OPAQUE:
91793
91773
  this .setTransparent (false);
@@ -92191,6 +92171,7 @@ x_ite_Namespace.set ("x_ite/Components/Shape/LineProperties", LineProperties_def
92191
92171
 
92192
92172
 
92193
92173
 
92174
+
92194
92175
  function X3DMaterialNode (executionContext)
92195
92176
  {
92196
92177
  Shape_X3DAppearanceChildNode.call (this, executionContext);
@@ -92254,13 +92235,17 @@ X3DMaterialNode .prototype = Object .assign (Object .create (Shape_X3DAppearance
92254
92235
 
92255
92236
  if (renderContext)
92256
92237
  {
92257
- const { renderObject, shadows, fogNode, shapeNode, appearanceNode, textureNode, objectsCount } = renderContext;
92238
+ const { renderObject, transparent, shadows, fogNode, shapeNode, appearanceNode, textureNode, objectsCount } = renderContext;
92258
92239
 
92259
92240
  key += this .logarithmicDepthBuffer || renderObject .getViewpoint () .getLogarithmicDepthBuffer () ? 1 : 0;
92241
+ key += appearanceNode .getNormalizedAlphaMode (transparent);
92242
+ key += this .getMaterialKey (shadows);
92260
92243
  key += shadows ? 1 : 0;
92261
- key += fogNode ? fogNode .getFogType () : 0;
92244
+ key += fogNode?.getFogType () ?? 0;
92262
92245
  key += shapeNode .getShapeKey ();
92263
92246
  key += appearanceNode .getStyleProperties (geometryContext .geometryType) ? 1 : 0;
92247
+ key += appearanceNode .getTextureTransformMapping () .size || 1;
92248
+ key += geometryContext .textureCoordinateMapping .size || 1;
92264
92249
  key += ".";
92265
92250
  key += objectsCount [0]; // Clip planes
92266
92251
  key += ".";
@@ -92269,17 +92254,16 @@ X3DMaterialNode .prototype = Object .assign (Object .create (Shape_X3DAppearance
92269
92254
  key += objectsCount [2]; // Texture projectors
92270
92255
  key += ".";
92271
92256
  key += textureNode ? 1 : appearanceNode .getTextureBits () .toString (4);
92272
- key += ".";
92273
- key += appearanceNode .getTextureTransformMapping () .size || 1;
92274
- key += geometryContext .textureCoordinateMapping .size || 1;
92275
- key += this .getMaterialKey (shadows);
92276
92257
  }
92277
92258
  else
92278
92259
  {
92279
92260
  const { textureNode, objectsCount } = geometryContext;
92280
92261
 
92281
92262
  key += this .logarithmicDepthBuffer ? 1 : 0;
92282
- key += "0000.";
92263
+ key += geometryContext .alphaMode;
92264
+ key += this .getMaterialKey (false);
92265
+ key += "000011";
92266
+ key += ".";
92283
92267
  key += objectsCount [0]; // Clip planes
92284
92268
  key += ".";
92285
92269
  key += objectsCount [1]; // Lights
@@ -92287,8 +92271,6 @@ X3DMaterialNode .prototype = Object .assign (Object .create (Shape_X3DAppearance
92287
92271
  key += objectsCount [2]; // Texture projectors
92288
92272
  key += ".";
92289
92273
  key += textureNode ? 1 : 0;
92290
- key += ".11";
92291
- key += this .getMaterialKey (false);
92292
92274
  }
92293
92275
 
92294
92276
  return this .shaderNodes .get (key) || this .createShader (key, geometryContext, renderContext);
@@ -92317,6 +92299,19 @@ X3DMaterialNode .prototype = Object .assign (Object .create (Shape_X3DAppearance
92317
92299
  if (this .logarithmicDepthBuffer || renderObject .getViewpoint () .getLogarithmicDepthBuffer ())
92318
92300
  options .push ("X3D_LOGARITHMIC_DEPTH_BUFFER");
92319
92301
 
92302
+ switch (appearanceNode .getNormalizedAlphaMode (renderContext .transparent))
92303
+ {
92304
+ case Shape_AlphaMode.OPAQUE:
92305
+ options .push ("X3D_ALPHA_MODE_OPAQUE");
92306
+ break;
92307
+ case Shape_AlphaMode.MASK:
92308
+ options .push ("X3D_ALPHA_MODE_MASK");
92309
+ break;
92310
+ case Shape_AlphaMode.BLEND:
92311
+ options .push ("X3D_ALPHA_MODE_BLEND");
92312
+ break;
92313
+ }
92314
+
92320
92315
  if (renderContext .shadows)
92321
92316
  options .push ("X3D_SHADOWS", "X3D_PCF_FILTERING");
92322
92317
 
@@ -92758,7 +92753,7 @@ UnlitMaterial .prototype = Object .assign (Object .create (Shape_X3DOneSidedMate
92758
92753
  set_transparent__: function ()
92759
92754
  {
92760
92755
  this .setTransparent (!!(this .getTransparency () ||
92761
- (this .getEmissiveTexture () && this .getEmissiveTexture () .isTransparent ())));
92756
+ this .getEmissiveTexture ()?.isTransparent ()));
92762
92757
  },
92763
92758
  getMaterialKey: function ()
92764
92759
  {
@@ -99460,59 +99455,39 @@ ElevationGrid .prototype = Object .assign (Object .create (Rendering_X3DGeometry
99460
99455
  },
99461
99456
  set_fogCoord__: function ()
99462
99457
  {
99463
- if (this .fogCoordNode)
99464
- this .fogCoordNode .removeInterest ("requestRebuild", this);
99458
+ this .fogCoordNode?.removeInterest ("requestRebuild", this);
99465
99459
 
99466
99460
  this .fogCoordNode = Base_X3DCast (Base_X3DConstants.FogCoordinate, this ._fogCoord);
99467
99461
 
99468
- if (this .fogCoordNode)
99469
- this .fogCoordNode .addInterest ("requestRebuild", this);
99462
+ this .fogCoordNode?.addInterest ("requestRebuild", this);
99470
99463
  },
99471
99464
  set_color__: function ()
99472
99465
  {
99473
- if (this .colorNode)
99474
- {
99475
- this .colorNode .removeInterest ("requestRebuild", this);
99476
- this .colorNode ._transparent .removeInterest ("set_transparent__", this);
99477
- }
99466
+ this .colorNode?.removeInterest ("requestRebuild", this);
99478
99467
 
99479
99468
  this .colorNode = Base_X3DCast (Base_X3DConstants.X3DColorNode, this ._color);
99480
99469
 
99481
- if (this .colorNode)
99482
- {
99483
- this .colorNode .addInterest ("requestRebuild", this);
99484
- this .colorNode ._transparent .addInterest ("set_transparent__", this);
99470
+ this .colorNode?.addInterest ("requestRebuild", this);
99485
99471
 
99486
- this .set_transparent__ ();
99487
- }
99488
- else
99489
- this .setTransparent (false);
99490
- },
99491
- set_transparent__: function ()
99492
- {
99493
- this .setTransparent (this .colorNode .isTransparent ());
99472
+ this .setTransparent (this .colorNode?.isTransparent () ?? false);
99494
99473
  },
99495
99474
  set_texCoord__: function ()
99496
99475
  {
99497
- if (this .texCoordNode)
99498
- this .texCoordNode .removeInterest ("requestRebuild", this);
99476
+ this .texCoordNode?.removeInterest ("requestRebuild", this);
99499
99477
 
99500
99478
  this .texCoordNode = Base_X3DCast (Base_X3DConstants.X3DTextureCoordinateNode, this ._texCoord);
99501
99479
 
99502
- if (this .texCoordNode)
99503
- this .texCoordNode .addInterest ("requestRebuild", this);
99480
+ this .texCoordNode?.addInterest ("requestRebuild", this);
99504
99481
 
99505
99482
  this .setTextureCoordinate (this .texCoordNode);
99506
99483
  },
99507
99484
  set_normal__: function ()
99508
99485
  {
99509
- if (this .normalNode)
99510
- this .normalNode .removeInterest ("requestRebuild", this);
99486
+ this .normalNode?.removeInterest ("requestRebuild", this);
99511
99487
 
99512
99488
  this .normalNode = Base_X3DCast (Base_X3DConstants.X3DNormalNode, this ._normal);
99513
99489
 
99514
- if (this .normalNode)
99515
- this .normalNode .addInterest ("requestRebuild", this);
99490
+ this .normalNode?.addInterest ("requestRebuild", this);
99516
99491
  },
99517
99492
  getColor: function ()
99518
99493
  {
@@ -99690,8 +99665,7 @@ ElevationGrid .prototype = Object .assign (Object .create (Rendering_X3DGeometry
99690
99665
  for (let a = 0; a < numAttribNodes; ++ a)
99691
99666
  attribNodes [a] .addValue (index, attribArrays [a]);
99692
99667
 
99693
- if (fogCoordNode)
99694
- fogCoordNode .addDepth (index, fogDepthArray);
99668
+ fogCoordNode?.addDepth (index, fogDepthArray);
99695
99669
 
99696
99670
  if (colorNode)
99697
99671
  {
@@ -108837,57 +108811,37 @@ LineSet .prototype = Object .assign (Object .create (Rendering_X3DLineGeometryNo
108837
108811
  },
108838
108812
  set_fogCoord__: function ()
108839
108813
  {
108840
- if (this .fogCoordNode)
108841
- this .fogCoordNode .removeInterest ("requestRebuild", this);
108814
+ this .fogCoordNode?.removeInterest ("requestRebuild", this);
108842
108815
 
108843
108816
  this .fogCoordNode = Base_X3DCast (Base_X3DConstants.FogCoordinate, this ._fogCoord);
108844
108817
 
108845
- if (this .fogCoordNode)
108846
- this .fogCoordNode .addInterest ("requestRebuild", this);
108818
+ this .fogCoordNode?.addInterest ("requestRebuild", this);
108847
108819
  },
108848
108820
  set_color__: function ()
108849
108821
  {
108850
- if (this .colorNode)
108851
- {
108852
- this .colorNode .removeInterest ("requestRebuild", this);
108853
- this .colorNode ._transparent .removeInterest ("set_transparent__", this);
108854
- }
108822
+ this .colorNode?.removeInterest ("requestRebuild", this);
108855
108823
 
108856
108824
  this .colorNode = Base_X3DCast (Base_X3DConstants.X3DColorNode, this ._color);
108857
108825
 
108858
- if (this .colorNode)
108859
- {
108860
- this .colorNode .addInterest ("requestRebuild", this);
108861
- this .colorNode ._transparent .addInterest ("set_transparent__", this);
108826
+ this .colorNode?.addInterest ("requestRebuild", this);
108862
108827
 
108863
- this .set_transparent__ ();
108864
- }
108865
- else
108866
- this .setTransparent (false);
108867
- },
108868
- set_transparent__: function ()
108869
- {
108870
- this .setTransparent (this .colorNode .isTransparent ());
108828
+ this .setTransparent (this .colorNode?.isTransparent () ?? false);
108871
108829
  },
108872
108830
  set_normal__: function ()
108873
108831
  {
108874
- if (this .normalNode)
108875
- this .normalNode .removeInterest ("requestRebuild", this);
108832
+ this .normalNode?.removeInterest ("requestRebuild", this);
108876
108833
 
108877
108834
  this .normalNode = Base_X3DCast (Base_X3DConstants.X3DNormalNode, this ._normal);
108878
108835
 
108879
- if (this .normalNode)
108880
- this .normalNode .addInterest ("requestRebuild", this);
108836
+ this .normalNode?.addInterest ("requestRebuild", this);
108881
108837
  },
108882
108838
  set_coord__: function ()
108883
108839
  {
108884
- if (this .coordNode)
108885
- this .coordNode .removeInterest ("requestRebuild", this);
108840
+ this .coordNode?.removeInterest ("requestRebuild", this);
108886
108841
 
108887
108842
  this .coordNode = Base_X3DCast (Base_X3DConstants.X3DCoordinateNode, this ._coord);
108888
108843
 
108889
- if (this .coordNode)
108890
- this .coordNode .addInterest ("requestRebuild", this);
108844
+ this .coordNode?.addInterest ("requestRebuild", this);
108891
108845
  },
108892
108846
  build: function ()
108893
108847
  {
@@ -108927,14 +108881,9 @@ LineSet .prototype = Object .assign (Object .create (Rendering_X3DLineGeometryNo
108927
108881
  for (let a = 0; a < numAttribNodes; ++ a)
108928
108882
  attribNodes [a] .addValue (index, attribArrays [a]);
108929
108883
 
108930
- if (fogCoordNode)
108931
- fogCoordNode .addDepth (index, fogDepthArray);
108932
-
108933
- if (colorNode)
108934
- colorNode .addColor (index, colorArray);
108935
-
108936
- if (normalNode)
108937
- normalNode .addVector (index, normalArray);
108884
+ fogCoordNode?.addDepth (index, fogDepthArray);
108885
+ colorNode ?.addColor (index, colorArray);
108886
+ normalNode ?.addVector (index, normalArray);
108938
108887
 
108939
108888
  coordNode .addPoint (index, vertexArray);
108940
108889
  }
@@ -109514,43 +109463,35 @@ PointSet .prototype = Object .assign (Object .create (Rendering_X3DPointGeometry
109514
109463
  },
109515
109464
  set_fogCoord__: function ()
109516
109465
  {
109517
- if (this .fogCoordNode)
109518
- this .fogCoordNode .removeInterest ("requestRebuild", this);
109466
+ this .fogCoordNode?.removeInterest ("requestRebuild", this);
109519
109467
 
109520
109468
  this .fogCoordNode = Base_X3DCast (Base_X3DConstants.FogCoordinate, this ._fogCoord);
109521
109469
 
109522
- if (this .fogCoordNode)
109523
- this .fogCoordNode .addInterest ("requestRebuild", this);
109470
+ this .fogCoordNode?.addInterest ("requestRebuild", this);
109524
109471
  },
109525
109472
  set_color__: function ()
109526
109473
  {
109527
- if (this .colorNode)
109528
- this .colorNode .removeInterest ("requestRebuild", this);
109474
+ this .colorNode?.removeInterest ("requestRebuild", this);
109529
109475
 
109530
109476
  this .colorNode = Base_X3DCast (Base_X3DConstants.X3DColorNode, this ._color);
109531
109477
 
109532
- if (this .colorNode)
109533
- this .colorNode .addInterest ("requestRebuild", this);
109478
+ this .colorNode?.addInterest ("requestRebuild", this);
109534
109479
  },
109535
109480
  set_normal__: function ()
109536
109481
  {
109537
- if (this .normalNode)
109538
- this .normalNode .removeInterest ("requestRebuild", this);
109482
+ this .normalNode?.removeInterest ("requestRebuild", this);
109539
109483
 
109540
109484
  this .normalNode = Base_X3DCast (Base_X3DConstants.X3DNormalNode, this ._normal);
109541
109485
 
109542
- if (this .normalNode)
109543
- this .normalNode .addInterest ("requestRebuild", this);
109486
+ this .normalNode?.addInterest ("requestRebuild", this);
109544
109487
  },
109545
109488
  set_coord__: function ()
109546
109489
  {
109547
- if (this .coordNode)
109548
- this .coordNode .removeInterest ("requestRebuild", this);
109490
+ this .coordNode?.removeInterest ("requestRebuild", this);
109549
109491
 
109550
109492
  this .coordNode = Base_X3DCast (Base_X3DConstants.X3DCoordinateNode, this ._coord);
109551
109493
 
109552
- if (this .coordNode)
109553
- this .coordNode .addInterest ("requestRebuild", this);
109494
+ this .coordNode?.addInterest ("requestRebuild", this);
109554
109495
  },
109555
109496
  build: function ()
109556
109497
  {
@@ -109577,14 +109518,9 @@ PointSet .prototype = Object .assign (Object .create (Rendering_X3DPointGeometry
109577
109518
  attribNodes [a] .addValue (i, attribArrays [a]);
109578
109519
  }
109579
109520
 
109580
- if (fogCoordNode)
109581
- fogCoordNode .addDepths (fogDepthArray, numPoints);
109582
-
109583
- if (colorNode)
109584
- colorNode .addColors (colorArray, numPoints);
109585
-
109586
- if (normalNode)
109587
- normalNode .addNormals (normalArray, numPoints);
109521
+ fogCoordNode?.addDepths (fogDepthArray, numPoints);
109522
+ colorNode ?.addColors (colorArray, numPoints);
109523
+ normalNode ?.addNormals (normalArray, numPoints);
109588
109524
 
109589
109525
  coordNode .addPoints (vertexArray, numPoints);
109590
109526
  },
@@ -111472,8 +111408,7 @@ Material .prototype = Object .assign (Object .create (Shape_X3DOneSidedMaterialN
111472
111408
  },
111473
111409
  set_transparent__: function ()
111474
111410
  {
111475
- this .setTransparent (!!(this .getTransparency () ||
111476
- (this .diffuseTextureNode && this .diffuseTextureNode .isTransparent ())));
111411
+ this .setTransparent (!!(this .getTransparency () || this .diffuseTextureNode?.isTransparent ()));
111477
111412
  },
111478
111413
  getBaseTexture: function ()
111479
111414
  {
@@ -111835,8 +111770,7 @@ PhysicalMaterial .prototype = Object .assign (Object .create (Shape_X3DOneSidedM
111835
111770
  },
111836
111771
  set_transparent__: function ()
111837
111772
  {
111838
- this .setTransparent (!!(this .getTransparency () ||
111839
- (this .baseTextureNode && this .baseTextureNode .isTransparent ())));
111773
+ this .setTransparent (!!(this .getTransparency () || this .baseTextureNode?.isTransparent ()));
111840
111774
  },
111841
111775
  getBaseTexture: function ()
111842
111776
  {
@@ -112211,7 +112145,7 @@ TwoSidedMaterial .prototype = Object .assign (Object .create (Shape_X3DMaterialN
112211
112145
  },
112212
112146
  set_transparent__: function ()
112213
112147
  {
112214
- this .setTransparent (Boolean (this ._transparency .getValue () || (this ._separateBackColor .getValue () && this ._backTransparency .getValue ())));
112148
+ this .setTransparent (!!(this ._transparency .getValue () || (this ._separateBackColor .getValue () && this ._backTransparency .getValue ())));
112215
112149
  },
112216
112150
  getBaseTexture: Shape_Material.prototype.getBaseTexture,
112217
112151
  getMaterialKey: Shape_Material.prototype.getMaterialKey,
@@ -112754,7 +112688,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
112754
112688
  x_ite_Namespace.set ("x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
112755
112689
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
112756
112690
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
112757
- /* provided dependency */ var AudioClip_$ = __webpack_require__(535);
112691
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(2);
112758
112692
  /*******************************************************************************
112759
112693
  *
112760
112694
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115569,8 +115503,8 @@ const GIFMedia_default_ = GifMedia;
115569
115503
  x_ite_Namespace.set ("x_ite/Browser/Texturing/GIFMedia", GIFMedia_default_);
115570
115504
  /* harmony default export */ const GIFMedia = (GIFMedia_default_);
115571
115505
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
115572
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(535);
115573
- /* provided dependency */ var SuperGif = __webpack_require__(381);
115506
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(2);
115507
+ /* provided dependency */ var SuperGif = __webpack_require__(423);
115574
115508
  /*******************************************************************************
115575
115509
  *
115576
115510
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116518,7 +116452,7 @@ const MultiTextureTransform_default_ = MultiTextureTransform;
116518
116452
  x_ite_Namespace.set ("x_ite/Components/Texturing/MultiTextureTransform", MultiTextureTransform_default_);
116519
116453
  /* harmony default export */ const Texturing_MultiTextureTransform = (MultiTextureTransform_default_);
116520
116454
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/PixelTexture.js
116521
- /* provided dependency */ var PixelTexture_$ = __webpack_require__(535);
116455
+ /* provided dependency */ var PixelTexture_$ = __webpack_require__(2);
116522
116456
  /*******************************************************************************
116523
116457
  *
116524
116458
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117221,7 +117155,7 @@ const Components_default_ = Components;
117221
117155
  x_ite_Namespace.set ("x_ite/Components", Components_default_);
117222
117156
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
117223
117157
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
117224
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(535);
117158
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(2);
117225
117159
  /*******************************************************************************
117226
117160
  * MIT License
117227
117161
  *
@@ -118458,7 +118392,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
118458
118392
  x_ite_Namespace.set ("x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
118459
118393
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
118460
118394
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
118461
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(535);
118395
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(2);
118462
118396
  /*******************************************************************************
118463
118397
  *
118464
118398
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118647,8 +118581,8 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
118647
118581
  },
118648
118582
  getComponent: function (name, level)
118649
118583
  {
118650
- name = String (name);
118651
- level = ~~level;
118584
+ name = String (name);
118585
+ level |= 0;
118652
118586
 
118653
118587
  const component = Configuration_SupportedComponents.get (name);
118654
118588
 
@@ -119403,7 +119337,7 @@ const X3DBrowser_default_ = X3DBrowser;
119403
119337
  x_ite_Namespace.set ("x_ite/Browser/X3DBrowser", X3DBrowser_default_);
119404
119338
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
119405
119339
  ;// CONCATENATED MODULE: ./src/x_ite/Fallback.js
119406
- /* provided dependency */ var Fallback_$ = __webpack_require__(535);
119340
+ /* provided dependency */ var Fallback_$ = __webpack_require__(2);
119407
119341
  /*******************************************************************************
119408
119342
  *
119409
119343
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119582,8 +119516,8 @@ const MicroTime_default_ = undefined;
119582
119516
  x_ite_Namespace.set ("standard/Time/MicroTime", MicroTime_default_);
119583
119517
  /* harmony default export */ const MicroTime = ((/* unused pure expression or super */ null && (MicroTime_default_)));
119584
119518
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
119585
- /* provided dependency */ var jquery_$ = __webpack_require__(535);
119586
- /* provided dependency */ var pako = __webpack_require__(626);
119519
+ /* provided dependency */ var jquery_$ = __webpack_require__(2);
119520
+ /* provided dependency */ var pako = __webpack_require__(250);
119587
119521
  jquery_$.decodeText = function (input)
119588
119522
  {
119589
119523
  if (typeof input === "string")
@@ -119610,14 +119544,14 @@ const jquery_default_ = jquery_$;
119610
119544
  x_ite_Namespace.set ("lib/jquery", jquery_default_);
119611
119545
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
119612
119546
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
119613
- /* provided dependency */ var libtess_libtess = __webpack_require__(51);
119547
+ /* provided dependency */ var libtess_libtess = __webpack_require__(735);
119614
119548
  const libtess_default_ = libtess_libtess;
119615
119549
  ;
119616
119550
 
119617
119551
  x_ite_Namespace.set ("lib/libtess", libtess_default_);
119618
119552
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
119619
119553
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
119620
- /* provided dependency */ var X3D_$ = __webpack_require__(535);
119554
+ /* provided dependency */ var X3D_$ = __webpack_require__(2);
119621
119555
  /*******************************************************************************
119622
119556
  *
119623
119557
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119873,7 +119807,7 @@ const X3D_default_ = X3D;
119873
119807
  x_ite_Namespace.set ("x_ite/X3D", X3D_default_);
119874
119808
  /* harmony default export */ const x_ite_X3D = (X3D_default_);
119875
119809
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvas.js
119876
- /* provided dependency */ var X3DCanvas_$ = __webpack_require__(535);
119810
+ /* provided dependency */ var X3DCanvas_$ = __webpack_require__(2);
119877
119811
  /*******************************************************************************
119878
119812
  *
119879
119813
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -120133,7 +120067,7 @@ x_ite_Namespace.set ("shim", shim_default_);
120133
120067
 
120134
120068
  // Assign X3D to global namespace.
120135
120069
 
120136
- window [Symbol .for ("X_ITE.X3D-8.6.10")] = x_ite_X3D;
120070
+ window [Symbol .for ("X_ITE.X3D-8.6.11")] = x_ite_X3D;
120137
120071
 
120138
120072
  x_ite_X3DCanvas.define ();
120139
120073