x_ite 8.7.3 → 8.7.5

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 (112) hide show
  1. package/.vscode/tasks.json +1 -1
  2. package/build/bin/bump.pl +2 -0
  3. package/dist/assets/components/Annotation.js +13 -13
  4. package/dist/assets/components/Annotation.min.js +1 -1
  5. package/dist/assets/components/CADGeometry.js +13 -13
  6. package/dist/assets/components/CADGeometry.min.js +1 -1
  7. package/dist/assets/components/CubeMapTexturing.js +25 -25
  8. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  9. package/dist/assets/components/DIS.js +13 -13
  10. package/dist/assets/components/DIS.min.js +1 -1
  11. package/dist/assets/components/EventUtilities.js +9 -9
  12. package/dist/assets/components/EventUtilities.min.js +1 -1
  13. package/dist/assets/components/Geometry2D.js +19 -19
  14. package/dist/assets/components/Geometry2D.min.js +1 -1
  15. package/dist/assets/components/Geospatial.js +33 -33
  16. package/dist/assets/components/Geospatial.min.js +1 -1
  17. package/dist/assets/components/HAnim.js +18 -18
  18. package/dist/assets/components/HAnim.min.js +1 -1
  19. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  20. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  21. package/dist/assets/components/Layout.js +36 -31
  22. package/dist/assets/components/Layout.min.js +1 -1
  23. package/dist/assets/components/NURBS.js +24 -24
  24. package/dist/assets/components/NURBS.min.js +1 -1
  25. package/dist/assets/components/ParticleSystems.js +22 -22
  26. package/dist/assets/components/ParticleSystems.min.js +1 -1
  27. package/dist/assets/components/Picking.js +20 -20
  28. package/dist/assets/components/Picking.min.js +1 -1
  29. package/dist/assets/components/RigidBodyPhysics.js +18 -18
  30. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  31. package/dist/assets/components/Scripting.js +28 -28
  32. package/dist/assets/components/Scripting.min.js +1 -1
  33. package/dist/assets/components/Text.js +24 -24
  34. package/dist/assets/components/Text.min.js +1 -1
  35. package/dist/assets/components/TextureProjector.js +14 -14
  36. package/dist/assets/components/TextureProjector.min.js +1 -1
  37. package/dist/assets/components/Texturing3D.js +31 -31
  38. package/dist/assets/components/Texturing3D.min.js +1 -1
  39. package/dist/assets/components/VolumeRendering.js +19 -19
  40. package/dist/assets/components/VolumeRendering.min.js +1 -1
  41. package/dist/assets/components/X_ITE.js +9 -9
  42. package/dist/assets/components/X_ITE.min.js +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.js +1297 -1436
  45. package/dist/x_ite.min.js +1 -1
  46. package/dist/x_ite.zip +0 -0
  47. package/docs/_config.yml +1 -1
  48. package/docs/_posts/reference/field-services-and-objects.md +27 -7
  49. package/package.json +2 -2
  50. package/src/standard/Math/Algorithms/eigen_decomposition.js +9 -9
  51. package/src/standard/Math/Geometry/Box2.js +20 -20
  52. package/src/standard/Math/Geometry/Box3.js +20 -20
  53. package/src/standard/Math/Numbers/Color3.js +10 -18
  54. package/src/standard/Math/Numbers/Color4.js +12 -23
  55. package/src/standard/Math/Numbers/Complex.js +59 -54
  56. package/src/standard/Math/Numbers/Matrix2.js +31 -45
  57. package/src/standard/Math/Numbers/Matrix3.js +59 -94
  58. package/src/standard/Math/Numbers/Matrix4.js +73 -114
  59. package/src/standard/Math/Numbers/Quaternion.js +49 -65
  60. package/src/standard/Math/Numbers/Rotation4.js +15 -13
  61. package/src/standard/Math/Numbers/Vector2.js +12 -14
  62. package/src/standard/Math/Numbers/Vector3.js +17 -22
  63. package/src/standard/Math/Numbers/Vector4.js +22 -30
  64. package/src/x_ite/Base/FieldArray.js +3 -2
  65. package/src/x_ite/Base/FieldDefinitionArray.js +3 -2
  66. package/src/x_ite/Base/X3DArrayField.js +27 -3
  67. package/src/x_ite/Base/X3DInfoArray.js +73 -14
  68. package/src/x_ite/Base/X3DObject.js +5 -0
  69. package/src/x_ite/Browser/Core/X3DCoreContext.js +3 -3
  70. package/src/x_ite/Browser/Layout/ScreenText.js +9 -4
  71. package/src/x_ite/Browser/VERSION.js +1 -1
  72. package/src/x_ite/Browser/X3DBrowser.js +60 -67
  73. package/src/x_ite/Browser/X3DBrowserContext.js +8 -8
  74. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +4 -4
  75. package/src/x_ite/Components/Layering/X3DLayerNode.js +1 -1
  76. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +2 -3
  77. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +2 -2
  78. package/src/x_ite/Configuration/ComponentInfoArray.js +2 -2
  79. package/src/x_ite/Configuration/ProfileInfoArray.js +2 -2
  80. package/src/x_ite/Configuration/UnitInfoArray.js +15 -1
  81. package/src/x_ite/Execution/BindableList.js +1 -1
  82. package/src/x_ite/Execution/ExportedNodesArray.js +4 -3
  83. package/src/x_ite/Execution/ImportedNodesArray.js +4 -3
  84. package/src/x_ite/Execution/NamedNodesArray.js +16 -2
  85. package/src/x_ite/Execution/X3DExecutionContext.js +52 -58
  86. package/src/x_ite/Execution/X3DExportedNode.js +13 -11
  87. package/src/x_ite/Execution/X3DImportedNode.js +25 -25
  88. package/src/x_ite/Execution/X3DScene.js +130 -54
  89. package/src/x_ite/Fields/SFColor.js +10 -15
  90. package/src/x_ite/Fields/SFColorRGBA.js +11 -18
  91. package/src/x_ite/Fields/SFImage.js +38 -33
  92. package/src/x_ite/Fields/SFMatrix3.js +1 -3
  93. package/src/x_ite/Fields/SFMatrix4.js +1 -5
  94. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +6 -5
  95. package/src/x_ite/Fields/SFNode.js +1 -1
  96. package/src/x_ite/Fields/SFRotation.js +14 -21
  97. package/src/x_ite/Fields/SFString.js +0 -1
  98. package/src/x_ite/Fields/SFVec2.js +8 -15
  99. package/src/x_ite/Fields/SFVec3.js +10 -17
  100. package/src/x_ite/Fields/SFVec4.js +12 -23
  101. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +15 -14
  102. package/src/x_ite/InputOutput/FileLoader.js +2 -2
  103. package/src/x_ite/Parser/SVGParser.js +2 -2
  104. package/src/x_ite/Parser/X3DOptimizer.js +1 -1
  105. package/src/x_ite/Parser/XMLParser.js +18 -18
  106. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +3 -2
  107. package/src/x_ite/Prototype/ProtoDeclarationArray.js +4 -3
  108. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +26 -27
  109. package/src/x_ite/Prototype/X3DProtoDeclaration.js +16 -15
  110. package/src/x_ite/Routing/RouteArray.js +3 -2
  111. package/src/x_ite/Routing/X3DRoute.js +26 -25
  112. package/src/x_ite/Execution/Scene.js +0 -145
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v8.7.3 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v8.7.5 */(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
- /***/ 675:
14
+ /***/ 822:
15
15
  /***/ (function(module, exports, __webpack_require__) {
16
16
 
17
17
  "use strict";
18
- /* provided dependency */ var jQuery = __webpack_require__(638);
18
+ /* provided dependency */ var jQuery = __webpack_require__(994);
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
- /***/ 50:
390
+ /***/ 53:
391
391
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
392
392
 
393
- /* provided dependency */ var jQuery = __webpack_require__(638);
393
+ /* provided dependency */ var jQuery = __webpack_require__(994);
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
- /***/ 138:
589
+ /***/ 6:
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__(638)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
603
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(994)], __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
- /***/ 638:
814
+ /***/ 994:
815
815
  /***/ (function(module, exports) {
816
816
 
817
817
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11523,7 +11523,7 @@ return jQuery;
11523
11523
 
11524
11524
  /***/ }),
11525
11525
 
11526
- /***/ 181:
11526
+ /***/ 870:
11527
11527
  /***/ ((module) => {
11528
11528
 
11529
11529
  /**
@@ -16302,7 +16302,7 @@ if (true) {
16302
16302
 
16303
16303
  /***/ }),
16304
16304
 
16305
- /***/ 418:
16305
+ /***/ 444:
16306
16306
  /***/ (function(__unused_webpack_module, exports) {
16307
16307
 
16308
16308
 
@@ -19547,7 +19547,7 @@ if (true) {
19547
19547
 
19548
19548
  /***/ }),
19549
19549
 
19550
- /***/ 252:
19550
+ /***/ 361:
19551
19551
  /***/ (function(module, exports) {
19552
19552
 
19553
19553
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -22033,6 +22033,11 @@ X3DObject .prototype =
22033
22033
  for (const key of Reflect .ownKeys (X3DObject .prototype))
22034
22034
  Object .defineProperty (X3DObject .prototype, key, { enumerable: false });
22035
22035
 
22036
+ Object .defineProperty (X3DObject .prototype, Symbol .toStringTag,
22037
+ {
22038
+ get: function () { return this .getTypeName (); },
22039
+ });
22040
+
22036
22041
  Object .assign (X3DObject,
22037
22042
  {
22038
22043
  getId: (function ()
@@ -22627,16 +22632,20 @@ const handler =
22627
22632
  },
22628
22633
  };
22629
22634
 
22630
- function X3DInfoArray (values)
22635
+ function X3DInfoArray (values, ValueType)
22631
22636
  {
22632
- this [_array] = [ ];
22633
- this [_index] = new Map ();
22634
- this [Symbol .iterator] = this [_array] [Symbol .iterator];
22637
+ this [_array] = [ ];
22638
+ this [_index] = new Map ();
22635
22639
 
22636
22640
  if (values)
22637
22641
  {
22638
22642
  for (const value of values)
22643
+ {
22644
+ if (!(value instanceof ValueType))
22645
+ throw new TypeError (`Wrong type in construction of ${this .getTypeName ()}.`);
22646
+
22639
22647
  this .add (value .name, value);
22648
+ }
22640
22649
  }
22641
22650
 
22642
22651
  return new Proxy (this, handler);
@@ -22644,11 +22653,19 @@ function X3DInfoArray (values)
22644
22653
 
22645
22654
  X3DInfoArray .prototype = {
22646
22655
  constructor: X3DInfoArray,
22656
+ [Symbol .iterator]: function* ()
22657
+ {
22658
+ yield* this [_array];
22659
+ },
22660
+ copy: function ()
22661
+ {
22662
+ return new (this .constructor) (this [_array]);
22663
+ },
22647
22664
  equals: function (array)
22648
22665
  {
22649
22666
  const
22650
22667
  a = this [_array],
22651
- b = array [_array] || array,
22668
+ b = array [_array],
22652
22669
  length = a .length;
22653
22670
 
22654
22671
  if (a === b)
@@ -22684,6 +22701,8 @@ X3DInfoArray .prototype = {
22684
22701
  },
22685
22702
  update: function (oldKey, newKey, value)
22686
22703
  {
22704
+ // TODO: update alias.
22705
+
22687
22706
  const oldValue = this [_index] .get (oldKey);
22688
22707
 
22689
22708
  if (oldKey !== newKey)
@@ -22706,6 +22725,8 @@ X3DInfoArray .prototype = {
22706
22725
  },
22707
22726
  remove: function (key)
22708
22727
  {
22728
+ // TODO: remove alias.
22729
+
22709
22730
  const value = this [_index] .get (key);
22710
22731
 
22711
22732
  if (value === undefined)
@@ -22719,29 +22740,65 @@ X3DInfoArray .prototype = {
22719
22740
  this [_array] .splice (index, 1);
22720
22741
  },
22721
22742
  at: Array .prototype .at,
22722
- concat: Array .prototype .concat,
22743
+ // concat: Array .prototype .concat,
22744
+ // copyWithin: Array.prototype.copyWithin,
22723
22745
  entries: Array .prototype .entries,
22724
22746
  every: Array .prototype .every,
22725
- fill: Array .prototype .fill,
22726
- filter: Array .prototype .filter,
22747
+ // fill: Array .prototype .fill,
22748
+ filter: function (callbackFn, thisArg)
22749
+ {
22750
+ return new (this .constructor) (Array .prototype .filter .call (this, callbackFn, thisArg));
22751
+ },
22727
22752
  find: Array .prototype .find,
22728
22753
  findIndex: Array .prototype .findIndex,
22729
22754
  findLast: Array .prototype .findLast,
22730
22755
  findLastIndex: Array .prototype .findLastIndex,
22731
- flat: Array .prototype .flat,
22732
- flatMap: Array .prototype .flatMap,
22756
+ // flat: Array .prototype .flat,
22757
+ // flatMap: Array .prototype .flatMap,
22733
22758
  forEach: Array .prototype .forEach,
22734
22759
  includes: Array .prototype .includes,
22735
22760
  indexOf: Array .prototype .indexOf,
22736
22761
  join: Array .prototype .join,
22737
22762
  keys: Array .prototype .keys,
22738
22763
  lastIndexOf: Array .prototype .lastIndexOf,
22739
- map: Array .prototype .map,
22764
+ map: function (callbackFn, thisArg)
22765
+ {
22766
+ return new (this .constructor) (Array .prototype .map .call (this, callbackFn, thisArg));
22767
+ },
22740
22768
  reduce: Array .prototype .reduce,
22741
22769
  reduceRight: Array .prototype .reduceRight,
22742
- slice: Array .prototype .slice,
22770
+ // reverse: Array .prototype .reverse,
22771
+ slice: function (start, end)
22772
+ {
22773
+ return new (this .constructor) (Array .prototype .slice .call (this, start, end));
22774
+ },
22743
22775
  some: Array .prototype .some,
22776
+ // sort: Array .prototype .sort,
22777
+ toReversed: function ()
22778
+ {
22779
+ return new (this .constructor) ([... this] .reverse ());
22780
+ },
22781
+ toSorted: function (compareFn)
22782
+ {
22783
+ return new (this .constructor) ([... this] .sort (compareFn));
22784
+ },
22785
+ toSpliced: function (start, deleteCount, ... insertValues)
22786
+ {
22787
+ const array = [... this];
22788
+
22789
+ array .splice (start, deleteCount, ... insertValues)
22790
+
22791
+ return new (this .constructor) (array);
22792
+ },
22744
22793
  values: Array .prototype .values,
22794
+ with: function (index, value)
22795
+ {
22796
+ const array = [... this];
22797
+
22798
+ array [index] = value;
22799
+
22800
+ return new (this .constructor) (array);
22801
+ },
22745
22802
  toString: function (options = Object .prototype)
22746
22803
  {
22747
22804
  const generator = new InputOutput_Generator (options);
@@ -22823,9 +22880,16 @@ X3DInfoArray .prototype = {
22823
22880
  for (const key of Reflect .ownKeys (X3DInfoArray .prototype))
22824
22881
  Object .defineProperty (X3DInfoArray .prototype, key, { enumerable: false });
22825
22882
 
22826
- Object .defineProperty (X3DInfoArray .prototype, "length",
22883
+ Object .defineProperties (X3DInfoArray .prototype,
22827
22884
  {
22828
- get: function () { return this [_array] .length; },
22885
+ length:
22886
+ {
22887
+ get: function () { return this [_array] .length; },
22888
+ },
22889
+ [Symbol .toStringTag]:
22890
+ {
22891
+ get: function () { return this .getTypeName (); },
22892
+ },
22829
22893
  });
22830
22894
 
22831
22895
  const X3DInfoArray_default_ = X3DInfoArray;
@@ -22883,9 +22947,10 @@ x_ite_Namespace.set ("x_ite/Base/X3DInfoArray", X3DInfoArray_default_);
22883
22947
 
22884
22948
 
22885
22949
 
22950
+
22886
22951
  function FieldDefinitionArray (values)
22887
22952
  {
22888
- return Base_X3DInfoArray.call (this, values);
22953
+ return Base_X3DInfoArray.call (this, values, Base_X3DFieldDefinition);
22889
22954
  }
22890
22955
 
22891
22956
  FieldDefinitionArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
@@ -22905,78 +22970,6 @@ const FieldDefinitionArray_default_ = FieldDefinitionArray;
22905
22970
 
22906
22971
  x_ite_Namespace.set ("x_ite/Base/FieldDefinitionArray", FieldDefinitionArray_default_);
22907
22972
  /* harmony default export */ const Base_FieldDefinitionArray = (FieldDefinitionArray_default_);
22908
- ;// CONCATENATED MODULE: ./src/x_ite/Base/FieldArray.js
22909
- /*******************************************************************************
22910
- *
22911
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
22912
- *
22913
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
22914
- *
22915
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
22916
- *
22917
- * The copyright notice above does not evidence any actual of intended
22918
- * publication of such source code, and is an unpublished work by create3000.
22919
- * This material contains CONFIDENTIAL INFORMATION that is the property of
22920
- * create3000.
22921
- *
22922
- * No permission is granted to copy, distribute, or create derivative works from
22923
- * the contents of this software, in whole or in part, without the prior written
22924
- * permission of create3000.
22925
- *
22926
- * NON-MILITARY USE ONLY
22927
- *
22928
- * All create3000 software are effectively free software with a non-military use
22929
- * restriction. It is free. Well commented source is provided. You may reuse the
22930
- * source in any way you please with the exception anything that uses it must be
22931
- * marked to indicate is contains 'non-military use only' components.
22932
- *
22933
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
22934
- *
22935
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
22936
- *
22937
- * This file is part of the X_ITE Project.
22938
- *
22939
- * X_ITE is free software: you can redistribute it and/or modify it under the
22940
- * terms of the GNU General Public License version 3 only, as published by the
22941
- * Free Software Foundation.
22942
- *
22943
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
22944
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
22945
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
22946
- * details (a copy is included in the LICENSE file that accompanied this code).
22947
- *
22948
- * You should have received a copy of the GNU General Public License version 3
22949
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
22950
- * copy of the GPLv3 License.
22951
- *
22952
- * For Silvio, Joy and Adi.
22953
- *
22954
- ******************************************************************************/
22955
-
22956
-
22957
-
22958
- function FieldArray ()
22959
- {
22960
- return Base_X3DInfoArray.call (this);
22961
- }
22962
-
22963
- FieldArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
22964
- {
22965
- constructor: FieldArray,
22966
- getTypeName: function ()
22967
- {
22968
- return "FieldArray";
22969
- },
22970
- });
22971
-
22972
- for (const key of Reflect .ownKeys (FieldArray .prototype))
22973
- Object .defineProperty (FieldArray .prototype, key, { enumerable: false });
22974
-
22975
- const FieldArray_default_ = FieldArray;
22976
- ;
22977
-
22978
- x_ite_Namespace.set ("x_ite/Base/FieldArray", FieldArray_default_);
22979
- /* harmony default export */ const Base_FieldArray = (FieldArray_default_);
22980
22973
  ;// CONCATENATED MODULE: ./src/x_ite/Base/X3DField.js
22981
22974
  /*******************************************************************************
22982
22975
  *
@@ -23410,6 +23403,79 @@ const X3DField_default_ = X3DField;
23410
23403
 
23411
23404
  x_ite_Namespace.set ("x_ite/Base/X3DField", X3DField_default_);
23412
23405
  /* harmony default export */ const Base_X3DField = (X3DField_default_);
23406
+ ;// CONCATENATED MODULE: ./src/x_ite/Base/FieldArray.js
23407
+ /*******************************************************************************
23408
+ *
23409
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
23410
+ *
23411
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
23412
+ *
23413
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
23414
+ *
23415
+ * The copyright notice above does not evidence any actual of intended
23416
+ * publication of such source code, and is an unpublished work by create3000.
23417
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
23418
+ * create3000.
23419
+ *
23420
+ * No permission is granted to copy, distribute, or create derivative works from
23421
+ * the contents of this software, in whole or in part, without the prior written
23422
+ * permission of create3000.
23423
+ *
23424
+ * NON-MILITARY USE ONLY
23425
+ *
23426
+ * All create3000 software are effectively free software with a non-military use
23427
+ * restriction. It is free. Well commented source is provided. You may reuse the
23428
+ * source in any way you please with the exception anything that uses it must be
23429
+ * marked to indicate is contains 'non-military use only' components.
23430
+ *
23431
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
23432
+ *
23433
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
23434
+ *
23435
+ * This file is part of the X_ITE Project.
23436
+ *
23437
+ * X_ITE is free software: you can redistribute it and/or modify it under the
23438
+ * terms of the GNU General Public License version 3 only, as published by the
23439
+ * Free Software Foundation.
23440
+ *
23441
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
23442
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
23443
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
23444
+ * details (a copy is included in the LICENSE file that accompanied this code).
23445
+ *
23446
+ * You should have received a copy of the GNU General Public License version 3
23447
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
23448
+ * copy of the GPLv3 License.
23449
+ *
23450
+ * For Silvio, Joy and Adi.
23451
+ *
23452
+ ******************************************************************************/
23453
+
23454
+
23455
+
23456
+
23457
+ function FieldArray (values)
23458
+ {
23459
+ return Base_X3DInfoArray.call (this, values, Base_X3DField);
23460
+ }
23461
+
23462
+ FieldArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
23463
+ {
23464
+ constructor: FieldArray,
23465
+ getTypeName: function ()
23466
+ {
23467
+ return "FieldArray";
23468
+ },
23469
+ });
23470
+
23471
+ for (const key of Reflect .ownKeys (FieldArray .prototype))
23472
+ Object .defineProperty (FieldArray .prototype, key, { enumerable: false });
23473
+
23474
+ const FieldArray_default_ = FieldArray;
23475
+ ;
23476
+
23477
+ x_ite_Namespace.set ("x_ite/Base/FieldArray", FieldArray_default_);
23478
+ /* harmony default export */ const Base_FieldArray = (FieldArray_default_);
23413
23479
  ;// CONCATENATED MODULE: ./src/x_ite/Fields/SFBool.js
23414
23480
  /*******************************************************************************
23415
23481
  *
@@ -23590,7 +23656,6 @@ function Color3 (r, g, b)
23590
23656
  Color3 .prototype =
23591
23657
  {
23592
23658
  constructor: Color3,
23593
- length: 3,
23594
23659
  [Symbol .iterator]: function* ()
23595
23660
  {
23596
23661
  yield this [_r];
@@ -23706,35 +23771,28 @@ Color3 .prototype =
23706
23771
  const r = {
23707
23772
  get: function () { return this [_r]; },
23708
23773
  set: function (value) { this [_r] = clamp (value, 0, 1); },
23709
- enumerable: true,
23710
- configurable: false
23711
23774
  };
23712
23775
 
23713
23776
  const g = {
23714
23777
  get: function () { return this [_g]; },
23715
23778
  set: function (value) { this [_g] = clamp (value, 0, 1); },
23716
- enumerable: true,
23717
- configurable: false
23718
23779
  };
23719
23780
 
23720
23781
  const b = {
23721
23782
  get: function () { return this [_b]; },
23722
23783
  set: function (value) { this [_b] = clamp (value, 0, 1); },
23723
- enumerable: true,
23724
- configurable: false
23725
23784
  };
23726
23785
 
23727
- Object .defineProperty (Color3 .prototype, "r", r);
23728
- Object .defineProperty (Color3 .prototype, "g", g);
23729
- Object .defineProperty (Color3 .prototype, "b", b);
23730
-
23731
- r .enumerable = false;
23732
- g .enumerable = false;
23733
- b .enumerable = false;
23734
-
23735
- Object .defineProperty (Color3 .prototype, "0", r);
23736
- Object .defineProperty (Color3 .prototype, "1", g);
23737
- Object .defineProperty (Color3 .prototype, "2", b);
23786
+ Object .defineProperties (Color3 .prototype,
23787
+ {
23788
+ length: { value: 3 },
23789
+ 0: r,
23790
+ 1: g,
23791
+ 2: b,
23792
+ r: Object .assign ({ enumerable: true }, r),
23793
+ g: Object .assign ({ enumerable: true }, g),
23794
+ b: Object .assign ({ enumerable: true }, b),
23795
+ });
23738
23796
 
23739
23797
  Object .assign (Color3,
23740
23798
  {
@@ -23919,7 +23977,7 @@ SFColor .prototype = Object .assign (Object .create (Base_X3DField.prototype),
23919
23977
  destination .getValue () .getHSV (d),
23920
23978
  Numbers_Color3.lerp (s, d, t, r),
23921
23979
 
23922
- result .setHSV (r [0], r [1], r [2], r [3]);
23980
+ result .setHSV (r [0], r [1], r [2]);
23923
23981
 
23924
23982
  return result;
23925
23983
  };
@@ -23986,7 +24044,6 @@ const SFColor_r = {
23986
24044
  this .getValue () .r = +value;
23987
24045
  this .addEvent ();
23988
24046
  },
23989
- enumerable: true,
23990
24047
  };
23991
24048
 
23992
24049
  const SFColor_g = {
@@ -23999,7 +24056,6 @@ const SFColor_g = {
23999
24056
  this .getValue () .g = +value;
24000
24057
  this .addEvent ();
24001
24058
  },
24002
- enumerable: true,
24003
24059
  };
24004
24060
 
24005
24061
  const SFColor_b = {
@@ -24012,20 +24068,17 @@ const SFColor_b = {
24012
24068
  this .getValue () .b = +value;
24013
24069
  this .addEvent ();
24014
24070
  },
24015
- enumerable: true,
24016
24071
  };
24017
24072
 
24018
- Object .defineProperty (SFColor .prototype, "r", SFColor_r);
24019
- Object .defineProperty (SFColor .prototype, "g", SFColor_g);
24020
- Object .defineProperty (SFColor .prototype, "b", SFColor_b);
24021
-
24022
- SFColor_r .enumerable = false;
24023
- SFColor_g .enumerable = false;
24024
- SFColor_b .enumerable = false;
24025
-
24026
- Object .defineProperty (SFColor .prototype, "0", SFColor_r);
24027
- Object .defineProperty (SFColor .prototype, "1", SFColor_g);
24028
- Object .defineProperty (SFColor .prototype, "2", SFColor_b);
24073
+ Object .defineProperties (SFColor .prototype,
24074
+ {
24075
+ 0: SFColor_r,
24076
+ 1: SFColor_g,
24077
+ 2: SFColor_b,
24078
+ r: Object .assign ({ enumerable: true }, SFColor_r),
24079
+ g: Object .assign ({ enumerable: true }, SFColor_g),
24080
+ b: Object .assign ({ enumerable: true }, SFColor_b),
24081
+ });
24029
24082
 
24030
24083
  const SFColor_default_ = SFColor;
24031
24084
  ;
@@ -24102,7 +24155,6 @@ function Color4 (r, g, b, a)
24102
24155
  Color4 .prototype =
24103
24156
  {
24104
24157
  constructor: Color4,
24105
- length: 4,
24106
24158
  [Symbol .iterator]: function* ()
24107
24159
  {
24108
24160
  yield this [Color4_r];
@@ -24170,45 +24222,35 @@ Color4 .prototype =
24170
24222
  const Numbers_Color4_r = {
24171
24223
  get: function () { return this [Color4_r]; },
24172
24224
  set: function (value) { this [Color4_r] = Color4_clamp (value, 0, 1); },
24173
- enumerable: true,
24174
- configurable: false
24175
24225
  };
24176
24226
 
24177
24227
  const Numbers_Color4_g = {
24178
24228
  get: function () { return this [Color4_g]; },
24179
24229
  set: function (value) { this [Color4_g] = Color4_clamp (value, 0, 1); },
24180
- enumerable: true,
24181
- configurable: false
24182
24230
  };
24183
24231
 
24184
24232
  const Numbers_Color4_b = {
24185
24233
  get: function () { return this [Color4_b]; },
24186
24234
  set: function (value) { this [Color4_b] = Color4_clamp (value, 0, 1); },
24187
- enumerable: true,
24188
- configurable: false
24189
24235
  };
24190
24236
 
24191
24237
  const a = {
24192
24238
  get: function () { return this [_a]; },
24193
24239
  set: function (value) { this [_a] = Color4_clamp (value, 0, 1); },
24194
- enumerable: true,
24195
- configurable: false
24196
24240
  };
24197
24241
 
24198
- Object .defineProperty (Color4 .prototype, "r", Numbers_Color4_r);
24199
- Object .defineProperty (Color4 .prototype, "g", Numbers_Color4_g);
24200
- Object .defineProperty (Color4 .prototype, "b", Numbers_Color4_b);
24201
- Object .defineProperty (Color4 .prototype, "a", a);
24202
-
24203
- Numbers_Color4_r .enumerable = false;
24204
- Numbers_Color4_g .enumerable = false;
24205
- Numbers_Color4_b .enumerable = false;
24206
- a .enumerable = false;
24207
-
24208
- Object .defineProperty (Color4 .prototype, "0", Numbers_Color4_r);
24209
- Object .defineProperty (Color4 .prototype, "1", Numbers_Color4_g);
24210
- Object .defineProperty (Color4 .prototype, "2", Numbers_Color4_b);
24211
- Object .defineProperty (Color4 .prototype, "3", a);
24242
+ Object .defineProperties (Color4 .prototype,
24243
+ {
24244
+ length: { value: 4 },
24245
+ 0: Numbers_Color4_r,
24246
+ 1: Numbers_Color4_g,
24247
+ 2: Numbers_Color4_b,
24248
+ 3: a,
24249
+ r: Object .assign ({ enumerable: true }, Numbers_Color4_r),
24250
+ g: Object .assign ({ enumerable: true }, Numbers_Color4_g),
24251
+ b: Object .assign ({ enumerable: true }, Numbers_Color4_b),
24252
+ a: Object .assign ({ enumerable: true }, a),
24253
+ });
24212
24254
 
24213
24255
  Object .assign (Color4,
24214
24256
  {
@@ -24381,7 +24423,6 @@ const SFColorRGBA_r = {
24381
24423
  this .getValue () .r = +value;
24382
24424
  this .addEvent ();
24383
24425
  },
24384
- enumerable: true,
24385
24426
  };
24386
24427
 
24387
24428
  const SFColorRGBA_g = {
@@ -24394,7 +24435,6 @@ const SFColorRGBA_g = {
24394
24435
  this .getValue () .g = +value;
24395
24436
  this .addEvent ();
24396
24437
  },
24397
- enumerable: true,
24398
24438
  };
24399
24439
 
24400
24440
  const SFColorRGBA_b = {
@@ -24407,7 +24447,6 @@ const SFColorRGBA_b = {
24407
24447
  this .getValue () .b = +value;
24408
24448
  this .addEvent ();
24409
24449
  },
24410
- enumerable: true,
24411
24450
  };
24412
24451
 
24413
24452
  const SFColorRGBA_a = {
@@ -24420,23 +24459,19 @@ const SFColorRGBA_a = {
24420
24459
  this .getValue () .a = +value;
24421
24460
  this .addEvent ();
24422
24461
  },
24423
- enumerable: true,
24424
24462
  };
24425
24463
 
24426
- Object .defineProperty (SFColorRGBA .prototype, "r", SFColorRGBA_r);
24427
- Object .defineProperty (SFColorRGBA .prototype, "g", SFColorRGBA_g);
24428
- Object .defineProperty (SFColorRGBA .prototype, "b", SFColorRGBA_b);
24429
- Object .defineProperty (SFColorRGBA .prototype, "a", SFColorRGBA_a);
24430
-
24431
- SFColorRGBA_r .enumerable = false;
24432
- SFColorRGBA_g .enumerable = false;
24433
- SFColorRGBA_b .enumerable = false;
24434
- SFColorRGBA_a .enumerable = false;
24435
-
24436
- Object .defineProperty (SFColorRGBA .prototype, "0", SFColorRGBA_r);
24437
- Object .defineProperty (SFColorRGBA .prototype, "1", SFColorRGBA_g);
24438
- Object .defineProperty (SFColorRGBA .prototype, "2", SFColorRGBA_b);
24439
- Object .defineProperty (SFColorRGBA .prototype, "3", SFColorRGBA_a);
24464
+ Object .defineProperties (SFColorRGBA .prototype,
24465
+ {
24466
+ 0: SFColorRGBA_r,
24467
+ 1: SFColorRGBA_g,
24468
+ 2: SFColorRGBA_b,
24469
+ 3: SFColorRGBA_a,
24470
+ r: Object .assign ({ enumerable: true }, SFColorRGBA_r),
24471
+ g: Object .assign ({ enumerable: true }, SFColorRGBA_g),
24472
+ b: Object .assign ({ enumerable: true }, SFColorRGBA_b),
24473
+ a: Object .assign ({ enumerable: true }, SFColorRGBA_a),
24474
+ });
24440
24475
 
24441
24476
  const SFColorRGBA_default_ = SFColorRGBA;
24442
24477
  ;
@@ -24831,12 +24866,13 @@ x_ite_Namespace.set ("x_ite/Fields/SFInt32", SFInt32_default_);
24831
24866
 
24832
24867
 
24833
24868
 
24834
- function SFMatrixPrototypeTemplate (TypeName, Type, Matrix, SFVec, double)
24869
+ function SFMatrixPrototypeTemplate (Constructor, TypeName, Type, Matrix, SFVec, double)
24835
24870
  {
24836
24871
  const _formatter = double ? "DoubleFormat" : "FloatFormat";
24837
24872
 
24838
24873
  return Object .assign (Object .create (Base_X3DField.prototype),
24839
24874
  {
24875
+ constructor: Constructor,
24840
24876
  [Symbol .iterator]: function* ()
24841
24877
  {
24842
24878
  yield* this .getValue ();
@@ -24891,19 +24927,19 @@ function SFMatrixPrototypeTemplate (TypeName, Type, Matrix, SFVec, double)
24891
24927
  },
24892
24928
  transpose: function ()
24893
24929
  {
24894
- return new (this .constructor) (Matrix .transpose (this .getValue ()));
24930
+ return new (this .constructor) (this .getValue () .copy () .transpose ());
24895
24931
  },
24896
24932
  inverse: function ()
24897
24933
  {
24898
- return new (this .constructor) (Matrix .inverse (this .getValue ()));
24934
+ return new (this .constructor) (this .getValue () .copy () .inverse ());
24899
24935
  },
24900
24936
  multLeft: function (matrix)
24901
24937
  {
24902
- return new (this .constructor) (Matrix .multLeft (this .getValue (), matrix .getValue ()));
24938
+ return new (this .constructor) (this .getValue () .copy () .multLeft (matrix .getValue ()));
24903
24939
  },
24904
24940
  multRight: function (matrix)
24905
24941
  {
24906
- return new (this .constructor) (Matrix .multRight (this .getValue (), matrix .getValue ()));
24942
+ return new (this .constructor) (this .getValue () .copy () .multRight (matrix .getValue ()));
24907
24943
  },
24908
24944
  multVecMatrix: function (vector)
24909
24945
  {
@@ -25026,12 +25062,13 @@ x_ite_Namespace.set ("x_ite/Fields/SFMatrixPrototypeTemplate", SFMatrixPrototype
25026
25062
 
25027
25063
 
25028
25064
 
25029
- function SFVecPrototypeTemplate (TypeName, Type, ValueType, double)
25065
+ function SFVecPrototypeTemplate (Constructor, TypeName, Type, ValueType, double)
25030
25066
  {
25031
25067
  const _formatter = double ? "DoubleFormat" : "FloatFormat";
25032
25068
 
25033
25069
  return Object .assign (Object .create (Base_X3DField.prototype),
25034
25070
  {
25071
+ constructor: Constructor,
25035
25072
  [Symbol .iterator]: function* ()
25036
25073
  {
25037
25074
  yield* this .getValue ();
@@ -25062,11 +25099,11 @@ function SFVecPrototypeTemplate (TypeName, Type, ValueType, double)
25062
25099
  },
25063
25100
  abs: function ()
25064
25101
  {
25065
- return new (this .constructor) (ValueType .abs (this .getValue ()));
25102
+ return new (this .constructor) (this .getValue () .copy () .abs ());
25066
25103
  },
25067
25104
  add: function (vector)
25068
25105
  {
25069
- return new (this .constructor) (ValueType .add (this .getValue (), vector .getValue ()));
25106
+ return new (this .constructor) (this .getValue () .copy () .add (vector .getValue ()));
25070
25107
  },
25071
25108
  distance: function (vector)
25072
25109
  {
@@ -25074,11 +25111,11 @@ function SFVecPrototypeTemplate (TypeName, Type, ValueType, double)
25074
25111
  },
25075
25112
  divide: function (value)
25076
25113
  {
25077
- return new (this .constructor) (ValueType .divide (this .getValue (), value));
25114
+ return new (this .constructor) (this .getValue () .copy () .divide (value));
25078
25115
  },
25079
25116
  divVec: function (vector)
25080
25117
  {
25081
- return new (this .constructor) (ValueType .divVec (this .getValue (), vector .getValue ()));
25118
+ return new (this .constructor) (this .getValue () .copy () .divVec (vector .getValue ()));
25082
25119
  },
25083
25120
  dot: function (vector)
25084
25121
  {
@@ -25086,7 +25123,7 @@ function SFVecPrototypeTemplate (TypeName, Type, ValueType, double)
25086
25123
  },
25087
25124
  inverse: function ()
25088
25125
  {
25089
- return new (this .constructor) (ValueType .inverse (this .getValue ()));
25126
+ return new (this .constructor) (this .getValue () .copy () .inverse ());
25090
25127
  },
25091
25128
  length: function ()
25092
25129
  {
@@ -25094,35 +25131,35 @@ function SFVecPrototypeTemplate (TypeName, Type, ValueType, double)
25094
25131
  },
25095
25132
  lerp: function (destination, t)
25096
25133
  {
25097
- return new (this .constructor) (ValueType .lerp (this .getValue (), destination, t));
25134
+ return new (this .constructor) (this .getValue () .copy () .lerp (destination, t));
25098
25135
  },
25099
25136
  max: function (vector)
25100
25137
  {
25101
- return new (this .constructor) (ValueType .max (this .getValue (), vector .getValue ()));
25138
+ return new (this .constructor) (this .getValue () .copy () .max (vector .getValue ()));
25102
25139
  },
25103
25140
  min: function (vector)
25104
25141
  {
25105
- return new (this .constructor) (ValueType .min (this .getValue (), vector .getValue ()));
25142
+ return new (this .constructor) (this .getValue () .copy () .min (vector .getValue ()));
25106
25143
  },
25107
25144
  multiply: function (value)
25108
25145
  {
25109
- return new (this .constructor) (ValueType .multiply (this .getValue (), value));
25146
+ return new (this .constructor) (this .getValue () .copy () .multiply (value));
25110
25147
  },
25111
25148
  multVec: function (vector)
25112
25149
  {
25113
- return new (this .constructor) (ValueType .multVec (this .getValue (), vector .getValue ()));
25150
+ return new (this .constructor) (this .getValue () .copy () .multVec (vector .getValue ()));
25114
25151
  },
25115
25152
  negate: function ()
25116
25153
  {
25117
- return new (this .constructor) (ValueType .negate (this .getValue ()));
25154
+ return new (this .constructor) (this .getValue () .copy () .negate ());
25118
25155
  },
25119
25156
  normalize: function (vector)
25120
25157
  {
25121
- return new (this .constructor) (ValueType .normalize (this .getValue ()));
25158
+ return new (this .constructor) (this .getValue () .copy () .normalize ());
25122
25159
  },
25123
25160
  subtract: function (vector)
25124
25161
  {
25125
- return new (this .constructor) (ValueType .subtract (this .getValue (), vector .getValue ()));
25162
+ return new (this .constructor) (this .getValue () .copy () .subtract (vector .getValue ()));
25126
25163
  },
25127
25164
  toStream: function (generator)
25128
25165
  {
@@ -25238,7 +25275,6 @@ function Vector2 (x, y)
25238
25275
  Vector2 .prototype =
25239
25276
  {
25240
25277
  constructor: Vector2,
25241
- length: 2,
25242
25278
  [Symbol .iterator]: function* ()
25243
25279
  {
25244
25280
  yield this .x;
@@ -25398,20 +25434,19 @@ Vector2 .prototype =
25398
25434
  }
25399
25435
  };
25400
25436
 
25401
- Object .defineProperty (Vector2 .prototype, "0",
25437
+ Object .defineProperties (Vector2 .prototype,
25402
25438
  {
25403
- get: function () { return this .x; },
25404
- set: function (value) { this .x = value; },
25405
- enumerable: false,
25406
- configurable: false
25407
- });
25408
-
25409
- Object .defineProperty (Vector2 .prototype, "1",
25410
- {
25411
- get: function () { return this .y; },
25412
- set: function (value) { this .y = value; },
25413
- enumerable: false,
25414
- configurable: false
25439
+ length: { value: 2 },
25440
+ 0:
25441
+ {
25442
+ get: function () { return this .x; },
25443
+ set: function (value) { this .x = value; },
25444
+ },
25445
+ 1:
25446
+ {
25447
+ get: function () { return this .y; },
25448
+ set: function (value) { this .y = value; },
25449
+ },
25415
25450
  });
25416
25451
 
25417
25452
  Object .assign (Vector2,
@@ -25563,11 +25598,7 @@ function SFVec2Template (TypeName, Type, double)
25563
25598
  throw new Error ("Invalid arguments.");
25564
25599
  }
25565
25600
 
25566
- SFVec2 .prototype = Object .assign (Object .create (Base_X3DField.prototype),
25567
- Fields_SFVecPrototypeTemplate (TypeName, Type, Numbers_Vector2, double),
25568
- {
25569
- constructor: SFVec2,
25570
- });
25601
+ SFVec2 .prototype = Fields_SFVecPrototypeTemplate (SFVec2, TypeName, Type, Numbers_Vector2, double);
25571
25602
 
25572
25603
  for (const key of Reflect .ownKeys (SFVec2 .prototype))
25573
25604
  Object .defineProperty (SFVec2 .prototype, key, { enumerable: false });
@@ -25582,7 +25613,6 @@ function SFVec2Template (TypeName, Type, double)
25582
25613
  this .getValue () .x = +value;
25583
25614
  this .addEvent ();
25584
25615
  },
25585
- enumerable: true,
25586
25616
  };
25587
25617
 
25588
25618
  const y = {
@@ -25595,17 +25625,15 @@ function SFVec2Template (TypeName, Type, double)
25595
25625
  this .getValue () .y = +value;
25596
25626
  this .addEvent ();
25597
25627
  },
25598
- enumerable: true,
25599
25628
  };
25600
25629
 
25601
- Object .defineProperty (SFVec2 .prototype, "x", x);
25602
- Object .defineProperty (SFVec2 .prototype, "y", y);
25603
-
25604
- x .enumerable = false;
25605
- y .enumerable = false;
25606
-
25607
- Object .defineProperty (SFVec2 .prototype, "0", x);
25608
- Object .defineProperty (SFVec2 .prototype, "1", y);
25630
+ Object .defineProperties (SFVec2 .prototype,
25631
+ {
25632
+ 0: x,
25633
+ 1: y,
25634
+ x: Object .assign ({ enumerable: true }, x),
25635
+ y: Object .assign ({ enumerable: true }, y),
25636
+ });
25609
25637
 
25610
25638
  return SFVec2;
25611
25639
  }
@@ -25680,7 +25708,6 @@ function Vector3 (x, y, z)
25680
25708
  Vector3 .prototype =
25681
25709
  {
25682
25710
  constructor: Vector3,
25683
- length: 3,
25684
25711
  [Symbol .iterator]: function* ()
25685
25712
  {
25686
25713
  yield this .x;
@@ -25885,28 +25912,24 @@ Vector3 .prototype =
25885
25912
  }
25886
25913
  };
25887
25914
 
25888
- Object .defineProperty (Vector3 .prototype, "0",
25889
- {
25890
- get: function () { return this .x; },
25891
- set: function (value) { this .x = value; },
25892
- enumerable: false,
25893
- configurable: false
25894
- });
25895
-
25896
- Object .defineProperty (Vector3 .prototype, "1",
25915
+ Object .defineProperties (Vector3 .prototype,
25897
25916
  {
25898
- get: function () { return this .y; },
25899
- set: function (value) { this .y = value; },
25900
- enumerable: false,
25901
- configurable: false
25902
- });
25903
-
25904
- Object .defineProperty (Vector3 .prototype, "2",
25905
- {
25906
- get: function () { return this .z; },
25907
- set: function (value) { this .z = value; },
25908
- enumerable: false,
25909
- configurable: false
25917
+ length: { value: 3 },
25918
+ 0:
25919
+ {
25920
+ get: function () { return this .x; },
25921
+ set: function (value) { this .x = value; },
25922
+ },
25923
+ 1:
25924
+ {
25925
+ get: function () { return this .y; },
25926
+ set: function (value) { this .y = value; },
25927
+ },
25928
+ 2:
25929
+ {
25930
+ get: function () { return this .z; },
25931
+ set: function (value) { this .z = value; },
25932
+ },
25910
25933
  });
25911
25934
 
25912
25935
  Object .assign (Vector3,
@@ -26045,7 +26068,6 @@ x_ite_Namespace.set ("standard/Math/Numbers/Vector3", Vector3_default_);
26045
26068
 
26046
26069
 
26047
26070
 
26048
-
26049
26071
  function Matrix2 ()
26050
26072
  {
26051
26073
  if (arguments .length)
@@ -26062,13 +26084,9 @@ function Matrix2 ()
26062
26084
  Matrix2 .prototype =
26063
26085
  {
26064
26086
  constructor: Matrix2,
26065
- order: 2,
26066
- length: 4,
26067
26087
  [Symbol .iterator]: function* ()
26068
26088
  {
26069
- const length = this .length;
26070
-
26071
- for (let i = 0; i < length; ++ i)
26089
+ for (let i = 0; i < 4; ++ i)
26072
26090
  yield this [i];
26073
26091
  },
26074
26092
  copy: function ()
@@ -26234,49 +26252,40 @@ Matrix2 .prototype =
26234
26252
  },
26235
26253
  };
26236
26254
 
26237
- Object .defineProperty (Matrix2 .prototype, "x",
26255
+ Object .defineProperties (Matrix2 .prototype,
26238
26256
  {
26239
- get: (function ()
26257
+ order: { value: 2 },
26258
+ length: { value: 4 },
26259
+ x:
26240
26260
  {
26241
- const vector = new Numbers_Vector2 (0, 0);
26242
-
26243
- return function () { return vector .set (this [0], this [1]); };
26244
- })(),
26245
- enumerable: false,
26246
- configurable: false
26247
- });
26261
+ get: (function ()
26262
+ {
26263
+ const vector = new Numbers_Vector2 (0, 0);
26248
26264
 
26249
- Object .defineProperty (Matrix2 .prototype, "y",
26250
- {
26251
- get: (function ()
26265
+ return function () { return vector .set (this [0], this [1]); };
26266
+ })(),
26267
+ },
26268
+ y:
26252
26269
  {
26253
- const vector = new Numbers_Vector2 (0, 0);
26254
-
26255
- return function () { return vector .set (this [2], this [3]); };
26256
- })(),
26257
- enumerable: false,
26258
- configurable: false
26259
- });
26260
-
26261
- Object .defineProperty (Matrix2 .prototype, "xAxis",
26262
- {
26263
- get: function () { return this [0]; },
26264
- enumerable: false,
26265
- configurable: false
26266
- });
26267
-
26268
- Object .defineProperty (Matrix2 .prototype, "origin",
26269
- {
26270
- get: function () { return this [2]; },
26271
- enumerable: false,
26272
- configurable: false
26273
- });
26270
+ get: (function ()
26271
+ {
26272
+ const vector = new Numbers_Vector2 (0, 0);
26274
26273
 
26275
- Object .defineProperty (Matrix2 .prototype, "submatrix",
26276
- {
26277
- get: function () { return this [0]; },
26278
- enumerable: false,
26279
- configurable: false
26274
+ return function () { return vector .set (this [2], this [3]); };
26275
+ })(),
26276
+ },
26277
+ xAxis:
26278
+ {
26279
+ get: function () { return this [0]; },
26280
+ },
26281
+ origin:
26282
+ {
26283
+ get: function () { return this [2]; },
26284
+ },
26285
+ submatrix:
26286
+ {
26287
+ get: function () { return this [0]; },
26288
+ },
26280
26289
  });
26281
26290
 
26282
26291
  Object .assign (Matrix2,
@@ -26347,23 +26356,23 @@ function eigen_decomposition (matrix, result)
26347
26356
  {
26348
26357
  const
26349
26358
  ORDER = matrix .order,
26359
+ SIZE = matrix .length,
26350
26360
  values = result .values,
26351
26361
  vectors = result .vectors;
26352
26362
 
26353
26363
  let
26354
- sm, // smallest entry
26355
- theta, // angle for Jacobi rotation
26356
- c, s, t, // cosine, sine, tangent of theta
26357
- tau, // sine / (1 + cos)
26358
- h, g, // two scrap values
26359
- thresh, // threshold below which no rotation done
26360
- p, q, i, j,
26361
- SIZE = matrix .length;
26364
+ sm, // smallest entry
26365
+ theta, // angle for Jacobi rotation
26366
+ c, s, t, // cosine, sine, tangent of theta
26367
+ tau, // sine / (1 + cos)
26368
+ h, g, // two scrap values
26369
+ thresh, // threshold below which no rotation done
26370
+ p, q, i, j; // indices
26362
26371
 
26363
26372
  // initializations
26364
26373
  for (i = 0; i < ORDER; ++ i)
26365
26374
  {
26366
- eigen_decomposition_a [i] = eigen_decomposition_a [i] || new Array (ORDER);
26375
+ eigen_decomposition_a [i] = eigen_decomposition_a [i] ?? [ ];
26367
26376
  eigen_decomposition_b [i] = values [i] = matrix .get1 (i, i);
26368
26377
  z [i] = 0;
26369
26378
 
@@ -26553,13 +26562,9 @@ function Matrix3 ()
26553
26562
  Matrix3 .prototype =
26554
26563
  {
26555
26564
  constructor: Matrix3,
26556
- order: 3,
26557
- length: 9,
26558
26565
  [Symbol .iterator]: function* ()
26559
26566
  {
26560
- const length = this .length;
26561
-
26562
- for (let i = 0; i < length; ++ i)
26567
+ for (let i = 0; i < 9; ++ i)
26563
26568
  yield this [i];
26564
26569
  },
26565
26570
  copy: function ()
@@ -26592,7 +26597,7 @@ Matrix3 .prototype =
26592
26597
  },
26593
26598
  rotation: function ()
26594
26599
  {
26595
- return math .atan2 (this [1], this [0]);
26600
+ return Math .atan2 (this [1], this [0]);
26596
26601
  },
26597
26602
  set1: function (r, c, value)
26598
26603
  {
@@ -27065,93 +27070,78 @@ Matrix3 .prototype =
27065
27070
  },
27066
27071
  };
27067
27072
 
27068
- Object .defineProperty (Matrix3 .prototype, "x",
27073
+ Object .defineProperties (Matrix3 .prototype,
27069
27074
  {
27070
- get: (function ()
27075
+ order: { value: 3 },
27076
+ length: { value: 9 },
27077
+ x:
27071
27078
  {
27072
- const vector = new Numbers_Vector3 (0, 0, 0);
27073
-
27074
- return function () { return vector .set (this [0], this [1], this [2]); };
27075
- })(),
27076
- enumerable: false,
27077
- configurable: false
27078
- });
27079
+ get: (function ()
27080
+ {
27081
+ const vector = new Numbers_Vector3 (0, 0, 0);
27079
27082
 
27080
- Object .defineProperty (Matrix3 .prototype, "y",
27081
- {
27082
- get: (function ()
27083
+ return function () { return vector .set (this [0], this [1], this [2]); };
27084
+ })(),
27085
+ },
27086
+ y:
27083
27087
  {
27084
- const vector = new Numbers_Vector3 (0, 0, 0);
27085
-
27086
- return function () { return vector .set (this [3], this [4], this [5]); };
27087
- })(),
27088
- enumerable: false,
27089
- configurable: false
27090
- });
27088
+ get: (function ()
27089
+ {
27090
+ const vector = new Numbers_Vector3 (0, 0, 0);
27091
27091
 
27092
- Object .defineProperty (Matrix3 .prototype, "z",
27093
- {
27094
- get: (function ()
27092
+ return function () { return vector .set (this [3], this [4], this [5]); };
27093
+ })(),
27094
+ },
27095
+ z:
27095
27096
  {
27096
- const vector = new Numbers_Vector3 (0, 0, 0);
27097
-
27098
- return function () { return vector .set (this [6], this [7], this [8]); };
27099
- })(),
27100
- enumerable: false,
27101
- configurable: false
27102
- });
27097
+ get: (function ()
27098
+ {
27099
+ const vector = new Numbers_Vector3 (0, 0, 0);
27103
27100
 
27104
- Object .defineProperty (Matrix3 .prototype, "xAxis",
27105
- {
27106
- get: (function ()
27101
+ return function () { return vector .set (this [6], this [7], this [8]); };
27102
+ })(),
27103
+ },
27104
+ xAxis:
27107
27105
  {
27108
- const vector = new Numbers_Vector2 (0, 0);
27109
-
27110
- return function () { return vector .set (this [0], this [1]); };
27111
- })(),
27112
- enumerable: false,
27113
- configurable: false
27114
- });
27106
+ get: (function ()
27107
+ {
27108
+ const vector = new Numbers_Vector2 (0, 0);
27115
27109
 
27116
- Object .defineProperty (Matrix3 .prototype, "yAxis",
27117
- {
27118
- get: (function ()
27110
+ return function () { return vector .set (this [0], this [1]); };
27111
+ })(),
27112
+ },
27113
+ yAxis:
27119
27114
  {
27120
- const vector = new Numbers_Vector2 (0, 0);
27121
-
27122
- return function () { return vector .set (this [3], this [4]); };
27123
- })(),
27124
- enumerable: false,
27125
- configurable: false
27126
- });
27115
+ get: (function ()
27116
+ {
27117
+ const vector = new Numbers_Vector2 (0, 0);
27127
27118
 
27128
- Object .defineProperty (Matrix3 .prototype, "origin",
27129
- {
27130
- get: (function ()
27119
+ return function () { return vector .set (this [3], this [4]); };
27120
+ })(),
27121
+ },
27122
+ origin:
27131
27123
  {
27132
- const vector = new Numbers_Vector2 (0, 0);
27133
-
27134
- return function () { return vector .set (this [6], this [7]); };
27135
- })(),
27136
- enumerable: false,
27137
- configurable: false
27138
- });
27124
+ get: (function ()
27125
+ {
27126
+ const vector = new Numbers_Vector2 (0, 0);
27139
27127
 
27140
- Object .defineProperty (Matrix3 .prototype, "submatrix",
27141
- {
27142
- get: (function ()
27128
+ return function () { return vector .set (this [6], this [7]); };
27129
+ })(),
27130
+ },
27131
+ submatrix:
27143
27132
  {
27144
- const matrix = new Numbers_Matrix2 ();
27145
-
27146
- return function ()
27133
+ get: (function ()
27147
27134
  {
27148
- matrix [0] = this [0]; matrix [1] = this [1];
27149
- matrix [2] = this [3]; matrix [3] = this [4];
27150
- return matrix;
27151
- };
27152
- })(),
27153
- enumerable: false,
27154
- configurable: false
27135
+ const matrix = new Numbers_Matrix2 ();
27136
+
27137
+ return function ()
27138
+ {
27139
+ matrix [0] = this [0]; matrix [1] = this [1];
27140
+ matrix [2] = this [3]; matrix [3] = this [4];
27141
+ return matrix;
27142
+ };
27143
+ })(),
27144
+ },
27155
27145
  });
27156
27146
 
27157
27147
  Object .assign (Matrix3,
@@ -27173,22 +27163,6 @@ Object .assign (Matrix3,
27173
27163
  matrix [2], matrix [3], 0,
27174
27164
  0, 0, 1);
27175
27165
  },
27176
- transpose: function (matrix)
27177
- {
27178
- return matrix .copy () .transpose ();
27179
- },
27180
- inverse: function (matrix)
27181
- {
27182
- return matrix .copy () .inverse ();
27183
- },
27184
- multLeft: function (lhs, rhs)
27185
- {
27186
- return lhs .copy () .multLeft (rhs);
27187
- },
27188
- multRight: function (lhs, rhs)
27189
- {
27190
- return lhs .copy () .multRight (rhs);
27191
- },
27192
27166
  });
27193
27167
 
27194
27168
  const m = new Matrix3 ();
@@ -27286,10 +27260,8 @@ function SFMatrix3Template (TypeName, Type, SFVec2, double)
27286
27260
  throw new Error ("Invalid arguments.");
27287
27261
  }
27288
27262
 
27289
- SFMatrix3 .prototype = Object .assign (Object .create (Base_X3DField.prototype),
27290
- Fields_SFMatrixPrototypeTemplate (TypeName, Type, Numbers_Matrix3, SFVec2, double),
27263
+ SFMatrix3 .prototype = Object .assign (Fields_SFMatrixPrototypeTemplate (SFMatrix3, TypeName, Type, Numbers_Matrix3, SFVec2, double),
27291
27264
  {
27292
- constructor: SFMatrix3,
27293
27265
  setTransform: function (translation, rotation, scale, scaleOrientation, center)
27294
27266
  {
27295
27267
  translation = translation ? translation .getValue () : null;
@@ -27410,10 +27382,8 @@ function SFVec3Template (TypeName, Type, double)
27410
27382
  throw new Error ("Invalid arguments.");
27411
27383
  }
27412
27384
 
27413
- SFVec3 .prototype = Object .assign (Object .create (Base_X3DField.prototype),
27414
- Fields_SFVecPrototypeTemplate (TypeName, Type, Numbers_Vector3, double),
27385
+ SFVec3 .prototype = Object .assign (Fields_SFVecPrototypeTemplate (SFVec3, TypeName, Type, Numbers_Vector3, double),
27415
27386
  {
27416
- constructor: SFVec3,
27417
27387
  cross: function (vector)
27418
27388
  {
27419
27389
  return new (this .constructor) (Numbers_Vector3.cross (this .getValue (), vector .getValue ()));
@@ -27433,7 +27403,6 @@ function SFVec3Template (TypeName, Type, double)
27433
27403
  this .getValue () .x = +value;
27434
27404
  this .addEvent ();
27435
27405
  },
27436
- enumerable: true,
27437
27406
  };
27438
27407
 
27439
27408
  const y = {
@@ -27446,7 +27415,6 @@ function SFVec3Template (TypeName, Type, double)
27446
27415
  this .getValue () .y = +value;
27447
27416
  this .addEvent ();
27448
27417
  },
27449
- enumerable: true,
27450
27418
  };
27451
27419
 
27452
27420
  const z = {
@@ -27459,20 +27427,17 @@ function SFVec3Template (TypeName, Type, double)
27459
27427
  this .getValue () .z = +value;
27460
27428
  this .addEvent ();
27461
27429
  },
27462
- enumerable: true,
27463
27430
  };
27464
27431
 
27465
- Object .defineProperty (SFVec3 .prototype, "x", x);
27466
- Object .defineProperty (SFVec3 .prototype, "y", y);
27467
- Object .defineProperty (SFVec3 .prototype, "z", z);
27468
-
27469
- x .enumerable = false;
27470
- y .enumerable = false;
27471
- z .enumerable = false;
27472
-
27473
- Object .defineProperty (SFVec3 .prototype, "0", x);
27474
- Object .defineProperty (SFVec3 .prototype, "1", y);
27475
- Object .defineProperty (SFVec3 .prototype, "2", z);
27432
+ Object .defineProperties (SFVec3 .prototype,
27433
+ {
27434
+ 0: x,
27435
+ 1: y,
27436
+ 2: z,
27437
+ x: Object .assign ({ enumerable: true }, x),
27438
+ y: Object .assign ({ enumerable: true }, y),
27439
+ z: Object .assign ({ enumerable: true }, z),
27440
+ });
27476
27441
 
27477
27442
  return SFVec3;
27478
27443
  }
@@ -27546,7 +27511,6 @@ function Vector4 (x, y, z, w)
27546
27511
  Vector4 .prototype =
27547
27512
  {
27548
27513
  constructor: Vector4,
27549
- length: 4,
27550
27514
  [Symbol .iterator]: function* ()
27551
27515
  {
27552
27516
  yield this .x;
@@ -27761,36 +27725,29 @@ Vector4 .prototype =
27761
27725
  },
27762
27726
  };
27763
27727
 
27764
- Object .defineProperty (Vector4 .prototype, "0",
27728
+ Object .defineProperties (Vector4 .prototype,
27765
27729
  {
27766
- get: function () { return this .x; },
27767
- set: function (value) { this .x = value; },
27768
- enumerable: false,
27769
- configurable: false
27770
- });
27771
-
27772
- Object .defineProperty (Vector4 .prototype, "1",
27773
- {
27774
- get: function () { return this .y; },
27775
- set: function (value) { this .y = value; },
27776
- enumerable: false,
27777
- configurable: false
27778
- });
27779
-
27780
- Object .defineProperty (Vector4 .prototype, "2",
27781
- {
27782
- get: function () { return this .z; },
27783
- set: function (value) { this .z = value; },
27784
- enumerable: false,
27785
- configurable: false
27786
- });
27787
-
27788
- Object .defineProperty (Vector4 .prototype, "3",
27789
- {
27790
- get: function () { return this .w; },
27791
- set: function (value) { this .w = value; },
27792
- enumerable: false,
27793
- configurable: false
27730
+ length: { value: 4 },
27731
+ 0:
27732
+ {
27733
+ get: function () { return this .x; },
27734
+ set: function (value) { this .x = value; },
27735
+ },
27736
+ 1:
27737
+ {
27738
+ get: function () { return this .y; },
27739
+ set: function (value) { this .y = value; },
27740
+ },
27741
+ 2:
27742
+ {
27743
+ get: function () { return this .z; },
27744
+ set: function (value) { this .z = value; },
27745
+ },
27746
+ 3:
27747
+ {
27748
+ get: function () { return this .w; },
27749
+ set: function (value) { this .w = value; },
27750
+ },
27794
27751
  });
27795
27752
 
27796
27753
  Object .assign (Vector4,
@@ -27935,7 +27892,6 @@ function Quaternion (x, y, z, w)
27935
27892
  Quaternion .prototype =
27936
27893
  {
27937
27894
  constructor: Quaternion,
27938
- length: 4,
27939
27895
  [Symbol .iterator]: function* ()
27940
27896
  {
27941
27897
  yield this .x;
@@ -27970,24 +27926,22 @@ Quaternion .prototype =
27970
27926
  },
27971
27927
  setMatrix: function (matrix)
27972
27928
  {
27973
- let i;
27974
-
27975
27929
  // First, find largest diagonal in matrix:
27976
27930
  if (matrix [0] > matrix [4])
27977
27931
  {
27978
- i = matrix [0] > matrix [8] ? 0 : 2;
27932
+ var i = matrix [0] > matrix [8] ? 0 : 2;
27979
27933
  }
27980
27934
  else
27981
27935
  {
27982
- i = matrix [4] > matrix [8] ? 1 : 2;
27936
+ var i = matrix [4] > matrix [8] ? 1 : 2;
27983
27937
  }
27984
27938
 
27985
- const scalerow = matrix [0] + matrix [4] + matrix [8];
27939
+ const scaleRow = matrix [0] + matrix [4] + matrix [8];
27986
27940
 
27987
- if (scalerow > matrix [i * 3 + i])
27941
+ if (scaleRow > matrix [i * 3 + i])
27988
27942
  {
27989
27943
  // Compute w first:
27990
- this [3] = Math .sqrt (scalerow + 1) / 2;
27944
+ this [3] = Math .sqrt (scaleRow + 1) / 2;
27991
27945
 
27992
27946
  // And compute other values:
27993
27947
  const d = 4 * this [3];
@@ -28135,9 +28089,9 @@ Quaternion .prototype =
28135
28089
  const
28136
28090
  { x: qx, y: qy, z: qz, w: qw } = this,
28137
28091
  { x: vx, y: vy, z: vz } = vector,
28138
- a = qw * qw - qx * qx - qy * qy - qz * qz,
28139
- b = 2 * (vx * qx + vy * qy + vz * qz),
28140
- c = 2 * qw;
28092
+ a = qw * qw - qx * qx - qy * qy - qz * qz,
28093
+ b = 2 * (vx * qx + vy * qy + vz * qz),
28094
+ c = 2 * qw;
28141
28095
 
28142
28096
  vector .x = a * vx + b * qx + c * (qy * vz - qz * vy);
28143
28097
  vector .y = a * vy + b * qy + c * (qz * vx - qx * vz);
@@ -28150,9 +28104,9 @@ Quaternion .prototype =
28150
28104
  const
28151
28105
  { x: qx, y: qy, z: qz, w: qw } = this,
28152
28106
  { x: vx, y: vy, z: vz } = vector,
28153
- a = qw * qw - qx * qx - qy * qy - qz * qz,
28154
- b = 2 * (vx * qx + vy * qy + vz * qz),
28155
- c = 2 * qw;
28107
+ a = qw * qw - qx * qx - qy * qy - qz * qz,
28108
+ b = 2 * (vx * qx + vy * qy + vz * qz),
28109
+ c = 2 * qw;
28156
28110
 
28157
28111
  vector .x = a * vx + b * qx - c * (qy * vz - qz * vy);
28158
28112
  vector .y = a * vy + b * qy - c * (qz * vx - qx * vz);
@@ -28277,60 +28231,47 @@ Quaternion .prototype =
28277
28231
  },
28278
28232
  };
28279
28233
 
28280
- Object .defineProperty (Quaternion .prototype, "0",
28234
+ Object .defineProperties (Quaternion .prototype,
28281
28235
  {
28282
- get: function () { return this .x; },
28283
- set: function (value) { this .x = value; },
28284
- enumerable: false,
28285
- configurable: false
28286
- });
28287
-
28288
- Object .defineProperty (Quaternion .prototype, "1",
28289
- {
28290
- get: function () { return this .y; },
28291
- set: function (value) { this .y = value; },
28292
- enumerable: false,
28293
- configurable: false
28294
- });
28295
-
28296
- Object .defineProperty (Quaternion .prototype, "2",
28297
- {
28298
- get: function () { return this .z; },
28299
- set: function (value) { this .z = value; },
28300
- enumerable: false,
28301
- configurable: false
28302
- });
28303
-
28304
- Object .defineProperty (Quaternion .prototype, "3",
28305
- {
28306
- get: function () { return this .w; },
28307
- set: function (value) { this .w = value; },
28308
- enumerable: false,
28309
- configurable: false
28310
- });
28311
-
28312
- Object .defineProperty (Quaternion .prototype, "real",
28313
- {
28314
- get: function () { return this .w; },
28315
- enumerable: false,
28316
- configurable: false
28317
- });
28318
-
28319
- Object .defineProperty (Quaternion .prototype, "imag",
28320
- {
28321
- get: (function ()
28236
+ length: { value: 4 },
28237
+ 0:
28322
28238
  {
28323
- const result = new Numbers_Vector3 (0, 0, 0);
28324
-
28325
- return function ()
28239
+ get: function () { return this .x; },
28240
+ set: function (value) { this .x = value; },
28241
+ },
28242
+ 1:
28243
+ {
28244
+ get: function () { return this .y; },
28245
+ set: function (value) { this .y = value; },
28246
+ },
28247
+ 2:
28248
+ {
28249
+ get: function () { return this .z; },
28250
+ set: function (value) { this .z = value; },
28251
+ },
28252
+ 3:
28253
+ {
28254
+ get: function () { return this .w; },
28255
+ set: function (value) { this .w = value; },
28256
+ },
28257
+ real:
28258
+ {
28259
+ get: function () { return this .w; },
28260
+ },
28261
+ imag:
28262
+ {
28263
+ get: (function ()
28326
28264
  {
28327
- return result .set (this .x,
28328
- this .y,
28329
- this .z);
28330
- };
28331
- })(),
28332
- enumerable: false,
28333
- configurable: false
28265
+ const result = new Numbers_Vector3 (0, 0, 0);
28266
+
28267
+ return function ()
28268
+ {
28269
+ return result .set (this .x,
28270
+ this .y,
28271
+ this .z);
28272
+ };
28273
+ })(),
28274
+ },
28334
28275
  });
28335
28276
 
28336
28277
  Object .assign (Quaternion,
@@ -28538,7 +28479,6 @@ function Rotation4 (x, y, z, angle)
28538
28479
  Rotation4 .prototype =
28539
28480
  {
28540
28481
  constructor: Rotation4,
28541
- length: 4,
28542
28482
  [Symbol .iterator]: function* ()
28543
28483
  {
28544
28484
  yield this [_x];
@@ -28809,7 +28749,6 @@ const x = {
28809
28749
  this .set (x, this [_y], this [_z], this [_angle]);
28810
28750
  },
28811
28751
  enumerable: true,
28812
- configurable: false
28813
28752
  };
28814
28753
 
28815
28754
  const y = {
@@ -28823,7 +28762,6 @@ const y = {
28823
28762
  this .set (this [_x], y, this [_z], this [_angle]);
28824
28763
  },
28825
28764
  enumerable: true,
28826
- configurable: false
28827
28765
  };
28828
28766
 
28829
28767
  const Rotation4_z = {
@@ -28837,7 +28775,6 @@ const Rotation4_z = {
28837
28775
  this .set (this [_x], this [_y], z, this [_angle]);
28838
28776
  },
28839
28777
  enumerable: true,
28840
- configurable: false
28841
28778
  };
28842
28779
 
28843
28780
  const angle = {
@@ -28851,23 +28788,29 @@ const angle = {
28851
28788
  this .set (this [_x], this [_y], this [_z], angle);
28852
28789
  },
28853
28790
  enumerable: true,
28854
- configurable: false
28855
28791
  };
28856
28792
 
28857
- Object .defineProperty (Rotation4 .prototype, "x", x);
28858
- Object .defineProperty (Rotation4 .prototype, "y", y);
28859
- Object .defineProperty (Rotation4 .prototype, "z", Rotation4_z);
28860
- Object .defineProperty (Rotation4 .prototype, "angle", angle);
28793
+ Object .defineProperties (Rotation4 .prototype,
28794
+ {
28795
+ length: { value: 4 },
28796
+ x: x,
28797
+ y: y,
28798
+ z: Rotation4_z,
28799
+ angle: angle,
28800
+ });
28861
28801
 
28862
28802
  x .enumerable = false;
28863
28803
  y .enumerable = false;
28864
28804
  Rotation4_z .enumerable = false;
28865
28805
  angle .enumerable = false;
28866
28806
 
28867
- Object .defineProperty (Rotation4 .prototype, "0", x);
28868
- Object .defineProperty (Rotation4 .prototype, "1", y);
28869
- Object .defineProperty (Rotation4 .prototype, "2", Rotation4_z);
28870
- Object .defineProperty (Rotation4 .prototype, "3", angle);
28807
+ Object .defineProperties (Rotation4 .prototype,
28808
+ {
28809
+ 0: x,
28810
+ 1: y,
28811
+ 2: Rotation4_z,
28812
+ 3: angle,
28813
+ });
28871
28814
 
28872
28815
  Object .assign (Rotation4,
28873
28816
  {
@@ -28986,13 +28929,9 @@ function Matrix4_Matrix4 ()
28986
28929
  Matrix4_Matrix4 .prototype =
28987
28930
  {
28988
28931
  constructor: Matrix4_Matrix4,
28989
- order: 4,
28990
- length: 16,
28991
28932
  [Symbol .iterator]: function* ()
28992
28933
  {
28993
- const length = this .length;
28994
-
28995
- for (let i = 0; i < length; ++ i)
28934
+ for (let i = 0; i < 16; ++ i)
28996
28935
  yield this [i];
28997
28936
  },
28998
28937
  copy: function ()
@@ -29590,118 +29529,97 @@ Matrix4_Matrix4 .prototype =
29590
29529
  },
29591
29530
  };
29592
29531
 
29593
- Object .defineProperty (Matrix4_Matrix4 .prototype, "x",
29532
+ Object .defineProperties (Matrix4_Matrix4 .prototype,
29594
29533
  {
29595
- get: (function ()
29534
+ order: { value: 4 },
29535
+ length: { value: 16 },
29536
+ x:
29596
29537
  {
29597
- const vector = new Numbers_Vector4 (0, 0, 0, 0);
29598
-
29599
- return function () { return vector .set (this [0], this [1], this [2], this [3]); };
29600
- })(),
29601
- enumerable: false,
29602
- configurable: false
29603
- });
29538
+ get: (function ()
29539
+ {
29540
+ const vector = new Numbers_Vector4 (0, 0, 0, 0);
29604
29541
 
29605
- Object .defineProperty (Matrix4_Matrix4 .prototype, "y",
29606
- {
29607
- get: (function ()
29542
+ return function () { return vector .set (this [0], this [1], this [2], this [3]); };
29543
+ })(),
29544
+ },
29545
+ y:
29608
29546
  {
29609
- const vector = new Numbers_Vector4 (0, 0, 0, 0);
29610
-
29611
- return function () { return vector .set (this [4], this [5], this [6], this [7]); };
29612
- })(),
29613
- enumerable: false,
29614
- configurable: false
29615
- });
29547
+ get: (function ()
29548
+ {
29549
+ const vector = new Numbers_Vector4 (0, 0, 0, 0);
29616
29550
 
29617
- Object .defineProperty (Matrix4_Matrix4 .prototype, "z",
29618
- {
29619
- get: (function ()
29551
+ return function () { return vector .set (this [4], this [5], this [6], this [7]); };
29552
+ })(),
29553
+ },
29554
+ z:
29620
29555
  {
29621
- const vector = new Numbers_Vector4 (0, 0, 0, 0);
29622
-
29623
- return function () { return vector .set (this [8], this [9], this [10], this [11]); };
29624
- })(),
29625
- enumerable: false,
29626
- configurable: false
29627
- });
29556
+ get: (function ()
29557
+ {
29558
+ const vector = new Numbers_Vector4 (0, 0, 0, 0);
29628
29559
 
29629
- Object .defineProperty (Matrix4_Matrix4 .prototype, "w",
29630
- {
29631
- get: (function ()
29560
+ return function () { return vector .set (this [8], this [9], this [10], this [11]); };
29561
+ })(),
29562
+ },
29563
+ w:
29632
29564
  {
29633
- const vector = new Numbers_Vector4 (0, 0, 0, 0);
29634
-
29635
- return function () { return vector .set (this [12], this [13], this [14], this [15]); };
29636
- })(),
29637
- enumerable: false,
29638
- configurable: false
29639
- });
29565
+ get: (function ()
29566
+ {
29567
+ const vector = new Numbers_Vector4 (0, 0, 0, 0);
29640
29568
 
29641
- Object .defineProperty (Matrix4_Matrix4 .prototype, "xAxis",
29642
- {
29643
- get: (function ()
29569
+ return function () { return vector .set (this [12], this [13], this [14], this [15]); };
29570
+ })(),
29571
+ },
29572
+ xAxis:
29644
29573
  {
29645
- const vector = new Numbers_Vector3 (0, 0, 0);
29646
-
29647
- return function () { return vector .set (this [0], this [1], this [2]); };
29648
- })(),
29649
- enumerable: false,
29650
- configurable: false
29651
- });
29574
+ get: (function ()
29575
+ {
29576
+ const vector = new Numbers_Vector3 (0, 0, 0);
29652
29577
 
29653
- Object .defineProperty (Matrix4_Matrix4 .prototype, "yAxis",
29654
- {
29655
- get: (function ()
29578
+ return function () { return vector .set (this [0], this [1], this [2]); };
29579
+ })(),
29580
+ },
29581
+ yAxis:
29656
29582
  {
29657
- const vector = new Numbers_Vector3 (0, 0, 0);
29658
-
29659
- return function () { return vector .set (this [4], this [5], this [6]); };
29660
- })(),
29661
- enumerable: false,
29662
- configurable: false
29663
- });
29583
+ get: (function ()
29584
+ {
29585
+ const vector = new Numbers_Vector3 (0, 0, 0);
29664
29586
 
29665
- Object .defineProperty (Matrix4_Matrix4 .prototype, "zAxis",
29666
- {
29667
- get: (function ()
29587
+ return function () { return vector .set (this [4], this [5], this [6]); };
29588
+ })(),
29589
+ },
29590
+ zAxis:
29668
29591
  {
29669
- const vector = new Numbers_Vector3 (0, 0, 0);
29670
-
29671
- return function () { return vector .set (this [8], this [9], this [10]); };
29672
- })(),
29673
- enumerable: false,
29674
- configurable: false
29675
- });
29592
+ get: (function ()
29593
+ {
29594
+ const vector = new Numbers_Vector3 (0, 0, 0);
29676
29595
 
29677
- Object .defineProperty (Matrix4_Matrix4 .prototype, "origin",
29678
- {
29679
- get: (function ()
29596
+ return function () { return vector .set (this [8], this [9], this [10]); };
29597
+ })(),
29598
+ },
29599
+ origin:
29680
29600
  {
29681
- const vector = new Numbers_Vector3 (0, 0, 0);
29682
-
29683
- return function () { return vector .set (this [12], this [13], this [14]); };
29684
- })(),
29685
- enumerable: false,
29686
- configurable: false
29687
- });
29601
+ get: (function ()
29602
+ {
29603
+ const vector = new Numbers_Vector3 (0, 0, 0);
29688
29604
 
29689
- Object .defineProperty (Matrix4_Matrix4 .prototype, "submatrix",
29690
- {
29691
- get: (function ()
29605
+ return function () { return vector .set (this [12], this [13], this [14]); };
29606
+ })(),
29607
+ },
29608
+ submatrix:
29692
29609
  {
29693
- const matrix = new Numbers_Matrix3 ();
29694
-
29695
- return function ()
29610
+ get: (function ()
29696
29611
  {
29697
- matrix [0] = this [0]; matrix [1] = this [1]; matrix [2] = this [ 2];
29698
- matrix [3] = this [4]; matrix [4] = this [5]; matrix [5] = this [ 6];
29699
- matrix [6] = this [8]; matrix [7] = this [9]; matrix [8] = this [10];
29700
- return matrix;
29701
- };
29702
- })(),
29703
- enumerable: false,
29704
- configurable: false
29612
+ const matrix = new Numbers_Matrix3 ();
29613
+
29614
+ return function ()
29615
+ {
29616
+ matrix [0] = this [0]; matrix [1] = this [1]; matrix [2] = this [ 2];
29617
+ matrix [3] = this [4]; matrix [4] = this [5]; matrix [5] = this [ 6];
29618
+ matrix [6] = this [8]; matrix [7] = this [9]; matrix [8] = this [10];
29619
+ return matrix;
29620
+ };
29621
+ })(),
29622
+ },
29705
29623
  });
29706
29624
 
29707
29625
  Object .assign (Matrix4_Matrix4,
@@ -29729,22 +29647,6 @@ Object .assign (Matrix4_Matrix4,
29729
29647
  matrix [6], matrix [7], matrix [8], 0,
29730
29648
  0, 0, 0, 1);
29731
29649
  },
29732
- transpose: function (matrix)
29733
- {
29734
- return matrix .copy () .transpose ();
29735
- },
29736
- inverse: function (matrix)
29737
- {
29738
- return matrix .copy () .inverse ();
29739
- },
29740
- multLeft: function (lhs, rhs)
29741
- {
29742
- return lhs .copy () .multLeft (rhs);
29743
- },
29744
- multRight: function (lhs, rhs)
29745
- {
29746
- return lhs .copy () .multRight (rhs);
29747
- },
29748
29650
  });
29749
29651
 
29750
29652
  const
@@ -29848,11 +29750,7 @@ function SFMatrix4Template (TypeName, Type, SFVec3, double)
29848
29750
  throw new Error ("Invalid arguments.");
29849
29751
  }
29850
29752
 
29851
- SFMatrix4 .prototype = Object .assign (Object .create (Base_X3DField.prototype),
29852
- Fields_SFMatrixPrototypeTemplate (TypeName, Type, Numbers_Matrix4, SFVec3, double),
29853
- {
29854
- constructor: SFMatrix4,
29855
- });
29753
+ SFMatrix4 .prototype = Fields_SFMatrixPrototypeTemplate (SFMatrix4, TypeName, Type, Numbers_Matrix4, SFVec3, double);
29856
29754
 
29857
29755
  for (const key of Reflect .ownKeys (SFMatrix4 .prototype))
29858
29756
  Object .defineProperty (SFMatrix4 .prototype, key, { enumerable: false });
@@ -30274,7 +30172,7 @@ SFNode .prototype = Object .assign (Object .create (Base_X3DField.prototype),
30274
30172
  value = target .getValue ();
30275
30173
 
30276
30174
  if (value)
30277
- return value .getType () .slice ();
30175
+ return Array .from (value .getType ());
30278
30176
 
30279
30177
  throw new Error ("SFNode.getNodeType: node is null.");
30280
30178
  },
@@ -30620,11 +30518,11 @@ SFRotation .prototype = Object .assign (Object .create (Base_X3DField.prototype)
30620
30518
  },
30621
30519
  inverse: function ()
30622
30520
  {
30623
- return new SFRotation (Numbers_Rotation4.inverse (this .getValue ()));
30521
+ return new SFRotation (this .getValue () .copy () .inverse ());
30624
30522
  },
30625
30523
  multiply: function (rotation)
30626
30524
  {
30627
- return new SFRotation (Numbers_Rotation4.multRight (this .getValue (), rotation .getValue ()));
30525
+ return new SFRotation (this .getValue () .copy () .multRight (rotation .getValue ()));
30628
30526
  },
30629
30527
  multVec: function (vector)
30630
30528
  {
@@ -30632,7 +30530,7 @@ SFRotation .prototype = Object .assign (Object .create (Base_X3DField.prototype)
30632
30530
  },
30633
30531
  slerp: function (rotation, t)
30634
30532
  {
30635
- return new SFRotation (Numbers_Rotation4.slerp (this .getValue (), rotation .getValue (), t));
30533
+ return new SFRotation (this .getValue () .copy () .slerp (rotation .getValue (), t));
30636
30534
  },
30637
30535
  toStream: function (generator)
30638
30536
  {
@@ -30694,7 +30592,6 @@ const SFRotation_x = {
30694
30592
  this .getValue () .x = +value;
30695
30593
  this .addEvent ();
30696
30594
  },
30697
- enumerable: true,
30698
30595
  };
30699
30596
 
30700
30597
  const SFRotation_y = {
@@ -30707,7 +30604,6 @@ const SFRotation_y = {
30707
30604
  this .getValue () .y = +value;
30708
30605
  this .addEvent ();
30709
30606
  },
30710
- enumerable: true,
30711
30607
  };
30712
30608
 
30713
30609
  const SFRotation_z = {
@@ -30720,7 +30616,6 @@ const SFRotation_z = {
30720
30616
  this .getValue () .z = +value;
30721
30617
  this .addEvent ();
30722
30618
  },
30723
- enumerable: true,
30724
30619
  };
30725
30620
 
30726
30621
  const SFRotation_angle = {
@@ -30733,23 +30628,19 @@ const SFRotation_angle = {
30733
30628
  this .getValue () .angle = +value;
30734
30629
  this .addEvent ();
30735
30630
  },
30736
- enumerable: true,
30737
30631
  };
30738
30632
 
30739
- Object .defineProperty (SFRotation .prototype, "x", SFRotation_x);
30740
- Object .defineProperty (SFRotation .prototype, "y", SFRotation_y);
30741
- Object .defineProperty (SFRotation .prototype, "z", SFRotation_z);
30742
- Object .defineProperty (SFRotation .prototype, "angle", SFRotation_angle);
30743
-
30744
- SFRotation_x .enumerable = false;
30745
- SFRotation_y .enumerable = false;
30746
- SFRotation_z .enumerable = false;
30747
- SFRotation_angle .enumerable = false;
30748
-
30749
- Object .defineProperty (SFRotation .prototype, "0", SFRotation_x);
30750
- Object .defineProperty (SFRotation .prototype, "1", SFRotation_y);
30751
- Object .defineProperty (SFRotation .prototype, "2", SFRotation_z);
30752
- Object .defineProperty (SFRotation .prototype, "3", SFRotation_angle);
30633
+ Object .defineProperties (SFRotation .prototype,
30634
+ {
30635
+ 0: SFRotation_x,
30636
+ 1: SFRotation_y,
30637
+ 2: SFRotation_z,
30638
+ 3: SFRotation_angle,
30639
+ x: Object .assign ({ enumerable: true }, SFRotation_x),
30640
+ y: Object .assign ({ enumerable: true }, SFRotation_y),
30641
+ z: Object .assign ({ enumerable: true }, SFRotation_z),
30642
+ angle: Object .assign ({ enumerable: true }, SFRotation_angle),
30643
+ });
30753
30644
 
30754
30645
  const SFRotation_default_ = SFRotation;
30755
30646
  ;
@@ -30889,7 +30780,6 @@ Object .defineProperty (SFString .prototype, "length",
30889
30780
  {
30890
30781
  return this .getValue () .length;
30891
30782
  },
30892
- enumerable: true,
30893
30783
  });
30894
30784
 
30895
30785
  const SFString_default_ = SFString;
@@ -31079,11 +30969,7 @@ function SFVec4Template (TypeName, Type, double)
31079
30969
  throw new Error ("Invalid arguments.");
31080
30970
  }
31081
30971
 
31082
- SFVec4 .prototype = Object .assign (Object .create (Base_X3DField.prototype),
31083
- Fields_SFVecPrototypeTemplate (TypeName, Type, Numbers_Vector4, double),
31084
- {
31085
- constructor: SFVec4,
31086
- });
30972
+ SFVec4 .prototype = Fields_SFVecPrototypeTemplate (SFVec4, TypeName, Type, Numbers_Vector4, double);
31087
30973
 
31088
30974
  for (const key of Reflect .ownKeys (SFVec4 .prototype))
31089
30975
  Object .defineProperty (SFVec4 .prototype, key, { enumerable: false });
@@ -31098,7 +30984,6 @@ function SFVec4Template (TypeName, Type, double)
31098
30984
  this .getValue () .x = +value;
31099
30985
  this .addEvent ();
31100
30986
  },
31101
- enumerable: true,
31102
30987
  };
31103
30988
 
31104
30989
  const y = {
@@ -31111,7 +30996,6 @@ function SFVec4Template (TypeName, Type, double)
31111
30996
  this .getValue () .y = +value;
31112
30997
  this .addEvent ();
31113
30998
  },
31114
- enumerable: true,
31115
30999
  };
31116
31000
 
31117
31001
  const z = {
@@ -31124,7 +31008,6 @@ function SFVec4Template (TypeName, Type, double)
31124
31008
  this .getValue () .z = +value;
31125
31009
  this .addEvent ();
31126
31010
  },
31127
- enumerable: true,
31128
31011
  };
31129
31012
 
31130
31013
  const w = {
@@ -31137,23 +31020,19 @@ function SFVec4Template (TypeName, Type, double)
31137
31020
  this .getValue () .w = +value;
31138
31021
  this .addEvent ();
31139
31022
  },
31140
- enumerable: true,
31141
31023
  };
31142
31024
 
31143
- Object .defineProperty (SFVec4 .prototype, "x", x);
31144
- Object .defineProperty (SFVec4 .prototype, "y", y);
31145
- Object .defineProperty (SFVec4 .prototype, "z", z);
31146
- Object .defineProperty (SFVec4 .prototype, "w", w);
31147
-
31148
- x .enumerable = false;
31149
- y .enumerable = false;
31150
- z .enumerable = false;
31151
- w .enumerable = false;
31152
-
31153
- Object .defineProperty (SFVec4 .prototype, "0", x);
31154
- Object .defineProperty (SFVec4 .prototype, "1", y);
31155
- Object .defineProperty (SFVec4 .prototype, "2", z);
31156
- Object .defineProperty (SFVec4 .prototype, "3", w);
31025
+ Object .defineProperties (SFVec4 .prototype,
31026
+ {
31027
+ 0: x,
31028
+ 1: y,
31029
+ 2: z,
31030
+ 3: w,
31031
+ x: Object .assign ({ enumerable: true }, x),
31032
+ y: Object .assign ({ enumerable: true }, y),
31033
+ z: Object .assign ({ enumerable: true }, z),
31034
+ w: Object .assign ({ enumerable: true }, w),
31035
+ });
31157
31036
 
31158
31037
  return SFVec4;
31159
31038
  }
@@ -31235,7 +31114,7 @@ X3DArrayField .prototype = Object .assign (Object .create (Base_X3DField.prototy
31235
31114
  fill: Array .prototype .fill,
31236
31115
  filter: function (callbackFn, thisArg)
31237
31116
  {
31238
- return new (this .getTarget () .constructor) (... Array .prototype .filter .call (this, callbackFn, thisArg));
31117
+ return new (this .constructor) (... Array .prototype .filter .call (this, callbackFn, thisArg));
31239
31118
  },
31240
31119
  find: Array .prototype .find,
31241
31120
  findIndex: Array .prototype .findIndex,
@@ -31251,18 +31130,42 @@ X3DArrayField .prototype = Object .assign (Object .create (Base_X3DField.prototy
31251
31130
  lastIndexOf: Array .prototype .lastIndexOf,
31252
31131
  map: function (callbackFn, thisArg)
31253
31132
  {
31254
- return new (this .getTarget () .constructor) (... Array .prototype .map .call (this, callbackFn, thisArg));
31133
+ return new (this .constructor) (... Array .prototype .map .call (this, callbackFn, thisArg));
31255
31134
  },
31256
31135
  reduce: Array .prototype .reduce,
31257
31136
  reduceRight: Array .prototype .reduceRight,
31258
31137
  reverse: Array .prototype .reverse,
31259
31138
  slice: function (start, end)
31260
31139
  {
31261
- return new (this .getTarget () .constructor) (... Array .prototype .slice .call (this, start, end));
31140
+ return new (this .constructor) (... Array .prototype .slice .call (this, start, end));
31262
31141
  },
31263
31142
  some: Array .prototype .some,
31264
31143
  sort: Array .prototype .sort,
31144
+ toReversed: function ()
31145
+ {
31146
+ return this .copy () .reverse ();
31147
+ },
31148
+ toSorted: function (compareFn)
31149
+ {
31150
+ return this .copy () .sort (compareFn);
31151
+ },
31152
+ toSpliced: function (start, deleteCount, ... insertValues)
31153
+ {
31154
+ const copy = this .copy ();
31155
+
31156
+ copy .splice (start, deleteCount, ... insertValues);
31157
+
31158
+ return copy;
31159
+ },
31265
31160
  values: Array .prototype .values,
31161
+ with: function (index, value)
31162
+ {
31163
+ const copy = this .copy ();
31164
+
31165
+ copy [index] = value;
31166
+
31167
+ return copy;
31168
+ },
31266
31169
  });
31267
31170
 
31268
31171
  for (const key of Reflect .ownKeys (X3DArrayField .prototype))
@@ -33573,17 +33476,18 @@ x_ite_Namespace.set ("x_ite/Fields/ArrayFields", ArrayFields_default_);
33573
33476
 
33574
33477
 
33575
33478
 
33479
+
33480
+ const MFInt32 = Fields_ArrayFields.MFInt32;
33481
+
33576
33482
  /*
33577
33483
  * Image
33578
33484
  */
33579
33485
 
33580
33486
  function Image (width, height, comp, array)
33581
33487
  {
33582
- const MFInt32 = Fields_ArrayFields.MFInt32;
33583
-
33584
- this .width = width|0;
33585
- this .height = height|0;
33586
- this .comp = comp|0;
33488
+ this .width = Math .max (width|0, 0);
33489
+ this .height = Math .max (height|0, 0);
33490
+ this .comp = Algorithm.clamp (comp|0, 0, 4);
33587
33491
  this .array = new MFInt32 ();
33588
33492
  this .array .setValue (array);
33589
33493
  this .array .length = this .width * this .height;
@@ -33619,8 +33523,8 @@ Image .prototype =
33619
33523
  },
33620
33524
  setWidth: function (value)
33621
33525
  {
33622
- this .width = value|0;
33623
- this .array .length = this .width * this .height;
33526
+ this .width = Math .max (value|0, 0);
33527
+ this .array .length = this .width * this .height;
33624
33528
  },
33625
33529
  getWidth: function ()
33626
33530
  {
@@ -33628,8 +33532,8 @@ Image .prototype =
33628
33532
  },
33629
33533
  setHeight: function (value)
33630
33534
  {
33631
- this .height = value|0;
33632
- this .array .length = this .width * this .height;
33535
+ this .height = Math .max (value|0, 0);
33536
+ this .array .length = this .width * this .height;
33633
33537
  },
33634
33538
  getHeight: function ()
33635
33539
  {
@@ -33637,7 +33541,7 @@ Image .prototype =
33637
33541
  },
33638
33542
  setComp: function (value)
33639
33543
  {
33640
- this .comp = value|0;
33544
+ this .comp = Algorithm.clamp (value|0, 0, 4);
33641
33545
  },
33642
33546
  getComp: function ()
33643
33547
  {
@@ -33646,7 +33550,7 @@ Image .prototype =
33646
33550
  setArray: function (value)
33647
33551
  {
33648
33552
  this .array .setValue (value);
33649
- this .array .length = this .width * this .height;
33553
+ this .array .length = this .width * this .height;
33650
33554
  },
33651
33555
  getArray: function ()
33652
33556
  {
@@ -33662,14 +33566,23 @@ const _set_size = Symbol ();
33662
33566
 
33663
33567
  function SFImage (width, height, comp, array)
33664
33568
  {
33665
- const MFInt32 = Fields_ArrayFields.MFInt32;
33666
-
33667
- if (arguments [0] instanceof Image)
33668
- Base_X3DField.call (this, arguments [0]);
33669
- else if (arguments .length === 4)
33670
- Base_X3DField.call (this, new Image (width, height, comp, array));
33671
- else
33672
- Base_X3DField.call (this, new Image (0, 0, 0, new MFInt32 ()));
33569
+ switch (arguments .length)
33570
+ {
33571
+ case 0:
33572
+ Base_X3DField.call (this, new Image (0, 0, 0, new MFInt32 ()));
33573
+ break;
33574
+ case 1:
33575
+ Base_X3DField.call (this, arguments [0]);
33576
+ break;
33577
+ case 3:
33578
+ Base_X3DField.call (this, new Image (width, height, comp, new MFInt32 ()));
33579
+ break;
33580
+ case 4:
33581
+ Base_X3DField.call (this, new Image (width, height, comp, array));
33582
+ break;
33583
+ default:
33584
+ throw new Error ("Invalid arguments.");
33585
+ }
33673
33586
 
33674
33587
  this .getValue () .getArray () .addParent (this);
33675
33588
  this .addInterest (_set_size, this);
@@ -33831,7 +33744,6 @@ const width = {
33831
33744
  this .getValue () .setWidth (value);
33832
33745
  this .addEvent ();
33833
33746
  },
33834
- enumerable: true,
33835
33747
  };
33836
33748
 
33837
33749
  const height = {
@@ -33844,7 +33756,6 @@ const height = {
33844
33756
  this .getValue () .setHeight (value);
33845
33757
  this .addEvent ();
33846
33758
  },
33847
- enumerable: true,
33848
33759
  };
33849
33760
 
33850
33761
  const comp = {
@@ -33857,7 +33768,6 @@ const comp = {
33857
33768
  this .getValue () .setComp (value);
33858
33769
  this .addEvent ();
33859
33770
  },
33860
- enumerable: true,
33861
33771
  };
33862
33772
 
33863
33773
  const array = {
@@ -33870,19 +33780,17 @@ const array = {
33870
33780
  this .getValue () .setArray (value);
33871
33781
  this .addEvent ();
33872
33782
  },
33873
- enumerable: true,
33874
33783
  };
33875
33784
 
33876
- Object .defineProperty (SFImage .prototype, "width", width);
33877
- Object .defineProperty (SFImage .prototype, "height", height);
33878
- Object .defineProperty (SFImage .prototype, "comp", comp);
33879
- Object .defineProperty (SFImage .prototype, "array", array);
33880
-
33881
- width .enumerable = false;
33882
- height .enumerable = false;
33883
-
33884
- Object .defineProperty (SFImage .prototype, "x", width);
33885
- Object .defineProperty (SFImage .prototype, "y", height);
33785
+ Object .defineProperties (SFImage .prototype,
33786
+ {
33787
+ x: width,
33788
+ y: height,
33789
+ width: Object .assign ({ enumerable: true }, width),
33790
+ height: Object .assign ({ enumerable: true }, height),
33791
+ comp: Object .assign ({ enumerable: true }, comp),
33792
+ array: Object .assign ({ enumerable: true }, array),
33793
+ });
33886
33794
 
33887
33795
  const SFImage_default_ = SFImage;
33888
33796
  ;
@@ -34701,7 +34609,7 @@ x_ite_Namespace.set ("x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34701
34609
  *
34702
34610
  ******************************************************************************/
34703
34611
 
34704
- const VERSION_default_ = "8.7.3";
34612
+ const VERSION_default_ = "8.7.5";
34705
34613
  ;
34706
34614
 
34707
34615
  x_ite_Namespace.set ("x_ite/Browser/VERSION", VERSION_default_);
@@ -35620,7 +35528,7 @@ const gettext_default_ = gettext;
35620
35528
  x_ite_Namespace.set ("locale/gettext", gettext_default_);
35621
35529
  /* harmony default export */ const locale_gettext = (gettext_default_);
35622
35530
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
35623
- /* provided dependency */ var $ = __webpack_require__(638);
35531
+ /* provided dependency */ var $ = __webpack_require__(994);
35624
35532
  /*******************************************************************************
35625
35533
  *
35626
35534
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36118,7 +36026,7 @@ const TextureQuality_default_ = TextureQuality;
36118
36026
  x_ite_Namespace.set ("x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
36119
36027
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
36120
36028
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
36121
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(638);
36029
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(994);
36122
36030
  /*******************************************************************************
36123
36031
  *
36124
36032
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36662,7 +36570,7 @@ const RenderingProperties_default_ = RenderingProperties;
36662
36570
  x_ite_Namespace.set ("x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
36663
36571
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
36664
36572
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
36665
- /* provided dependency */ var Notification_$ = __webpack_require__(638);
36573
+ /* provided dependency */ var Notification_$ = __webpack_require__(994);
36666
36574
  /*******************************************************************************
36667
36575
  *
36668
36576
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36784,8 +36692,8 @@ const Notification_default_ = Notification;
36784
36692
  x_ite_Namespace.set ("x_ite/Browser/Core/Notification", Notification_default_);
36785
36693
  /* harmony default export */ const Core_Notification = (Notification_default_);
36786
36694
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
36787
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(50);
36788
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(638);
36695
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(53);
36696
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(994);
36789
36697
  /*******************************************************************************
36790
36698
  *
36791
36699
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -37854,9 +37762,23 @@ x_ite_Namespace.set ("x_ite/Configuration/SupportedNodes", SupportedNodes_defaul
37854
37762
 
37855
37763
 
37856
37764
 
37857
- function NamedNodesArray (array)
37765
+
37766
+ function NamedNodesArray (values)
37858
37767
  {
37859
- return Base_X3DInfoArray.call (this, array);
37768
+ const proxy = Base_X3DInfoArray.call (this);
37769
+
37770
+ if (values)
37771
+ {
37772
+ for (const value of values)
37773
+ {
37774
+ if (!(value instanceof Base_X3DBaseNode))
37775
+ throw new TypeError (`Wrong type in construction of ${this .getTypeName ()}.`);
37776
+
37777
+ this .add (value .getName (), value);
37778
+ }
37779
+ }
37780
+
37781
+ return proxy;
37860
37782
  }
37861
37783
 
37862
37784
  NamedNodesArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
@@ -39739,40 +39661,40 @@ X3DImportedNode .prototype = Object .assign (Object .create (Core_X3DNode.protot
39739
39661
  for (const key of Reflect .ownKeys (X3DImportedNode .prototype))
39740
39662
  Object .defineProperty (X3DImportedNode .prototype, key, { enumerable: false });
39741
39663
 
39742
- Object .defineProperty (X3DImportedNode .prototype, "inlineNode",
39664
+ Object .defineProperties (X3DImportedNode .prototype,
39743
39665
  {
39744
- get: function ()
39666
+ inlineNode:
39745
39667
  {
39746
- return Fields_SFNodeCache.get (this [_inlineNode]);
39668
+ get: function ()
39669
+ {
39670
+ return Fields_SFNodeCache.get (this [_inlineNode]);
39671
+ },
39672
+ enumerable: true,
39747
39673
  },
39748
- enumerable: true,
39749
- });
39750
-
39751
- Object .defineProperty (X3DImportedNode .prototype, "exportedName",
39752
- {
39753
- get: function ()
39674
+ exportedName:
39754
39675
  {
39755
- return this [_exportedName];
39676
+ get: function ()
39677
+ {
39678
+ return this [_exportedName];
39679
+ },
39680
+ enumerable: true,
39756
39681
  },
39757
- enumerable: true,
39758
- });
39759
-
39760
- Object .defineProperty (X3DImportedNode .prototype, "exportedNode",
39761
- {
39762
- get: function ()
39682
+ exportedNode:
39763
39683
  {
39764
- return this [_inlineNode] .getInternalScene () .getExportedNode (this [_exportedName]);
39684
+ get: function ()
39685
+ {
39686
+ return this [_inlineNode] .getInternalScene () .getExportedNode (this [_exportedName]);
39687
+ },
39688
+ enumerable: true,
39765
39689
  },
39766
- enumerable: true,
39767
- });
39768
-
39769
- Object .defineProperty (X3DImportedNode .prototype, "importedName",
39770
- {
39771
- get: function ()
39690
+ importedName:
39772
39691
  {
39773
- return this [_importedName];
39692
+ get: function ()
39693
+ {
39694
+ return this [_importedName];
39695
+ },
39696
+ enumerable: true,
39774
39697
  },
39775
- enumerable: true,
39776
39698
  });
39777
39699
 
39778
39700
  const X3DImportedNode_default_ = X3DImportedNode;
@@ -39830,9 +39752,10 @@ x_ite_Namespace.set ("x_ite/Execution/X3DImportedNode", X3DImportedNode_default_
39830
39752
 
39831
39753
 
39832
39754
 
39833
- function ImportedNodesArray (array)
39755
+
39756
+ function ImportedNodesArray (values)
39834
39757
  {
39835
- return Base_X3DInfoArray.call (this, array);
39758
+ return Base_X3DInfoArray.call (this, values, Execution_X3DImportedNode);
39836
39759
  }
39837
39760
 
39838
39761
  ImportedNodesArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
@@ -39852,150 +39775,6 @@ const ImportedNodesArray_default_ = ImportedNodesArray;
39852
39775
 
39853
39776
  x_ite_Namespace.set ("x_ite/Execution/ImportedNodesArray", ImportedNodesArray_default_);
39854
39777
  /* harmony default export */ const Execution_ImportedNodesArray = (ImportedNodesArray_default_);
39855
- ;// CONCATENATED MODULE: ./src/x_ite/Prototype/ExternProtoDeclarationArray.js
39856
- /*******************************************************************************
39857
- *
39858
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
39859
- *
39860
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
39861
- *
39862
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
39863
- *
39864
- * The copyright notice above does not evidence any actual of intended
39865
- * publication of such source code, and is an unpublished work by create3000.
39866
- * This material contains CONFIDENTIAL INFORMATION that is the property of
39867
- * create3000.
39868
- *
39869
- * No permission is granted to copy, distribute, or create derivative works from
39870
- * the contents of this software, in whole or in part, without the prior written
39871
- * permission of create3000.
39872
- *
39873
- * NON-MILITARY USE ONLY
39874
- *
39875
- * All create3000 software are effectively free software with a non-military use
39876
- * restriction. It is free. Well commented source is provided. You may reuse the
39877
- * source in any way you please with the exception anything that uses it must be
39878
- * marked to indicate is contains 'non-military use only' components.
39879
- *
39880
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
39881
- *
39882
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
39883
- *
39884
- * This file is part of the X_ITE Project.
39885
- *
39886
- * X_ITE is free software: you can redistribute it and/or modify it under the
39887
- * terms of the GNU General Public License version 3 only, as published by the
39888
- * Free Software Foundation.
39889
- *
39890
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
39891
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
39892
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
39893
- * details (a copy is included in the LICENSE file that accompanied this code).
39894
- *
39895
- * You should have received a copy of the GNU General Public License version 3
39896
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
39897
- * copy of the GPLv3 License.
39898
- *
39899
- * For Silvio, Joy and Adi.
39900
- *
39901
- ******************************************************************************/
39902
-
39903
-
39904
-
39905
- function ExternProtoDeclarationArray (values)
39906
- {
39907
- return Base_X3DInfoArray.call (this, values);
39908
- }
39909
-
39910
- ExternProtoDeclarationArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
39911
- {
39912
- constructor: ExternProtoDeclarationArray,
39913
- getTypeName: function ()
39914
- {
39915
- return "ExternProtoDeclarationArray";
39916
- },
39917
- });
39918
-
39919
- for (const key of Reflect .ownKeys (ExternProtoDeclarationArray .prototype))
39920
- Object .defineProperty (ExternProtoDeclarationArray .prototype, key, { enumerable: false });
39921
-
39922
- const ExternProtoDeclarationArray_default_ = ExternProtoDeclarationArray;
39923
- ;
39924
-
39925
- x_ite_Namespace.set ("x_ite/Prototype/ExternProtoDeclarationArray", ExternProtoDeclarationArray_default_);
39926
- /* harmony default export */ const Prototype_ExternProtoDeclarationArray = (ExternProtoDeclarationArray_default_);
39927
- ;// CONCATENATED MODULE: ./src/x_ite/Prototype/ProtoDeclarationArray.js
39928
- /*******************************************************************************
39929
- *
39930
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
39931
- *
39932
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
39933
- *
39934
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
39935
- *
39936
- * The copyright notice above does not evidence any actual of intended
39937
- * publication of such source code, and is an unpublished work by create3000.
39938
- * This material contains CONFIDENTIAL INFORMATION that is the property of
39939
- * create3000.
39940
- *
39941
- * No permission is granted to copy, distribute, or create derivative works from
39942
- * the contents of this software, in whole or in part, without the prior written
39943
- * permission of create3000.
39944
- *
39945
- * NON-MILITARY USE ONLY
39946
- *
39947
- * All create3000 software are effectively free software with a non-military use
39948
- * restriction. It is free. Well commented source is provided. You may reuse the
39949
- * source in any way you please with the exception anything that uses it must be
39950
- * marked to indicate is contains 'non-military use only' components.
39951
- *
39952
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
39953
- *
39954
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
39955
- *
39956
- * This file is part of the X_ITE Project.
39957
- *
39958
- * X_ITE is free software: you can redistribute it and/or modify it under the
39959
- * terms of the GNU General Public License version 3 only, as published by the
39960
- * Free Software Foundation.
39961
- *
39962
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
39963
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
39964
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
39965
- * details (a copy is included in the LICENSE file that accompanied this code).
39966
- *
39967
- * You should have received a copy of the GNU General Public License version 3
39968
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
39969
- * copy of the GPLv3 License.
39970
- *
39971
- * For Silvio, Joy and Adi.
39972
- *
39973
- ******************************************************************************/
39974
-
39975
-
39976
-
39977
- function ProtoDeclarationArray (array)
39978
- {
39979
- return Base_X3DInfoArray.call (this, array);
39980
- }
39981
-
39982
- ProtoDeclarationArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
39983
- {
39984
- constructor: ProtoDeclarationArray,
39985
- getTypeName: function ()
39986
- {
39987
- return "ProtoDeclarationArray";
39988
- },
39989
- });
39990
-
39991
- for (const key of Reflect .ownKeys (ProtoDeclarationArray .prototype))
39992
- Object .defineProperty (ProtoDeclarationArray .prototype, key, { enumerable: false });
39993
-
39994
- const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
39995
- ;
39996
-
39997
- x_ite_Namespace.set ("x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
39998
- /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
39999
39778
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Core/X3DPrototypeInstance.js
40000
39779
  /*******************************************************************************
40001
39780
  *
@@ -40058,7 +39837,7 @@ const
40058
39837
  function X3DPrototypeInstance (executionContext, protoNode)
40059
39838
  {
40060
39839
  this [_protoNode] = protoNode;
40061
- this [_protoFields] = new Map (protoNode .getFields () .map (f => [f, f .getName ()]));
39840
+ this [_protoFields] = new Map ([... protoNode .getFields ()] .map (f => [f, f .getName ()]));
40062
39841
  this [X3DPrototypeInstance_fieldDefinitions] = protoNode .getFieldDefinitions ();
40063
39842
  this [_body] = null;
40064
39843
 
@@ -40196,14 +39975,14 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40196
39975
 
40197
39976
  const
40198
39977
  oldProtoFields = this [_protoFields],
40199
- oldFields = new Map (this .getFields () .map (f => [f .getName (), f]));
39978
+ oldFields = new Map ([... this .getFields ()] .map (f => [f .getName (), f]));
40200
39979
 
40201
39980
  for (const field of oldFields .values ())
40202
39981
  this .removeField (field .getName ());
40203
39982
 
40204
39983
  // Add new fields.
40205
39984
 
40206
- this [_protoFields] = new Map (this [_protoNode] .getFields () .map (f => [f, f .getName ()]));
39985
+ this [_protoFields] = new Map ([... this [_protoNode] .getFields ()] .map (f => [f, f .getName ()]));
40207
39986
 
40208
39987
  for (const fieldDefinition of this .getFieldDefinitions ())
40209
39988
  this .addField (fieldDefinition);
@@ -40267,7 +40046,7 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40267
40046
 
40268
40047
  // Get field from new proto node.
40269
40048
 
40270
- this [_protoFields] = new Map (protoNode .getFields () .map (f => [f, f .getName ()]));
40049
+ this [_protoFields] = new Map ([... protoNode .getFields ()] .map (f => [f, f .getName ()]));
40271
40050
  this [X3DPrototypeInstance_fieldDefinitions] = protoNode .getFieldDefinitions ();
40272
40051
  }
40273
40052
 
@@ -41681,22 +41460,23 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (Prototype_X3DPr
41681
41460
  for (const key of Reflect .ownKeys (X3DProtoDeclaration .prototype))
41682
41461
  Object .defineProperty (X3DProtoDeclaration .prototype, key, { enumerable: false });
41683
41462
 
41684
- Object .defineProperty (X3DProtoDeclaration .prototype, "name",
41463
+ Object .defineProperties (X3DProtoDeclaration .prototype,
41685
41464
  {
41686
- get: X3DProtoDeclaration .prototype .getName,
41687
- enumerable: true,
41688
- });
41689
-
41690
- Object .defineProperty (X3DProtoDeclaration .prototype, "fields",
41691
- {
41692
- get: X3DProtoDeclaration .prototype .getFieldDefinitions,
41693
- enumerable: true,
41694
- });
41695
-
41696
- Object .defineProperty (X3DProtoDeclaration .prototype, "isExternProto",
41697
- {
41698
- value: false,
41699
- enumerable: true,
41465
+ name:
41466
+ {
41467
+ get: X3DProtoDeclaration .prototype .getName,
41468
+ enumerable: true,
41469
+ },
41470
+ fields:
41471
+ {
41472
+ get: X3DProtoDeclaration .prototype .getFieldDefinitions,
41473
+ enumerable: true,
41474
+ },
41475
+ isExternProto:
41476
+ {
41477
+ value: false,
41478
+ enumerable: true,
41479
+ },
41700
41480
  });
41701
41481
 
41702
41482
  const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
@@ -41987,7 +41767,7 @@ const X3DUrlObject_default_ = X3DUrlObject;
41987
41767
  x_ite_Namespace.set ("x_ite/Components/Networking/X3DUrlObject", X3DUrlObject_default_);
41988
41768
  /* harmony default export */ const Networking_X3DUrlObject = (X3DUrlObject_default_);
41989
41769
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
41990
- /* provided dependency */ var X3DParser_$ = __webpack_require__(638);
41770
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(994);
41991
41771
  /*******************************************************************************
41992
41772
  *
41993
41773
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -45169,7 +44949,7 @@ const VRMLParser_default_ = VRMLParser;
45169
44949
  x_ite_Namespace.set ("x_ite/Parser/VRMLParser", VRMLParser_default_);
45170
44950
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
45171
44951
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
45172
- /* provided dependency */ var XMLParser_$ = __webpack_require__(638);
44952
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(994);
45173
44953
  /*******************************************************************************
45174
44954
  *
45175
44955
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -45503,10 +45283,10 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45503
45283
  componentSupportLevel = parseInt (xmlElement .getAttribute ("level"));
45504
45284
 
45505
45285
  if (componentNameIdCharacters === null)
45506
- return console .warn ("XML Parser Error: Bad component statement: Expected name attribute.");
45286
+ return console .warn ("XML Parser Error: Bad component statement. Expected name attribute.");
45507
45287
 
45508
45288
  if (componentSupportLevel === null)
45509
- return console .warn ("XML Parser Error: Bad component statement: Expected level attribute.");
45289
+ return console .warn ("XML Parser Error: Bad component statement. Expected level attribute.");
45510
45290
 
45511
45291
  var component = this .getBrowser () .getComponent (componentNameIdCharacters, componentSupportLevel);
45512
45292
 
@@ -45525,13 +45305,13 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45525
45305
  conversionFactor = xmlElement .getAttribute ("conversionFactor"); //works for html5 as well
45526
45306
 
45527
45307
  if (category === null)
45528
- return console .warn ("XML Parser Error: Bad unit statement: Expected category attribute.");
45308
+ return console .warn ("XML Parser Error: Bad unit statement. Expected category attribute.");
45529
45309
 
45530
45310
  if (name === null)
45531
- return console .warn ("XML Parser Error: Bad unit statement: Expected name attribute.");
45311
+ return console .warn ("XML Parser Error: Bad unit statement. Expected name attribute.");
45532
45312
 
45533
45313
  if (conversionFactor === null)
45534
- return console .warn ("XML Parser Error: Bad unit statement: Expected conversionFactor attribute.");
45314
+ return console .warn ("XML Parser Error: Bad unit statement. Expected conversionFactor attribute.");
45535
45315
 
45536
45316
  this .getScene () .updateUnit (category, name, parseFloat (conversionFactor));
45537
45317
  },
@@ -45542,10 +45322,10 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45542
45322
  metavalue = xmlElement .getAttribute ("content");
45543
45323
 
45544
45324
  if (metakey === null)
45545
- return console .warn ("XML Parser Error: Bad meta statement: Expected name attribute.");
45325
+ return console .warn ("XML Parser Error: Bad meta statement. Expected name attribute.");
45546
45326
 
45547
45327
  if (metavalue === null)
45548
- return console .warn ("XML Parser Error: Bad meta statement: Expected content attribute.");
45328
+ return console .warn ("XML Parser Error: Bad meta statement. Expected content attribute.");
45549
45329
 
45550
45330
  this .getScene () .addMetaData (metakey, metavalue);
45551
45331
  },
@@ -45622,19 +45402,19 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45622
45402
  },
45623
45403
  externProtoDeclareElement: function (xmlElement)
45624
45404
  {
45625
- var name = xmlElement .getAttribute ("name");
45405
+ const name = xmlElement .getAttribute ("name");
45626
45406
 
45627
45407
  if (this .id (name))
45628
45408
  {
45629
- var url = xmlElement .getAttribute ("url");
45409
+ const url = xmlElement .getAttribute ("url");
45630
45410
 
45631
- if (url === null)
45632
- return console .warn ("XML Parser Error: Bad ExternProtoDeclare statement: Expected url attribute.");
45411
+ this .parser .setInput (url ?? "");
45412
+ this .parser .sfstringValues (this .url);
45633
45413
 
45634
- this .parser .setInput (url);
45635
- Parser_VRMLParser.prototype.sfstringValues.call (this .parser, this .url);
45414
+ if (!this .url .length)
45415
+ console .warn ("XML Parser Error: Bad ExternProtoDeclare statement. Expected url attribute with value.");
45636
45416
 
45637
- var externproto = new Prototype_X3DExternProtoDeclaration (this .getExecutionContext (), this .url);
45417
+ const externproto = new Prototype_X3DExternProtoDeclaration (this .getExecutionContext (), this .url);
45638
45418
 
45639
45419
  this .pushParent (externproto);
45640
45420
  this .protoInterfaceElement (xmlElement);
@@ -45826,10 +45606,10 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45826
45606
  protoFieldName = xmlElement .getAttribute ("protoField");
45827
45607
 
45828
45608
  if (nodeFieldName === null)
45829
- return console .warn ("XML Parser Error: Bad connect statement: Expected nodeField attribute.");
45609
+ return console .warn ("XML Parser Error: Bad connect statement. Expected nodeField attribute.");
45830
45610
 
45831
45611
  if (protoFieldName === null)
45832
- return console .warn ("XML Parser Error: Bad connect statement: Expected protoField attribute.");
45612
+ return console .warn ("XML Parser Error: Bad connect statement. Expected protoField attribute.");
45833
45613
 
45834
45614
  try
45835
45615
  {
@@ -45859,7 +45639,7 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45859
45639
  }
45860
45640
  catch (error)
45861
45641
  {
45862
- console .warn ("XML Parser Error: Couldn't create IS reference: " + error .message);
45642
+ console .warn ("XML Parser Error: Couldn't create IS reference. " + error .message);
45863
45643
  }
45864
45644
  },
45865
45645
  protoInstanceElement: function (xmlElement)
@@ -45937,7 +45717,7 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45937
45717
  }
45938
45718
  catch (error)
45939
45719
  {
45940
- console .warn ("XML Parser Error: Couldn't assign field value: " + error .message);
45720
+ console .warn ("XML Parser Error: Couldn't assign field value. " + error .message);
45941
45721
  }
45942
45722
  },
45943
45723
  nodeElement: function (xmlElement)
@@ -46896,7 +46676,7 @@ X3DOptimizer .prototype = {
46896
46676
  },
46897
46677
  optimizeNodes: function (nodes, combine, removedNodes)
46898
46678
  {
46899
- return nodes .flatMap (node => this .optimizeNode (node, combine, removedNodes));
46679
+ return [... nodes] .flatMap (node => this .optimizeNode (node, combine, removedNodes));
46900
46680
  },
46901
46681
  optimizeNode: function (node, combine, removedNodes)
46902
46682
  {
@@ -47024,7 +46804,7 @@ const X3DOptimizer_default_ = X3DOptimizer;
47024
46804
  x_ite_Namespace.set ("x_ite/Parser/X3DOptimizer", X3DOptimizer_default_);
47025
46805
  /* harmony default export */ const Parser_X3DOptimizer = (X3DOptimizer_default_);
47026
46806
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
47027
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(638);
46807
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(994);
47028
46808
  /*******************************************************************************
47029
46809
  *
47030
46810
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -49490,7 +49270,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
49490
49270
  x_ite_Namespace.set ("x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
49491
49271
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
49492
49272
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
49493
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(638);
49273
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(994);
49494
49274
  /*******************************************************************************
49495
49275
  *
49496
49276
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -49643,7 +49423,7 @@ const GLB2Parser_default_ = GLB2Parser;
49643
49423
  x_ite_Namespace.set ("x_ite/Parser/GLB2Parser", GLB2Parser_default_);
49644
49424
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
49645
49425
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
49646
- /* provided dependency */ var OBJParser_$ = __webpack_require__(638);
49426
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(994);
49647
49427
  /*******************************************************************************
49648
49428
  *
49649
49429
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -51342,7 +51122,6 @@ function Complex (real, imag)
51342
51122
  Complex .prototype =
51343
51123
  {
51344
51124
  constructor: Complex,
51345
- length: 2,
51346
51125
  [Symbol .iterator]: function* ()
51347
51126
  {
51348
51127
  yield this .real;
@@ -51444,75 +51223,81 @@ Complex .prototype =
51444
51223
  },
51445
51224
  toString: function ()
51446
51225
  {
51447
- if (this .imag)
51448
- return this .real + " " + this .imag + "i";
51226
+ let string = "";
51449
51227
 
51450
- return String (this .real);
51451
- },
51452
- };
51228
+ string += this .real;
51453
51229
 
51454
- Object .defineProperty (Complex .prototype, "0",
51455
- {
51456
- get: function ()
51457
- {
51458
- return this .real;
51459
- },
51460
- set: function (value)
51461
- {
51462
- this .real = value;
51230
+ if (this .imag < 0)
51231
+ {
51232
+ string += this .imag;
51233
+ string += "i";
51234
+ }
51235
+ else if (this .imag > 0)
51236
+ {
51237
+ string += "+";
51238
+ string += this .imag;
51239
+ string += "i";
51240
+ }
51241
+
51242
+ return string;
51463
51243
  },
51464
- enumerable: false,
51465
- configurable: false
51466
- });
51244
+ };
51467
51245
 
51468
- Object .defineProperty (Complex .prototype, "1",
51246
+ Object .defineProperties (Complex .prototype,
51469
51247
  {
51470
- get: function ()
51248
+ length: { value: 2 },
51249
+ 0:
51471
51250
  {
51472
- return this .imag;
51251
+ get: function ()
51252
+ {
51253
+ return this .real;
51254
+ },
51255
+ set: function (value)
51256
+ {
51257
+ this .real = value;
51258
+ },
51473
51259
  },
51474
- set: function (value)
51260
+ 1:
51475
51261
  {
51476
- this .imag = value;
51262
+ get: function ()
51263
+ {
51264
+ return this .imag;
51265
+ },
51266
+ set: function (value)
51267
+ {
51268
+ this .imag = value;
51269
+ },
51477
51270
  },
51478
- enumerable: false,
51479
- configurable: false
51480
- });
51481
-
51482
- Object .defineProperty (Complex .prototype, "magnitude",
51483
- {
51484
- get: function ()
51271
+ magnitude:
51485
51272
  {
51486
- if (this .real)
51273
+ get: function ()
51487
51274
  {
51488
- if (this .imag)
51489
- return Math .hypot (this .real, this .imag);
51490
-
51491
- return Math .abs (this .real);
51492
- }
51275
+ if (this .real)
51276
+ {
51277
+ if (this .imag)
51278
+ return Math .hypot (this .real, this .imag);
51493
51279
 
51494
- return Math .abs (this .imag);
51495
- },
51496
- set: function (magnitude)
51497
- {
51498
- this .setPolar (magnitude, this .angle);
51499
- },
51500
- enumerable: false,
51501
- configurable: false
51502
- });
51280
+ return Math .abs (this .real);
51281
+ }
51503
51282
 
51504
- Object .defineProperty (Complex .prototype, "angle",
51505
- {
51506
- get: function ()
51507
- {
51508
- return Math .atan2 (this .imag, this .real);
51283
+ return Math .abs (this .imag);
51284
+ },
51285
+ set: function (magnitude)
51286
+ {
51287
+ this .setPolar (magnitude, this .angle);
51288
+ },
51509
51289
  },
51510
- set: function (angle)
51290
+ angle:
51511
51291
  {
51512
- this .setPolar (this .magnitude, angle);
51292
+ get: function ()
51293
+ {
51294
+ return Math .atan2 (this .imag, this .real);
51295
+ },
51296
+ set: function (angle)
51297
+ {
51298
+ this .setPolar (this .magnitude, angle);
51299
+ },
51513
51300
  },
51514
- enumerable: false,
51515
- configurable: false
51516
51301
  });
51517
51302
 
51518
51303
  Object .assign (Complex,
@@ -51742,33 +51527,33 @@ Box2 .prototype =
51742
51527
  },
51743
51528
  };
51744
51529
 
51745
- Object .defineProperty (Box2 .prototype, "size",
51530
+ Object .defineProperties (Box2 .prototype,
51746
51531
  {
51747
- get: (function ()
51532
+ size:
51748
51533
  {
51749
- const
51750
- min = new Numbers_Vector2 (0, 0),
51751
- max = new Numbers_Vector2 (0, 0);
51752
-
51753
- return function ()
51534
+ get: (function ()
51754
51535
  {
51755
- this .getAbsoluteExtents (min, max);
51536
+ const
51537
+ min = new Numbers_Vector2 (0, 0),
51538
+ max = new Numbers_Vector2 (0, 0);
51756
51539
 
51757
- return max .subtract (min);
51758
- };
51759
- })(),
51760
- enumerable: true,
51761
- configurable: false
51762
- });
51540
+ return function ()
51541
+ {
51542
+ this .getAbsoluteExtents (min, max);
51763
51543
 
51764
- Object .defineProperty (Box2 .prototype, "center",
51765
- {
51766
- get: function ()
51544
+ return max .subtract (min);
51545
+ };
51546
+ })(),
51547
+ enumerable: true,
51548
+ },
51549
+ center:
51767
51550
  {
51768
- return this .matrix .origin;
51551
+ get: function ()
51552
+ {
51553
+ return this .matrix .origin;
51554
+ },
51555
+ enumerable: true,
51769
51556
  },
51770
- enumerable: true,
51771
- configurable: false
51772
51557
  });
51773
51558
 
51774
51559
  const Box2_default_ = Box2;
@@ -52133,8 +51918,8 @@ const MatrixStack_default_ = MatrixStack;
52133
51918
  x_ite_Namespace.set ("standard/Math/Utility/MatrixStack", MatrixStack_default_);
52134
51919
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
52135
51920
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
52136
- /* provided dependency */ var SVGParser_$ = __webpack_require__(638);
52137
- /* provided dependency */ var libtess = __webpack_require__(181);
51921
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(994);
51922
+ /* provided dependency */ var libtess = __webpack_require__(870);
52138
51923
  /*******************************************************************************
52139
51924
  *
52140
51925
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53314,7 +53099,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
53314
53099
  m .scale (new Numbers_Vector2 (1, -1));
53315
53100
 
53316
53101
  if (g .units === "userSpaceOnUse")
53317
- m .multLeft (Numbers_Matrix3.inverse (bbox .matrix));
53102
+ m .multLeft (bbox .matrix .copy () .inverse ());
53318
53103
  else
53319
53104
  m .multLeft (new Numbers_Matrix3 (2, 0, 0, 0, 2, 0, -1, -1, 1));
53320
53105
 
@@ -54827,7 +54612,7 @@ SVGParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
54827
54612
  const
54828
54613
  scene = this .getExecutionContext (),
54829
54614
  texCoordNode = scene .createNode ("TextureCoordinate"),
54830
- invMatrix = Numbers_Matrix3.inverse (bbox .matrix);
54615
+ invMatrix = bbox .matrix .copy () .inverse ();
54831
54616
 
54832
54617
  for (const point of coordinateNode .point)
54833
54618
  texCoordNode .point .push (invMatrix .multVecMatrix (new Numbers_Vector2 (point .x, point .y)) .add (Numbers_Vector2.One) .divide (2));
@@ -54903,7 +54688,7 @@ const SVGParser_default_ = SVGParser;
54903
54688
  x_ite_Namespace.set ("x_ite/Parser/SVGParser", SVGParser_default_);
54904
54689
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
54905
54690
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
54906
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(638);
54691
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(994);
54907
54692
  /*******************************************************************************
54908
54693
  *
54909
54694
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -55232,7 +55017,7 @@ const Plane3_default_ = Plane3;
55232
55017
  x_ite_Namespace.set ("standard/Math/Geometry/Plane3", Plane3_default_);
55233
55018
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
55234
55019
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
55235
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(181);
55020
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(870);
55236
55021
  /*******************************************************************************
55237
55022
  *
55238
55023
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -57082,33 +56867,33 @@ Box3 .prototype =
57082
56867
  },
57083
56868
  };
57084
56869
 
57085
- Object .defineProperty (Box3 .prototype, "size",
56870
+ Object .defineProperties (Box3 .prototype,
57086
56871
  {
57087
- get: (function ()
56872
+ size:
57088
56873
  {
57089
- const
57090
- min = new Numbers_Vector3 (0, 0, 0),
57091
- max = new Numbers_Vector3 (0, 0, 0);
57092
-
57093
- return function ()
56874
+ get: (function ()
57094
56875
  {
57095
- this .getAbsoluteExtents (min, max);
56876
+ const
56877
+ min = new Numbers_Vector3 (0, 0, 0),
56878
+ max = new Numbers_Vector3 (0, 0, 0);
57096
56879
 
57097
- return max .subtract (min);
57098
- };
57099
- })(),
57100
- enumerable: true,
57101
- configurable: false
57102
- });
56880
+ return function ()
56881
+ {
56882
+ this .getAbsoluteExtents (min, max);
57103
56883
 
57104
- Object .defineProperty (Box3 .prototype, "center",
57105
- {
57106
- get: function ()
56884
+ return max .subtract (min);
56885
+ };
56886
+ })(),
56887
+ enumerable: true,
56888
+ },
56889
+ center:
57107
56890
  {
57108
- return this .matrix .origin;
56891
+ get: function ()
56892
+ {
56893
+ return this .matrix .origin;
56894
+ },
56895
+ enumerable: true,
57109
56896
  },
57110
- enumerable: true,
57111
- configurable: false
57112
56897
  });
57113
56898
 
57114
56899
  const Box3_default_ = Box3;
@@ -58814,7 +58599,7 @@ BindableList .prototype = Object .assign (Object .create (Base_X3DBaseNode.proto
58814
58599
 
58815
58600
  for (const node of this .nodes)
58816
58601
  {
58817
- if (collectedNodes .indexOf (node) === -1)
58602
+ if (!collectedNodes .includes (node))
58818
58603
  removedNodes .push (node);
58819
58604
  }
58820
58605
 
@@ -62516,7 +62301,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
62516
62301
  x_ite_Namespace.set ("x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
62517
62302
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
62518
62303
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
62519
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(638);
62304
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(994);
62520
62305
  /*******************************************************************************
62521
62306
  *
62522
62307
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -63173,7 +62958,7 @@ X3DLayerNode .prototype = Object .assign (Object .create (Core_X3DNode.prototype
63173
62958
  {
63174
62959
  const
63175
62960
  viewpointNode = this .getViewpoint (),
63176
- bbox = this .getBBox (new Geometry_Box3 ()) .multRight (Numbers_Matrix4.inverse (viewpointNode .getModelMatrix ()));
62961
+ bbox = this .getBBox (new Geometry_Box3 ()) .multRight (viewpointNode .getModelMatrix () .copy () .inverse ());
63177
62962
 
63178
62963
  viewpointNode .lookAt (this, bbox .center, viewpointNode .getLookAtDistance (bbox), factor, straighten);
63179
62964
  },
@@ -65068,8 +64853,7 @@ X3DViewpointNode .prototype = Object .assign (Object .create (Core_X3DBindableNo
65068
64853
  lookAtPoint: function (layerNode, point, factor, straighten)
65069
64854
  {
65070
64855
  this .getCameraSpaceMatrix () .multVecMatrix (point);
65071
-
65072
- Numbers_Matrix4.inverse (this .getModelMatrix ()) .multVecMatrix (point);
64856
+ this .getModelMatrix () .copy () .inverse () .multVecMatrix (point);
65073
64857
 
65074
64858
  const minDistance = layerNode .getNavigationInfo () .getNearValue () * 2;
65075
64859
 
@@ -65077,7 +64861,7 @@ X3DViewpointNode .prototype = Object .assign (Object .create (Core_X3DBindableNo
65077
64861
  },
65078
64862
  lookAtBBox: function (layerNode, bbox, factor, straighten)
65079
64863
  {
65080
- bbox = bbox .copy () .multRight (Numbers_Matrix4.inverse (this .getModelMatrix ()));
64864
+ bbox = bbox .copy () .multRight (this .getModelMatrix () .copy () .inverse ());
65081
64865
 
65082
64866
  const minDistance = Math .max (layerNode .getNavigationInfo () .getNearValue () * 2, this .getLookAtDistance (bbox));
65083
64867
 
@@ -66856,7 +66640,7 @@ const X3DWorld_default_ = X3DWorld;
66856
66640
  x_ite_Namespace.set ("x_ite/Execution/X3DWorld", X3DWorld_default_);
66857
66641
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
66858
66642
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
66859
- /* provided dependency */ var FileLoader_$ = __webpack_require__(638);
66643
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(994);
66860
66644
  /*******************************************************************************
66861
66645
  *
66862
66646
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66923,13 +66707,13 @@ const foreign = {
66923
66707
 
66924
66708
  const defaultParameter = new x_ite_Fields.MFString ();
66925
66709
 
66926
- function FileLoader (node, external)
66710
+ function FileLoader (node)
66927
66711
  {
66928
66712
  Base_X3DObject.call (this);
66929
66713
 
66930
66714
  this .node = node;
66931
66715
  this .browser = node .getBrowser ();
66932
- this .external = external === undefined ? this .browser .isExternal () : external;
66716
+ this .external = this .browser .isExternal ();
66933
66717
  this .executionContext = this .external ? node .getExecutionContext () : this .browser .currentScene;
66934
66718
  this .target = "";
66935
66719
  this .url = [ ];
@@ -67612,42 +67396,114 @@ X3DExternProtoDeclaration .prototype = Object .assign (Object .create (Prototype
67612
67396
  for (const key of Reflect .ownKeys (X3DExternProtoDeclaration .prototype))
67613
67397
  Object .defineProperty (X3DExternProtoDeclaration .prototype, key, { enumerable: false });
67614
67398
 
67615
- Object .defineProperty (X3DExternProtoDeclaration .prototype, "name",
67399
+ Object .defineProperties (X3DExternProtoDeclaration .prototype,
67616
67400
  {
67617
- get: X3DExternProtoDeclaration .prototype .getName,
67618
- enumerable: true,
67401
+ name:
67402
+ {
67403
+ get: X3DExternProtoDeclaration .prototype .getName,
67404
+ enumerable: true,
67405
+ },
67406
+ fields:
67407
+ {
67408
+ get: X3DExternProtoDeclaration .prototype .getFieldDefinitions,
67409
+ enumerable: true,
67410
+ },
67411
+ isExternProto:
67412
+ {
67413
+ value: true,
67414
+ enumerable: true,
67415
+ },
67416
+ urls:
67417
+ {
67418
+ get: function () { return this ._url; },
67419
+ enumerable: true,
67420
+ },
67421
+ loadState:
67422
+ {
67423
+ get: X3DExternProtoDeclaration .prototype .checkLoadState,
67424
+ enumerable: true,
67425
+ },
67619
67426
  });
67620
67427
 
67621
- Object .defineProperty (X3DExternProtoDeclaration .prototype, "fields",
67622
- {
67623
- get: X3DExternProtoDeclaration .prototype .getFieldDefinitions,
67624
- enumerable: true,
67625
- });
67428
+ const X3DExternProtoDeclaration_default_ = X3DExternProtoDeclaration;
67429
+ ;
67430
+
67431
+ x_ite_Namespace.set ("x_ite/Prototype/X3DExternProtoDeclaration", X3DExternProtoDeclaration_default_);
67432
+ /* harmony default export */ const Prototype_X3DExternProtoDeclaration = (X3DExternProtoDeclaration_default_);
67433
+ ;// CONCATENATED MODULE: ./src/x_ite/Prototype/ExternProtoDeclarationArray.js
67434
+ /*******************************************************************************
67435
+ *
67436
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
67437
+ *
67438
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
67439
+ *
67440
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
67441
+ *
67442
+ * The copyright notice above does not evidence any actual of intended
67443
+ * publication of such source code, and is an unpublished work by create3000.
67444
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
67445
+ * create3000.
67446
+ *
67447
+ * No permission is granted to copy, distribute, or create derivative works from
67448
+ * the contents of this software, in whole or in part, without the prior written
67449
+ * permission of create3000.
67450
+ *
67451
+ * NON-MILITARY USE ONLY
67452
+ *
67453
+ * All create3000 software are effectively free software with a non-military use
67454
+ * restriction. It is free. Well commented source is provided. You may reuse the
67455
+ * source in any way you please with the exception anything that uses it must be
67456
+ * marked to indicate is contains 'non-military use only' components.
67457
+ *
67458
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
67459
+ *
67460
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
67461
+ *
67462
+ * This file is part of the X_ITE Project.
67463
+ *
67464
+ * X_ITE is free software: you can redistribute it and/or modify it under the
67465
+ * terms of the GNU General Public License version 3 only, as published by the
67466
+ * Free Software Foundation.
67467
+ *
67468
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
67469
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
67470
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
67471
+ * details (a copy is included in the LICENSE file that accompanied this code).
67472
+ *
67473
+ * You should have received a copy of the GNU General Public License version 3
67474
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
67475
+ * copy of the GPLv3 License.
67476
+ *
67477
+ * For Silvio, Joy and Adi.
67478
+ *
67479
+ ******************************************************************************/
67626
67480
 
67627
- Object .defineProperty (X3DExternProtoDeclaration .prototype, "isExternProto",
67628
- {
67629
- value: true,
67630
- enumerable: true,
67631
- });
67632
67481
 
67633
- Object .defineProperty (X3DExternProtoDeclaration .prototype, "urls",
67482
+
67483
+
67484
+ function ExternProtoDeclarationArray (values)
67634
67485
  {
67635
- get: function () { return this ._url; },
67636
- enumerable: true,
67637
- });
67486
+ return Base_X3DInfoArray.call (this, values, Prototype_X3DExternProtoDeclaration);
67487
+ }
67638
67488
 
67639
- Object .defineProperty (X3DExternProtoDeclaration .prototype, "loadState",
67489
+ ExternProtoDeclarationArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
67640
67490
  {
67641
- get: X3DExternProtoDeclaration .prototype .checkLoadState,
67642
- enumerable: true,
67491
+ constructor: ExternProtoDeclarationArray,
67492
+ getTypeName: function ()
67493
+ {
67494
+ return "ExternProtoDeclarationArray";
67495
+ },
67643
67496
  });
67644
67497
 
67645
- const X3DExternProtoDeclaration_default_ = X3DExternProtoDeclaration;
67498
+ for (const key of Reflect .ownKeys (ExternProtoDeclarationArray .prototype))
67499
+ Object .defineProperty (ExternProtoDeclarationArray .prototype, key, { enumerable: false });
67500
+
67501
+ const ExternProtoDeclarationArray_default_ = ExternProtoDeclarationArray;
67646
67502
  ;
67647
67503
 
67648
- x_ite_Namespace.set ("x_ite/Prototype/X3DExternProtoDeclaration", X3DExternProtoDeclaration_default_);
67649
- /* harmony default export */ const Prototype_X3DExternProtoDeclaration = (X3DExternProtoDeclaration_default_);
67650
- ;// CONCATENATED MODULE: ./src/x_ite/Routing/RouteArray.js
67504
+ x_ite_Namespace.set ("x_ite/Prototype/ExternProtoDeclarationArray", ExternProtoDeclarationArray_default_);
67505
+ /* harmony default export */ const Prototype_ExternProtoDeclarationArray = (ExternProtoDeclarationArray_default_);
67506
+ ;// CONCATENATED MODULE: ./src/x_ite/Prototype/ProtoDeclarationArray.js
67651
67507
  /*******************************************************************************
67652
67508
  *
67653
67509
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -67697,28 +67553,29 @@ x_ite_Namespace.set ("x_ite/Prototype/X3DExternProtoDeclaration", X3DExternProto
67697
67553
 
67698
67554
 
67699
67555
 
67700
- function RouteArray ()
67556
+
67557
+ function ProtoDeclarationArray (values)
67701
67558
  {
67702
- return Base_X3DInfoArray.call (this);
67559
+ return Base_X3DInfoArray.call (this, values, Prototype_X3DProtoDeclaration);
67703
67560
  }
67704
67561
 
67705
- RouteArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
67562
+ ProtoDeclarationArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
67706
67563
  {
67707
- constructor: RouteArray,
67564
+ constructor: ProtoDeclarationArray,
67708
67565
  getTypeName: function ()
67709
67566
  {
67710
- return "RouteArray";
67567
+ return "ProtoDeclarationArray";
67711
67568
  },
67712
67569
  });
67713
67570
 
67714
- for (const key of Reflect .ownKeys (RouteArray .prototype))
67715
- Object .defineProperty (RouteArray .prototype, key, { enumerable: false });
67571
+ for (const key of Reflect .ownKeys (ProtoDeclarationArray .prototype))
67572
+ Object .defineProperty (ProtoDeclarationArray .prototype, key, { enumerable: false });
67716
67573
 
67717
- const RouteArray_default_ = RouteArray;
67574
+ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
67718
67575
  ;
67719
67576
 
67720
- x_ite_Namespace.set ("x_ite/Routing/RouteArray", RouteArray_default_);
67721
- /* harmony default export */ const Routing_RouteArray = (RouteArray_default_);
67577
+ x_ite_Namespace.set ("x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
67578
+ /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
67722
67579
  ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
67723
67580
  /*******************************************************************************
67724
67581
  *
@@ -67798,6 +67655,7 @@ function X3DRoute (executionContext, sourceNode, sourceField, destinationNode, d
67798
67655
 
67799
67656
  X3DRoute .prototype = Object .assign (Object .create (Base_X3DObject.prototype),
67800
67657
  {
67658
+ constructor: X3DRoute,
67801
67659
  getTypeName: function ()
67802
67660
  {
67803
67661
  return "X3DRoute";
@@ -67982,40 +67840,40 @@ X3DRoute .prototype = Object .assign (Object .create (Base_X3DObject.prototype),
67982
67840
  for (const key of Reflect .ownKeys (X3DRoute .prototype))
67983
67841
  Object .defineProperty (X3DRoute .prototype, key, { enumerable: false });
67984
67842
 
67985
- Object .defineProperty (X3DRoute .prototype, "sourceNode",
67843
+ Object .defineProperties (X3DRoute .prototype,
67986
67844
  {
67987
- get: function ()
67845
+ sourceNode:
67988
67846
  {
67989
- return Fields_SFNodeCache.get (this [_sourceNode]);
67847
+ get: function ()
67848
+ {
67849
+ return Fields_SFNodeCache.get (this [_sourceNode]);
67850
+ },
67851
+ enumerable: true,
67990
67852
  },
67991
- enumerable: true,
67992
- });
67993
-
67994
- Object .defineProperty (X3DRoute .prototype, "sourceField",
67995
- {
67996
- get: function ()
67853
+ sourceField:
67997
67854
  {
67998
- return this [_sourceField] .getName ();
67855
+ get: function ()
67856
+ {
67857
+ return this [_sourceField] .getName ();
67858
+ },
67859
+ enumerable: true,
67999
67860
  },
68000
- enumerable: true,
68001
- });
68002
-
68003
- Object .defineProperty (X3DRoute .prototype, "destinationNode",
68004
- {
68005
- get: function ()
67861
+ destinationNode:
68006
67862
  {
68007
- return Fields_SFNodeCache.get (this [_destinationNode]);
67863
+ get: function ()
67864
+ {
67865
+ return Fields_SFNodeCache.get (this [_destinationNode]);
67866
+ },
67867
+ enumerable: true,
68008
67868
  },
68009
- enumerable: true,
68010
- });
68011
-
68012
- Object .defineProperty (X3DRoute .prototype, "destinationField",
68013
- {
68014
- get: function ()
67869
+ destinationField:
68015
67870
  {
68016
- return this [_destinationField] .getName ();
67871
+ get: function ()
67872
+ {
67873
+ return this [_destinationField] .getName ();
67874
+ },
67875
+ enumerable: true,
68017
67876
  },
68018
- enumerable: true,
68019
67877
  });
68020
67878
 
68021
67879
  const X3DRoute_default_ = X3DRoute;
@@ -68023,6 +67881,79 @@ const X3DRoute_default_ = X3DRoute;
68023
67881
 
68024
67882
  x_ite_Namespace.set ("x_ite/Routing/X3DRoute", X3DRoute_default_);
68025
67883
  /* harmony default export */ const Routing_X3DRoute = (X3DRoute_default_);
67884
+ ;// CONCATENATED MODULE: ./src/x_ite/Routing/RouteArray.js
67885
+ /*******************************************************************************
67886
+ *
67887
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
67888
+ *
67889
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
67890
+ *
67891
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
67892
+ *
67893
+ * The copyright notice above does not evidence any actual of intended
67894
+ * publication of such source code, and is an unpublished work by create3000.
67895
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
67896
+ * create3000.
67897
+ *
67898
+ * No permission is granted to copy, distribute, or create derivative works from
67899
+ * the contents of this software, in whole or in part, without the prior written
67900
+ * permission of create3000.
67901
+ *
67902
+ * NON-MILITARY USE ONLY
67903
+ *
67904
+ * All create3000 software are effectively free software with a non-military use
67905
+ * restriction. It is free. Well commented source is provided. You may reuse the
67906
+ * source in any way you please with the exception anything that uses it must be
67907
+ * marked to indicate is contains 'non-military use only' components.
67908
+ *
67909
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
67910
+ *
67911
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
67912
+ *
67913
+ * This file is part of the X_ITE Project.
67914
+ *
67915
+ * X_ITE is free software: you can redistribute it and/or modify it under the
67916
+ * terms of the GNU General Public License version 3 only, as published by the
67917
+ * Free Software Foundation.
67918
+ *
67919
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
67920
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
67921
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
67922
+ * details (a copy is included in the LICENSE file that accompanied this code).
67923
+ *
67924
+ * You should have received a copy of the GNU General Public License version 3
67925
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
67926
+ * copy of the GPLv3 License.
67927
+ *
67928
+ * For Silvio, Joy and Adi.
67929
+ *
67930
+ ******************************************************************************/
67931
+
67932
+
67933
+
67934
+
67935
+ function RouteArray (values)
67936
+ {
67937
+ return Base_X3DInfoArray.call (this, values, Routing_X3DRoute);
67938
+ }
67939
+
67940
+ RouteArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
67941
+ {
67942
+ constructor: RouteArray,
67943
+ getTypeName: function ()
67944
+ {
67945
+ return "RouteArray";
67946
+ },
67947
+ });
67948
+
67949
+ for (const key of Reflect .ownKeys (RouteArray .prototype))
67950
+ Object .defineProperty (RouteArray .prototype, key, { enumerable: false });
67951
+
67952
+ const RouteArray_default_ = RouteArray;
67953
+ ;
67954
+
67955
+ x_ite_Namespace.set ("x_ite/Routing/RouteArray", RouteArray_default_);
67956
+ /* harmony default export */ const Routing_RouteArray = (RouteArray_default_);
68026
67957
  ;// CONCATENATED MODULE: ./src/x_ite/Execution/X3DExecutionContext.js
68027
67958
  /*******************************************************************************
68028
67959
  *
@@ -68966,65 +68897,59 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68966
68897
  for (const key of Reflect .ownKeys (X3DExecutionContext .prototype))
68967
68898
  Object .defineProperty (X3DExecutionContext .prototype, key, { enumerable: false });
68968
68899
 
68969
- Object .defineProperty (X3DExecutionContext .prototype, "specificationVersion",
68900
+ Object .defineProperties (X3DExecutionContext .prototype,
68970
68901
  {
68971
- get: X3DExecutionContext .prototype .getSpecificationVersion,
68972
- enumerable: true,
68973
- });
68974
-
68975
- Object .defineProperty (X3DExecutionContext .prototype, "encoding",
68976
- {
68977
- get: X3DExecutionContext .prototype .getEncoding,
68978
- enumerable: true,
68979
- });
68980
-
68981
- Object .defineProperty (X3DExecutionContext .prototype, "profile",
68982
- {
68983
- get: X3DExecutionContext .prototype .getProfile,
68984
- enumerable: true,
68985
- });
68986
-
68987
- Object .defineProperty (X3DExecutionContext .prototype, "components",
68988
- {
68989
- get: X3DExecutionContext .prototype .getComponents,
68990
- enumerable: true,
68991
- });
68992
-
68993
- Object .defineProperty (X3DExecutionContext .prototype, "worldURL",
68994
- {
68995
- get: X3DExecutionContext .prototype .getWorldURL,
68996
- enumerable: true,
68997
- });
68998
-
68999
- Object .defineProperty (X3DExecutionContext .prototype, "units",
69000
- {
69001
- get: X3DExecutionContext .prototype .getUnits,
69002
- enumerable: true,
69003
- });
69004
-
69005
- Object .defineProperty (X3DExecutionContext .prototype, "rootNodes",
69006
- {
69007
- get: X3DExecutionContext .prototype .getRootNodes,
69008
- set: X3DExecutionContext .prototype .setRootNodes,
69009
- enumerable: true,
69010
- });
69011
-
69012
- Object .defineProperty (X3DExecutionContext .prototype, "protos",
69013
- {
69014
- get: X3DExecutionContext .prototype .getProtoDeclarations,
69015
- enumerable: true,
69016
- });
69017
-
69018
- Object .defineProperty (X3DExecutionContext .prototype, "externprotos",
69019
- {
69020
- get: X3DExecutionContext .prototype .getExternProtoDeclarations,
69021
- enumerable: true,
69022
- });
69023
-
69024
- Object .defineProperty (X3DExecutionContext .prototype, "routes",
69025
- {
69026
- get: X3DExecutionContext .prototype .getRoutes,
69027
- enumerable: true,
68902
+ specificationVersion:
68903
+ {
68904
+ get: X3DExecutionContext .prototype .getSpecificationVersion,
68905
+ enumerable: true,
68906
+ },
68907
+ encoding:
68908
+ {
68909
+ get: X3DExecutionContext .prototype .getEncoding,
68910
+ enumerable: true,
68911
+ },
68912
+ profile:
68913
+ {
68914
+ get: X3DExecutionContext .prototype .getProfile,
68915
+ enumerable: true,
68916
+ },
68917
+ components:
68918
+ {
68919
+ get: X3DExecutionContext .prototype .getComponents,
68920
+ enumerable: true,
68921
+ },
68922
+ worldURL:
68923
+ {
68924
+ get: X3DExecutionContext .prototype .getWorldURL,
68925
+ enumerable: true,
68926
+ },
68927
+ units:
68928
+ {
68929
+ get: X3DExecutionContext .prototype .getUnits,
68930
+ enumerable: true,
68931
+ },
68932
+ rootNodes:
68933
+ {
68934
+ get: X3DExecutionContext .prototype .getRootNodes,
68935
+ set: X3DExecutionContext .prototype .setRootNodes,
68936
+ enumerable: true,
68937
+ },
68938
+ protos:
68939
+ {
68940
+ get: X3DExecutionContext .prototype .getProtoDeclarations,
68941
+ enumerable: true,
68942
+ },
68943
+ externprotos:
68944
+ {
68945
+ get: X3DExecutionContext .prototype .getExternProtoDeclarations,
68946
+ enumerable: true,
68947
+ },
68948
+ routes:
68949
+ {
68950
+ get: X3DExecutionContext .prototype .getRoutes,
68951
+ enumerable: true,
68952
+ },
69028
68953
  });
69029
68954
 
69030
68955
  const X3DExecutionContext_default_ = X3DExecutionContext;
@@ -69223,7 +69148,7 @@ x_ite_Namespace.set ("x_ite/Configuration/ComponentInfo", ComponentInfo_default_
69223
69148
 
69224
69149
  function ComponentInfoArray (values)
69225
69150
  {
69226
- return Base_X3DInfoArray.call (this, values);
69151
+ return Base_X3DInfoArray.call (this, values, Configuration_ComponentInfo);
69227
69152
  }
69228
69153
 
69229
69154
  ComponentInfoArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
@@ -69456,9 +69381,23 @@ x_ite_Namespace.set ("x_ite/Configuration/UnitInfo", UnitInfo_default_);
69456
69381
 
69457
69382
 
69458
69383
 
69384
+
69459
69385
  function UnitInfoArray (values)
69460
69386
  {
69461
- return Base_X3DInfoArray.call (this, values);
69387
+ const proxy = Base_X3DInfoArray.call (this);
69388
+
69389
+ if (values)
69390
+ {
69391
+ for (const value of values)
69392
+ {
69393
+ if (!(value instanceof Configuration_UnitInfo))
69394
+ throw new TypeError (`Wrong type in construction of ${this .getTypeName ()}.`);
69395
+
69396
+ this .add (value .category, value);
69397
+ }
69398
+ }
69399
+
69400
+ return proxy;
69462
69401
  }
69463
69402
 
69464
69403
  UnitInfoArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
@@ -69651,22 +69590,24 @@ X3DExportedNode .prototype = Object .assign (Object .create (Base_X3DObject.prot
69651
69590
  for (const key of Reflect .ownKeys (X3DExportedNode .prototype))
69652
69591
  Object .defineProperty (X3DExportedNode .prototype, key, { enumerable: false });
69653
69592
 
69654
- Object .defineProperty (X3DExportedNode .prototype, "exportedName",
69593
+ Object .defineProperties (X3DExportedNode .prototype,
69655
69594
  {
69656
- get: function ()
69595
+ exportedName:
69657
69596
  {
69658
- return Fields_SFNodeCache.get (this [X3DExportedNode_exportedName]);
69597
+ get: function ()
69598
+ {
69599
+ return Fields_SFNodeCache.get (this [X3DExportedNode_exportedName]);
69600
+ },
69601
+ enumerable: true,
69659
69602
  },
69660
- enumerable: true,
69661
- });
69662
-
69663
- Object .defineProperty (X3DExportedNode .prototype, "localNode",
69664
- {
69665
- get: function ()
69603
+ localNode:
69666
69604
  {
69667
- return Fields_SFNodeCache.get (this [_localNode]);
69605
+ get: function ()
69606
+ {
69607
+ return Fields_SFNodeCache.get (this [_localNode]);
69608
+ },
69609
+ enumerable: true,
69668
69610
  },
69669
- enumerable: true,
69670
69611
  });
69671
69612
 
69672
69613
  const X3DExportedNode_default_ = X3DExportedNode;
@@ -69724,9 +69665,10 @@ x_ite_Namespace.set ("x_ite/Execution/X3DExportedNode", X3DExportedNode_default_
69724
69665
 
69725
69666
 
69726
69667
 
69727
- function ExportedNodesArray (array)
69668
+
69669
+ function ExportedNodesArray (values)
69728
69670
  {
69729
- return Base_X3DInfoArray.call (this, array);
69671
+ return Base_X3DInfoArray.call (this, values, Execution_X3DExportedNode);
69730
69672
  }
69731
69673
 
69732
69674
  ExportedNodesArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
@@ -69810,6 +69752,7 @@ x_ite_Namespace.set ("x_ite/Execution/ExportedNodesArray", ExportedNodesArray_de
69810
69752
  Configuration_SupportedNodes.addAbstractType ("X3DScene", X3DScene);
69811
69753
 
69812
69754
  const
69755
+ X3DScene_browser = Symbol .for ("X_ITE.X3DEventObject.browser"),
69813
69756
  _specificationVersion = Symbol (),
69814
69757
  _encoding = Symbol (),
69815
69758
  _profile = Symbol (),
@@ -69817,13 +69760,16 @@ const
69817
69760
  _worldURL = Symbol (),
69818
69761
  _units = Symbol (),
69819
69762
  _metadata = Symbol (),
69820
- _exportedNodes = Symbol ();
69763
+ _exportedNodes = Symbol (),
69764
+ _loadingObjects = Symbol ();
69821
69765
 
69822
- const LATEST_VERSION = "4.0";
69766
+ const X3D_LATEST_VERSION = "4.0";
69823
69767
 
69824
- function X3DScene (executionContext)
69768
+ function X3DScene (browser)
69825
69769
  {
69826
- Execution_X3DExecutionContext.call (this, executionContext);
69770
+ this [X3DScene_browser] = browser;
69771
+
69772
+ Execution_X3DExecutionContext.call (this, this);
69827
69773
 
69828
69774
  this .addType (Base_X3DConstants.X3DScene)
69829
69775
 
@@ -69831,9 +69777,11 @@ function X3DScene (executionContext)
69831
69777
  "components_changed", new x_ite_Fields.SFTime (),
69832
69778
  "units_changed", new x_ite_Fields.SFTime (),
69833
69779
  "metadata_changed", new x_ite_Fields.SFTime (),
69834
- "exportedNodes_changed", new x_ite_Fields.SFTime ())
69780
+ "exportedNodes_changed", new x_ite_Fields.SFTime (),
69781
+ "initLoadCount", new x_ite_Fields.SFInt32 (),
69782
+ "loadCount", new x_ite_Fields.SFInt32 ())
69835
69783
 
69836
- this [_specificationVersion] = LATEST_VERSION;
69784
+ this [_specificationVersion] = X3D_LATEST_VERSION;
69837
69785
  this [_encoding] = "SCRIPTED";
69838
69786
  this [_profile] = null;
69839
69787
  this [_components] = new Configuration_ComponentInfoArray ([ ]);
@@ -69845,8 +69793,9 @@ function X3DScene (executionContext)
69845
69793
  this [_units] .add ("length", new Configuration_UnitInfo ("length", "metre", 1));
69846
69794
  this [_units] .add ("mass", new Configuration_UnitInfo ("mass", "kilogram", 1));
69847
69795
 
69848
- this [_metadata] = new Map ();
69849
- this [_exportedNodes] = new Execution_ExportedNodesArray ();
69796
+ this [_metadata] = new Map ();
69797
+ this [_exportedNodes] = new Execution_ExportedNodesArray ();
69798
+ this [_loadingObjects] = new Set ();
69850
69799
 
69851
69800
  this .getRootNodes () .setAccessType (Base_X3DConstants.inputOutput);
69852
69801
 
@@ -70004,7 +69953,7 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70004
69953
  if (!name .length)
70005
69954
  throw new Error ("Couldn't add metadata: name is empty.");
70006
69955
 
70007
- if (! Array .isArray (values))
69956
+ if (!Array .isArray (values))
70008
69957
  values = [String (values)];
70009
69958
 
70010
69959
  if (!values .length)
@@ -70044,7 +69993,7 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70044
69993
  const values = this [_metadata] .get (name);
70045
69994
 
70046
69995
  if (values)
70047
- return values .slice ();
69996
+ return Array .from (values);
70048
69997
 
70049
69998
  return undefined;
70050
69999
  },
@@ -70147,7 +70096,7 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70147
70096
  {
70148
70097
  generator .string += generator .Indent ();
70149
70098
  generator .string += "#X3D V";
70150
- generator .string += LATEST_VERSION;
70099
+ generator .string += X3D_LATEST_VERSION;
70151
70100
  generator .string += generator .Space ();
70152
70101
  generator .string += "utf8";
70153
70102
  generator .string += generator .Space ();
@@ -70239,9 +70188,9 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70239
70188
  generator .string += generator .TidyBreak ();
70240
70189
  generator .string += generator .Indent ();
70241
70190
  generator .string += "<!DOCTYPE X3D PUBLIC \"ISO//Web3D//DTD X3D ";
70242
- generator .string += LATEST_VERSION;
70191
+ generator .string += X3D_LATEST_VERSION;
70243
70192
  generator .string += "//EN\" \"http://www.web3d.org/specifications/x3d-";
70244
- generator .string += LATEST_VERSION;
70193
+ generator .string += X3D_LATEST_VERSION;
70245
70194
  generator .string += ".dtd\">";
70246
70195
  generator .string += generator .TidyBreak ();
70247
70196
  }
@@ -70254,13 +70203,13 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70254
70203
  generator .string += "'";
70255
70204
  generator .string += generator .Space ();
70256
70205
  generator .string += "version='";
70257
- generator .string += LATEST_VERSION;
70206
+ generator .string += X3D_LATEST_VERSION;
70258
70207
  generator .string += "'";
70259
70208
  generator .string += generator .Space ();
70260
70209
  generator .string += "xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance'";
70261
70210
  generator .string += generator .Space ();
70262
70211
  generator .string += "xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-";
70263
- generator .string += LATEST_VERSION;
70212
+ generator .string += X3D_LATEST_VERSION;
70264
70213
  generator .string += ".xsd'>";
70265
70214
  generator .string += generator .TidyBreak ();
70266
70215
 
@@ -70420,7 +70369,7 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70420
70369
  generator .string += ':';
70421
70370
  generator .string += generator .TidySpace ();
70422
70371
  generator .string += '"';
70423
- generator .string += LATEST_VERSION;
70372
+ generator .string += X3D_LATEST_VERSION;
70424
70373
  generator .string += '"';
70425
70374
  generator .string += ',';
70426
70375
  generator .string += generator .TidyBreak ();
@@ -70436,7 +70385,7 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70436
70385
  generator .string += generator .TidySpace ();
70437
70386
  generator .string += '"';
70438
70387
  generator .string += "http://www.web3d.org/specifications/x3d-";
70439
- generator .string += LATEST_VERSION;
70388
+ generator .string += X3D_LATEST_VERSION;
70440
70389
  generator .string += ".xsd";
70441
70390
  generator .string += '"';
70442
70391
  generator .string += ',';
@@ -70453,7 +70402,7 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70453
70402
  generator .string += generator .TidySpace ();
70454
70403
  generator .string += '"';
70455
70404
  generator .string += "http://www.web3d.org/specifications/x3d-";
70456
- generator .string += LATEST_VERSION;
70405
+ generator .string += X3D_LATEST_VERSION;
70457
70406
  generator .string += "-JSONSchema.json";
70458
70407
  generator .string += '"';
70459
70408
  generator .string += ',';
@@ -70707,132 +70656,11 @@ X3DScene .prototype = Object .assign (Object .create (Execution_X3DExecutionCont
70707
70656
  generator .string += generator .Indent ();
70708
70657
  generator .string += '}';
70709
70658
  },
70710
- });
70711
-
70712
- for (const key of Reflect .ownKeys (X3DScene .prototype))
70713
- Object .defineProperty (X3DScene .prototype, key, { enumerable: false });
70714
-
70715
- Object .defineProperty (X3DScene .prototype, "specificationVersion",
70716
- {
70717
- get: X3DScene .prototype .getSpecificationVersion,
70718
- enumerable: true,
70719
- });
70720
-
70721
- Object .defineProperty (X3DScene .prototype, "encoding",
70722
- {
70723
- get: X3DScene .prototype .getEncoding,
70724
- enumerable: true,
70725
- });
70726
-
70727
- Object .defineProperty (X3DScene .prototype, "profile",
70728
- {
70729
- get: X3DScene .prototype .getProfile,
70730
- enumerable: true,
70731
- });
70732
-
70733
- Object .defineProperty (X3DScene .prototype, "components",
70734
- {
70735
- get: X3DScene .prototype .getComponents,
70736
- enumerable: true,
70737
- });
70738
-
70739
- Object .defineProperty (X3DScene .prototype, "worldURL",
70740
- {
70741
- get: X3DScene .prototype .getWorldURL,
70742
- enumerable: true,
70743
- });
70744
-
70745
- Object .defineProperty (X3DScene .prototype, "units",
70746
- {
70747
- get: X3DScene .prototype .getUnits,
70748
- enumerable: true,
70749
- });
70750
-
70751
- Object .defineProperty (X3DScene .prototype, "rootNodes",
70752
- {
70753
- get: X3DScene .prototype .getRootNodes,
70754
- set: X3DScene .prototype .setRootNodes,
70755
- enumerable: true,
70756
- });
70757
-
70758
- const X3DScene_default_ = X3DScene;
70759
- ;
70760
-
70761
- x_ite_Namespace.set ("x_ite/Execution/X3DScene", X3DScene_default_);
70762
- /* harmony default export */ const Execution_X3DScene = (X3DScene_default_);
70763
- ;// CONCATENATED MODULE: ./src/x_ite/Execution/Scene.js
70764
- /*******************************************************************************
70765
- *
70766
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
70767
- *
70768
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
70769
- *
70770
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
70771
- *
70772
- * The copyright notice above does not evidence any actual of intended
70773
- * publication of such source code, and is an unpublished work by create3000.
70774
- * This material contains CONFIDENTIAL INFORMATION that is the property of
70775
- * create3000.
70776
- *
70777
- * No permission is granted to copy, distribute, or create derivative works from
70778
- * the contents of this software, in whole or in part, without the prior written
70779
- * permission of create3000.
70780
- *
70781
- * NON-MILITARY USE ONLY
70782
- *
70783
- * All create3000 software are effectively free software with a non-military use
70784
- * restriction. It is free. Well commented source is provided. You may reuse the
70785
- * source in any way you please with the exception anything that uses it must be
70786
- * marked to indicate is contains 'non-military use only' components.
70787
- *
70788
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
70789
- *
70790
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
70791
- *
70792
- * This file is part of the X_ITE Project.
70793
- *
70794
- * X_ITE is free software: you can redistribute it and/or modify it under the
70795
- * terms of the GNU General Public License version 3 only, as published by the
70796
- * Free Software Foundation.
70797
- *
70798
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
70799
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
70800
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
70801
- * details (a copy is included in the LICENSE file that accompanied this code).
70802
- *
70803
- * You should have received a copy of the GNU General Public License version 3
70804
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
70805
- * copy of the GPLv3 License.
70806
- *
70807
- * For Silvio, Joy and Adi.
70808
- *
70809
- ******************************************************************************/
70810
-
70811
-
70812
-
70813
-
70814
- const
70815
- Scene_browser = Symbol .for ("X_ITE.X3DEventObject.browser"),
70816
- _loadingObjects = Symbol ();
70817
-
70818
- function Scene (browser)
70659
+ },
70819
70660
  {
70820
- this [Scene_browser] = browser;
70821
-
70822
- Execution_X3DScene.call (this, this);
70823
-
70824
- this .addChildObjects ("initLoadCount", new x_ite_Fields.SFInt32 (), // Pre load count, must be zero before the scene can be passed to the requester.
70825
- "loadCount", new x_ite_Fields.SFInt32 ()); // Load count of all X3DUrlObjects.
70826
-
70827
- this [_loadingObjects] = new Set ();
70828
- }
70829
-
70830
- Scene .prototype = Object .assign (Object .create (Execution_X3DScene.prototype),
70831
- {
70832
- constructor: Scene,
70833
70661
  setExecutionContext: function (value)
70834
70662
  {
70835
- if (! this .isMainScene ())
70663
+ if (!this .isMainScene ())
70836
70664
  {
70837
70665
  const scene = this .getScene ();
70838
70666
 
@@ -70840,9 +70668,9 @@ Scene .prototype = Object .assign (Object .create (Execution_X3DScene.prototype)
70840
70668
  scene .removeLoadingObject (object);
70841
70669
  }
70842
70670
 
70843
- Execution_X3DScene.prototype.setExecutionContext.call (this, value);
70671
+ Execution_X3DExecutionContext.prototype.setExecutionContext.call (this, value);
70844
70672
 
70845
- if (! this .isMainScene ())
70673
+ if (!this .isMainScene ())
70846
70674
  {
70847
70675
  const scene = this .getScene ();
70848
70676
 
@@ -70878,7 +70706,7 @@ Scene .prototype = Object .assign (Object .create (Execution_X3DScene.prototype)
70878
70706
  if (this === browser .getExecutionContext () || this .loader === browser .loader)
70879
70707
  browser .addLoadingObject (node);
70880
70708
 
70881
- if (! this .isMainScene ())
70709
+ if (!this .isMainScene ())
70882
70710
  scene .addLoadingObject (node);
70883
70711
  },
70884
70712
  removeLoadingObject: function (node)
@@ -70897,19 +70725,59 @@ Scene .prototype = Object .assign (Object .create (Execution_X3DScene.prototype)
70897
70725
  if (this === browser .getExecutionContext () || this .loader === browser .loader)
70898
70726
  browser .removeLoadingObject (node);
70899
70727
 
70900
- if (! this .isMainScene ())
70728
+ if (!this .isMainScene ())
70901
70729
  scene .removeLoadingObject (node);
70902
70730
  },
70903
70731
  });
70904
70732
 
70905
- for (const key of Reflect .ownKeys (Scene .prototype))
70906
- Object .defineProperty (Scene .prototype, key, { enumerable: false });
70733
+ for (const key of Reflect .ownKeys (X3DScene .prototype))
70734
+ Object .defineProperty (X3DScene .prototype, key, { enumerable: false });
70907
70735
 
70908
- const Scene_default_ = Scene;
70736
+ Object .defineProperties (X3DScene .prototype,
70737
+ {
70738
+ specificationVersion:
70739
+ {
70740
+ get: X3DScene .prototype .getSpecificationVersion,
70741
+ enumerable: true,
70742
+ },
70743
+ encoding:
70744
+ {
70745
+ get: X3DScene .prototype .getEncoding,
70746
+ enumerable: true,
70747
+ },
70748
+ profile:
70749
+ {
70750
+ get: X3DScene .prototype .getProfile,
70751
+ enumerable: true,
70752
+ },
70753
+ components:
70754
+ {
70755
+ get: X3DScene .prototype .getComponents,
70756
+ enumerable: true,
70757
+ },
70758
+ worldURL:
70759
+ {
70760
+ get: X3DScene .prototype .getWorldURL,
70761
+ enumerable: true,
70762
+ },
70763
+ units:
70764
+ {
70765
+ get: X3DScene .prototype .getUnits,
70766
+ enumerable: true,
70767
+ },
70768
+ rootNodes:
70769
+ {
70770
+ get: X3DScene .prototype .getRootNodes,
70771
+ set: X3DScene .prototype .setRootNodes,
70772
+ enumerable: true,
70773
+ },
70774
+ });
70775
+
70776
+ const X3DScene_default_ = X3DScene;
70909
70777
  ;
70910
70778
 
70911
- x_ite_Namespace.set ("x_ite/Execution/Scene", Scene_default_);
70912
- /* harmony default export */ const Execution_Scene = (Scene_default_);
70779
+ x_ite_Namespace.set ("x_ite/Execution/X3DScene", X3DScene_default_);
70780
+ /* harmony default export */ const Execution_X3DScene = (X3DScene_default_);
70913
70781
  ;// CONCATENATED MODULE: ./src/standard/Utility/DataStorage.js
70914
70782
  /*******************************************************************************
70915
70783
  *
@@ -71048,7 +70916,7 @@ const DataStorage_default_ = DataStorage;
71048
70916
  x_ite_Namespace.set ("standard/Utility/DataStorage", DataStorage_default_);
71049
70917
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
71050
70918
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
71051
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(638);
70919
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(994);
71052
70920
  /*******************************************************************************
71053
70921
  *
71054
70922
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -71321,9 +71189,9 @@ X3DCoreContext .prototype =
71321
71189
  if (this [_privateScene])
71322
71190
  return this [_privateScene];
71323
71191
 
71324
- // Scene for default nodes.
71192
+ // X3DScene for default nodes.
71325
71193
 
71326
- this [_privateScene] = new Execution_Scene (this);
71194
+ this [_privateScene] = new Execution_X3DScene (this);
71327
71195
 
71328
71196
  this [_privateScene] .setPrivate (true);
71329
71197
  this [_privateScene] .setLive (true);
@@ -77173,8 +77041,8 @@ const OrientationChaser_default_ = OrientationChaser;
77173
77041
  x_ite_Namespace.set ("x_ite/Components/Followers/OrientationChaser", OrientationChaser_default_);
77174
77042
  /* harmony default export */ const Followers_OrientationChaser = (OrientationChaser_default_);
77175
77043
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
77176
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(138);
77177
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(638);
77044
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(6);
77045
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(994);
77178
77046
  /*******************************************************************************
77179
77047
  *
77180
77048
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -78038,8 +77906,8 @@ const ExamineViewer_default_ = ExamineViewer;
78038
77906
  x_ite_Namespace.set ("x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
78039
77907
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
78040
77908
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
78041
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(138);
78042
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(638);
77909
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(6);
77910
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(994);
78043
77911
  /*******************************************************************************
78044
77912
  *
78045
77913
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -78987,8 +78855,8 @@ const FlyViewer_default_ = FlyViewer;
78987
78855
  x_ite_Namespace.set ("x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
78988
78856
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
78989
78857
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
78990
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(138);
78991
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(638);
78858
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(6);
78859
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(994);
78992
78860
  /*******************************************************************************
78993
78861
  *
78994
78862
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -79297,8 +79165,8 @@ const NoneViewer_default_ = NoneViewer;
79297
79165
  x_ite_Namespace.set ("x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
79298
79166
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
79299
79167
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
79300
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(138);
79301
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(638);
79168
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(6);
79169
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(994);
79302
79170
  /*******************************************************************************
79303
79171
  *
79304
79172
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -80930,8 +80798,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
80930
80798
  x_ite_Namespace.set ("x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
80931
80799
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
80932
80800
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
80933
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(138);
80934
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(638);
80801
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(6);
80802
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(994);
80935
80803
  /*******************************************************************************
80936
80804
  *
80937
80805
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -81969,8 +81837,8 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
81969
81837
  x_ite_Namespace.set ("x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
81970
81838
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
81971
81839
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
81972
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(638);
81973
- /* provided dependency */ var ResizeSensor = __webpack_require__(675);
81840
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(994);
81841
+ /* provided dependency */ var ResizeSensor = __webpack_require__(822);
81974
81842
  /*******************************************************************************
81975
81843
  *
81976
81844
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -87863,7 +87731,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
87863
87731
  x_ite_Namespace.set ("x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
87864
87732
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
87865
87733
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
87866
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(638);
87734
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(994);
87867
87735
  /*******************************************************************************
87868
87736
  *
87869
87737
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -90640,7 +90508,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
90640
90508
  x_ite_Namespace.set ("x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
90641
90509
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
90642
90510
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
90643
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(638);
90511
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(994);
90644
90512
  /*******************************************************************************
90645
90513
  *
90646
90514
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -93895,14 +93763,14 @@ function X3DBrowserContext (element)
93895
93763
  "displayEvents", new Fields_SFTime (),
93896
93764
  "finishedEvents", new Fields_SFTime ());
93897
93765
 
93898
- this [_changedTime] = 0;
93899
- this [_previousTime] = 0;
93900
- this [_renderCallback] = this [_traverse] .bind (this);
93901
- this [_systemTime] = new Time_StopWatch ();
93902
- this [_browserTime] = new Time_StopWatch ();
93903
- this [_cameraTime] = new Time_StopWatch ();
93904
- this [_collisionTime] = new Time_StopWatch ();
93905
- this [_displayTime] = new Time_StopWatch ();
93766
+ this [_changedTime] = 0;
93767
+ this [_previousTime] = 0;
93768
+ this [_renderCallback] = this [_traverse] .bind (this);
93769
+ this [_systemTime] = new Time_StopWatch ();
93770
+ this [_browserTime] = new Time_StopWatch ();
93771
+ this [_cameraTime] = new Time_StopWatch ();
93772
+ this [_collisionTime] = new Time_StopWatch ();
93773
+ this [_displayTime] = new Time_StopWatch ();
93906
93774
  };
93907
93775
 
93908
93776
  X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.prototype),
@@ -113052,7 +112920,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
113052
112920
  x_ite_Namespace.set ("x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
113053
112921
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
113054
112922
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
113055
- /* provided dependency */ var AudioClip_$ = __webpack_require__(638);
112923
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(994);
113056
112924
  /*******************************************************************************
113057
112925
  *
113058
112926
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115951,8 +115819,8 @@ const GIFMedia_default_ = GifMedia;
115951
115819
  x_ite_Namespace.set ("x_ite/Browser/Texturing/GIFMedia", GIFMedia_default_);
115952
115820
  /* harmony default export */ const GIFMedia = (GIFMedia_default_);
115953
115821
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
115954
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(638);
115955
- /* provided dependency */ var SuperGif = __webpack_require__(252);
115822
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(994);
115823
+ /* provided dependency */ var SuperGif = __webpack_require__(361);
115956
115824
  /*******************************************************************************
115957
115825
  *
115958
115826
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116915,7 +116783,7 @@ const MultiTextureTransform_default_ = MultiTextureTransform;
116915
116783
  x_ite_Namespace.set ("x_ite/Components/Texturing/MultiTextureTransform", MultiTextureTransform_default_);
116916
116784
  /* harmony default export */ const Texturing_MultiTextureTransform = (MultiTextureTransform_default_);
116917
116785
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/PixelTexture.js
116918
- /* provided dependency */ var PixelTexture_$ = __webpack_require__(638);
116786
+ /* provided dependency */ var PixelTexture_$ = __webpack_require__(994);
116919
116787
  /*******************************************************************************
116920
116788
  *
116921
116789
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117626,7 +117494,7 @@ const Components_default_ = Components;
117626
117494
  x_ite_Namespace.set ("x_ite/Components", Components_default_);
117627
117495
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
117628
117496
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
117629
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(638);
117497
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(994);
117630
117498
  /*******************************************************************************
117631
117499
  * MIT License
117632
117500
  *
@@ -118239,7 +118107,7 @@ x_ite_Namespace.set ("x_ite/Configuration/ProfileInfo", ProfileInfo_default_);
118239
118107
 
118240
118108
  function ProfileInfoArray (values)
118241
118109
  {
118242
- return Base_X3DInfoArray.call (this, values);
118110
+ return Base_X3DInfoArray.call (this, values, Base_X3DInfoArray);
118243
118111
  }
118244
118112
 
118245
118113
  ProfileInfoArray .prototype = Object .assign (Object .create (Base_X3DInfoArray.prototype),
@@ -118867,7 +118735,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
118867
118735
  x_ite_Namespace.set ("x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
118868
118736
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
118869
118737
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
118870
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(638);
118738
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(994);
118871
118739
  /*******************************************************************************
118872
118740
  *
118873
118741
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118936,7 +118804,6 @@ x_ite_Namespace.set ("x_ite/Configuration/SupportedProfiles", SupportedProfiles_
118936
118804
 
118937
118805
 
118938
118806
 
118939
-
118940
118807
 
118941
118808
 
118942
118809
  const
@@ -119086,9 +118953,9 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119086
118953
  },
119087
118954
  loadComponents: (function ()
119088
118955
  {
119089
- function loadComponents (browser, components, seen)
118956
+ function loadComponents (browser, componentNames, seen)
119090
118957
  {
119091
- return Promise .all (components .map (name => loadComponent (browser, name, seen)))
118958
+ return Promise .all (componentNames .map (name => loadComponent (browser, name, seen)))
119092
118959
  }
119093
118960
 
119094
118961
  async function loadComponent (browser, name, seen)
@@ -119114,7 +118981,7 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119114
118981
  return this .loadComponents (argument .components);
119115
118982
 
119116
118983
  if (argument instanceof Configuration_ComponentInfoArray)
119117
- return this .loadComponents (argument .map (({name}) => name));
118984
+ return this .loadComponents ([... argument] .map (({name}) => name));
119118
118985
 
119119
118986
  if (argument instanceof Configuration_ComponentInfo)
119120
118987
  return this .loadComponents ([argument .name]);
@@ -119133,7 +119000,7 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119133
119000
  },
119134
119001
  createScene: function (profile, component1 /*, ...*/)
119135
119002
  {
119136
- const scene = new Execution_Scene (this);
119003
+ const scene = new Execution_X3DScene (this);
119137
119004
 
119138
119005
  if (arguments .length)
119139
119006
  {
@@ -119719,75 +119586,69 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119719
119586
  for (const key of Reflect .ownKeys (X3DBrowser .prototype))
119720
119587
  Object .defineProperty (X3DBrowser .prototype, key, { enumerable: false });
119721
119588
 
119722
- Object .defineProperty (X3DBrowser .prototype, "name",
119589
+ Object .defineProperties (X3DBrowser .prototype,
119723
119590
  {
119724
- get: X3DBrowser .prototype .getName,
119725
- enumerable: true,
119726
- });
119727
-
119728
- Object .defineProperty (X3DBrowser .prototype, "version",
119729
- {
119730
- get: X3DBrowser .prototype .getVersion,
119731
- enumerable: true,
119732
- });
119733
-
119734
- Object .defineProperty (X3DBrowser .prototype, "providerUrl",
119735
- {
119736
- get: X3DBrowser .prototype .getProviderUrl,
119737
- enumerable: true,
119738
- });
119739
-
119740
- Object .defineProperty (X3DBrowser .prototype, "currentFrameRate",
119741
- {
119742
- get: X3DBrowser .prototype .getCurrentFrameRate,
119743
- enumerable: true,
119744
- });
119745
-
119746
- Object .defineProperty (X3DBrowser .prototype, "currentSpeed",
119747
- {
119748
- get: X3DBrowser .prototype .getCurrentSpeed,
119749
- enumerable: true,
119750
- });
119751
-
119752
- Object .defineProperty (X3DBrowser .prototype, "description",
119753
- {
119754
- get: X3DBrowser .prototype .getDescription,
119755
- set: X3DBrowser .prototype .setDescription,
119756
- enumerable: true,
119757
- });
119758
-
119759
- Object .defineProperty (X3DBrowser .prototype, "baseURL",
119760
- {
119761
- get: X3DBrowser .prototype .getBaseURL,
119762
- set: X3DBrowser .prototype .setBaseURL,
119763
- enumerable: true,
119764
- });
119765
-
119766
- Object .defineProperty (X3DBrowser .prototype, "currentScene",
119767
- {
119768
- get: function ()
119591
+ name:
119769
119592
  {
119770
- return this .getScriptStack () .at (-1) .getExecutionContext ();
119593
+ get: X3DBrowser .prototype .getName,
119594
+ enumerable: true,
119771
119595
  },
119772
- enumerable: true,
119773
- });
119774
-
119775
- Object .defineProperty (X3DBrowser .prototype, "supportedProfiles",
119776
- {
119777
- get: function ()
119596
+ version:
119778
119597
  {
119779
- return Configuration_SupportedProfiles;
119598
+ get: X3DBrowser .prototype .getVersion,
119599
+ enumerable: true,
119780
119600
  },
119781
- enumerable: true,
119782
- });
119783
-
119784
- Object .defineProperty (X3DBrowser .prototype, "supportedComponents",
119785
- {
119786
- get: function ()
119601
+ providerUrl:
119787
119602
  {
119788
- return Configuration_SupportedComponents;
119603
+ get: X3DBrowser .prototype .getProviderUrl,
119604
+ enumerable: true,
119605
+ },
119606
+ currentFrameRate:
119607
+ {
119608
+ get: X3DBrowser .prototype .getCurrentFrameRate,
119609
+ enumerable: true,
119610
+ },
119611
+ currentSpeed:
119612
+ {
119613
+ get: X3DBrowser .prototype .getCurrentSpeed,
119614
+ enumerable: true,
119615
+ },
119616
+ description:
119617
+ {
119618
+ get: X3DBrowser .prototype .getDescription,
119619
+ set: X3DBrowser .prototype .setDescription,
119620
+ enumerable: true,
119621
+ },
119622
+ baseURL:
119623
+ {
119624
+ get: X3DBrowser .prototype .getBaseURL,
119625
+ set: X3DBrowser .prototype .setBaseURL,
119626
+ enumerable: true,
119627
+ },
119628
+ currentScene:
119629
+ {
119630
+ get: function ()
119631
+ {
119632
+ return this .getScriptStack () .at (-1) .getExecutionContext ();
119633
+ },
119634
+ enumerable: true,
119635
+ },
119636
+ supportedProfiles:
119637
+ {
119638
+ get: function ()
119639
+ {
119640
+ return Configuration_SupportedProfiles;
119641
+ },
119642
+ enumerable: true,
119643
+ },
119644
+ supportedComponents:
119645
+ {
119646
+ get: function ()
119647
+ {
119648
+ return Configuration_SupportedComponents;
119649
+ },
119650
+ enumerable: true,
119789
119651
  },
119790
- enumerable: true,
119791
119652
  });
119792
119653
 
119793
119654
  const X3DBrowser_default_ = X3DBrowser;
@@ -119796,7 +119657,7 @@ const X3DBrowser_default_ = X3DBrowser;
119796
119657
  x_ite_Namespace.set ("x_ite/Browser/X3DBrowser", X3DBrowser_default_);
119797
119658
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
119798
119659
  ;// CONCATENATED MODULE: ./src/x_ite/Fallback.js
119799
- /* provided dependency */ var Fallback_$ = __webpack_require__(638);
119660
+ /* provided dependency */ var Fallback_$ = __webpack_require__(994);
119800
119661
  /*******************************************************************************
119801
119662
  *
119802
119663
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119975,8 +119836,8 @@ const MicroTime_default_ = undefined;
119975
119836
  x_ite_Namespace.set ("standard/Time/MicroTime", MicroTime_default_);
119976
119837
  /* harmony default export */ const MicroTime = ((/* unused pure expression or super */ null && (MicroTime_default_)));
119977
119838
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
119978
- /* provided dependency */ var jquery_$ = __webpack_require__(638);
119979
- /* provided dependency */ var pako = __webpack_require__(418);
119839
+ /* provided dependency */ var jquery_$ = __webpack_require__(994);
119840
+ /* provided dependency */ var pako = __webpack_require__(444);
119980
119841
  jquery_$.decodeText = function (input)
119981
119842
  {
119982
119843
  if (typeof input === "string")
@@ -120008,14 +119869,14 @@ const jquery_default_ = jquery_$;
120008
119869
  x_ite_Namespace.set ("lib/jquery", jquery_default_);
120009
119870
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
120010
119871
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
120011
- /* provided dependency */ var libtess_libtess = __webpack_require__(181);
119872
+ /* provided dependency */ var libtess_libtess = __webpack_require__(870);
120012
119873
  const libtess_default_ = libtess_libtess;
120013
119874
  ;
120014
119875
 
120015
119876
  x_ite_Namespace.set ("lib/libtess", libtess_default_);
120016
119877
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
120017
119878
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
120018
- /* provided dependency */ var X3D_$ = __webpack_require__(638);
119879
+ /* provided dependency */ var X3D_$ = __webpack_require__(994);
120019
119880
  /*******************************************************************************
120020
119881
  *
120021
119882
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -120527,7 +120388,7 @@ x_ite_Namespace.set ("shim", shim_default_);
120527
120388
 
120528
120389
  // Assign X3D to global namespace.
120529
120390
 
120530
- window [Symbol .for ("X_ITE.X3D-8.7.3")] = x_ite_X3D;
120391
+ window [Symbol .for ("X_ITE.X3D-8.7.5")] = x_ite_X3D;
120531
120392
 
120532
120393
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
120533
120394