x_ite 8.6.0 → 8.6.2

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 (117) hide show
  1. package/.vscode/settings.json +7 -7
  2. package/dist/assets/components/Annotation.js +13 -13
  3. package/dist/assets/components/Annotation.min.js +1 -1
  4. package/dist/assets/components/CADGeometry.js +13 -13
  5. package/dist/assets/components/CADGeometry.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturing.js +25 -25
  7. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  8. package/dist/assets/components/DIS.js +13 -13
  9. package/dist/assets/components/DIS.min.js +1 -1
  10. package/dist/assets/components/EventUtilities.js +9 -9
  11. package/dist/assets/components/EventUtilities.min.js +1 -1
  12. package/dist/assets/components/Geometry2D.js +19 -19
  13. package/dist/assets/components/Geometry2D.min.js +1 -1
  14. package/dist/assets/components/Geospatial.js +33 -33
  15. package/dist/assets/components/Geospatial.min.js +1 -1
  16. package/dist/assets/components/HAnim.js +18 -18
  17. package/dist/assets/components/HAnim.min.js +1 -1
  18. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  19. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  20. package/dist/assets/components/Layout.js +27 -27
  21. package/dist/assets/components/Layout.min.js +1 -1
  22. package/dist/assets/components/NURBS.js +24 -24
  23. package/dist/assets/components/NURBS.min.js +1 -1
  24. package/dist/assets/components/ParticleSystems.js +23 -23
  25. package/dist/assets/components/ParticleSystems.min.js +1 -1
  26. package/dist/assets/components/Picking.js +19 -19
  27. package/dist/assets/components/Picking.min.js +1 -1
  28. package/dist/assets/components/RigidBodyPhysics.js +18 -18
  29. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  30. package/dist/assets/components/Scripting.js +28 -28
  31. package/dist/assets/components/Scripting.min.js +1 -1
  32. package/dist/assets/components/Text.js +39 -48
  33. package/dist/assets/components/Text.min.js +1 -1
  34. package/dist/assets/components/TextureProjector.js +14 -14
  35. package/dist/assets/components/TextureProjector.min.js +1 -1
  36. package/dist/assets/components/Texturing3D.js +32 -32
  37. package/dist/assets/components/Texturing3D.min.js +1 -1
  38. package/dist/assets/components/VolumeRendering.js +19 -19
  39. package/dist/assets/components/VolumeRendering.min.js +1 -1
  40. package/dist/assets/components/X_ITE.js +9 -9
  41. package/dist/assets/components/X_ITE.min.js +1 -1
  42. package/dist/x_ite.css +1 -1
  43. package/dist/x_ite.js +690 -936
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.zip +0 -0
  46. package/docs/_config.yml +2 -2
  47. package/docs/_includes/scripts.html +2 -2
  48. package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +1 -1
  49. package/docs/_posts/components/CADGeometry/QuadSet.md +1 -1
  50. package/docs/_posts/components/Geometry3D/ElevationGrid.md +1 -1
  51. package/docs/_posts/components/Geometry3D/Extrusion.md +1 -1
  52. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +1 -1
  53. package/docs/_posts/components/Geospatial/GeoElevationGrid.md +1 -1
  54. package/docs/_posts/components/NURBS/NurbsSweptSurface.md +1 -1
  55. package/docs/_posts/components/NURBS/NurbsSwungSurface.md +1 -1
  56. package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +1 -1
  57. package/docs/_posts/components/Rendering/IndexedTriangleSet.md +1 -1
  58. package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +1 -1
  59. package/docs/_posts/components/Rendering/TriangleFanSet.md +1 -1
  60. package/docs/_posts/components/Rendering/TriangleSet.md +1 -1
  61. package/docs/_posts/components/Rendering/TriangleStripSet.md +1 -1
  62. package/docs/_posts/components/Shape/Material.md +1 -1
  63. package/docs/_posts/getting-started.md +1 -1
  64. package/docs/_posts/laboratory/x3d-file-converter.md +178 -0
  65. package/docs/_tabs/playground.html +80 -133
  66. package/docs/assets/css/style.scss +2 -42
  67. package/docs/laboratory/3d-l-system-generator.html +1 -1
  68. package/docs/laboratory/gltf-sample-viewer.html +1 -1
  69. package/docs/laboratory/online-dicom-and-nrrd-file-viewer.html +1 -1
  70. package/docs/laboratory/real-time-earth-quake-information.html +1 -1
  71. package/docs/laboratory/x3d-visual-blend-mode-editor.html +1 -1
  72. package/package.json +1 -1
  73. package/src/standard/Math/Algorithms/Bezier.js +133 -182
  74. package/src/standard/Math/Geometry/Box2.js +0 -1
  75. package/src/standard/Math/Geometry/Box3.js +0 -1
  76. package/src/standard/Math/Geometry/Cylinder3.js +1 -1
  77. package/src/standard/Math/Geometry/Line2.js +2 -4
  78. package/src/standard/Math/Geometry/Line3.js +2 -4
  79. package/src/standard/Math/Geometry/Plane3.js +1 -3
  80. package/src/standard/Math/Geometry/Sphere3.js +8 -12
  81. package/src/standard/Math/Geometry/Triangle3.js +8 -0
  82. package/src/standard/Math/Geometry/ViewVolume.js +17 -27
  83. package/src/standard/Math/Numbers/Color3.js +4 -7
  84. package/src/standard/Math/Numbers/Complex.js +8 -9
  85. package/src/standard/Math/Numbers/Matrix2.js +31 -42
  86. package/src/standard/Math/Numbers/Matrix3.js +54 -97
  87. package/src/standard/Math/Numbers/Matrix4.js +49 -160
  88. package/src/standard/Math/Numbers/Quaternion.js +20 -24
  89. package/src/standard/Math/Numbers/Rotation4.js +1 -2
  90. package/src/standard/Math/Numbers/Vector2.js +4 -12
  91. package/src/standard/Math/Numbers/Vector3.js +6 -18
  92. package/src/standard/Math/Numbers/Vector4.js +4 -20
  93. package/src/standard/Time/StopWatch.js +9 -14
  94. package/src/tests.js +11 -0
  95. package/src/x_ite/Browser/Core/BrowserTimings.js +10 -10
  96. package/src/x_ite/Browser/Core/X3DCoreContext.js +4 -6
  97. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +94 -88
  98. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +2 -3
  99. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +17 -14
  100. package/src/x_ite/Browser/Text/PolygonText.js +15 -24
  101. package/src/x_ite/Browser/VERSION.js +1 -1
  102. package/src/x_ite/Components/Core/X3DNode.js +12 -0
  103. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +18 -0
  104. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +8 -7
  105. package/src/x_ite/Configuration/UnitInfo.js +2 -0
  106. package/src/x_ite/Execution/X3DExportedNode.js +4 -0
  107. package/src/x_ite/Execution/X3DImportedNode.js +14 -0
  108. package/src/x_ite/Execution/X3DScene.js +4 -0
  109. package/src/x_ite/Fields/SFString.js +4 -6
  110. package/src/x_ite/InputOutput/FileLoader.js +1 -1
  111. package/src/x_ite/InputOutput/Generator.js +35 -55
  112. package/src/x_ite/Parser/GLTF2Parser.js +4 -4
  113. package/src/x_ite/Parser/SVGParser.js +24 -47
  114. package/src/x_ite/Parser/X3DParser.js +1 -1
  115. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +4 -0
  116. package/src/x_ite/Prototype/X3DProtoDeclaration.js +4 -0
  117. package/src/x_ite/Routing/X3DRoute.js +8 -0
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v8.6.0 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v8.6.2 */(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
- /***/ 590:
14
+ /***/ 499:
15
15
  /***/ (function(module, exports, __webpack_require__) {
16
16
 
17
17
  "use strict";
18
- /* provided dependency */ var jQuery = __webpack_require__(530);
18
+ /* provided dependency */ var jQuery = __webpack_require__(430);
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
- /***/ 194:
390
+ /***/ 76:
391
391
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
392
392
 
393
- /* provided dependency */ var jQuery = __webpack_require__(530);
393
+ /* provided dependency */ var jQuery = __webpack_require__(430);
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
- /***/ 168:
589
+ /***/ 658:
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__(530)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
603
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(430)], __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
- /***/ 530:
814
+ /***/ 430:
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
- /***/ 78:
11815
+ /***/ 469:
11816
11816
  /***/ ((module) => {
11817
11817
 
11818
11818
  /**
@@ -16591,7 +16591,7 @@ if (true) {
16591
16591
 
16592
16592
  /***/ }),
16593
16593
 
16594
- /***/ 442:
16594
+ /***/ 175:
16595
16595
  /***/ (function(__unused_webpack_module, exports) {
16596
16596
 
16597
16597
 
@@ -19836,7 +19836,7 @@ if (true) {
19836
19836
 
19837
19837
  /***/ }),
19838
19838
 
19839
- /***/ 749:
19839
+ /***/ 916:
19840
19840
  /***/ (function(module, exports) {
19841
19841
 
19842
19842
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -21596,68 +21596,48 @@ Generator .prototype =
21596
21596
 
21597
21597
  return value;
21598
21598
  },
21599
- XMLEncode: function (string)
21600
- {
21601
- return string
21602
- .replace (/&/g, "&")
21603
- .replace (/\\/g, "\\\\")
21604
- .replace (/\t/g, "	")
21605
- .replace (/\n/g, "
")
21606
- .replace (/\r/g, "
")
21607
- .replace (/</g, "&lt;")
21608
- .replace (/>/g, "&gt;")
21609
- .replace (/'/g, "&apos;")
21610
- .replace (/"/g, "\\\"");
21611
- },
21599
+ XMLEncode: (function ()
21600
+ {
21601
+ const map = {
21602
+ "\\": "\\\\",
21603
+ "\r": "&#xD;",
21604
+ "\n": "&#xA;",
21605
+ "\t": "&#x9;",
21606
+ "\"": "\\\"",
21607
+ "'": "&apos;",
21608
+ "<": "&lt;",
21609
+ ">": "&gt;",
21610
+ "&": "&amp;",
21611
+ };
21612
+
21613
+ const regex = /([\\\r\n\t"'<>&])/g;
21614
+
21615
+ return function (string)
21616
+ {
21617
+ return string .replace (regex, char => map [char]);
21618
+ };
21619
+ })(),
21612
21620
  escapeCDATA: function (string)
21613
21621
  {
21614
21622
  return string .replace (/\]\]\>/g, "\\]\\]\\>");
21615
21623
  },
21616
- JSONEncode: function (string)
21624
+ JSONEncode: (function ()
21617
21625
  {
21618
- let result = '"';
21619
-
21620
- for (const character of string)
21621
- {
21622
- switch (character)
21623
- {
21624
- case '\r':
21625
- {
21626
- result += "\\r";
21627
- break;
21628
- }
21629
- case '\n':
21630
- {
21631
- result += "\\n";
21632
- break;
21633
- }
21634
- case '\t':
21635
- {
21636
- result += "\\t";
21637
- break;
21638
- }
21639
- case '"':
21640
- {
21641
- result += "\\\"";
21642
- break;
21643
- }
21644
- case '\\':
21645
- {
21646
- result += "\\\\";
21647
- break;
21648
- }
21649
- default:
21650
- {
21651
- result += character;
21652
- break;
21653
- }
21654
- }
21655
- }
21626
+ const map = {
21627
+ "\\": "\\\\",
21628
+ "\r": "\\r",
21629
+ "\n": "\\n",
21630
+ "\t": "\\t",
21631
+ "\"": "\\\"",
21632
+ };
21656
21633
 
21657
- result += '"';
21634
+ const regex = /([\\\t\n\r"])/g;
21658
21635
 
21659
- return result;
21660
- },
21636
+ return function (string)
21637
+ {
21638
+ return string .replace (regex, char => map [char]);
21639
+ };
21640
+ })(),
21661
21641
  JSONNumber: function (value)
21662
21642
  {
21663
21643
  switch (value)
@@ -23855,7 +23835,7 @@ Color3 .prototype =
23855
23835
  default: this [_r] = v; this [_g] = p; this [_b] = q; break;
23856
23836
  }
23857
23837
  }
23858
-
23838
+
23859
23839
  return this;
23860
23840
  },
23861
23841
  toString: function ()
@@ -23911,15 +23891,12 @@ Object .assign (Color3,
23911
23891
  },
23912
23892
  lerp: function (a, b, t, r)
23913
23893
  {
23914
- // Linearely interpolate in HSV space between source color @a a and destination color @a b by an amount of @a t.
23894
+ // Linearly interpolate in HSV space between source color @a a and destination color @a b by an amount of @a t.
23915
23895
  // Source and destination color must be in HSV space. The resulting HSV color is stored in @a r.
23916
23896
 
23917
23897
  let
23918
- ha = a [0], hb = b [0];
23919
-
23920
- const
23921
- sa = a [1], sb = b [1],
23922
- va = a [2], vb = b [2];
23898
+ [ha, sa, va] = a,
23899
+ [hb, sb, vb] = b;
23923
23900
 
23924
23901
  if (sa === 0)
23925
23902
  ha = hb;
@@ -25518,9 +25495,7 @@ Vector2 .prototype =
25518
25495
  },
25519
25496
  norm: function ()
25520
25497
  {
25521
- const
25522
- x = this .x,
25523
- y = this .y;
25498
+ const { x, y } = this;
25524
25499
 
25525
25500
  return x * x +
25526
25501
  y * y;
@@ -25536,9 +25511,7 @@ Vector2 .prototype =
25536
25511
  },
25537
25512
  lerp: function (destination, t)
25538
25513
  {
25539
- const
25540
- x = this .x,
25541
- y = this .y;
25514
+ const { x, y } = this;
25542
25515
 
25543
25516
  this .x = x + t * (destination .x - x);
25544
25517
  this .y = y + t * (destination .y - y);
@@ -25552,9 +25525,7 @@ Vector2 .prototype =
25552
25525
  },
25553
25526
  min: function (vector)
25554
25527
  {
25555
- let
25556
- x = this .x,
25557
- y = this .y;
25528
+ let { x, y } = this;
25558
25529
 
25559
25530
  for (const vector of arguments)
25560
25531
  {
@@ -25568,9 +25539,7 @@ Vector2 .prototype =
25568
25539
  },
25569
25540
  max: function (vector)
25570
25541
  {
25571
- let
25572
- x = this .x,
25573
- y = this .y;
25542
+ let { x, y } = this;
25574
25543
 
25575
25544
  for (const vector of arguments)
25576
25545
  {
@@ -25967,8 +25936,8 @@ Vector3 .prototype =
25967
25936
  cross: function (vector)
25968
25937
  {
25969
25938
  const
25970
- ax = this .x, ay = this .y, az = this .z,
25971
- bx = vector .x, by = vector .y, bz = vector .z;
25939
+ { x: ax, y: ay, z: az } = this,
25940
+ { x: bx, y: by, z: bz } = vector;
25972
25941
 
25973
25942
  this .x = ay * bz - az * by;
25974
25943
  this .y = az * bx - ax * bz;
@@ -25997,10 +25966,7 @@ Vector3 .prototype =
25997
25966
  },
25998
25967
  norm: function ()
25999
25968
  {
26000
- let
26001
- x = this .x,
26002
- y = this .y,
26003
- z = this .z;
25969
+ const { x, y, z } = this;
26004
25970
 
26005
25971
  return x * x +
26006
25972
  y * y +
@@ -26018,10 +25984,7 @@ Vector3 .prototype =
26018
25984
  },
26019
25985
  lerp: function (destination, t)
26020
25986
  {
26021
- const
26022
- x = this .x,
26023
- y = this .y,
26024
- z = this .z;
25987
+ const { x, y, z } = this;
26025
25988
 
26026
25989
  this .x = x + t * (destination .x - x);
26027
25990
  this .y = y + t * (destination .y - y);
@@ -26046,10 +26009,7 @@ Vector3 .prototype =
26046
26009
  },
26047
26010
  min: function (vector)
26048
26011
  {
26049
- let
26050
- x = this .x,
26051
- y = this .y,
26052
- z = this .z;
26012
+ let { x, y, z } = this;
26053
26013
 
26054
26014
  for (const vector of arguments)
26055
26015
  {
@@ -26065,10 +26025,7 @@ Vector3 .prototype =
26065
26025
  },
26066
26026
  max: function (vector)
26067
26027
  {
26068
- let
26069
- x = this .x,
26070
- y = this .y,
26071
- z = this .z;
26028
+ let { x, y, z } = this;
26072
26029
 
26073
26030
  for (const vector of arguments)
26074
26031
  {
@@ -26255,10 +26212,8 @@ function Matrix2 ()
26255
26212
  {
26256
26213
  if (arguments .length)
26257
26214
  {
26258
- this [0] = arguments [0];
26259
- this [1] = arguments [1];
26260
- this [2] = arguments [2];
26261
- this [3] = arguments [3];
26215
+ for (let i = 0; i < 4; ++ i)
26216
+ this [i] = arguments [i];
26262
26217
  }
26263
26218
  else
26264
26219
  {
@@ -26281,18 +26236,17 @@ Matrix2 .prototype =
26281
26236
  copy: function ()
26282
26237
  {
26283
26238
  const copy = Object .create (Matrix2 .prototype);
26284
- copy [0] = this [0];
26285
- copy [1] = this [1];
26286
- copy [2] = this [2];
26287
- copy [3] = this [3];
26239
+
26240
+ for (let i = 0; i < 4; ++ i)
26241
+ copy [i] = this [i];
26242
+
26288
26243
  return copy;
26289
26244
  },
26290
26245
  assign: function (matrix)
26291
26246
  {
26292
- this [0] = matrix [0];
26293
- this [1] = matrix [1];
26294
- this [2] = matrix [2];
26295
- this [3] = matrix [3];
26247
+ for (let i = 0; i < 4; ++ i)
26248
+ this [i] = matrix [i];
26249
+
26296
26250
  return this;
26297
26251
  },
26298
26252
  equals: function (matrix)
@@ -26321,10 +26275,9 @@ Matrix2 .prototype =
26321
26275
  }
26322
26276
  case 4:
26323
26277
  {
26324
- this [0] = arguments [0];
26325
- this [1] = arguments [1];
26326
- this [2] = arguments [2];
26327
- this [3] = arguments [3];
26278
+ for (let i = 0; i < 4; ++ i)
26279
+ this [i] = arguments [i];
26280
+
26328
26281
  break;
26329
26282
  }
26330
26283
  }
@@ -26352,10 +26305,7 @@ Matrix2 .prototype =
26352
26305
  inverse: function ()
26353
26306
  {
26354
26307
  const
26355
- A = this [0],
26356
- B = this [1],
26357
- C = this [2],
26358
- D = this [3],
26308
+ { 0: A, 1: B, 2: C, 3: D } = this [3],
26359
26309
  d = A * D - B * C;
26360
26310
 
26361
26311
  // if (d === 0) ... determinant is zero.
@@ -26370,10 +26320,8 @@ Matrix2 .prototype =
26370
26320
  multLeft: function (matrix)
26371
26321
  {
26372
26322
  const
26373
- a0 = this [0], a1 = this [1],
26374
- a2 = this [2], a3 = this [3],
26375
- b0 = matrix [0], b1 = matrix [1],
26376
- b2 = matrix [2], b3 = matrix [3];
26323
+ { 0: a0, 1: a1, 2: a2, 3: a3 } = this,
26324
+ { 0: b0, 1: b1, 2: b2, 3: b3 } = matrix;
26377
26325
 
26378
26326
  this [0] = a0 * b0 + a2 * b1;
26379
26327
  this [1] = a1 * b0 + a3 * b1;
@@ -26385,10 +26333,8 @@ Matrix2 .prototype =
26385
26333
  multRight: function (matrix)
26386
26334
  {
26387
26335
  const
26388
- a0 = this [0], a1 = this [1],
26389
- a2 = this [2], a3 = this [3],
26390
- b0 = matrix [0], b1 = matrix [1],
26391
- b2 = matrix [2], b3 = matrix [3];
26336
+ { 0: a0, 1: a1, 2: a2, 3: a3 } = this,
26337
+ { 0: b0, 1: b1, 2: b2, 3: b3 } = matrix;
26392
26338
 
26393
26339
  this [0] = b0 * a0 + b2 * a1;
26394
26340
  this [1] = b1 * a0 + b3 * a1;
@@ -26407,15 +26353,15 @@ Matrix2 .prototype =
26407
26353
 
26408
26354
  return (x * this [0] + this [1]) / w;
26409
26355
  }
26356
+ else
26357
+ {
26358
+ const { x, y } = vector;
26410
26359
 
26411
- const
26412
- x = vector .x,
26413
- y = vector .y;
26414
-
26415
- vector .x = x * this [0] + y * this [2];
26416
- vector .y = x * this [1] + y * this [3];
26360
+ vector .x = x * this [0] + y * this [2];
26361
+ vector .y = x * this [1] + y * this [3];
26417
26362
 
26418
- return vector;
26363
+ return vector;
26364
+ }
26419
26365
  },
26420
26366
  multMatrixVec: function (vector)
26421
26367
  {
@@ -26427,15 +26373,15 @@ Matrix2 .prototype =
26427
26373
 
26428
26374
  return (x * this [0] + this [1]) / w;
26429
26375
  }
26376
+ else
26377
+ {
26378
+ const { x, y } = vector;
26430
26379
 
26431
- const
26432
- x = vector .x,
26433
- y = vector .y;
26434
-
26435
- vector .x = x * this [0] + y * this [1];
26436
- vector .y = x * this [2] + y * this [3];
26380
+ vector .x = x * this [0] + y * this [1];
26381
+ vector .y = x * this [2] + y * this [3];
26437
26382
 
26438
- return vector;
26383
+ return vector;
26384
+ }
26439
26385
  },
26440
26386
  identity: function ()
26441
26387
  {
@@ -26757,15 +26703,8 @@ function Matrix3 ()
26757
26703
  {
26758
26704
  if (arguments .length)
26759
26705
  {
26760
- this [0] = arguments [0];
26761
- this [1] = arguments [1];
26762
- this [2] = arguments [2];
26763
- this [3] = arguments [3];
26764
- this [4] = arguments [4];
26765
- this [5] = arguments [5];
26766
- this [6] = arguments [6];
26767
- this [7] = arguments [7];
26768
- this [8] = arguments [8];
26706
+ for (let i = 0; i < 9; ++ i)
26707
+ this [i] = arguments [i];
26769
26708
  }
26770
26709
  else
26771
26710
  {
@@ -26788,28 +26727,17 @@ Matrix3 .prototype =
26788
26727
  copy: function ()
26789
26728
  {
26790
26729
  const copy = Object .create (Matrix3 .prototype);
26791
- copy [0] = this [0];
26792
- copy [1] = this [1];
26793
- copy [2] = this [2];
26794
- copy [3] = this [3];
26795
- copy [4] = this [4];
26796
- copy [5] = this [5];
26797
- copy [6] = this [6];
26798
- copy [7] = this [7];
26799
- copy [8] = this [8];
26730
+
26731
+ for (let i = 0; i < 9; ++ i)
26732
+ copy [i] = this [i];
26733
+
26800
26734
  return copy;
26801
26735
  },
26802
26736
  assign: function (matrix)
26803
26737
  {
26804
- this [0] = matrix [0];
26805
- this [1] = matrix [1];
26806
- this [2] = matrix [2];
26807
- this [3] = matrix [3];
26808
- this [4] = matrix [4];
26809
- this [5] = matrix [5];
26810
- this [6] = matrix [6];
26811
- this [7] = matrix [7];
26812
- this [8] = matrix [8];
26738
+ for (let i = 0; i < 9; ++ i)
26739
+ this [i] = matrix [i];
26740
+
26813
26741
  return this;
26814
26742
  },
26815
26743
  equals: function (matrix)
@@ -26957,15 +26885,9 @@ Matrix3 .prototype =
26957
26885
  }
26958
26886
  case 9:
26959
26887
  {
26960
- this [0] = arguments [0];
26961
- this [1] = arguments [1];
26962
- this [2] = arguments [2];
26963
- this [3] = arguments [3];
26964
- this [4] = arguments [4];
26965
- this [5] = arguments [5];
26966
- this [6] = arguments [6];
26967
- this [7] = arguments [7];
26968
- this [8] = arguments [8];
26888
+ for (let i = 0; i < 9; ++ i)
26889
+ this [i] = arguments [i];
26890
+
26969
26891
  break;
26970
26892
  }
26971
26893
  }
@@ -27091,10 +27013,7 @@ Matrix3 .prototype =
27091
27013
  },
27092
27014
  determinant: function ()
27093
27015
  {
27094
- const
27095
- m0 = this [0], m1 = this [1], m2 = this [2],
27096
- m3 = this [3], m4 = this [4], m5 = this [5],
27097
- m6 = this [6], m7 = this [7], m8 = this [8];
27016
+ const { 0: m0, 1: m1, 2: m2, 3: m3, 4: m4, 5: m5, 6: m6, 7: m7, 8: m8 } = this;
27098
27017
 
27099
27018
  return m0 * (m4 * m8 - m5 * m7) -
27100
27019
  m1 * (m3 * m8 - m5 * m6) +
@@ -27113,15 +27032,7 @@ Matrix3 .prototype =
27113
27032
  inverse: function ()
27114
27033
  {
27115
27034
  const
27116
- m0 = this [0],
27117
- m1 = this [1],
27118
- m2 = this [2],
27119
- m3 = this [3],
27120
- m4 = this [4],
27121
- m5 = this [5],
27122
- m6 = this [6],
27123
- m7 = this [7],
27124
- m8 = this [8],
27035
+ { 0: m0, 1: m1, 2: m2, 3: m3, 4: m4, 5: m5, 6: m6, 7: m7, 8: m8 } = this,
27125
27036
  t4 = m0 * m4,
27126
27037
  t6 = m0 * m7,
27127
27038
  t8 = m3 * m1,
@@ -27158,12 +27069,8 @@ Matrix3 .prototype =
27158
27069
  multLeft: function (matrix)
27159
27070
  {
27160
27071
  const
27161
- a0 = this [0], a1 = this [1], a2 = this [2],
27162
- a3 = this [3], a4 = this [4], a5 = this [5],
27163
- a6 = this [6], a7 = this [7], a8 = this [8],
27164
- b0 = matrix [0], b1 = matrix [1], b2 = matrix [2],
27165
- b3 = matrix [3], b4 = matrix [4], b5 = matrix [5],
27166
- b6 = matrix [6], b7 = matrix [7], b8 = matrix [8];
27072
+ { 0: a0, 1: a1, 2: a2, 3: a3, 4: a4, 5: a5, 6: a6, 7: a7, 8: a8 } = this,
27073
+ { 0: b0, 1: b1, 2: b2, 3: b3, 4: b4, 5: b5, 6: b6, 7: b7, 8: b8 } = matrix;
27167
27074
 
27168
27075
  this [0] = a0 * b0 + a3 * b1 + a6 * b2;
27169
27076
  this [1] = a1 * b0 + a4 * b1 + a7 * b2;
@@ -27180,12 +27087,8 @@ Matrix3 .prototype =
27180
27087
  multRight: function (matrix)
27181
27088
  {
27182
27089
  const
27183
- a0 = this [0], a1 = this [1], a2 = this [2],
27184
- a3 = this [3], a4 = this [4], a5 = this [5],
27185
- a6 = this [6], a7 = this [7], a8 = this [8],
27186
- b0 = matrix [0], b1 = matrix [1], b2 = matrix [2],
27187
- b3 = matrix [3], b4 = matrix [4], b5 = matrix [5],
27188
- b6 = matrix [6], b7 = matrix [7], b8 = matrix [8];
27090
+ { 0: a0, 1: a1, 2: a2, 3: a3, 4: a4, 5: a5, 6: a6, 7: a7, 8: a8 } = this,
27091
+ { 0: b0, 1: b1, 2: b2, 3: b3, 4: b4, 5: b5, 6: b6, 7: b7, 8: b8 } = matrix;
27189
27092
 
27190
27093
  this [0] = a0 * b0 + a1 * b3 + a2 * b6;
27191
27094
  this [1] = a0 * b1 + a1 * b4 + a2 * b7;
@@ -27204,8 +27107,7 @@ Matrix3 .prototype =
27204
27107
  if (vector .length === 2)
27205
27108
  {
27206
27109
  const
27207
- x = vector .x,
27208
- y = vector .y,
27110
+ { x, y } = vector,
27209
27111
  w = x * this [2] + y * this [5] + this [8];
27210
27112
 
27211
27113
  vector .x = (x * this [0] + y * this [3] + this [6]) / w;
@@ -27213,25 +27115,23 @@ Matrix3 .prototype =
27213
27115
 
27214
27116
  return vector;
27215
27117
  }
27118
+ else
27119
+ {
27120
+ const { x, y, z } = vector;
27216
27121
 
27217
- const
27218
- x = vector .x,
27219
- y = vector .y,
27220
- z = vector .z;
27221
-
27222
- vector .x = x * this [0] + y * this [3] + z * this [6];
27223
- vector .y = x * this [1] + y * this [4] + z * this [7];
27224
- vector .z = x * this [2] + y * this [5] + z * this [8];
27122
+ vector .x = x * this [0] + y * this [3] + z * this [6];
27123
+ vector .y = x * this [1] + y * this [4] + z * this [7];
27124
+ vector .z = x * this [2] + y * this [5] + z * this [8];
27225
27125
 
27226
- return vector;
27126
+ return vector;
27127
+ }
27227
27128
  },
27228
27129
  multMatrixVec: function (vector)
27229
27130
  {
27230
27131
  if (vector .length === 2)
27231
27132
  {
27232
27133
  const
27233
- x = vector .x,
27234
- y = vector .y,
27134
+ { x, y } = vector,
27235
27135
  w = x * this [6] + y * this [7] + this [8];
27236
27136
 
27237
27137
  vector .x = (x * this [0] + y * this [1] + this [2]) / w;
@@ -27239,23 +27139,20 @@ Matrix3 .prototype =
27239
27139
 
27240
27140
  return vector;
27241
27141
  }
27142
+ else
27143
+ {
27144
+ const { x, y, z } = vector;
27242
27145
 
27243
- const
27244
- x = vector .x,
27245
- y = vector .y,
27246
- z = vector .z;
27247
-
27248
- vector .x = x * this [0] + y * this [1] + z * this [2];
27249
- vector .y = x * this [3] + y * this [4] + z * this [5];
27250
- vector .z = x * this [6] + y * this [7] + z * this [8];
27146
+ vector .x = x * this [0] + y * this [1] + z * this [2];
27147
+ vector .y = x * this [3] + y * this [4] + z * this [5];
27148
+ vector .z = x * this [6] + y * this [7] + z * this [8];
27251
27149
 
27252
- return vector;
27150
+ return vector;
27151
+ }
27253
27152
  },
27254
27153
  multDirMatrix: function (vector)
27255
27154
  {
27256
- const
27257
- x = vector .x,
27258
- y = vector .y;
27155
+ const { x, y } = vector;
27259
27156
 
27260
27157
  vector .x = x * this [0] + y * this [3];
27261
27158
  vector .y = x * this [1] + y * this [4];
@@ -27264,9 +27161,7 @@ Matrix3 .prototype =
27264
27161
  },
27265
27162
  multMatrixDir: function (vector)
27266
27163
  {
27267
- const
27268
- x = vector .x,
27269
- y = vector .y;
27164
+ const { x, y } = vector;
27270
27165
 
27271
27166
  vector .x = x * this [0] + y * this [1];
27272
27167
  vector .y = x * this [3] + y * this [4];
@@ -27283,9 +27178,7 @@ Matrix3 .prototype =
27283
27178
  },
27284
27179
  translate: function (translation)
27285
27180
  {
27286
- const
27287
- x = translation .x,
27288
- y = translation .y;
27181
+ const { x, y } = translation;
27289
27182
 
27290
27183
  this [6] += this [0] * x + this [3] * y;
27291
27184
  this [7] += this [1] * x + this [4] * y;
@@ -27298,9 +27191,7 @@ Matrix3 .prototype =
27298
27191
  },
27299
27192
  scale: function (scale)
27300
27193
  {
27301
- const
27302
- x = scale .x,
27303
- y = scale .y;
27194
+ const { x, y } = scale;
27304
27195
 
27305
27196
  this [0] *= x;
27306
27197
  this [3] *= y;
@@ -27312,11 +27203,23 @@ Matrix3 .prototype =
27312
27203
  },
27313
27204
  skewX: function (angle)
27314
27205
  {
27315
- return this .multLeft (m .set (1, 0, 0, Math .tan (angle), 1, 0, 0, 0, 1));
27206
+ const a = Math .tan (angle);
27207
+
27208
+ this [3] += this [0] * a;
27209
+ this [4] += this [1] * a;
27210
+ this [5] += this [2] * a;
27211
+
27212
+ return this;
27316
27213
  },
27317
27214
  skewY: function (angle)
27318
27215
  {
27319
- return this .multLeft (m .set (1, Math .tan (angle), 0, 0, 1, 0, 0, 0, 1));
27216
+ const a = Math .tan (angle);
27217
+
27218
+ this [0] += this [3] * a;
27219
+ this [1] += this [4] * a;
27220
+ this [2] += this [5] * a;
27221
+
27222
+ return this;
27320
27223
  },
27321
27224
  toString: function ()
27322
27225
  {
@@ -27942,11 +27845,7 @@ Vector4 .prototype =
27942
27845
  },
27943
27846
  norm: function ()
27944
27847
  {
27945
- const
27946
- x = this .x,
27947
- y = this .y,
27948
- z = this .z,
27949
- w = this .w;
27848
+ const { x, y, z, w } = this;
27950
27849
 
27951
27850
  return x * x +
27952
27851
  y * y +
@@ -27966,11 +27865,7 @@ Vector4 .prototype =
27966
27865
  },
27967
27866
  lerp: function (destination, t)
27968
27867
  {
27969
- const
27970
- x = this .x,
27971
- y = this .y,
27972
- z = this .z,
27973
- w = this .w;
27868
+ const { x, y, z, w } = this;
27974
27869
 
27975
27870
  this .x = x + t * (destination .x - x);
27976
27871
  this .y = y + t * (destination .y - y);
@@ -27988,11 +27883,7 @@ Vector4 .prototype =
27988
27883
  },
27989
27884
  min: function (vector)
27990
27885
  {
27991
- let
27992
- x = this .x,
27993
- y = this .y,
27994
- z = this .z,
27995
- w = this .w;
27886
+ let { x, y, z, w } = this;
27996
27887
 
27997
27888
  for (const vector of arguments)
27998
27889
  {
@@ -28010,11 +27901,7 @@ Vector4 .prototype =
28010
27901
  },
28011
27902
  max: function (vector)
28012
27903
  {
28013
- let
28014
- x = this .x,
28015
- y = this .y,
28016
- z = this .z,
28017
- w = this .w;
27904
+ let { x, y, z, w } = this;
28018
27905
 
28019
27906
  for (const vector of arguments)
28020
27907
  {
@@ -28292,11 +28179,7 @@ Quaternion .prototype =
28292
28179
  },
28293
28180
  getMatrix: function (matrix)
28294
28181
  {
28295
- const
28296
- x = this .x,
28297
- y = this .y,
28298
- z = this .z,
28299
- w = this .w;
28182
+ const { x, y, z, w } = this;
28300
28183
 
28301
28184
  const
28302
28185
  a = x * x,
@@ -28380,8 +28263,8 @@ Quaternion .prototype =
28380
28263
  multLeft: function (quat)
28381
28264
  {
28382
28265
  const
28383
- ax = this .x, ay = this .y, az = this .z, aw = this .w,
28384
- bx = quat .x, by = quat .y, bz = quat .z, bw = quat .w;
28266
+ { x: ax, y: ay, z: az, w: aw } = this,
28267
+ { x: bx, y: by, z: bz, w: bw } = quat;
28385
28268
 
28386
28269
  this .x = aw * bx + ax * bw + ay * bz - az * by;
28387
28270
  this .y = aw * by + ay * bw + az * bx - ax * bz;
@@ -28393,8 +28276,8 @@ Quaternion .prototype =
28393
28276
  multRight: function (quat)
28394
28277
  {
28395
28278
  const
28396
- ax = this .x, ay = this .y, az = this .z, aw = this .w,
28397
- bx = quat .x, by = quat .y, bz = quat .z, bw = quat .w;
28279
+ { x: ax, y: ay, z: az, w: aw } = this,
28280
+ { x: bx, y: by, z: bz, w: bw } = quat;
28398
28281
 
28399
28282
  this .x = bw * ax + bx * aw + by * az - bz * ay;
28400
28283
  this .y = bw * ay + by * aw + bz * ax - bx * az;
@@ -28414,8 +28297,8 @@ Quaternion .prototype =
28414
28297
  multVecQuat: function (vector)
28415
28298
  {
28416
28299
  const
28417
- qx = this .x, qy = this .y, qz = this .z, qw = this .w,
28418
- vx = vector .x, vy = vector .y, vz = vector .z,
28300
+ { x: qx, y: qy, z: qz, w: qw } = this,
28301
+ { x: vx, y: vy, z: vz } = vector,
28419
28302
  a = qw * qw - qx * qx - qy * qy - qz * qz,
28420
28303
  b = 2 * (vx * qx + vy * qy + vz * qz),
28421
28304
  c = 2 * qw;
@@ -28429,8 +28312,8 @@ Quaternion .prototype =
28429
28312
  multQuatVec: function (vector)
28430
28313
  {
28431
28314
  const
28432
- qx = this .x, qy = this .y, qz = this .z, qw = this .w,
28433
- vx = vector .x, vy = vector .y, vz = vector .z,
28315
+ { x: qx, y: qy, z: qz, w: qw } = this,
28316
+ { x: vx, y: vy, z: vz } = vector,
28434
28317
  a = qw * qw - qx * qx - qy * qy - qz * qz,
28435
28318
  b = 2 * (vx * qx + vy * qy + vz * qz),
28436
28319
  c = 2 * qw;
@@ -28443,16 +28326,14 @@ Quaternion .prototype =
28443
28326
  },
28444
28327
  normalize: function ()
28445
28328
  {
28446
- let length = Math .hypot (this .x, this .y, this .z, this .w);
28329
+ const length = Math .hypot (this .x, this .y, this .z, this .w);
28447
28330
 
28448
28331
  if (length)
28449
28332
  {
28450
- length = 1 / length;
28451
-
28452
- this .x *= length;
28453
- this .y *= length;
28454
- this .z *= length;
28455
- this .w *= length;
28333
+ this .x /= length;
28334
+ this .y /= length;
28335
+ this .z /= length;
28336
+ this .w /= length;
28456
28337
  }
28457
28338
 
28458
28339
  return this;
@@ -28466,10 +28347,12 @@ Quaternion .prototype =
28466
28347
  },
28467
28348
  norm: function ()
28468
28349
  {
28469
- return this .x * this .x +
28470
- this .y * this .y +
28471
- this .z * this .z +
28472
- this .w * this .w;
28350
+ const { x, y, z, w } = this;
28351
+
28352
+ return x * x +
28353
+ y * y +
28354
+ z * z +
28355
+ w * w;
28473
28356
  },
28474
28357
  magnitude: function ()
28475
28358
  {
@@ -29003,8 +28886,7 @@ Rotation4 .prototype =
29003
28886
  },
29004
28887
  getQuaternion: function (quaternion)
29005
28888
  {
29006
- quaternion .assign (this [_quaternion]);
29007
- return quaternion;
28889
+ return quaternion .assign (this [_quaternion]);
29008
28890
  },
29009
28891
  setMatrix: function (matrix)
29010
28892
  {
@@ -29255,22 +29137,8 @@ function Matrix4_Matrix4 ()
29255
29137
  {
29256
29138
  if (arguments .length)
29257
29139
  {
29258
- this [ 0] = arguments [ 0];
29259
- this [ 1] = arguments [ 1];
29260
- this [ 2] = arguments [ 2];
29261
- this [ 3] = arguments [ 3];
29262
- this [ 4] = arguments [ 4];
29263
- this [ 5] = arguments [ 5];
29264
- this [ 6] = arguments [ 6];
29265
- this [ 7] = arguments [ 7];
29266
- this [ 8] = arguments [ 8];
29267
- this [ 9] = arguments [ 9];
29268
- this [10] = arguments [10];
29269
- this [11] = arguments [11];
29270
- this [12] = arguments [12];
29271
- this [13] = arguments [13];
29272
- this [14] = arguments [14];
29273
- this [15] = arguments [15];
29140
+ for (let i = 0; i < 16; ++ i)
29141
+ this [i] = arguments [i];
29274
29142
  }
29275
29143
  else
29276
29144
  {
@@ -29293,42 +29161,17 @@ Matrix4_Matrix4 .prototype =
29293
29161
  copy: function ()
29294
29162
  {
29295
29163
  const copy = Object .create (Matrix4_Matrix4 .prototype);
29296
- copy [ 0] = this [ 0];
29297
- copy [ 1] = this [ 1];
29298
- copy [ 2] = this [ 2];
29299
- copy [ 3] = this [ 3];
29300
- copy [ 4] = this [ 4];
29301
- copy [ 5] = this [ 5];
29302
- copy [ 6] = this [ 6];
29303
- copy [ 7] = this [ 7];
29304
- copy [ 8] = this [ 8];
29305
- copy [ 9] = this [ 9];
29306
- copy [10] = this [10];
29307
- copy [11] = this [11];
29308
- copy [12] = this [12];
29309
- copy [13] = this [13];
29310
- copy [14] = this [14];
29311
- copy [15] = this [15];
29164
+
29165
+ for (let i = 0; i < 16; ++ i)
29166
+ copy [i] = this [i];
29167
+
29312
29168
  return copy;
29313
29169
  },
29314
29170
  assign: function (matrix)
29315
29171
  {
29316
- this [ 0] = matrix [ 0];
29317
- this [ 1] = matrix [ 1];
29318
- this [ 2] = matrix [ 2];
29319
- this [ 3] = matrix [ 3];
29320
- this [ 4] = matrix [ 4];
29321
- this [ 5] = matrix [ 5];
29322
- this [ 6] = matrix [ 6];
29323
- this [ 7] = matrix [ 7];
29324
- this [ 8] = matrix [ 8];
29325
- this [ 9] = matrix [ 9];
29326
- this [10] = matrix [10];
29327
- this [11] = matrix [11];
29328
- this [12] = matrix [12];
29329
- this [13] = matrix [13];
29330
- this [14] = matrix [14];
29331
- this [15] = matrix [15];
29172
+ for (let i = 0; i < 16; ++ i)
29173
+ this [i] = matrix [i];
29174
+
29332
29175
  return this;
29333
29176
  },
29334
29177
  equals: function (matrix)
@@ -29481,22 +29324,9 @@ Matrix4_Matrix4 .prototype =
29481
29324
  }
29482
29325
  case 16:
29483
29326
  {
29484
- this [ 0] = arguments [ 0];
29485
- this [ 1] = arguments [ 1];
29486
- this [ 2] = arguments [ 2];
29487
- this [ 3] = arguments [ 3];
29488
- this [ 4] = arguments [ 4];
29489
- this [ 5] = arguments [ 5];
29490
- this [ 6] = arguments [ 6];
29491
- this [ 7] = arguments [ 7];
29492
- this [ 8] = arguments [ 8];
29493
- this [ 9] = arguments [ 9];
29494
- this [10] = arguments [10];
29495
- this [11] = arguments [11];
29496
- this [12] = arguments [12];
29497
- this [13] = arguments [13];
29498
- this [14] = arguments [14];
29499
- this [15] = arguments [15];
29327
+ for (let i = 0; i < 16; ++ i)
29328
+ this [i] = arguments [i];
29329
+
29500
29330
  break;
29501
29331
  }
29502
29332
  }
@@ -29568,10 +29398,7 @@ Matrix4_Matrix4 .prototype =
29568
29398
  setQuaternion: function (quaternion)
29569
29399
  {
29570
29400
  const
29571
- x = quaternion .x,
29572
- y = quaternion .y,
29573
- z = quaternion .z,
29574
- w = quaternion .w,
29401
+ { x, y, z, w } = quaternion,
29575
29402
  A = y * y,
29576
29403
  B = z * z,
29577
29404
  C = x * y,
@@ -29660,22 +29487,8 @@ Matrix4_Matrix4 .prototype =
29660
29487
  determinant: function ()
29661
29488
  {
29662
29489
  const
29663
- m00 = this [ 0],
29664
- m01 = this [ 1],
29665
- m02 = this [ 2],
29666
- m03 = this [ 3],
29667
- m04 = this [ 4],
29668
- m05 = this [ 5],
29669
- m06 = this [ 6],
29670
- m07 = this [ 7],
29671
- m08 = this [ 8],
29672
- m09 = this [ 9],
29673
- m10 = this [10],
29674
- m11 = this [11],
29675
- m12 = this [12],
29676
- m13 = this [13],
29677
- m14 = this [14],
29678
- m15 = this [15],
29490
+ { 0: m00, 1: m01, 2: m02, 3: m03, 4: m04, 5: m05, 6: m06, 7: m07,
29491
+ 8: m08, 9: m09, 10: m10, 11: m11, 12: m12, 13: m13, 14: m14, 15: m15 } = this,
29679
29492
  b = m10 * m15,
29680
29493
  c = m14 * m11,
29681
29494
  d = m06 * m15,
@@ -29711,22 +29524,8 @@ Matrix4_Matrix4 .prototype =
29711
29524
  inverse: function ()
29712
29525
  {
29713
29526
  const
29714
- m00 = this [ 0],
29715
- m01 = this [ 1],
29716
- m02 = this [ 2],
29717
- m03 = this [ 3],
29718
- m04 = this [ 4],
29719
- m05 = this [ 5],
29720
- m06 = this [ 6],
29721
- m07 = this [ 7],
29722
- m08 = this [ 8],
29723
- m09 = this [ 9],
29724
- m10 = this [10],
29725
- m11 = this [11],
29726
- m12 = this [12],
29727
- m13 = this [13],
29728
- m14 = this [14],
29729
- m15 = this [15],
29527
+ { 0: m00, 1: m01, 2: m02, 3: m03, 4: m04, 5: m05, 6: m06, 7: m07,
29528
+ 8: m08, 9: m09, 10: m10, 11: m11, 12: m12, 13: m13, 14: m14, 15: m15 } = this,
29730
29529
  b = m10 * m15,
29731
29530
  c = m14 * m11,
29732
29531
  d = m06 * m15,
@@ -29784,14 +29583,10 @@ Matrix4_Matrix4 .prototype =
29784
29583
  multLeft: function (matrix)
29785
29584
  {
29786
29585
  const
29787
- a00 = this [ 0], a01 = this [ 1], a02 = this [ 2], a03 = this [ 3],
29788
- a04 = this [ 4], a05 = this [ 5], a06 = this [ 6], a07 = this [ 7],
29789
- a08 = this [ 8], a09 = this [ 9], a10 = this [10], a11 = this [11],
29790
- a12 = this [12], a13 = this [13], a14 = this [14], a15 = this [15],
29791
- b00 = matrix [ 0], b01 = matrix [ 1], b02 = matrix [ 2], b03 = matrix [ 3],
29792
- b04 = matrix [ 4], b05 = matrix [ 5], b06 = matrix [ 6], b07 = matrix [ 7],
29793
- b08 = matrix [ 8], b09 = matrix [ 9], b10 = matrix [10], b11 = matrix [11],
29794
- b12 = matrix [12], b13 = matrix [13], b14 = matrix [14], b15 = matrix [15];
29586
+ { 0: a00, 1: a01, 2: a02, 3: a03, 4: a04, 5: a05, 6: a06, 7: a07,
29587
+ 8: a08, 9: a09, 10: a10, 11: a11, 12: a12, 13: a13, 14: a14, 15: a15 } = this,
29588
+ { 0: b00, 1: b01, 2: b02, 3: b03, 4: b04, 5: b05, 6: b06, 7: b07,
29589
+ 8: b08, 9: b09, 10: b10, 11: b11, 12: b12, 13: b13, 14: b14, 15: b15 } = matrix;
29795
29590
 
29796
29591
  this [ 0] = a00 * b00 + a04 * b01 + a08 * b02 + a12 * b03;
29797
29592
  this [ 1] = a01 * b00 + a05 * b01 + a09 * b02 + a13 * b03;
@@ -29815,14 +29610,10 @@ Matrix4_Matrix4 .prototype =
29815
29610
  multRight: function (matrix)
29816
29611
  {
29817
29612
  const
29818
- a00 = this [ 0], a01 = this [ 1], a02 = this [ 2], a03 = this [ 3],
29819
- a04 = this [ 4], a05 = this [ 5], a06 = this [ 6], a07 = this [ 7],
29820
- a08 = this [ 8], a09 = this [ 9], a10 = this [10], a11 = this [11],
29821
- a12 = this [12], a13 = this [13], a14 = this [14], a15 = this [15],
29822
- b00 = matrix [ 0], b01 = matrix [ 1], b02 = matrix [ 2], b03 = matrix [ 3],
29823
- b04 = matrix [ 4], b05 = matrix [ 5], b06 = matrix [ 6], b07 = matrix [ 7],
29824
- b08 = matrix [ 8], b09 = matrix [ 9], b10 = matrix [10], b11 = matrix [11],
29825
- b12 = matrix [12], b13 = matrix [13], b14 = matrix [14], b15 = matrix [15];
29613
+ { 0: a00, 1: a01, 2: a02, 3: a03, 4: a04, 5: a05, 6: a06, 7: a07,
29614
+ 8: a08, 9: a09, 10: a10, 11: a11, 12: a12, 13: a13, 14: a14, 15: a15 } = this,
29615
+ { 0: b00, 1: b01, 2: b02, 3: b03, 4: b04, 5: b05, 6: b06, 7: b07,
29616
+ 8: b08, 9: b09, 10: b10, 11: b11, 12: b12, 13: b13, 14: b14, 15: b15 } = matrix;
29826
29617
 
29827
29618
  this [ 0] = a00 * b00 + a01 * b04 + a02 * b08 + a03 * b12;
29828
29619
  this [ 1] = a00 * b01 + a01 * b05 + a02 * b09 + a03 * b13;
@@ -29848,9 +29639,7 @@ Matrix4_Matrix4 .prototype =
29848
29639
  if (vector .length === 3)
29849
29640
  {
29850
29641
  const
29851
- x = vector .x,
29852
- y = vector .y,
29853
- z = vector .z,
29642
+ { x, y, z } = vector,
29854
29643
  w = 1 / (x * this [3] + y * this [7] + z * this [11] + this [15]);
29855
29644
 
29856
29645
  vector .x = (x * this [0] + y * this [4] + z * this [ 8] + this [12]) * w;
@@ -29859,28 +29648,24 @@ Matrix4_Matrix4 .prototype =
29859
29648
 
29860
29649
  return vector;
29861
29650
  }
29651
+ else
29652
+ {
29653
+ const { x, y, z, w } = vector;
29862
29654
 
29863
- const
29864
- x = vector .x,
29865
- y = vector .y,
29866
- z = vector .z,
29867
- w = vector .w;
29868
-
29869
- vector .x = x * this [0] + y * this [4] + z * this [ 8] + w * this [12];
29870
- vector .y = x * this [1] + y * this [5] + z * this [ 9] + w * this [13];
29871
- vector .z = x * this [2] + y * this [6] + z * this [10] + w * this [14];
29872
- vector .w = x * this [3] + y * this [7] + z * this [11] + w * this [15];
29655
+ vector .x = x * this [0] + y * this [4] + z * this [ 8] + w * this [12];
29656
+ vector .y = x * this [1] + y * this [5] + z * this [ 9] + w * this [13];
29657
+ vector .z = x * this [2] + y * this [6] + z * this [10] + w * this [14];
29658
+ vector .w = x * this [3] + y * this [7] + z * this [11] + w * this [15];
29873
29659
 
29874
- return vector;
29660
+ return vector;
29661
+ }
29875
29662
  },
29876
29663
  multMatrixVec: function (vector)
29877
29664
  {
29878
29665
  if (vector .length === 3)
29879
29666
  {
29880
29667
  const
29881
- x = vector .x,
29882
- y = vector .y,
29883
- z = vector .z,
29668
+ { x, y, z } = vector,
29884
29669
  w = 1 / (x * this [12] + y * this [13] + z * this [14] + this [15]);
29885
29670
 
29886
29671
  vector .x = (x * this [0] + y * this [1] + z * this [ 2] + this [ 3]) * w;
@@ -29889,26 +29674,21 @@ Matrix4_Matrix4 .prototype =
29889
29674
 
29890
29675
  return vector;
29891
29676
  }
29677
+ else
29678
+ {
29679
+ const { x, y, z, w } = vector;
29892
29680
 
29893
- const
29894
- x = vector .x,
29895
- y = vector .y,
29896
- z = vector .z,
29897
- w = vector .w;
29898
-
29899
- vector .x = x * this [ 0] + y * this [ 1] + z * this [ 2] + w * this [ 3];
29900
- vector .y = x * this [ 4] + y * this [ 5] + z * this [ 6] + w * this [ 7];
29901
- vector .z = x * this [ 8] + y * this [ 9] + z * this [10] + w * this [11];
29902
- vector .w = x * this [12] + y * this [13] + z * this [14] + w * this [15];
29681
+ vector .x = x * this [ 0] + y * this [ 1] + z * this [ 2] + w * this [ 3];
29682
+ vector .y = x * this [ 4] + y * this [ 5] + z * this [ 6] + w * this [ 7];
29683
+ vector .z = x * this [ 8] + y * this [ 9] + z * this [10] + w * this [11];
29684
+ vector .w = x * this [12] + y * this [13] + z * this [14] + w * this [15];
29903
29685
 
29904
- return vector;
29686
+ return vector;
29687
+ }
29905
29688
  },
29906
29689
  multDirMatrix: function (vector)
29907
29690
  {
29908
- const
29909
- x = vector .x,
29910
- y = vector .y,
29911
- z = vector .z;
29691
+ const { x, y, z } = vector;
29912
29692
 
29913
29693
  vector .x = x * this [0] + y * this [4] + z * this [ 8];
29914
29694
  vector .y = x * this [1] + y * this [5] + z * this [ 9];
@@ -29918,10 +29698,7 @@ Matrix4_Matrix4 .prototype =
29918
29698
  },
29919
29699
  multMatrixDir: function (vector)
29920
29700
  {
29921
- const
29922
- x = vector .x,
29923
- y = vector .y,
29924
- z = vector .z;
29701
+ const { x, y, z } = vector;
29925
29702
 
29926
29703
  vector .x = x * this [0] + y * this [1] + z * this [ 2];
29927
29704
  vector .y = x * this [4] + y * this [5] + z * this [ 6];
@@ -29940,10 +29717,7 @@ Matrix4_Matrix4 .prototype =
29940
29717
  },
29941
29718
  translate: function (translation)
29942
29719
  {
29943
- const
29944
- x = translation .x,
29945
- y = translation .y,
29946
- z = translation .z;
29720
+ const { x, y, z } = translation;
29947
29721
 
29948
29722
  this [12] += this [ 0] * x + this [ 4] * y + this [ 8] * z;
29949
29723
  this [13] += this [ 1] * x + this [ 5] * y + this [ 9] * z;
@@ -29957,10 +29731,7 @@ Matrix4_Matrix4 .prototype =
29957
29731
  },
29958
29732
  scale: function (scale)
29959
29733
  {
29960
- const
29961
- x = scale .x,
29962
- y = scale .y,
29963
- z = scale .z;
29734
+ const { x, y, z } = scale;
29964
29735
 
29965
29736
  this [ 0] *= x;
29966
29737
  this [ 4] *= y;
@@ -31174,10 +30945,6 @@ x_ite_Namespace.set ("x_ite/Fields/SFRotation", SFRotation_default_);
31174
30945
 
31175
30946
 
31176
30947
 
31177
- const
31178
- SFString_unescape = /\\([\\"])/g,
31179
- SFString_escape = /([\\"])/g;
31180
-
31181
30948
  function SFString (value)
31182
30949
  {
31183
30950
  return Base_X3DField.call (this, arguments .length ? "" + value : "");
@@ -31187,11 +30954,11 @@ Object .assign (SFString,
31187
30954
  {
31188
30955
  unescape: function (string)
31189
30956
  {
31190
- return string .replace (SFString_unescape, "$1");
30957
+ return string .replace (/\\([\\"])/g, "$1");
31191
30958
  },
31192
30959
  escape: function (string)
31193
30960
  {
31194
- return string .replace (SFString_escape, "\\$1");
30961
+ return string .replace (/([\\"])/g, "\\$1");
31195
30962
  },
31196
30963
  });
31197
30964
 
@@ -31241,7 +31008,9 @@ SFString .prototype = Object .assign (Object .create (Base_X3DField.prototype),
31241
31008
  },
31242
31009
  toJSONStreamValue: function (generator)
31243
31010
  {
31011
+ generator .string += '"';
31244
31012
  generator .string += generator .JSONEncode (this .getValue ());
31013
+ generator .string += '"';
31245
31014
  },
31246
31015
  });
31247
31016
 
@@ -35136,7 +34905,7 @@ x_ite_Namespace.set ("x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
35136
34905
  *
35137
34906
  ******************************************************************************/
35138
34907
 
35139
- const VERSION_default_ = "8.6.0";
34908
+ const VERSION_default_ = "8.6.2";
35140
34909
  ;
35141
34910
 
35142
34911
  x_ite_Namespace.set ("x_ite/Browser/VERSION", VERSION_default_);
@@ -35517,40 +35286,35 @@ x_ite_Namespace.set ("x_ite/Browser/Core/Context", Context_default_);
35517
35286
 
35518
35287
  class StopWatch
35519
35288
  {
35520
- startTime = 0;
35521
- stopTime = 0;
35289
+ #startTime = 0;
35290
+ #stopTime = 0;
35522
35291
  cycles = 0;
35523
35292
  elapsedTime = 0;
35524
35293
 
35525
35294
  start ()
35526
35295
  {
35527
- this .startTime = Date .now ();
35296
+ this .#startTime = Date .now ();
35528
35297
  }
35529
35298
 
35530
35299
  stop ()
35531
35300
  {
35532
- if (this .startTime <= this .stopTime)
35301
+ if (this .#startTime <= this .#stopTime)
35533
35302
  return;
35534
35303
 
35535
- this .stopTime = Date .now ();
35304
+ this .#stopTime = Date .now ();
35536
35305
  this .cycles += 1;
35537
- this .elapsedTime += this .stopTime - this .startTime;
35306
+ this .elapsedTime += this .#stopTime - this .#startTime;
35538
35307
  }
35539
35308
 
35540
35309
  reset ()
35541
35310
  {
35542
- this .startTime = 0;
35543
- this .stopTime = 0;
35311
+ this .#startTime = 0;
35312
+ this .#stopTime = 0;
35544
35313
  this .cycles = 0;
35545
35314
  this .elapsedTime = 0;
35546
35315
  }
35547
35316
 
35548
- averageCycles ()
35549
- {
35550
- return this .elapsedTime ? this .cycles / this .elapsedTime : 0;
35551
- }
35552
-
35553
- averageTime ()
35317
+ get averageTime ()
35554
35318
  {
35555
35319
  return this .cycles ? this .elapsedTime / this .cycles : 0;
35556
35320
  }
@@ -36043,7 +35807,7 @@ const gettext_default_ = gettext;
36043
35807
  x_ite_Namespace.set ("locale/gettext", gettext_default_);
36044
35808
  /* harmony default export */ const locale_gettext = (gettext_default_);
36045
35809
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
36046
- /* provided dependency */ var $ = __webpack_require__(530);
35810
+ /* provided dependency */ var $ = __webpack_require__(430);
36047
35811
  /*******************************************************************************
36048
35812
  *
36049
35813
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36203,7 +35967,7 @@ BrowserTimings .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36203
35967
 
36204
35968
  let r = 0;
36205
35969
 
36206
- rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Frame rate") + ":")) .append ($("<td></td>") .text (f2(this .fps .averageCycles () * 1000) .toLocaleString (language, fixed) + " " + locale_gettext("fps")));
35970
+ rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Frame rate") + ":")) .append ($("<td></td>") .text (f2(1000 / this .fps .averageTime) .toLocaleString (language, fixed) + " " + locale_gettext("fps")));
36207
35971
  rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Speed") + ":")) .append ($("<td></td>") .text (f2(this .getSpeed (browser .currentSpeed)) .toLocaleString (language, fixed) + " " + this .getSpeedUnit (browser .currentSpeed)));
36208
35972
 
36209
35973
  if (this .localStorage .type === "MORE")
@@ -36211,9 +35975,9 @@ BrowserTimings .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36211
35975
  const
36212
35976
  layers = browser .getWorld () .getLayerSet () .getLayers (),
36213
35977
  activeLayer = browser .getActiveLayer (),
36214
- navigationTime = activeLayer && browser .getCollisionCount () ? activeLayer .getCollisionTime () .averageTime () : 0,
36215
- collisionTime = browser .getCollisionTime () .averageTime () + navigationTime,
36216
- routingTime = Math .max (0, browser .getBrowserTime () .averageTime () - (browser .getCameraTime () .averageTime () + browser .getCollisionTime () .averageTime () + browser .getDisplayTime () .averageTime ())),
35978
+ navigationTime = activeLayer && browser .getCollisionCount () ? activeLayer .getCollisionTime () .averageTime : 0,
35979
+ collisionTime = browser .getCollisionTime () .averageTime + navigationTime,
35980
+ routingTime = Math .max (0, browser .getBrowserTime () .averageTime - (browser .getCameraTime () .averageTime + browser .getCollisionTime () .averageTime + browser .getDisplayTime () .averageTime)),
36217
35981
  prepareEvents = browser .prepareEvents () .getInterests () .size - 1,
36218
35982
  sensors = browser .sensorEvents () .getInterests () .size;
36219
35983
 
@@ -36229,14 +35993,14 @@ BrowserTimings .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36229
35993
 
36230
35994
  rows [1] .addClass ("x_ite-private-more");
36231
35995
 
36232
- rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Browser") + ":")) .append ($("<td></td>") .text (f2(browser .getSystemTime () .averageTime ()) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36233
- rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("X3D total") + ":")) .append ($("<td></td>") .text (f2(browser .getBrowserTime () .averageTime ()) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
35996
+ rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Browser") + ":")) .append ($("<td></td>") .text (f2(browser .getSystemTime () .averageTime) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
35997
+ rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("X3D total") + ":")) .append ($("<td></td>") .text (f2(browser .getBrowserTime () .averageTime) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36234
35998
  rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Event Processing") + ":")) .append ($("<td></td>") .text (f2(routingTime) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36235
- rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Pointer") + ":")) .append ($("<td></td>") .text (f2(browser .getPointingTime () .averageTime ()) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36236
- rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Camera") + ":")) .append ($("<td></td>") .text (f2(browser .getCameraTime () .averageTime ()) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36237
- rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Picking") + ":")) .append ($("<td></td>") .text (f2(browser .getPickingTime () .averageTime ()) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
35999
+ rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Pointer") + ":")) .append ($("<td></td>") .text (f2(browser .getPointingTime () .averageTime) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36000
+ rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Camera") + ":")) .append ($("<td></td>") .text (f2(browser .getCameraTime () .averageTime) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36001
+ rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Picking") + ":")) .append ($("<td></td>") .text (f2(browser .getPickingTime () .averageTime) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36238
36002
  rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Collision Detection") + ":")) .append ($("<td></td>") .text (f2(collisionTime) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36239
- rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Rendering") + ":")) .append ($("<td></td>") .text (f2(browser .getDisplayTime () .averageTime ()) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36003
+ rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Rendering") + ":")) .append ($("<td></td>") .text (f2(browser .getDisplayTime () .averageTime) .toLocaleString (language, fixed) + " " + locale_gettext("ms")));
36240
36004
  rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Number of Shapes") + ":")) .append ($("<td></td>") .text (opaqueShapes + " + " + transparentShapes));
36241
36005
  rows [r++] = $("<tr></tr>") .append ($("<td></td>") .text (locale_gettext("Number of Sensors") + ":")) .append ($("<td></td>") .text (prepareEvents + sensors));
36242
36006
 
@@ -37001,7 +36765,7 @@ const RenderingProperties_default_ = RenderingProperties;
37001
36765
  x_ite_Namespace.set ("x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
37002
36766
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
37003
36767
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
37004
- /* provided dependency */ var Notification_$ = __webpack_require__(530);
36768
+ /* provided dependency */ var Notification_$ = __webpack_require__(430);
37005
36769
  /*******************************************************************************
37006
36770
  *
37007
36771
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -37123,8 +36887,8 @@ const Notification_default_ = Notification;
37123
36887
  x_ite_Namespace.set ("x_ite/Browser/Core/Notification", Notification_default_);
37124
36888
  /* harmony default export */ const Core_Notification = (Notification_default_);
37125
36889
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
37126
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(194);
37127
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(530);
36890
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(76);
36891
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(430);
37128
36892
  /*******************************************************************************
37129
36893
  *
37130
36894
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -38874,7 +38638,9 @@ X3DNode .prototype = Object .assign (Object .create (Base_X3DBaseNode.prototype)
38874
38638
  generator .string += '"';
38875
38639
  generator .string += ':';
38876
38640
  generator .string += generator .TidySpace ();
38641
+ generator .string += '"';
38877
38642
  generator .string += generator .JSONEncode (name);
38643
+ generator .string += '"';
38878
38644
  generator .string += generator .TidyBreak ();
38879
38645
  generator .string += generator .DecIndent ();
38880
38646
  generator .string += generator .Indent ();
@@ -38917,7 +38683,9 @@ X3DNode .prototype = Object .assign (Object .create (Base_X3DBaseNode.prototype)
38917
38683
  generator .string += '"';
38918
38684
  generator .string += ':';
38919
38685
  generator .string += generator .TidySpace ();
38686
+ generator .string += '"';
38920
38687
  generator .string += generator .JSONEncode (name);
38688
+ generator .string += '"';
38921
38689
  generator .string += ',';
38922
38690
  generator .string += generator .TidyBreak ();
38923
38691
  }
@@ -39078,7 +38846,9 @@ X3DNode .prototype = Object .assign (Object .create (Base_X3DBaseNode.prototype)
39078
38846
  generator .string += '"';
39079
38847
  generator .string += ':';
39080
38848
  generator .string += generator .TidySpace ();
38849
+ generator .string += '"';
39081
38850
  generator .string += generator .JSONEncode (field .getName ());
38851
+ generator .string += '"';
39082
38852
 
39083
38853
  // If the field is a inputOutput and we have as reference only inputOnly or outputOnly we must output the value
39084
38854
  // for this field.
@@ -39201,7 +38971,9 @@ X3DNode .prototype = Object .assign (Object .create (Base_X3DBaseNode.prototype)
39201
38971
  for (let i = 0, length = sourceTextLines .length; i < length; ++ i)
39202
38972
  {
39203
38973
  generator .string += generator .ListIndent ();
38974
+ generator .string += '"';
39204
38975
  generator .string += generator .JSONEncode (sourceTextLines [i]);
38976
+ generator .string += '"';
39205
38977
 
39206
38978
  if (i !== length - 1)
39207
38979
  generator .string += ',';
@@ -39257,7 +39029,9 @@ X3DNode .prototype = Object .assign (Object .create (Base_X3DBaseNode.prototype)
39257
39029
  generator .string += '"';
39258
39030
  generator .string += ':';
39259
39031
  generator .string += generator .TidySpace ();
39032
+ generator .string += '"';
39260
39033
  generator .string += generator .JSONEncode (field .getName ());
39034
+ generator .string += '"';
39261
39035
  generator .string += ',';
39262
39036
  generator .string += generator .TidyBreak ();
39263
39037
 
@@ -39267,7 +39041,9 @@ X3DNode .prototype = Object .assign (Object .create (Base_X3DBaseNode.prototype)
39267
39041
  generator .string += '"';
39268
39042
  generator .string += ':';
39269
39043
  generator .string += generator .TidySpace ();
39044
+ generator .string += '"';
39270
39045
  generator .string += generator .JSONEncode (protoField .getName ());
39046
+ generator .string += '"';
39271
39047
  generator .string += generator .TidyBreak ();
39272
39048
 
39273
39049
  generator .string += generator .DecIndent ();
@@ -39738,7 +39514,9 @@ X3DImportedNode .prototype = Object .assign (Object .create (Core_X3DNode.protot
39738
39514
  generator .string += '"';
39739
39515
  generator .string += ':';
39740
39516
  generator .string += generator .TidySpace ();
39517
+ generator .string += '"';
39741
39518
  generator .string += generator .JSONEncode (generator .Name (this .getInlineNode ()));
39519
+ generator .string += '"';
39742
39520
  generator .string += ',';
39743
39521
  generator .string += generator .TidyBreak ();
39744
39522
 
@@ -39748,7 +39526,9 @@ X3DImportedNode .prototype = Object .assign (Object .create (Core_X3DNode.protot
39748
39526
  generator .string += '"';
39749
39527
  generator .string += ':';
39750
39528
  generator .string += generator .TidySpace ();
39529
+ generator .string += '"';
39751
39530
  generator .string += generator .JSONEncode (this .getExportedName ());
39531
+ generator .string += '"';
39752
39532
 
39753
39533
  if (this .getImportedName () !== this .getExportedName ())
39754
39534
  {
@@ -39760,7 +39540,9 @@ X3DImportedNode .prototype = Object .assign (Object .create (Core_X3DNode.protot
39760
39540
  generator .string += '"';
39761
39541
  generator .string += ':';
39762
39542
  generator .string += generator .TidySpace ();
39543
+ generator .string += '"';
39763
39544
  generator .string += generator .JSONEncode (this .getImportedName ());
39545
+ generator .string += '"';
39764
39546
  generator .string += generator .TidyBreak ();
39765
39547
  }
39766
39548
  else
@@ -39825,7 +39607,9 @@ X3DImportedNode .prototype = Object .assign (Object .create (Core_X3DNode.protot
39825
39607
  generator .string += '"';
39826
39608
  generator .string += ':';
39827
39609
  generator .string += generator .TidySpace ();
39610
+ generator .string += '"';
39828
39611
  generator .string += generator .JSONEncode (sourceNodeName);
39612
+ generator .string += '"';
39829
39613
  generator .string += ',';
39830
39614
  generator .string += generator .TidyBreak ();
39831
39615
 
@@ -39835,7 +39619,9 @@ X3DImportedNode .prototype = Object .assign (Object .create (Core_X3DNode.protot
39835
39619
  generator .string += '"';
39836
39620
  generator .string += ':';
39837
39621
  generator .string += generator .TidySpace ();
39622
+ generator .string += '"';
39838
39623
  generator .string += generator .JSONEncode (sourceField);
39624
+ generator .string += '"';
39839
39625
  generator .string += ',';
39840
39626
  generator .string += generator .TidyBreak ();
39841
39627
 
@@ -39845,7 +39631,9 @@ X3DImportedNode .prototype = Object .assign (Object .create (Core_X3DNode.protot
39845
39631
  generator .string += '"';
39846
39632
  generator .string += ':';
39847
39633
  generator .string += generator .TidySpace ();
39634
+ generator .string += '"';
39848
39635
  generator .string += generator .JSONEncode (destinationNodeName);
39636
+ generator .string += '"';
39849
39637
  generator .string += ',';
39850
39638
  generator .string += generator .TidyBreak ();
39851
39639
 
@@ -39855,7 +39643,9 @@ X3DImportedNode .prototype = Object .assign (Object .create (Core_X3DNode.protot
39855
39643
  generator .string += '"';
39856
39644
  generator .string += ':';
39857
39645
  generator .string += generator .TidySpace ();
39646
+ generator .string += '"';
39858
39647
  generator .string += generator .JSONEncode (destinationField);
39648
+ generator .string += '"';
39859
39649
  generator .string += generator .TidyBreak ();
39860
39650
 
39861
39651
  generator .string += generator .DecIndent ();
@@ -40814,7 +40604,9 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40814
40604
  generator .string += '"';
40815
40605
  generator .string += ':';
40816
40606
  generator .string += generator .TidySpace ();
40607
+ generator .string += '"';
40817
40608
  generator .string += generator .JSONEncode (this .getTypeName ());
40609
+ generator .string += '"';
40818
40610
  generator .string += ',';
40819
40611
  generator .string += generator .TidyBreak ();
40820
40612
 
@@ -40824,7 +40616,9 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40824
40616
  generator .string += '"';
40825
40617
  generator .string += ':';
40826
40618
  generator .string += generator .TidySpace ();
40619
+ generator .string += '"';
40827
40620
  generator .string += generator .JSONEncode (name);
40621
+ generator .string += '"';
40828
40622
  generator .string += generator .TidyBreak ();
40829
40623
 
40830
40624
  generator .string += generator .DecIndent ();
@@ -40868,7 +40662,9 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40868
40662
  generator .string += '"';
40869
40663
  generator .string += ':';
40870
40664
  generator .string += generator .TidySpace ();
40665
+ generator .string += '"';
40871
40666
  generator .string += generator .JSONEncode (name);
40667
+ generator .string += '"';
40872
40668
  generator .string += ',';
40873
40669
  generator .string += generator .TidyBreak ();
40874
40670
  }
@@ -40882,7 +40678,9 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40882
40678
  generator .string += '"';
40883
40679
  generator .string += ':';
40884
40680
  generator .string += generator .TidySpace ();
40681
+ generator .string += '"';
40885
40682
  generator .string += generator .JSONEncode (this .getTypeName ());
40683
+ generator .string += '"';
40886
40684
  generator .string += ',';
40887
40685
  generator .string += generator .TidyBreak ();
40888
40686
 
@@ -40955,7 +40753,9 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40955
40753
  generator .string += '"';
40956
40754
  generator .string += ':';
40957
40755
  generator .string += generator .TidySpace ();
40756
+ generator .string += '"';
40958
40757
  generator .string += generator .JSONEncode (field .getName ());
40758
+ generator .string += '"';
40959
40759
  generator .string += ',';
40960
40760
  generator .string += generator .TidyBreak ();
40961
40761
  generator .string += generator .Indent ();
@@ -40993,7 +40793,9 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40993
40793
  generator .string += '"';
40994
40794
  generator .string += ':';
40995
40795
  generator .string += generator .TidySpace ();
40796
+ generator .string += '"';
40996
40797
  generator .string += generator .JSONEncode (field .getName ());
40798
+ generator .string += '"';
40997
40799
  generator .string += ',';
40998
40800
  generator .string += generator .TidyBreak ();
40999
40801
  generator .string += generator .Indent ();
@@ -41023,7 +40825,9 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
41023
40825
  generator .string += '"';
41024
40826
  generator .string += ':';
41025
40827
  generator .string += generator .TidySpace ();
40828
+ generator .string += '"';
41026
40829
  generator .string += generator .JSONEncode (field .getName ());
40830
+ generator .string += '"';
41027
40831
  generator .string += ',';
41028
40832
  generator .string += generator .TidyBreak ();
41029
40833
  generator .string += generator .Indent ();
@@ -41096,7 +40900,9 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
41096
40900
  generator .string += '"';
41097
40901
  generator .string += ':';
41098
40902
  generator .string += generator .TidySpace ();
40903
+ generator .string += '"';
41099
40904
  generator .string += generator .JSONEncode (field .getName ());
40905
+ generator .string += '"';
41100
40906
  generator .string += ',';
41101
40907
  generator .string += generator .TidyBreak ();
41102
40908
 
@@ -41106,7 +40912,9 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
41106
40912
  generator .string += '"';
41107
40913
  generator .string += ':';
41108
40914
  generator .string += generator .TidySpace ();
40915
+ generator .string += '"';
41109
40916
  generator .string += generator .JSONEncode (protoField .getName ());
40917
+ generator .string += '"';
41110
40918
  generator .string += generator .TidyBreak ();
41111
40919
 
41112
40920
  generator .string += generator .DecIndent ();
@@ -41607,7 +41415,9 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (Prototype_X3DPr
41607
41415
  generator .string += "@name";
41608
41416
  generator .string += '"';
41609
41417
  generator .string += ':';
41418
+ generator .string += '"';
41610
41419
  generator .string += generator .JSONEncode (this .getName ());
41420
+ generator .string += '"';
41611
41421
  generator .string += ',';
41612
41422
  generator .string += generator .TidyBreak ();
41613
41423
 
@@ -41677,7 +41487,9 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (Prototype_X3DPr
41677
41487
  generator .string += '"';
41678
41488
  generator .string += ':';
41679
41489
  generator .string += generator .TidySpace ();
41490
+ generator .string += '"';
41680
41491
  generator .string += generator .JSONEncode (field .getName ());
41492
+ generator .string += '"';
41681
41493
 
41682
41494
  if (field .isDefaultValue ())
41683
41495
  {
@@ -42078,7 +41890,7 @@ const X3DUrlObject_default_ = X3DUrlObject;
42078
41890
  x_ite_Namespace.set ("x_ite/Components/Networking/X3DUrlObject", X3DUrlObject_default_);
42079
41891
  /* harmony default export */ const Networking_X3DUrlObject = (X3DUrlObject_default_);
42080
41892
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
42081
- /* provided dependency */ var X3DParser_$ = __webpack_require__(530);
41893
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(430);
42082
41894
  /*******************************************************************************
42083
41895
  *
42084
41896
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -42223,7 +42035,7 @@ X3DParser .prototype = {
42223
42035
  convertColor: function (value)
42224
42036
  {
42225
42037
  const
42226
- div = X3DParser_$("<div></div>") .css ("color", value) .appendTo (this .getBrowser () .getShadow ()),
42038
+ div = X3DParser_$("<div></div>") .hide () .css ("color", value) .appendTo (X3DParser_$("body")),
42227
42039
  rgb = window .getComputedStyle (div [0]) .color,
42228
42040
  values = rgb .replace (/^rgba?\(|\)$/g, "") .split (/[\s,]+/) .map (s => parseFloat (s));
42229
42041
 
@@ -45254,7 +45066,7 @@ const VRMLParser_default_ = VRMLParser;
45254
45066
  x_ite_Namespace.set ("x_ite/Parser/VRMLParser", VRMLParser_default_);
45255
45067
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
45256
45068
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
45257
- /* provided dependency */ var XMLParser_$ = __webpack_require__(530);
45069
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(430);
45258
45070
  /*******************************************************************************
45259
45071
  *
45260
45072
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47140,7 +46952,7 @@ const X3DOptimizer_default_ = X3DOptimizer;
47140
46952
  x_ite_Namespace.set ("x_ite/Parser/X3DOptimizer", X3DOptimizer_default_);
47141
46953
  /* harmony default export */ const Parser_X3DOptimizer = (X3DOptimizer_default_);
47142
46954
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
47143
- /* provided dependency */ var libtess = __webpack_require__(78);
46955
+ /* provided dependency */ var libtess = __webpack_require__(469);
47144
46956
  /*******************************************************************************
47145
46957
  *
47146
46958
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47243,9 +47055,17 @@ const Triangle3 = {
47243
47055
  triangles .push (index);
47244
47056
  }
47245
47057
 
47058
+ // Required in case of a combine, otherwise an empty array is returned.
47059
+
47060
+ function combineCallback (coords, data, weight)
47061
+ {
47062
+ return data [0];
47063
+ }
47064
+
47246
47065
  const tessy = new libtess .GluTesselator ();
47247
47066
 
47248
47067
  tessy .gluTessCallback (libtess .gluEnum .GLU_TESS_VERTEX_DATA, vertexCallback);
47068
+ tessy .gluTessCallback (libtess .gluEnum .GLU_TESS_COMBINE, combineCallback);
47249
47069
  tessy .gluTessProperty (libtess .gluEnum .GLU_TESS_WINDING_RULE, libtess .windingRule .GLU_TESS_WINDING_ODD);
47250
47070
 
47251
47071
  return function (polygon, triangles)
@@ -47503,7 +47323,6 @@ Box3 .prototype =
47503
47323
  setExtents: function (min, max)
47504
47324
  {
47505
47325
  const
47506
- m = this .matrix,
47507
47326
  sx = (max .x - min .x) / 2,
47508
47327
  sy = (max .y - min .y) / 2,
47509
47328
  sz = (max .z - min .z) / 2,
@@ -48043,7 +47862,7 @@ const Box3_default_ = Box3;
48043
47862
  x_ite_Namespace.set ("standard/Math/Geometry/Box3", Box3_default_);
48044
47863
  /* harmony default export */ const Geometry_Box3 = (Box3_default_);
48045
47864
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
48046
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(530);
47865
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(430);
48047
47866
  /*******************************************************************************
48048
47867
  *
48049
47868
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50221,16 +50040,16 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
50221
50040
  index1 = Algorithm.clamp (Algorithm.upperBound (times, 0, times .length, time), 1, times .length - 1),
50222
50041
  index0 = index1 - 1,
50223
50042
  td = times [index1] - times [index0],
50224
- t = (time - times [index0]) / td,
50225
- t2 = Math .pow (t, 2),
50226
- t3 = Math .pow (t, 3),
50043
+ t1 = (time - times [index0]) / td,
50044
+ t2 = t1 * t1,
50045
+ t3 = t2 * t1,
50227
50046
  v0 = values [index0 * 3 + 1] .copy (),
50228
50047
  b0 = values [index0 * 3 + 2] .copy (),
50229
50048
  v1 = values [index1 * 3 + 1] .copy (),
50230
50049
  a1 = values [index1 * 3 + 0] .copy ();
50231
50050
 
50232
50051
  v0 .multiply (2 * t3 - 3 * t2 + 1);
50233
- b0 .multiply (td * (t3 - 2 * t2 + t));
50052
+ b0 .multiply (td * (t3 - 2 * t2 + t1));
50234
50053
  v1 .multiply (-2 * t3 + 3 * t2);
50235
50054
  a1 .multiply (td * (t3 - t2));
50236
50055
 
@@ -50270,7 +50089,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
50270
50089
  x_ite_Namespace.set ("x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
50271
50090
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
50272
50091
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
50273
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(530);
50092
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(430);
50274
50093
  /*******************************************************************************
50275
50094
  *
50276
50095
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50423,7 +50242,7 @@ const GLB2Parser_default_ = GLB2Parser;
50423
50242
  x_ite_Namespace.set ("x_ite/Parser/GLB2Parser", GLB2Parser_default_);
50424
50243
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
50425
50244
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
50426
- /* provided dependency */ var OBJParser_$ = __webpack_require__(530);
50245
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(430);
50427
50246
  /*******************************************************************************
50428
50247
  *
50429
50248
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -52151,7 +51970,6 @@ Box2 .prototype =
52151
51970
  setExtents: function (min, max)
52152
51971
  {
52153
51972
  const
52154
- m = this .matrix,
52155
51973
  sx = (max .x - min .x) / 2,
52156
51974
  sy = (max .y - min .y) / 2,
52157
51975
  cx = (max .x + min .x) / 2,
@@ -52338,244 +52156,195 @@ x_ite_Namespace.set ("standard/Math/Geometry/Box2", Box2_default_);
52338
52156
 
52339
52157
 
52340
52158
 
52341
- const lerp = Algorithm.lerp;
52342
52159
 
52343
- function Bezier (/*x0, y0, x1, y1, x2, y2, x3, y3*/)
52344
- {
52345
- this .args = arguments;
52346
- }
52347
52160
 
52348
- Bezier .prototype =
52161
+
52162
+
52163
+ const { interval } = Algorithm;
52164
+
52165
+ // https://pomax.github.io/bezierinfo/
52166
+
52167
+ const Bezier =
52349
52168
  {
52350
- getPoints: function (type, steps)
52169
+ quadric: (function ()
52351
52170
  {
52352
- const points = [ ];
52171
+ const
52172
+ c = new Numbers_Matrix3 (1, 0, 0, -2, 2, 0, 1, -2, 1),
52173
+ p = new Numbers_Matrix3 ();
52353
52174
 
52354
- switch (type)
52175
+ return function (x0, y0, z0, x1, y1, z1, x2, y2, z2, steps, points)
52355
52176
  {
52356
- case "quadric":
52357
- {
52358
- const
52359
- x0 = this .args [0],
52360
- y0 = this .args [1],
52361
- x1 = this .args [2],
52362
- y1 = this .args [3],
52363
- x2 = this .args [4],
52364
- y2 = this .args [5];
52365
-
52366
- for (let i = 0, d = steps - 1; i < steps; ++ i)
52367
- {
52368
- points .push (quadric (x0, y0, x1, y1, x2, y2, i / d));
52369
- }
52177
+ p .set (x0, y0, z0, x1, y1, z1, x2, y2, z2)
52178
+ .multLeft (c);
52370
52179
 
52371
- break;
52372
- }
52373
- case "cubic":
52180
+ for (let i = 0, d = steps - 1; i < steps; ++ i)
52374
52181
  {
52375
- const
52376
- x0 = this .args [0],
52377
- y0 = this .args [1],
52378
- x1 = this .args [2],
52379
- y1 = this .args [3],
52380
- x2 = this .args [4],
52381
- y2 = this .args [5],
52382
- x3 = this .args [6],
52383
- y3 = this .args [7];
52384
-
52385
- for (let i = 0, d = steps - 1; i < steps; ++ i)
52386
- {
52387
- points .push (cubic (x0, y0, x1, y1, x2, y2, x3, y3, i / d));
52388
- }
52182
+ const t = i / d;
52389
52183
 
52390
- break;
52184
+ points .push (p .multVecMatrix (new Numbers_Vector3 (1, t, t * t)));
52391
52185
  }
52392
- case "arc":
52186
+ };
52187
+ })(),
52188
+ cubic: (function ()
52189
+ {
52190
+ const
52191
+ v = new Numbers_Vector4 (0, 0, 0, 0),
52192
+ c = new Numbers_Matrix4 (1, 0, 0, 0, -3, 3, 0, 0, 3, -6, 3, 0, -1, 3, -3, 1),
52193
+ p = new Numbers_Matrix4 ();
52194
+
52195
+ return function (x0, y0, z0, x1, y1, z1, x2, y2, z2, x3, y3, z3, steps, points)
52196
+ {
52197
+ p .set (x0, y0, z0, 0, x1, y1, z1, 0, x2, y2, z2, 0, x3, y3, z3, 0)
52198
+ .multLeft (c);
52199
+
52200
+ for (let i = 0, d = steps - 1; i < steps; ++ i)
52393
52201
  {
52394
- let
52395
- ax = this .args [0],
52396
- ay = this .args [1],
52397
- rx = this .args [2],
52398
- ry = this .args [3],
52399
- xAxisRotation = this .args [4],
52400
- largeArcFlag = this .args [5],
52401
- sweepFlag = this .args [6],
52402
- x = this .args [7],
52403
- y = this .args [8];
52404
-
52405
- // https://ericeastwood.com/blog/25/curves-and-arcs-quadratic-cubic-elliptical-svg-implementations
52406
- // See https://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes.
52407
-
52408
- // If the endpoints are identical, then this is equivalent to omitting the elliptical arc segment entirely.
52409
- if (ax === x && ay === y)
52410
- {
52411
- points .push (new Numbers_Vector2 (x, y));
52412
- return;
52413
- }
52202
+ const t = i / d;
52414
52203
 
52415
- // In accordance to: http://www.w3.org/TR/SVG/implnote.html#ArcOutOfRangeParameters
52204
+ p .multVecMatrix (v .set (1, t, t * t, t * t * t));
52416
52205
 
52417
- rx = Math .abs (rx);
52418
- ry = Math .abs (ry);
52206
+ points .push (new Numbers_Vector3 (v .x, v .y, v .z));
52207
+ }
52208
+ };
52209
+ })(),
52210
+ arc: function (ax, ay, rx, ry, xAxisRotation, largeArcFlag, sweepFlag, x, y, steps, points)
52211
+ {
52212
+ // https://ericeastwood.com/blog/25/curves-and-arcs-quadratic-cubic-elliptical-svg-implementations
52213
+ // See https://www.w3.org/TR/SVG/implnote.html#ArcImplementationNotes.
52419
52214
 
52420
- // If rx = 0 or ry = 0 then this arc is treated as a straight line segment joining the endpoints.
52421
- if (rx === 0 || ry === 0)
52422
- {
52423
- points .push (new Numbers_Vector2 (ax, ay), new Numbers_Vector2 (x, y));
52424
- return;
52425
- }
52215
+ // If the endpoints are identical, then this is equivalent to omitting the elliptical arc segment entirely.
52216
+ if (ax === x && ay === y)
52217
+ {
52218
+ points .push (new Numbers_Vector3 (x, y, 0));
52219
+ return;
52220
+ }
52426
52221
 
52427
- const
52428
- rx2 = rx * rx,
52429
- ry2 = ry * ry;
52222
+ // In accordance to: http://www.w3.org/TR/SVG/implnote.html#ArcOutOfRangeParameters
52430
52223
 
52431
- // In accordance to: http://www.w3.org/TR/SVG/implnote.html#ArcOutOfRangeParameters
52224
+ rx = Math .abs (rx);
52225
+ ry = Math .abs (ry);
52432
52226
 
52433
- xAxisRotation = Algorithm.interval (xAxisRotation, 0, 2 * Math .PI);
52227
+ // If rx = 0 or ry = 0 then this arc is treated as a straight line segment joining the endpoints.
52228
+ if (rx === 0 || ry === 0)
52229
+ {
52230
+ points .push (new Numbers_Vector3 (ax, ay, 0), new Numbers_Vector3 (x, y, 0));
52231
+ return;
52232
+ }
52434
52233
 
52435
- const
52436
- sinRotation = Math .sin (xAxisRotation),
52437
- cosRotation = Math .cos (xAxisRotation);
52234
+ const
52235
+ rx2 = rx * rx,
52236
+ ry2 = ry * ry;
52438
52237
 
52439
- // Following "Conversion from endpoint to center parameterization"
52440
- // http://www.w3.org/TR/SVG/implnote.html#ArcConversionEndpointToCenter
52238
+ // In accordance to: http://www.w3.org/TR/SVG/implnote.html#ArcOutOfRangeParameters
52441
52239
 
52442
- // Step #1: Compute transformedPoint
52443
- const d = new Numbers_Vector2 (ax - x, ay - y) .divide (2);
52240
+ xAxisRotation = interval (xAxisRotation, 0, 2 * Math .PI);
52444
52241
 
52445
- const transformedPoint = new Numbers_Vector2 ( cosRotation * d .x + sinRotation * d .y,
52446
- -sinRotation * d .x + cosRotation * d .y);
52242
+ const
52243
+ sinRotation = Math .sin (xAxisRotation),
52244
+ cosRotation = Math .cos (xAxisRotation);
52447
52245
 
52448
- const transformedPoint2 = transformedPoint .copy () .multVec (transformedPoint);
52246
+ // Following "Conversion from endpoint to center parameterization"
52247
+ // http://www.w3.org/TR/SVG/implnote.html#ArcConversionEndpointToCenter
52449
52248
 
52450
- // Ensure radii are large enough
52451
- const radiiCheck = transformedPoint2 .x / rx2 + transformedPoint2 .y / ry2;
52249
+ // Step #1: Compute transformedPoint
52250
+ const d = new Numbers_Vector2 (ax - x, ay - y) .divide (2);
52452
52251
 
52453
- if (radiiCheck > 1)
52454
- {
52455
- rx = Math .sqrt (radiiCheck) * rx;
52456
- ry = Math .sqrt (radiiCheck) * ry;
52457
- }
52252
+ const transformedPoint = new Numbers_Vector2 ( cosRotation * d .x + sinRotation * d .y,
52253
+ -sinRotation * d .x + cosRotation * d .y);
52458
52254
 
52459
- // Step #2: Compute transformedCenter
52460
- const cSquareNumerator = rx2 * ry2 - rx2 * transformedPoint2 .y - ry2 * transformedPoint2 .x;
52461
- const cSquareRootDenom = rx2 * transformedPoint2 .y + ry2 * transformedPoint2 .x;
52462
- let cRadicand = cSquareNumerator / cSquareRootDenom;
52255
+ const transformedPoint2 = transformedPoint .copy () .multVec (transformedPoint);
52463
52256
 
52464
- // Make sure this never drops below zero because of precision
52465
- cRadicand = Math .max (0, cRadicand);
52257
+ // Ensure radii are large enough
52258
+ const radiiCheck = transformedPoint2 .x / rx2 + transformedPoint2 .y / ry2;
52466
52259
 
52467
- const cCoef = (largeArcFlag !== sweepFlag ? 1 : -1) * Math .sqrt (cRadicand);
52260
+ if (radiiCheck > 1)
52261
+ {
52262
+ rx = Math .sqrt (radiiCheck) * rx;
52263
+ ry = Math .sqrt (radiiCheck) * ry;
52264
+ }
52468
52265
 
52469
- const transformedCenter = new Numbers_Vector2 ( cCoef * rx * transformedPoint .y / ry,
52470
- -cCoef * ry * transformedPoint .x / rx);
52266
+ // Step #2: Compute transformedCenter
52267
+ const cSquareNumerator = rx2 * ry2 - rx2 * transformedPoint2 .y - ry2 * transformedPoint2 .x;
52268
+ const cSquareRootDenom = rx2 * transformedPoint2 .y + ry2 * transformedPoint2 .x;
52269
+ let cRadicand = cSquareNumerator / cSquareRootDenom;
52471
52270
 
52472
- // Step #3: Compute center
52473
- const center = new Numbers_Vector2 (cosRotation * transformedCenter .x - sinRotation * transformedCenter .y + ((ax + x) / 2),
52474
- sinRotation * transformedCenter .x + cosRotation * transformedCenter .y + ((ay + y) / 2));
52271
+ // Make sure this never drops below zero because of precision
52272
+ cRadicand = Math .max (0, cRadicand);
52475
52273
 
52476
- // Step #4: Compute start/sweep angles
52477
- const startVector = new Numbers_Vector2 ((transformedPoint .x - transformedCenter .x) / rx,
52478
- (transformedPoint .y - transformedCenter .y) / ry);
52274
+ const cCoef = (largeArcFlag !== sweepFlag ? 1 : -1) * Math .sqrt (cRadicand);
52479
52275
 
52480
- const endVector = new Numbers_Vector2 ((-transformedPoint .x - transformedCenter .x) / rx,
52481
- (-transformedPoint .y - transformedCenter .y) / ry);
52276
+ const transformedCenter = new Numbers_Vector2 ( cCoef * rx * transformedPoint .y / ry,
52277
+ -cCoef * ry * transformedPoint .x / rx);
52482
52278
 
52483
- const get_angle = (x) => { return x > 0 ? x : 2 * Math .PI + x; }; // transform angle to range [0, 2pi]
52484
- const startAngle = get_angle (Math .atan2 (startVector .y, startVector .x));
52485
- const endAngle = get_angle (Math .atan2 (endVector .y, endVector .x));
52279
+ // Step #3: Compute center
52280
+ const center = new Numbers_Vector2 (cosRotation * transformedCenter .x - sinRotation * transformedCenter .y + ((ax + x) / 2),
52281
+ sinRotation * transformedCenter .x + cosRotation * transformedCenter .y + ((ay + y) / 2));
52486
52282
 
52487
- let sweepAngle = endAngle - startAngle;
52283
+ // Step #4: Compute start/sweep angles
52284
+ const startVector = new Numbers_Vector2 ((transformedPoint .x - transformedCenter .x) / rx,
52285
+ (transformedPoint .y - transformedCenter .y) / ry);
52488
52286
 
52489
- if (largeArcFlag)
52490
- {
52491
- // sweepAngle must be positive
52492
- if (sweepAngle < 0)
52493
- sweepAngle += 2 * Math .PI;
52494
- }
52495
- else
52496
- {
52497
- // sweepAngle must be negative
52498
- if (sweepAngle > 0)
52499
- sweepAngle -= 2 * Math .PI;
52500
- }
52287
+ const endVector = new Numbers_Vector2 ((-transformedPoint .x - transformedCenter .x) / rx,
52288
+ (-transformedPoint .y - transformedCenter .y) / ry);
52501
52289
 
52502
- if (sweepFlag && sweepAngle < 0)
52503
- sweepAngle += 2 *Math .PI;
52290
+ const get_angle = (x) => { return x > 0 ? x : 2 * Math .PI + x; }; // transform angle to range [0, 2pi]
52291
+ const startAngle = get_angle (Math .atan2 (startVector .y, startVector .x));
52292
+ const endAngle = get_angle (Math .atan2 (endVector .y, endVector .x));
52504
52293
 
52505
- else if (!sweepFlag && sweepAngle > 0)
52506
- sweepAngle -= 2 * Math .PI;
52294
+ let sweepAngle = endAngle - startAngle;
52507
52295
 
52508
- // Interpolate:
52296
+ if (largeArcFlag)
52297
+ {
52298
+ // sweepAngle must be positive
52299
+ if (sweepAngle < 0)
52300
+ sweepAngle += 2 * Math .PI;
52301
+ }
52302
+ else
52303
+ {
52304
+ // sweepAngle must be negative
52305
+ if (sweepAngle > 0)
52306
+ sweepAngle -= 2 * Math .PI;
52307
+ }
52509
52308
 
52510
- const bezier_steps = Math .max (4, Math .abs (sweepAngle) * steps / (2 * Math .PI));
52511
- const bezier_steps_1 = bezier_steps - 1;
52309
+ if (sweepFlag && sweepAngle < 0)
52310
+ sweepAngle += 2 *Math .PI;
52512
52311
 
52513
- points .push (new Numbers_Vector2 (ax, ay));
52312
+ else if (!sweepFlag && sweepAngle > 0)
52313
+ sweepAngle -= 2 * Math .PI;
52514
52314
 
52515
- for (let i = 1; i < bezier_steps_1; ++ i)
52516
- {
52517
- const t = i / bezier_steps_1;
52315
+ // Interpolate:
52518
52316
 
52519
- // From http://www.w3.org/TR/SVG/implnote.html#ArcParameterizationAlternatives
52520
- const angle = startAngle + (sweepAngle * t);
52521
- const x = rx * Math .cos (angle);
52522
- const y = ry * Math .sin (angle);
52317
+ const bezier_steps = Math .max (4, Math .abs (sweepAngle) * steps / (2 * Math .PI));
52318
+ const bezier_steps_1 = bezier_steps - 1;
52523
52319
 
52524
- const point = new Numbers_Vector2 (cosRotation * x - sinRotation * y + center .x,
52525
- sinRotation * x + cosRotation * y + center .y);
52320
+ points .push (new Numbers_Vector3 (ax, ay, 0));
52526
52321
 
52527
- points .push (point);
52528
- }
52322
+ for (let i = 1; i < bezier_steps_1; ++ i)
52323
+ {
52324
+ const t = i / bezier_steps_1;
52529
52325
 
52530
- points .push (new Numbers_Vector2 (x, y));
52531
- break;
52532
- }
52326
+ // From http://www.w3.org/TR/SVG/implnote.html#ArcParameterizationAlternatives
52327
+ const angle = startAngle + (sweepAngle * t);
52328
+ const x = rx * Math .cos (angle);
52329
+ const y = ry * Math .sin (angle);
52330
+
52331
+ points .push (new Numbers_Vector3 (cosRotation * x - sinRotation * y + center .x,
52332
+ sinRotation * x + cosRotation * y + center .y,
52333
+ 0));
52533
52334
  }
52534
52335
 
52535
- return points;
52336
+ points .push (new Numbers_Vector3 (x, y, 0));
52536
52337
  }
52537
52338
  };
52538
52339
 
52539
- function quadric (x0, y0, x1, y1, x2, y2, t)
52540
- {
52541
- const
52542
- ax0 = lerp (x0, x1, t),
52543
- ay0 = lerp (y0, y1, t),
52544
- ax1 = lerp (x1, x2, t),
52545
- ay1 = lerp (y1, y2, t),
52546
- bx0 = lerp (ax0, ax1, t),
52547
- by0 = lerp (ay0, ay1, t);
52548
-
52549
- return new Numbers_Vector2 (bx0, by0);
52550
- }
52551
-
52552
- function cubic (x0, y0, x1, y1, x2, y2, x3, y3, t)
52553
- {
52554
- const
52555
- ax0 = lerp (x0, x1, t),
52556
- ay0 = lerp (y0, y1, t),
52557
- ax1 = lerp (x1, x2, t),
52558
- ay1 = lerp (y1, y2, t),
52559
- ax2 = lerp (x2, x3, t),
52560
- ay2 = lerp (y2, y3, t),
52561
- bx0 = lerp (ax0, ax1, t),
52562
- by0 = lerp (ay0, ay1, t),
52563
- bx1 = lerp (ax1, ax2, t),
52564
- by1 = lerp (ay1, ay2, t),
52565
- cx0 = lerp (bx0, bx1, t),
52566
- cy0 = lerp (by0, by1, t);
52567
-
52568
- return new Numbers_Vector2 (cx0, cy0);
52569
- }
52570
-
52571
52340
  const Bezier_default_ = Bezier;
52572
52341
  ;
52573
52342
 
52574
52343
  x_ite_Namespace.set ("standard/Math/Algorithms/Bezier", Bezier_default_);
52575
52344
  /* harmony default export */ const Algorithms_Bezier = (Bezier_default_);
52576
52345
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
52577
- /* provided dependency */ var SVGParser_$ = __webpack_require__(530);
52578
- /* provided dependency */ var SVGParser_libtess = __webpack_require__(78);
52346
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(430);
52347
+ /* provided dependency */ var SVGParser_libtess = __webpack_require__(469);
52579
52348
  /*******************************************************************************
52580
52349
  *
52581
52350
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -52681,9 +52450,9 @@ const
52681
52450
  PICA = INCH / 6, // One pica in meters.
52682
52451
  PIXEL = INCH / 90, // One pixel in meters.
52683
52452
  EM = 16, // One em in pixels,
52684
- BEZIER_STEPS = 10,
52685
- CIRCLE_STEPS = 64,
52686
- GRADIENT_SIZE = 256; // In pixels.
52453
+ BEZIER_STEPS = 10, // Subdivisions of a span.
52454
+ CIRCLE_STEPS = 64, // Subdivisions of a circle, used for arc.
52455
+ GRADIENT_SIZE = 256; // In pixels.
52687
52456
 
52688
52457
  /*
52689
52458
  * Parser
@@ -52702,7 +52471,7 @@ function SVGParser (scene)
52702
52471
 
52703
52472
  // Options
52704
52473
 
52705
- this .solid = false;
52474
+ this .solid = false; // Are 2D primitives solid.
52706
52475
 
52707
52476
  // Globals
52708
52477
 
@@ -53305,8 +53074,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53305
53074
 
53306
53075
  const coordinateNode = scene .createNode ("Coordinate");
53307
53076
 
53308
- for (const point of points)
53309
- coordinateNode .point .push (new Numbers_Vector3 (point .x, point .y, 0));
53077
+ coordinateNode .point .push (... points);
53310
53078
 
53311
53079
  if (this .style .fillType !== "NONE")
53312
53080
  {
@@ -53378,10 +53146,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53378
53146
  const coordinateNode = scene .createNode ("Coordinate");
53379
53147
 
53380
53148
  for (const points of contours)
53381
- {
53382
- for (const point of points)
53383
- coordinateNode .point .push (new Numbers_Vector3 (point .x, point .y, 0));
53384
- }
53149
+ coordinateNode .point .push (... points);
53385
53150
 
53386
53151
  if (this .style .fillType !== "NONE")
53387
53152
  {
@@ -53608,6 +53373,9 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53608
53373
  },
53609
53374
  hrefAttribute: function (attribute)
53610
53375
  {
53376
+ if (!attribute)
53377
+ return;
53378
+
53611
53379
  const
53612
53380
  scene = this .getExecutionContext (),
53613
53381
  hash = new URL (attribute, scene .getWorldURL ()) .hash .slice (1);
@@ -53702,7 +53470,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53702
53470
  {
53703
53471
  const y = this .value;
53704
53472
 
53705
- points .push (new Numbers_Vector2 (x, y));
53473
+ points .push (new Numbers_Vector3 (x, y, 0));
53706
53474
 
53707
53475
  if (this .comma ())
53708
53476
  continue;
@@ -53751,8 +53519,6 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53751
53519
  {
53752
53520
  // moveto
53753
53521
 
53754
- points = this .removeConsecutiveIdenticalPoints (points);
53755
-
53756
53522
  if (points .length > 2)
53757
53523
  {
53758
53524
  contours .push (Object .assign (points, { index: index, closed: false }));
@@ -53780,7 +53546,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53780
53546
  y += ay;
53781
53547
  }
53782
53548
 
53783
- points .push (new Numbers_Vector2 (x, y));
53549
+ points .push (new Numbers_Vector3 (x, y, 0));
53784
53550
 
53785
53551
  ax = x;
53786
53552
  ay = y;
@@ -53818,7 +53584,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53818
53584
  y += ay;
53819
53585
  }
53820
53586
 
53821
- points .push (new Numbers_Vector2 (x, y));
53587
+ points .push (new Numbers_Vector3 (x, y, 0));
53822
53588
 
53823
53589
  ax = x;
53824
53590
  ay = y;
@@ -53847,7 +53613,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53847
53613
  if (relative)
53848
53614
  x += ax;
53849
53615
 
53850
- points .push (new Numbers_Vector2 (x, ay));
53616
+ points .push (new Numbers_Vector3 (x, ay, 0));
53851
53617
 
53852
53618
  ax = x;
53853
53619
 
@@ -53874,7 +53640,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53874
53640
  if (relative)
53875
53641
  y += ay;
53876
53642
 
53877
- points .push (new Numbers_Vector2 (ax, y));
53643
+ points .push (new Numbers_Vector3 (ax, y, 0));
53878
53644
 
53879
53645
  ay = y;
53880
53646
 
@@ -53924,9 +53690,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53924
53690
  y += ay;
53925
53691
  }
53926
53692
 
53927
- const curve = new Algorithms_Bezier (ax, ay, x1, y1, x, y);
53928
-
53929
- points .push (... curve .getPoints ("quadric", BEZIER_STEPS));
53693
+ Algorithms_Bezier.quadric (ax, ay, 0, x1, y1, 0, x, y, 0, BEZIER_STEPS, points);
53930
53694
 
53931
53695
  ax = x;
53932
53696
  ay = y;
@@ -53987,9 +53751,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53987
53751
  }
53988
53752
  }
53989
53753
 
53990
- const curve = new Algorithms_Bezier (ax, ay, x1, y1, x, y);
53991
-
53992
- points .push (... curve .getPoints ("quadric", BEZIER_STEPS));
53754
+ Algorithms_Bezier.quadric (ax, ay, 0, x1, y1, 0, x, y, 0, BEZIER_STEPS, points);
53993
53755
 
53994
53756
  ax = x;
53995
53757
  ay = y;
@@ -54055,9 +53817,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
54055
53817
  y += ay;
54056
53818
  }
54057
53819
 
54058
- const curve = new Algorithms_Bezier (ax, ay, x1, y1, x2, y2, x, y);
54059
-
54060
- points .push (... curve .getPoints ("cubic", BEZIER_STEPS));
53820
+ Algorithms_Bezier.cubic (ax, ay, 0, x1, y1, 0, x2, y2, 0, x, y, 0, BEZIER_STEPS, points);
54061
53821
 
54062
53822
  ax = x;
54063
53823
  ay = y;
@@ -54134,9 +53894,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
54134
53894
  }
54135
53895
  }
54136
53896
 
54137
- const curve = new Algorithms_Bezier (ax, ay, x1, y1, x2, y2, x, y);
54138
-
54139
- points .push (... curve .getPoints ("cubic", BEZIER_STEPS));
53897
+ Algorithms_Bezier.cubic (ax, ay, 0, x1, y1, 0, x2, y2, 0, x, y, 0, BEZIER_STEPS, points);
54140
53898
 
54141
53899
  ax = x;
54142
53900
  ay = y;
@@ -54176,7 +53934,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
54176
53934
 
54177
53935
  if (this .double ())
54178
53936
  {
54179
- let xAxisRotation = this .value;
53937
+ let xAxisRotation = Algorithm.radians (this .value);
54180
53938
 
54181
53939
  this .comma ();
54182
53940
 
@@ -54208,9 +53966,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
54208
53966
  y += ay;
54209
53967
  }
54210
53968
 
54211
- const curve = new Algorithms_Bezier (ax, ay, rx, ry, Algorithm.radians (xAxisRotation), largeArcFlag, sweepFlag, x, y);
54212
-
54213
- points .push (... curve .getPoints ("arc", CIRCLE_STEPS));
53969
+ Algorithms_Bezier.arc (ax, ay, rx, ry, xAxisRotation, largeArcFlag, sweepFlag, x, y, CIRCLE_STEPS, points);
54214
53970
 
54215
53971
  ax = x;
54216
53972
  ay = y;
@@ -54235,8 +53991,6 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
54235
53991
  {
54236
53992
  // closepath
54237
53993
 
54238
- points = this .removeConsecutiveIdenticalPoints (points);
54239
-
54240
53994
  if (points .length > 2)
54241
53995
  {
54242
53996
  ax = points [0] .x;
@@ -54257,17 +54011,11 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
54257
54011
  break;
54258
54012
  }
54259
54013
 
54260
- points = this .removeConsecutiveIdenticalPoints (points);
54261
-
54262
54014
  if (points .length > 2)
54263
54015
  contours .push (Object .assign (points, { index: index, closed: false }));
54264
54016
 
54265
54017
  return !! contours .length;
54266
54018
  },
54267
- removeConsecutiveIdenticalPoints: function (points)
54268
- {
54269
- return points .filter ((p, i, a) => !p .equals (a [(i + 1) % a .length]));
54270
- },
54271
54019
  transformAttribute: function (attribute)
54272
54020
  {
54273
54021
  const matrix = new Numbers_Matrix3 ();
@@ -55008,11 +54756,9 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
55008
54756
 
55009
54757
  function combineCallback (coords, data, weight)
55010
54758
  {
55011
- const
55012
- point = new Numbers_Vector3 (... coords),
55013
- index = coordinateNode .point .length;
54759
+ const index = coordinateNode .point .length;
55014
54760
 
55015
- coordinateNode .point .push (point);
54761
+ coordinateNode .point .push (new Numbers_Vector3 (... coords));
55016
54762
 
55017
54763
  return index;
55018
54764
  }
@@ -55030,8 +54776,8 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
55030
54776
  {
55031
54777
  tessy .gluTessBeginContour ();
55032
54778
 
55033
- for (const [i, p] of points .entries ())
55034
- tessy .gluTessVertex ([p .x, p .y, 0], points .index + i);
54779
+ for (const [i, point] of points .entries ())
54780
+ tessy .gluTessVertex (point, points .index + i);
55035
54781
 
55036
54782
  tessy .gluTessEndContour ();
55037
54783
  }
@@ -55057,7 +54803,7 @@ const SVGParser_default_ = SVGParser;
55057
54803
  x_ite_Namespace.set ("x_ite/Parser/SVGParser", SVGParser_default_);
55058
54804
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
55059
54805
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
55060
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(530);
54806
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(430);
55061
54807
  /*******************************************************************************
55062
54808
  *
55063
54809
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -55356,9 +55102,7 @@ Plane3 .prototype =
55356
55102
  },
55357
55103
  intersectsLine: function (line, intersection)
55358
55104
  {
55359
- const
55360
- point = line .point,
55361
- direction = line .direction;
55105
+ const { point, direction } = line;
55362
55106
 
55363
55107
  // Check if the line is parallel to the plane.
55364
55108
  const theta = direction .dot (this .normal);
@@ -55518,17 +55262,7 @@ ViewVolume .prototype =
55518
55262
  this .viewport .assign (viewport);
55519
55263
  this .scissor .assign (scissor);
55520
55264
 
55521
- const points = this .points;
55522
-
55523
- const
55524
- p0 = points [0],
55525
- p1 = points [1],
55526
- p2 = points [2],
55527
- p3 = points [3],
55528
- p4 = points [4],
55529
- p5 = points [5],
55530
- p6 = points [6],
55531
- p7 = points [7];
55265
+ const [p0, p1 ,p2, p3, p4, p5, p6, p7] = this .points;
55532
55266
 
55533
55267
  const
55534
55268
  x1 = scissor [0],
@@ -55586,17 +55320,17 @@ ViewVolume .prototype =
55586
55320
 
55587
55321
  if (edges .tainted)
55588
55322
  {
55589
- const points = this .points;
55323
+ const [p0, p1 ,p2, p3, p4, p5, p6, p7] = this .points;
55590
55324
 
55591
- edges [0] .assign (points [0]) .subtract (points [1]);
55592
- edges [1] .assign (points [1]) .subtract (points [2]);
55593
- edges [2] .assign (points [2]) .subtract (points [3]);
55594
- edges [3] .assign (points [3]) .subtract (points [0]);
55325
+ edges [0] .assign (p0) .subtract (p1);
55326
+ edges [1] .assign (p1) .subtract (p2);
55327
+ edges [2] .assign (p2) .subtract (p3);
55328
+ edges [3] .assign (p3) .subtract (p0);
55595
55329
 
55596
- edges [4] .assign (points [0]) .subtract (points [4]);
55597
- edges [5] .assign (points [1]) .subtract (points [5]);
55598
- edges [6] .assign (points [2]) .subtract (points [6]);
55599
- edges [7] .assign (points [3]) .subtract (points [7]);
55330
+ edges [4] .assign (p0) .subtract (p4);
55331
+ edges [5] .assign (p1) .subtract (p5);
55332
+ edges [6] .assign (p2) .subtract (p6);
55333
+ edges [7] .assign (p3) .subtract (p7);
55600
55334
 
55601
55335
  // Edges 8 - 11 are equal to edges 0 - 3.
55602
55336
 
@@ -55607,24 +55341,24 @@ ViewVolume .prototype =
55607
55341
  },
55608
55342
  intersectsSphere: function (radius, center)
55609
55343
  {
55610
- const planes = this .planes;
55344
+ const [p0, p1 ,p2, p3, p4, p5, p6, p7] = this .planes;
55611
55345
 
55612
- if (planes [0] .getDistanceToPoint (center) > radius)
55346
+ if (p0 .getDistanceToPoint (center) > radius)
55613
55347
  return false;
55614
55348
 
55615
- if (planes [1] .getDistanceToPoint (center) > radius)
55349
+ if (p1 .getDistanceToPoint (center) > radius)
55616
55350
  return false;
55617
55351
 
55618
- if (planes [2] .getDistanceToPoint (center) > radius)
55352
+ if (p2 .getDistanceToPoint (center) > radius)
55619
55353
  return false;
55620
55354
 
55621
- if (planes [3] .getDistanceToPoint (center) > radius)
55355
+ if (p3 .getDistanceToPoint (center) > radius)
55622
55356
  return false;
55623
55357
 
55624
- if (planes [4] .getDistanceToPoint (center) > radius)
55358
+ if (p4 .getDistanceToPoint (center) > radius)
55625
55359
  return false;
55626
55360
 
55627
- if (planes [5] .getDistanceToPoint (center) > radius)
55361
+ if (p5 .getDistanceToPoint (center) > radius)
55628
55362
  return false;
55629
55363
 
55630
55364
  return true;
@@ -56484,10 +56218,8 @@ Line3 .prototype =
56484
56218
  return function (line, point)
56485
56219
  {
56486
56220
  const
56487
- p1 = this .point,
56488
- p2 = line .point,
56489
- d1 = this .direction,
56490
- d2 = line .direction;
56221
+ { point: p1, direction: d1 } = this,
56222
+ { point: p2, direction: d2 } = line;
56491
56223
 
56492
56224
  let t = d1 .dot (d2);
56493
56225
 
@@ -60653,14 +60385,14 @@ Complex .prototype =
60653
60385
  this .imag *= value;
60654
60386
  return this;
60655
60387
  },
60656
- multComp: function ()
60388
+ multComp: function (value)
60657
60389
  {
60658
60390
  const
60659
- real = this .real,
60660
- imag = this .imag;
60391
+ { real: ar, imag: ai } = this,
60392
+ { real: br, imag: bi } = value;
60661
60393
 
60662
- this .real = real * value .real - imag * value .imag;
60663
- this .imag = real * value .imag + imag * value .real;
60394
+ this .real = ar * br - ai * bi;
60395
+ this .imag = ar * bi + ai * br;
60664
60396
  return this;
60665
60397
  },
60666
60398
  //divide: function (value)
@@ -60670,10 +60402,9 @@ Complex .prototype =
60670
60402
  divComp: function (value)
60671
60403
  {
60672
60404
  const
60673
- ar = this .real, ai = this .imag,
60674
- br = value .real, bi = value .imag;
60675
-
60676
- const d = br * br + bi * bi;
60405
+ { real: ar, imag: ai } = this,
60406
+ { real: br, imag: bi } = value,
60407
+ d = br * br + bi * bi;
60677
60408
 
60678
60409
  this .real = (ar * br + ai * bi) / d;
60679
60410
  this .imag = (ai * br - ar * bi) / d;
@@ -62067,7 +61798,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
62067
61798
  x_ite_Namespace.set ("x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
62068
61799
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
62069
61800
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
62070
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(530);
61801
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(430);
62071
61802
  /*******************************************************************************
62072
61803
  *
62073
61804
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66321,7 +66052,7 @@ const X3DWorld_default_ = X3DWorld;
66321
66052
  x_ite_Namespace.set ("x_ite/Execution/X3DWorld", X3DWorld_default_);
66322
66053
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
66323
66054
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
66324
- /* provided dependency */ var FileLoader_$ = __webpack_require__(530);
66055
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(430);
66325
66056
  /*******************************************************************************
66326
66057
  *
66327
66058
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66606,7 +66337,7 @@ FileLoader .prototype = Object .assign (Object .create (Base_X3DObject.prototype
66606
66337
 
66607
66338
  const
66608
66339
  options = { cache: this .node .getCache () ? "default" : "reload" },
66609
- response = this .handleErrors (await fetch (decodeURI (this .URL .href), options)),
66340
+ response = this .handleErrors (await fetch (this .URL .href, options)),
66610
66341
  contentType = response .headers .get ("content-type") .replace (/;.*$/, "");
66611
66342
 
66612
66343
  if (this .foreign)
@@ -66963,7 +66694,9 @@ X3DExternProtoDeclaration .prototype = Object .assign (Object .create (Prototype
66963
66694
  generator .string += "@name";
66964
66695
  generator .string += '"';
66965
66696
  generator .string += ':';
66697
+ generator .string += '"';
66966
66698
  generator .string += generator .JSONEncode (this .getName ());
66699
+ generator .string += '"';
66967
66700
  generator .string += ',';
66968
66701
  generator .string += generator .TidyBreak ();
66969
66702
 
@@ -67021,7 +66754,9 @@ X3DExternProtoDeclaration .prototype = Object .assign (Object .create (Prototype
67021
66754
  generator .string += '"';
67022
66755
  generator .string += ':';
67023
66756
  generator .string += generator .TidySpace ();
66757
+ generator .string += '"';
67024
66758
  generator .string += generator .JSONEncode (field .getName ());
66759
+ generator .string += '"';
67025
66760
  generator .string += generator .TidyBreak ();
67026
66761
 
67027
66762
  generator .string += generator .DecIndent ();
@@ -67384,7 +67119,9 @@ X3DRoute .prototype = Object .assign (Object .create (Base_X3DObject.prototype),
67384
67119
  generator .string += '"';
67385
67120
  generator .string += ':';
67386
67121
  generator .string += generator .TidySpace ();
67122
+ generator .string += '"';
67387
67123
  generator .string += generator .JSONEncode (sourceNodeName);
67124
+ generator .string += '"';
67388
67125
  generator .string += ',';
67389
67126
  generator .string += generator .TidyBreak ();
67390
67127
 
@@ -67394,7 +67131,9 @@ X3DRoute .prototype = Object .assign (Object .create (Base_X3DObject.prototype),
67394
67131
  generator .string += '"';
67395
67132
  generator .string += ':';
67396
67133
  generator .string += generator .TidySpace ();
67134
+ generator .string += '"';
67397
67135
  generator .string += generator .JSONEncode (this [_sourceField] .getName ());
67136
+ generator .string += '"';
67398
67137
  generator .string += ',';
67399
67138
  generator .string += generator .TidyBreak ();
67400
67139
 
@@ -67404,7 +67143,9 @@ X3DRoute .prototype = Object .assign (Object .create (Base_X3DObject.prototype),
67404
67143
  generator .string += '"';
67405
67144
  generator .string += ':';
67406
67145
  generator .string += generator .TidySpace ();
67146
+ generator .string += '"';
67407
67147
  generator .string += generator .JSONEncode (destinationNodeName);
67148
+ generator .string += '"';
67408
67149
  generator .string += ',';
67409
67150
  generator .string += generator .TidyBreak ();
67410
67151
 
@@ -67414,7 +67155,9 @@ X3DRoute .prototype = Object .assign (Object .create (Base_X3DObject.prototype),
67414
67155
  generator .string += '"';
67415
67156
  generator .string += ':';
67416
67157
  generator .string += generator .TidySpace ();
67158
+ generator .string += '"';
67417
67159
  generator .string += generator .JSONEncode (this [_destinationField] .getName ());
67160
+ generator .string += '"';
67418
67161
  generator .string += generator .TidyBreak ();
67419
67162
 
67420
67163
  generator .string += generator .DecIndent ();
@@ -68666,7 +68409,7 @@ const URLs_default_ = URLs;
68666
68409
  x_ite_Namespace.set ("x_ite/Browser/Networking/URLs", URLs_default_);
68667
68410
  /* harmony default export */ const Networking_URLs = (URLs_default_);
68668
68411
  ;// CONCATENATED MODULE: ./src/x_ite/Configuration/ComponentInfo.js
68669
- /* provided dependency */ var ComponentInfo_$ = __webpack_require__(530);
68412
+ /* provided dependency */ var ComponentInfo_$ = __webpack_require__(430);
68670
68413
  /*******************************************************************************
68671
68414
  *
68672
68415
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -69003,7 +68746,9 @@ UnitInfo .prototype = Object .assign (Object .create (Base_X3DObject.prototype),
69003
68746
  generator .string += '"';
69004
68747
  generator .string += ':';
69005
68748
  generator .string += generator .TidySpace ();
68749
+ generator .string += '"';
69006
68750
  generator .string += generator .JSONEncode (this .name);
68751
+ generator .string += '"';
69007
68752
  generator .string += ',';
69008
68753
  generator .string += generator .TidyBreak ();
69009
68754
 
@@ -69245,7 +68990,9 @@ X3DExportedNode .prototype = Object .assign (Object .create (Base_X3DObject.prot
69245
68990
  generator .string += '"';
69246
68991
  generator .string += ':';
69247
68992
  generator .string += generator .TidySpace ();
68993
+ generator .string += '"';
69248
68994
  generator .string += generator .JSONEncode (localName);
68995
+ generator .string += '"';
69249
68996
 
69250
68997
  if (this [X3DExportedNode_exportedName] !== localName)
69251
68998
  {
@@ -69257,7 +69004,9 @@ X3DExportedNode .prototype = Object .assign (Object .create (Base_X3DObject.prot
69257
69004
  generator .string += '"';
69258
69005
  generator .string += ':';
69259
69006
  generator .string += generator .TidySpace ();
69007
+ generator .string += '"';
69260
69008
  generator .string += generator .JSONEncode (this [X3DExportedNode_exportedName]);
69009
+ generator .string += '"';
69261
69010
  generator .string += generator .TidyBreak ();
69262
69011
  }
69263
69012
  else
@@ -70140,7 +69889,9 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70140
69889
  generator .string += '"';
70141
69890
  generator .string += ':';
70142
69891
  generator .string += generator .TidySpace ();
69892
+ generator .string += '"';
70143
69893
  generator .string += generator .JSONEncode (key);
69894
+ generator .string += '"';
70144
69895
  generator .string += ',';
70145
69896
  generator .string += generator .TidyBreak ();
70146
69897
 
@@ -70150,7 +69901,9 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70150
69901
  generator .string += '"';
70151
69902
  generator .string += ':';
70152
69903
  generator .string += generator .TidySpace ();
69904
+ generator .string += '"';
70153
69905
  generator .string += generator .JSONEncode (value);
69906
+ generator .string += '"';
70154
69907
  generator .string += generator .TidyBreak ();
70155
69908
 
70156
69909
  generator .string += generator .DecIndent ();
@@ -70622,7 +70375,7 @@ const DataStorage_default_ = DataStorage;
70622
70375
  x_ite_Namespace.set ("standard/Utility/DataStorage", DataStorage_default_);
70623
70376
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
70624
70377
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
70625
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(530);
70378
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(430);
70626
70379
  /*******************************************************************************
70627
70380
  *
70628
70381
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -70746,7 +70499,9 @@ function X3DCoreContext (element)
70746
70499
  this [_notification] = new Core_Notification (this .getPrivateScene ());
70747
70500
  this [_contextMenu] = new Core_ContextMenu (this .getPrivateScene ());
70748
70501
 
70749
- this [_pixelPerPoint] = 1; // default 72 dpi
70502
+ const inches = X3DCoreContext_$("<div></div>") .hide () .css ("height", "10in") .appendTo (X3DCoreContext_$("body"));
70503
+ this [_pixelPerPoint] = inches .height () / 720 || 1;
70504
+ inches .remove ();
70750
70505
 
70751
70506
  this .addChildObjects ("controlKey", new x_ite_Fields.SFBool (),
70752
70507
  "shiftKey", new x_ite_Fields.SFBool (),
@@ -70886,11 +70641,7 @@ X3DCoreContext .prototype =
70886
70641
  return this [_pixelPerPoint] * this .getRenderingProperty ("ContentScale");
70887
70642
  },
70888
70643
  connectedCallback: function ()
70889
- {
70890
- const inches = X3DCoreContext_$("<div></div>") .hide () .css ("height", "10in") .appendTo (this [_shadow]);
70891
- this [_pixelPerPoint] = inches .height () / 720 || 1;
70892
- inches .remove ();
70893
- },
70644
+ { },
70894
70645
  attributeChangedCallback: function (name, oldValue, newValue)
70895
70646
  {
70896
70647
  switch (name)
@@ -77114,8 +76865,8 @@ const OrientationChaser_default_ = OrientationChaser;
77114
76865
  x_ite_Namespace.set ("x_ite/Components/Followers/OrientationChaser", OrientationChaser_default_);
77115
76866
  /* harmony default export */ const Followers_OrientationChaser = (OrientationChaser_default_);
77116
76867
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
77117
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(168);
77118
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(530);
76868
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(658);
76869
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(430);
77119
76870
  /*******************************************************************************
77120
76871
  *
77121
76872
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -77979,8 +77730,8 @@ const ExamineViewer_default_ = ExamineViewer;
77979
77730
  x_ite_Namespace.set ("x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
77980
77731
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
77981
77732
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
77982
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(168);
77983
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(530);
77733
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(658);
77734
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(430);
77984
77735
  /*******************************************************************************
77985
77736
  *
77986
77737
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -78930,8 +78681,8 @@ const FlyViewer_default_ = FlyViewer;
78930
78681
  x_ite_Namespace.set ("x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
78931
78682
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
78932
78683
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
78933
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(168);
78934
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(530);
78684
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(658);
78685
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(430);
78935
78686
  /*******************************************************************************
78936
78687
  *
78937
78688
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -79240,8 +78991,8 @@ const NoneViewer_default_ = NoneViewer;
79240
78991
  x_ite_Namespace.set ("x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
79241
78992
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
79242
78993
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
79243
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(168);
79244
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(530);
78994
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(658);
78995
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(430);
79245
78996
  /*******************************************************************************
79246
78997
  *
79247
78998
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -80844,8 +80595,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
80844
80595
  x_ite_Namespace.set ("x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
80845
80596
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
80846
80597
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
80847
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(168);
80848
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(530);
80598
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(658);
80599
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(430);
80849
80600
  /*******************************************************************************
80850
80601
  *
80851
80602
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -81867,8 +81618,8 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
81867
81618
  x_ite_Namespace.set ("x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
81868
81619
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
81869
81620
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
81870
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(530);
81871
- /* provided dependency */ var ResizeSensor = __webpack_require__(590);
81621
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(430);
81622
+ /* provided dependency */ var ResizeSensor = __webpack_require__(499);
81872
81623
  /*******************************************************************************
81873
81624
  *
81874
81625
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -90394,7 +90145,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
90394
90145
  x_ite_Namespace.set ("x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
90395
90146
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
90396
90147
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
90397
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(530);
90148
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(430);
90398
90149
  /*******************************************************************************
90399
90150
  *
90400
90151
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -101774,17 +101525,6 @@ x_ite_Namespace.set ("x_ite/Components/Interpolation/PositionInterpolator2D", Po
101774
101525
 
101775
101526
 
101776
101527
 
101777
- const
101778
- T = [ ],
101779
- Fp = [ ],
101780
- Fm = [ ],
101781
- S = new Numbers_Vector4 (0, 0, 0, 0);
101782
-
101783
- const H = new Numbers_Matrix4 ( 2, -2, 1, 1,
101784
- -3, 3, -2, -1,
101785
- 0, 0, 1, 0,
101786
- 1, 0, 0, 0);
101787
-
101788
101528
  function CatmullRomSplineInterpolator ()
101789
101529
  {
101790
101530
  this .T0 = [ ];
@@ -101794,114 +101534,131 @@ function CatmullRomSplineInterpolator ()
101794
101534
  CatmullRomSplineInterpolator .prototype =
101795
101535
  {
101796
101536
  constructor: CatmullRomSplineInterpolator,
101797
- generate: function (closed, key, keyValue, keyVelocity, normalizeVelocity)
101537
+ generate: (function ()
101798
101538
  {
101799
101539
  const
101800
- T0 = this .T0,
101801
- T1 = this .T1;
101540
+ T = [ ],
101541
+ Fp = [ ],
101542
+ Fm = [ ];
101802
101543
 
101803
- T0 .length = 0;
101804
- T1 .length = 0;
101544
+ return function (closed, key, keyValue, keyVelocity, normalizeVelocity)
101545
+ {
101546
+ const
101547
+ T0 = this .T0,
101548
+ T1 = this .T1;
101805
101549
 
101806
- T .length = 0;
101807
- Fp .length = 0;
101808
- Fm .length = 0;
101550
+ T0 .length = 0;
101551
+ T1 .length = 0;
101809
101552
 
101810
- if (key .length > 1)
101811
- {
101812
- // T
101553
+ T .length = 0;
101554
+ Fp .length = 0;
101555
+ Fm .length = 0;
101813
101556
 
101814
- if (keyVelocity .length === 0)
101557
+ if (key .length > 1)
101815
101558
  {
101816
- if (closed)
101817
- T .push (this .divide (this .subtract (keyValue [1], keyValue [keyValue .length - 2]), 2));
101559
+ // T
101818
101560
 
101819
- else
101820
- T .push (this .create ());
101561
+ if (keyVelocity .length === 0)
101562
+ {
101563
+ if (closed)
101564
+ T .push (this .divide (this .subtract (keyValue [1], keyValue [keyValue .length - 2]), 2));
101821
101565
 
101822
- for (let i = 1, length = keyValue .length - 1; i < length; ++ i)
101823
- T .push (this .divide (this .subtract (keyValue [i + 1], keyValue [i - 1]), 2));
101566
+ else
101567
+ T .push (this .create ());
101824
101568
 
101825
- T .push (this .copy (T [0]));
101826
- }
101827
- else
101828
- {
101829
- for (let i = 0, length = keyVelocity .length; i < length; ++ i)
101830
- T .push (this .copy (keyVelocity [i]));
101569
+ for (let i = 1, length = keyValue .length - 1; i < length; ++ i)
101570
+ T .push (this .divide (this .subtract (keyValue [i + 1], keyValue [i - 1]), 2));
101831
101571
 
101832
- if (normalizeVelocity)
101572
+ T .push (this .copy (T [0]));
101573
+ }
101574
+ else
101833
101575
  {
101834
- let Dtot = 0;
101835
-
101836
- for (let i = 0, length = keyValue .length - 1; i < length; ++ i)
101837
- Dtot += this .abs (this .subtract (keyValue [i], keyValue [i + 1]));
101576
+ for (let i = 0, length = keyVelocity .length; i < length; ++ i)
101577
+ T .push (this .copy (keyVelocity [i]));
101838
101578
 
101839
- for (let i = 0, length = T .length - 1; i < length; ++ i)
101579
+ if (normalizeVelocity)
101840
101580
  {
101841
- const Tia = this .abs (T [i]);
101581
+ let Dtot = 0;
101582
+
101583
+ for (let i = 0, length = keyValue .length - 1; i < length; ++ i)
101584
+ Dtot += this .magnitude (this .subtract (keyValue [i], keyValue [i + 1]));
101842
101585
 
101843
- if (Tia)
101844
- T [i] = this .multiply (T [i], Dtot / Tia);
101586
+ for (let i = 0, length = T .length - 1; i < length; ++ i)
101587
+ {
101588
+ const Tia = this .magnitude (T [i]);
101589
+
101590
+ if (Tia)
101591
+ T [i] = this .multiply (T [i], Dtot / Tia);
101592
+ }
101845
101593
  }
101846
101594
  }
101847
- }
101848
-
101849
- // Fm, Fp
101850
101595
 
101851
- if (closed)
101852
- {
101853
- const i_1 = key .length - 1;
101854
- const i_2 = key .length - 2;
101596
+ // Fm, Fp
101855
101597
 
101856
- const d = key [1] - key [0] + key [i_1] - key [i_2];
101598
+ if (closed)
101599
+ {
101600
+ const i_1 = key .length - 1;
101601
+ const i_2 = key .length - 2;
101857
101602
 
101858
- Fm .push (2 * (key [1] - key [0]) / d);
101859
- Fp .push (2 * (key [i_1] - key [i_2]) / d);
101603
+ const d = key [1] - key [0] + key [i_1] - key [i_2];
101860
101604
 
101861
- }
101862
- else
101863
- {
101864
- Fm .push (1);
101865
- Fp .push (1);
101866
- }
101605
+ Fm .push (2 * (key [1] - key [0]) / d);
101606
+ Fp .push (2 * (key [i_1] - key [i_2]) / d);
101607
+ }
101608
+ else
101609
+ {
101610
+ Fm .push (1);
101611
+ Fp .push (1);
101612
+ }
101867
101613
 
101868
- for (let i = 1, length = key .length - 1; i < length; ++ i)
101869
- {
101870
- const d = key [i + 1] - key [i - 1];
101614
+ for (let i = 1, length = key .length - 1; i < length; ++ i)
101615
+ {
101616
+ const d = key [i + 1] - key [i - 1];
101871
101617
 
101872
- Fm .push (2 * (key [i + 1] - key [i]) / d);
101873
- Fp .push (2 * (key [i] - key [i - 1]) / d);
101874
- }
101618
+ Fm .push (2 * (key [i + 1] - key [i]) / d);
101619
+ Fp .push (2 * (key [i] - key [i - 1]) / d);
101620
+ }
101875
101621
 
101876
- Fm .push (Fm [0]);
101877
- Fp .push (Fp [0]);
101622
+ Fm .push (Fm [0]);
101623
+ Fp .push (Fp [0]);
101878
101624
 
101879
- // T0, T1
101625
+ // T0, T1
101880
101626
 
101881
- for (let i = 0, length = T .length; i < length; ++ i)
101627
+ for (let i = 0, length = T .length; i < length; ++ i)
101628
+ {
101629
+ T0 .push (this .multiply (T [i], Fp [i]));
101630
+ T1 .push (this .multiply (T [i], Fm [i]));
101631
+ }
101632
+ }
101633
+ else
101882
101634
  {
101883
- T0 .push (this .multiply (T [i], Fp [i]));
101884
- T1 .push (this .multiply (T [i], Fm [i]));
101635
+ T0 .push (this .create ());
101636
+ T1 .push (this .create ());
101885
101637
  }
101886
- }
101887
- else
101888
- {
101889
- T0 .push (this .create ());
101890
- T1 .push (this .create ());
101891
- }
101892
- },
101893
- interpolate: function (index0, index1, weight, keyValue)
101638
+ };
101639
+ })(),
101640
+ interpolate: (function ()
101894
101641
  {
101895
- S .set (Math .pow (weight, 3), Math .pow (weight, 2), weight, 1);
101642
+ const S = new Numbers_Vector4 (0, 0, 0, 0);
101896
101643
 
101897
- // Taking dot product from SH and C;
101644
+ const H = new Numbers_Matrix4 ( 2, -2, 1, 1,
101645
+ -3, 3, -2, -1,
101646
+ 0, 0, 1, 0,
101647
+ 1, 0, 0, 0);
101898
101648
 
101899
- return this .dot (H .multVecMatrix (S),
101900
- keyValue [index0],
101901
- keyValue [index1],
101902
- this .T0 [index0],
101903
- this .T1 [index1]);
101904
- },
101649
+ return function (index0, index1, weight, keyValue)
101650
+ {
101651
+ S .set (Math .pow (weight, 3), Math .pow (weight, 2), weight, 1);
101652
+
101653
+ // Taking dot product from SH and C;
101654
+
101655
+ return this .dot (H .multVecMatrix (S),
101656
+ keyValue [index0],
101657
+ keyValue [index1],
101658
+ this .T0 [index0],
101659
+ this .T1 [index1]);
101660
+ };
101661
+ })(),
101905
101662
  };
101906
101663
 
101907
101664
  const CatmullRomSplineInterpolator_default_ = CatmullRomSplineInterpolator;
@@ -101961,12 +101718,6 @@ x_ite_Namespace.set ("x_ite/Browser/Interpolation/CatmullRomSplineInterpolator",
101961
101718
 
101962
101719
  function CatmullRomSplineInterpolatorTemplate (Type)
101963
101720
  {
101964
- const
101965
- c0 = new Type (0, 0, 0, 0),
101966
- c1 = new Type (0, 0, 0, 0),
101967
- c2 = new Type (0, 0, 0, 0),
101968
- c3 = new Type (0, 0, 0, 0);
101969
-
101970
101721
  function CatmullRomSplineInterpolatorInstance ()
101971
101722
  {
101972
101723
  this .T0 = [ ];
@@ -101996,19 +101747,28 @@ function CatmullRomSplineInterpolatorTemplate (Type)
101996
101747
  {
101997
101748
  return Type .divide (lhs, rhs);
101998
101749
  },
101999
- abs: function (value)
101750
+ magnitude: function (value)
102000
101751
  {
102001
101752
  return value .magnitude ();
102002
101753
  },
102003
- dot: function (SH, C0, C1, C2, C3)
101754
+ dot: (function ()
102004
101755
  {
102005
- c0 .assign (C0) .multiply (SH [0]);
102006
- c1 .assign (C1) .multiply (SH [1]);
102007
- c2 .assign (C2) .multiply (SH [2]);
102008
- c3 .assign (C3) .multiply (SH [3]);
101756
+ const
101757
+ c0 = new Type (0, 0, 0, 0),
101758
+ c1 = new Type (0, 0, 0, 0),
101759
+ c2 = new Type (0, 0, 0, 0),
101760
+ c3 = new Type (0, 0, 0, 0);
102009
101761
 
102010
- return c0 .add (c1) .add (c2) .add (c3);
102011
- },
101762
+ return function (SH, C0, C1, C2, C3)
101763
+ {
101764
+ c0 .assign (C0) .multiply (SH [0]);
101765
+ c1 .assign (C1) .multiply (SH [1]);
101766
+ c2 .assign (C2) .multiply (SH [2]);
101767
+ c3 .assign (C3) .multiply (SH [3]);
101768
+
101769
+ return c0 .add (c1) .add (c2) .add (c3);
101770
+ };
101771
+ })(),
102012
101772
  });
102013
101773
 
102014
101774
  return CatmullRomSplineInterpolatorInstance;
@@ -102461,8 +102221,7 @@ x_ite_Namespace.set ("x_ite/Components/Interpolation/SplinePositionInterpolator2
102461
102221
 
102462
102222
  function CatmullRomSplineInterpolator1 ()
102463
102223
  {
102464
- this .T0 = [ ];
102465
- this .T1 = [ ];
102224
+ Interpolation_CatmullRomSplineInterpolator.call (this);
102466
102225
  }
102467
102226
 
102468
102227
  CatmullRomSplineInterpolator1 .prototype = Object .assign (Object .create (Interpolation_CatmullRomSplineInterpolator.prototype),
@@ -102488,7 +102247,7 @@ CatmullRomSplineInterpolator1 .prototype = Object .assign (Object .create (Inter
102488
102247
  {
102489
102248
  return lhs / rhs;
102490
102249
  },
102491
- abs: function (value)
102250
+ magnitude: function (value)
102492
102251
  {
102493
102252
  return Math .abs (value);
102494
102253
  },
@@ -102824,12 +102583,13 @@ SquadOrientationInterpolator .prototype = Object .assign (Object .create (Interp
102824
102583
  {
102825
102584
  constructor: SquadOrientationInterpolator,
102826
102585
  [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new Base_FieldDefinitionArray ([
102827
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metadata", new x_ite_Fields.SFNode ()),
102828
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOnly, "set_fraction", new x_ite_Fields.SFFloat ()),
102829
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "closed", new x_ite_Fields.SFBool ()),
102830
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "key", new x_ite_Fields.MFFloat ()),
102831
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "keyValue", new x_ite_Fields.MFRotation ()),
102832
- new Base_X3DFieldDefinition (Base_X3DConstants.outputOnly, "value_changed", new x_ite_Fields.SFRotation ()),
102586
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metadata", new x_ite_Fields.SFNode ()),
102587
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOnly, "set_fraction", new x_ite_Fields.SFFloat ()),
102588
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "closed", new x_ite_Fields.SFBool ()),
102589
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "key", new x_ite_Fields.MFFloat ()),
102590
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "keyValue", new x_ite_Fields.MFRotation ()),
102591
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "normalizeVelocity", new x_ite_Fields.SFBool ()),
102592
+ new Base_X3DFieldDefinition (Base_X3DConstants.outputOnly, "value_changed", new x_ite_Fields.SFRotation ()),
102833
102593
  ]),
102834
102594
  getTypeName: function ()
102835
102595
  {
@@ -102847,7 +102607,7 @@ SquadOrientationInterpolator .prototype = Object .assign (Object .create (Interp
102847
102607
  {
102848
102608
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
102849
102609
 
102850
- this ._keyValue .addInterest ("set_keyValue__", this);
102610
+ this ._keyValue .addInterest ("set_keyValue__", this);
102851
102611
  },
102852
102612
  set_keyValue__: function ()
102853
102613
  {
@@ -106183,7 +105943,7 @@ Cylinder3 .prototype =
106183
105943
  pos = line .point,
106184
105944
  dir = line .direction;
106185
105945
 
106186
- const
105946
+ const
106187
105947
  A = dir [0] * dir [0] + dir [2] * dir [2],
106188
105948
  B = 2 * (pos [0] * dir [0] + pos [2] * dir [2]),
106189
105949
  C = pos [0] * pos [0] + pos [2] * pos [2] - 1;
@@ -106640,10 +106400,8 @@ Line2 .prototype =
106640
106400
  return function (line, point)
106641
106401
  {
106642
106402
  const
106643
- p1 = this .point,
106644
- p2 = line .point,
106645
- d1 = this .direction,
106646
- d2 = line .direction;
106403
+ { point: p1, direction: d1 } = this,
106404
+ { point: p2, direction: d2 } = line;
106647
106405
 
106648
106406
  const theta = d1 .dot (d2); // angle between both lines
106649
106407
 
@@ -107041,18 +106799,14 @@ Sphere3 .prototype =
107041
106799
  // https://github.com/Alexpux/Coin3D/blob/master/src/base/SbSphere.cpp
107042
106800
 
107043
106801
  const
107044
- linepos = line .point,
107045
- linedir = line .direction;
107046
-
107047
- const
107048
- scenter = this .center,
107049
- r = this .radius;
106802
+ { point, direction } = line,
106803
+ { center, radius } = this;
107050
106804
 
107051
106805
  const
107052
- b = 2 * (linepos .dot (linedir) - scenter .dot (linedir)),
107053
- c = (linepos .x * linepos .x + linepos .y * linepos .y + linepos .z * linepos .z) +
107054
- (scenter .x * scenter .x + scenter .y * scenter .y + scenter .z * scenter .z) -
107055
- 2 * linepos .dot (scenter) - r * r;
106806
+ b = 2 * (point .dot (direction) - center .dot (direction)),
106807
+ c = (point .x * point .x + point .y * point .y + point .z * point .z) +
106808
+ (center .x * center .x + center .y * center .y + center .z * center .z) -
106809
+ 2 * point .dot (center) - radius * radius;
107056
106810
 
107057
106811
  const core = b * b - 4 * c;
107058
106812
 
@@ -107069,8 +106823,8 @@ Sphere3 .prototype =
107069
106823
  t2 = tmp;
107070
106824
  }
107071
106825
 
107072
- enterPoint .assign (linedir) .multiply (t1) .add (linepos);
107073
- exitPoint .assign (linedir) .multiply (t2) .add (linepos);
106826
+ enterPoint .assign (direction) .multiply (t1) .add (point);
106827
+ exitPoint .assign (direction) .multiply (t2) .add (point);
107074
106828
 
107075
106829
  return true;
107076
106830
  }
@@ -112272,7 +112026,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
112272
112026
  x_ite_Namespace.set ("x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
112273
112027
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
112274
112028
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
112275
- /* provided dependency */ var AudioClip_$ = __webpack_require__(530);
112029
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(430);
112276
112030
  /*******************************************************************************
112277
112031
  *
112278
112032
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115087,8 +114841,8 @@ const GIFMedia_default_ = GifMedia;
115087
114841
  x_ite_Namespace.set ("x_ite/Browser/Texturing/GIFMedia", GIFMedia_default_);
115088
114842
  /* harmony default export */ const GIFMedia = (GIFMedia_default_);
115089
114843
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
115090
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(530);
115091
- /* provided dependency */ var SuperGif = __webpack_require__(749);
114844
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(430);
114845
+ /* provided dependency */ var SuperGif = __webpack_require__(916);
115092
114846
  /*******************************************************************************
115093
114847
  *
115094
114848
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116046,7 +115800,7 @@ const MultiTextureTransform_default_ = MultiTextureTransform;
116046
115800
  x_ite_Namespace.set ("x_ite/Components/Texturing/MultiTextureTransform", MultiTextureTransform_default_);
116047
115801
  /* harmony default export */ const Texturing_MultiTextureTransform = (MultiTextureTransform_default_);
116048
115802
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/PixelTexture.js
116049
- /* provided dependency */ var PixelTexture_$ = __webpack_require__(530);
115803
+ /* provided dependency */ var PixelTexture_$ = __webpack_require__(430);
116050
115804
  /*******************************************************************************
116051
115805
  *
116052
115806
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116749,7 +116503,7 @@ const Components_default_ = Components;
116749
116503
  x_ite_Namespace.set ("x_ite/Components", Components_default_);
116750
116504
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
116751
116505
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
116752
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(530);
116506
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(430);
116753
116507
  /*******************************************************************************
116754
116508
  * MIT License
116755
116509
  *
@@ -117986,7 +117740,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
117986
117740
  x_ite_Namespace.set ("x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
117987
117741
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
117988
117742
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
117989
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(530);
117743
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(430);
117990
117744
  /*******************************************************************************
117991
117745
  *
117992
117746
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118924,7 +118678,7 @@ const X3DBrowser_default_ = X3DBrowser;
118924
118678
  x_ite_Namespace.set ("x_ite/Browser/X3DBrowser", X3DBrowser_default_);
118925
118679
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
118926
118680
  ;// CONCATENATED MODULE: ./src/x_ite/Fallback.js
118927
- /* provided dependency */ var Fallback_$ = __webpack_require__(530);
118681
+ /* provided dependency */ var Fallback_$ = __webpack_require__(430);
118928
118682
  /*******************************************************************************
118929
118683
  *
118930
118684
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119103,8 +118857,8 @@ const MicroTime_default_ = undefined;
119103
118857
  x_ite_Namespace.set ("standard/Time/MicroTime", MicroTime_default_);
119104
118858
  /* harmony default export */ const MicroTime = ((/* unused pure expression or super */ null && (MicroTime_default_)));
119105
118859
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
119106
- /* provided dependency */ var jquery_$ = __webpack_require__(530);
119107
- /* provided dependency */ var pako = __webpack_require__(442);
118860
+ /* provided dependency */ var jquery_$ = __webpack_require__(430);
118861
+ /* provided dependency */ var pako = __webpack_require__(175);
119108
118862
  jquery_$.decodeText = function (input)
119109
118863
  {
119110
118864
  if (typeof input === "string")
@@ -119131,14 +118885,14 @@ const jquery_default_ = jquery_$;
119131
118885
  x_ite_Namespace.set ("lib/jquery", jquery_default_);
119132
118886
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
119133
118887
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
119134
- /* provided dependency */ var libtess_libtess = __webpack_require__(78);
118888
+ /* provided dependency */ var libtess_libtess = __webpack_require__(469);
119135
118889
  const libtess_default_ = libtess_libtess;
119136
118890
  ;
119137
118891
 
119138
118892
  x_ite_Namespace.set ("lib/libtess", libtess_default_);
119139
118893
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
119140
118894
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
119141
- /* provided dependency */ var X3D_$ = __webpack_require__(530);
118895
+ /* provided dependency */ var X3D_$ = __webpack_require__(430);
119142
118896
  /*******************************************************************************
119143
118897
  *
119144
118898
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119394,7 +119148,7 @@ const X3D_default_ = X3D;
119394
119148
  x_ite_Namespace.set ("x_ite/X3D", X3D_default_);
119395
119149
  /* harmony default export */ const x_ite_X3D = (X3D_default_);
119396
119150
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvas.js
119397
- /* provided dependency */ var X3DCanvas_$ = __webpack_require__(530);
119151
+ /* provided dependency */ var X3DCanvas_$ = __webpack_require__(430);
119398
119152
  /*******************************************************************************
119399
119153
  *
119400
119154
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119654,7 +119408,7 @@ x_ite_Namespace.set ("shim", shim_default_);
119654
119408
 
119655
119409
  // Assign X3D to global namespace.
119656
119410
 
119657
- window [Symbol .for ("X_ITE.X3D-8.6.0")] = x_ite_X3D;
119411
+ window [Symbol .for ("X_ITE.X3D-8.6.2")] = x_ite_X3D;
119658
119412
 
119659
119413
  x_ite_X3DCanvas.define ();
119660
119414