x_ite 9.2.1 → 9.2.3

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 (47) hide show
  1. package/dist/assets/components/Annotation.js +13 -13
  2. package/dist/assets/components/Annotation.min.js +1 -1
  3. package/dist/assets/components/CADGeometry.js +14 -14
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +25 -25
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -13
  8. package/dist/assets/components/DIS.min.js +1 -1
  9. package/dist/assets/components/EventUtilities.js +9 -9
  10. package/dist/assets/components/EventUtilities.min.js +1 -1
  11. package/dist/assets/components/Geometry2D.js +19 -19
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +61 -52
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +23 -23
  16. package/dist/assets/components/HAnim.min.js +1 -1
  17. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  18. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  19. package/dist/assets/components/Layout.js +27 -27
  20. package/dist/assets/components/Layout.min.js +1 -1
  21. package/dist/assets/components/NURBS.js +23 -23
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +23 -23
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +18 -18
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +17 -17
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +38 -38
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +24 -24
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjection.js +15 -15
  34. package/dist/assets/components/TextureProjection.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +30 -30
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +19 -19
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +8 -8
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/x_ite.css +1 -1
  42. package/dist/x_ite.js +317 -273
  43. package/dist/x_ite.min.js +1 -1
  44. package/dist/x_ite.min.mjs +1 -1
  45. package/dist/x_ite.mjs +317 -273
  46. package/dist/x_ite.zip +0 -0
  47. package/package.json +3 -3
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v9.2.1 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v9.2.3 */(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,10 +11,10 @@
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 864:
14
+ /***/ 132:
15
15
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
16
16
 
17
- /* provided dependency */ var jQuery = __webpack_require__(548);
17
+ /* provided dependency */ var jQuery = __webpack_require__(751);
18
18
  /**
19
19
  * @preserve jquery.fullscreen 1.1.5
20
20
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -210,7 +210,7 @@ installFullScreenHandlers();
210
210
 
211
211
  /***/ }),
212
212
 
213
- /***/ 642:
213
+ /***/ 983:
214
214
  /***/ ((module, exports, __webpack_require__) => {
215
215
 
216
216
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -224,7 +224,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
224
224
  (function (factory) {
225
225
  if ( true ) {
226
226
  // AMD. Register as an anonymous module.
227
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(548)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
227
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(751)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
228
228
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
229
229
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
230
230
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -435,7 +435,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
435
435
 
436
436
  /***/ }),
437
437
 
438
- /***/ 548:
438
+ /***/ 751:
439
439
  /***/ (function(module, exports) {
440
440
 
441
441
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11159,7 +11159,7 @@ return jQuery;
11159
11159
 
11160
11160
  /***/ }),
11161
11161
 
11162
- /***/ 527:
11162
+ /***/ 641:
11163
11163
  /***/ ((module) => {
11164
11164
 
11165
11165
  /**
@@ -15938,7 +15938,7 @@ if (true) {
15938
15938
 
15939
15939
  /***/ }),
15940
15940
 
15941
- /***/ 63:
15941
+ /***/ 104:
15942
15942
  /***/ (function(__unused_webpack_module, exports) {
15943
15943
 
15944
15944
 
@@ -19183,7 +19183,7 @@ if (true) {
19183
19183
 
19184
19184
  /***/ }),
19185
19185
 
19186
- /***/ 258:
19186
+ /***/ 851:
19187
19187
  /***/ (function(module, exports) {
19188
19188
 
19189
19189
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -20311,7 +20311,7 @@ Object .defineProperty (Namespace, "add",
20311
20311
  }
20312
20312
  else
20313
20313
  {
20314
- const X3D = window [Symbol .for ("X_ITE.X3D-9.2.1")];
20314
+ const X3D = window [Symbol .for ("X_ITE.X3D-9.2.3")];
20315
20315
 
20316
20316
  if (X3D)
20317
20317
  X3D [name] = module;
@@ -20781,18 +20781,22 @@ const getUniqueName = function (map, name = "")
20781
20781
 
20782
20782
  name = name .replace (/_\d+$/, "");
20783
20783
 
20784
+ if (name && !map .has (name))
20785
+ return name;
20786
+
20784
20787
  let
20785
- newName = name,
20788
+ newName = "",
20786
20789
  lo = 1,
20787
20790
  hi = 1;
20788
20791
 
20789
- while (map .has (newName) || !newName)
20792
+ do
20790
20793
  {
20791
20794
  lo = hi;
20792
20795
  hi <<= 1;
20793
20796
 
20794
20797
  newName = `${name}_${lo}`;
20795
20798
  }
20799
+ while (map .has (newName));
20796
20800
 
20797
20801
  lo >>>= 1;
20798
20802
  hi >>>= 1;
@@ -20905,6 +20909,7 @@ function Generator ({ style = "TIDY", indent = "", precision = 7, doublePrecisio
20905
20909
 
20906
20910
  this .executionContextStack = [ ];
20907
20911
  this .importedNodesIndex = new Map ();
20912
+ this .importedNames = new Map ();
20908
20913
  this .exportedNodesIndex = new Map ();
20909
20914
  this .nodes = new Set ();
20910
20915
  this .names = new Map ();
@@ -21217,7 +21222,7 @@ Object .assign (Generator .prototype,
21217
21222
  if (baseNode .hasRoutes ())
21218
21223
  return true;
21219
21224
 
21220
- const executionContext = baseNode .getExecutionContext ();
21225
+ const executionContext = this .ExecutionContext ();
21221
21226
 
21222
21227
  if (this .importedNodesIndex .get (executionContext) ?.has (baseNode))
21223
21228
  return true;
@@ -21227,15 +21232,19 @@ Object .assign (Generator .prototype,
21227
21232
 
21228
21233
  return false;
21229
21234
  },
21230
- ImportedName (name)
21235
+ ImportedName (importedNode)
21231
21236
  {
21237
+ if (this .importedNames .has (importedNode))
21238
+ return this .importedNames .get (importedNode);
21239
+
21232
21240
  const
21233
21241
  names = this .names .get (this .ExecutionContext ()),
21234
- newName = getUniqueName (names, name);
21242
+ newName = getUniqueName (names, importedNode .getImportedName ());
21235
21243
 
21236
21244
  // Add to indices.
21237
21245
 
21238
21246
  names .add (newName);
21247
+ this .importedNames .set (importedNode, newName);
21239
21248
 
21240
21249
  return newName;
21241
21250
  },
@@ -21392,105 +21401,6 @@ const Generator_default_ = Generator;
21392
21401
 
21393
21402
  x_ite_Namespace .add ("Generator", "x_ite/InputOutput/Generator", Generator_default_);
21394
21403
  /* harmony default export */ const InputOutput_Generator = (Generator_default_);
21395
- ;// CONCATENATED MODULE: ./src/standard/Utility/MapUtilities.js
21396
- /*******************************************************************************
21397
- *
21398
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
21399
- *
21400
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
21401
- *
21402
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
21403
- *
21404
- * The copyright notice above does not evidence any actual of intended
21405
- * publication of such source code, and is an unpublished work by create3000.
21406
- * This material contains CONFIDENTIAL INFORMATION that is the property of
21407
- * create3000.
21408
- *
21409
- * No permission is granted to copy, distribute, or create derivative works from
21410
- * the contents of this software, in whole or in part, without the prior written
21411
- * permission of create3000.
21412
- *
21413
- * NON-MILITARY USE ONLY
21414
- *
21415
- * All create3000 software are effectively free software with a non-military use
21416
- * restriction. It is free. Well commented source is provided. You may reuse the
21417
- * source in any way you please with the exception anything that uses it must be
21418
- * marked to indicate is contains 'non-military use only' components.
21419
- *
21420
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
21421
- *
21422
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
21423
- *
21424
- * This file is part of the X_ITE Project.
21425
- *
21426
- * X_ITE is free software: you can redistribute it and/or modify it under the
21427
- * terms of the GNU General Public License version 3 only, as published by the
21428
- * Free Software Foundation.
21429
- *
21430
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
21431
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
21432
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
21433
- * details (a copy is included in the LICENSE file that accompanied this code).
21434
- *
21435
- * You should have received a copy of the GNU General Public License version 3
21436
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
21437
- * copy of the GPLv3 License.
21438
- *
21439
- * For Silvio, Joy and Adi.
21440
- *
21441
- ******************************************************************************/
21442
-
21443
- const MapUtilities =
21444
- {
21445
- assign: (() =>
21446
- {
21447
- function set (value, key)
21448
- {
21449
- this .set (key, value);
21450
- }
21451
-
21452
- return function (m1, m2)
21453
- {
21454
- m1 .clear ();
21455
- m2 .forEach (set, m1);
21456
-
21457
- return m1;
21458
- };
21459
- })(),
21460
- values: (() =>
21461
- {
21462
- function push (value) { this .push (value); }
21463
-
21464
- const values = new WeakMap ();
21465
-
21466
- return function (m)
21467
- {
21468
- if (m .size)
21469
- {
21470
- let a = values .get (m);
21471
-
21472
- if (a)
21473
- a .length = 0;
21474
- else
21475
- values .set (m, a = [ ]);
21476
-
21477
- m .forEach (push, a);
21478
-
21479
- return a;
21480
- }
21481
- else
21482
- {
21483
- return m .values ();
21484
- }
21485
- };
21486
- })(),
21487
- };
21488
-
21489
- const MapUtilities_default_ = MapUtilities;
21490
- ;
21491
-
21492
- x_ite_Namespace .add ("MapUtilities", "standard/Utility/MapUtilities", MapUtilities_default_);
21493
- /* harmony default export */ const Utility_MapUtilities = (MapUtilities_default_);
21494
21404
  ;// CONCATENATED MODULE: ./src/x_ite/DEVELOPMENT.js
21495
21405
  /*******************************************************************************
21496
21406
  *
@@ -21597,7 +21507,6 @@ x_ite_Namespace .add ("DEVELOPMENT", "x_ite/DEVELOPMENT", DEVELOPMENT_default_);
21597
21507
 
21598
21508
 
21599
21509
 
21600
-
21601
21510
  const
21602
21511
  _name = Symbol (),
21603
21512
  _interests = Symbol (),
@@ -21637,17 +21546,18 @@ Object .assign (X3DObject .prototype,
21637
21546
  },
21638
21547
  addInterest (callbackName, object, ... args)
21639
21548
  {
21640
- if (this [_interests] === X3DObject .prototype [_interests])
21641
- this [_interests] = new Map ();
21642
-
21643
21549
  const
21644
21550
  interestId = X3DObject .getInterestId (callbackName, object),
21645
21551
  callback = object [callbackName];
21646
21552
 
21553
+ this [_interests] = new Map (this [_interests]);
21554
+
21647
21555
  this [_interests] .set (interestId, callback .bind (object, ... args, this));
21648
21556
  },
21649
21557
  removeInterest (callbackName, object)
21650
21558
  {
21559
+ this [_interests] = new Map (this [_interests]);
21560
+
21651
21561
  this [_interests] .delete (X3DObject .getInterestId (callbackName, object));
21652
21562
  },
21653
21563
  getInterests ()
@@ -21656,7 +21566,7 @@ Object .assign (X3DObject .prototype,
21656
21566
  },
21657
21567
  processInterests ()
21658
21568
  {
21659
- for (const interest of Utility_MapUtilities .values (this [_interests]))
21569
+ for (const interest of this [_interests] .values ())
21660
21570
  interest ();
21661
21571
  },
21662
21572
  getUserData (key)
@@ -22424,6 +22334,13 @@ Object .assign (Object .setPrototypeOf (X3DInfoArray .prototype, Base_X3DChildOb
22424
22334
 
22425
22335
  return copy;
22426
22336
  },
22337
+ clear ()
22338
+ {
22339
+ this [_array] .length = 0;
22340
+ this [_index] .clear ();
22341
+
22342
+ this .addEvent ();
22343
+ },
22427
22344
  assign (array)
22428
22345
  {
22429
22346
  if (!(array instanceof this .constructor))
@@ -22795,7 +22712,6 @@ x_ite_Namespace .add ("FieldDefinitionArray", "x_ite/Base/FieldDefinitionArray",
22795
22712
 
22796
22713
 
22797
22714
 
22798
-
22799
22715
  const
22800
22716
  _value = Symbol (),
22801
22717
  _accessType = Symbol (),
@@ -22972,13 +22888,14 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
22972
22888
  },
22973
22889
  addReferencesCallback (key, object)
22974
22890
  {
22975
- if (this [_referencesCallbacks] === X3DField .prototype [_referencesCallbacks])
22976
- this [_referencesCallbacks] = new Map ();
22891
+ this [_referencesCallbacks] = new Map (this [_referencesCallbacks]);
22977
22892
 
22978
22893
  this [_referencesCallbacks] .set (key, object);
22979
22894
  },
22980
22895
  removeReferencesCallback (key)
22981
22896
  {
22897
+ this [_referencesCallbacks] = new Map (this [_referencesCallbacks]);
22898
+
22982
22899
  this [_referencesCallbacks] .delete (key);
22983
22900
  },
22984
22901
  getReferencesCallbacks ()
@@ -22987,7 +22904,7 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
22987
22904
  },
22988
22905
  processReferencesCallbacks ()
22989
22906
  {
22990
- for (const callback of Utility_MapUtilities .values (this [_referencesCallbacks]))
22907
+ for (const callback of this [_referencesCallbacks] .values ())
22991
22908
  callback ();
22992
22909
  },
22993
22910
  addFieldInterest (field)
@@ -23007,13 +22924,14 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
23007
22924
  },
23008
22925
  addFieldCallback (key, object)
23009
22926
  {
23010
- if (this [_fieldCallbacks] === X3DField .prototype [_fieldCallbacks])
23011
- this [_fieldCallbacks] = new Map ();
22927
+ this [_fieldCallbacks] = new Map (this [_fieldCallbacks]);
23012
22928
 
23013
22929
  this [_fieldCallbacks] .set (key, object);
23014
22930
  },
23015
22931
  removeFieldCallback (key)
23016
22932
  {
22933
+ this [_fieldCallbacks] = new Map (this [_fieldCallbacks]);
22934
+
23017
22935
  this [_fieldCallbacks] .delete (key);
23018
22936
  },
23019
22937
  getFieldCallbacks ()
@@ -23062,13 +22980,14 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
23062
22980
  {
23063
22981
  // Processed if routes are changed.
23064
22982
 
23065
- if (this [_routeCallbacks] === X3DField .prototype [_routeCallbacks])
23066
- this [_routeCallbacks] = new Map ();
22983
+ this [_routeCallbacks] = new Map (this [_routeCallbacks]);
23067
22984
 
23068
22985
  this [_routeCallbacks] .set (key, object);
23069
22986
  },
23070
22987
  removeRouteCallback (key)
23071
22988
  {
22989
+ this [_routeCallbacks] = new Map (this [_routeCallbacks]);
22990
+
23072
22991
  this [_routeCallbacks] .delete (key);
23073
22992
  },
23074
22993
  getRouteCallbacks ()
@@ -23077,7 +22996,7 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
23077
22996
  },
23078
22997
  processRouteCallbacks ()
23079
22998
  {
23080
- for (const callback of Utility_MapUtilities .values (this [_routeCallbacks]))
22999
+ for (const callback of this [_routeCallbacks] .values ())
23081
23000
  callback ();
23082
23001
  },
23083
23002
  processEvent (event = Base_Events .create (this))
@@ -23120,7 +23039,7 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
23120
23039
 
23121
23040
  // Process field callbacks.
23122
23041
 
23123
- for (const callback of Utility_MapUtilities .values (this [_fieldCallbacks]))
23042
+ for (const callback of this [_fieldCallbacks] .values ())
23124
23043
  callback (this .valueOf ());
23125
23044
  },
23126
23045
  fromString (string, scene)
@@ -34305,7 +34224,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34305
34224
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34306
34225
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34307
34226
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34308
- /* provided dependency */ var $ = __webpack_require__(548);
34227
+ /* provided dependency */ var $ = __webpack_require__(751);
34309
34228
  /*******************************************************************************
34310
34229
  *
34311
34230
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34442,7 +34361,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34442
34361
  *
34443
34362
  ******************************************************************************/
34444
34363
 
34445
- const BROWSER_VERSION_default_ = "9.2.1";
34364
+ const BROWSER_VERSION_default_ = "9.2.3";
34446
34365
  ;
34447
34366
 
34448
34367
  x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSION_default_);
@@ -37302,6 +37221,10 @@ Object .assign (Object .setPrototypeOf (X3DImportedNode .prototype, Base_X3DObje
37302
37221
  {
37303
37222
  return this [_importedName];
37304
37223
  },
37224
+ [Symbol .for ("X_ITE.X3DImportedNode.setImportName")] (importName)
37225
+ {
37226
+ this [_importedName] = importName;
37227
+ },
37305
37228
  toVRMLStream (generator)
37306
37229
  {
37307
37230
  if (!generator .ExistsNode (this .getInlineNode ()))
@@ -37309,7 +37232,7 @@ Object .assign (Object .setPrototypeOf (X3DImportedNode .prototype, Base_X3DObje
37309
37232
 
37310
37233
  generator .AddRouteNode (this);
37311
37234
 
37312
- const importedName = generator .ImportedName (this .getImportedName ());
37235
+ const importedName = generator .ImportedName (this);
37313
37236
 
37314
37237
  generator .string += generator .Indent ();
37315
37238
  generator .string += "IMPORT";
@@ -37333,7 +37256,7 @@ Object .assign (Object .setPrototypeOf (X3DImportedNode .prototype, Base_X3DObje
37333
37256
 
37334
37257
  generator .AddRouteNode (this);
37335
37258
 
37336
- const importedName = generator .ImportedName (this .getImportedName ());
37259
+ const importedName = generator .ImportedName (this);
37337
37260
 
37338
37261
  generator .string += generator .Indent ();
37339
37262
  generator .string += "<IMPORT";
@@ -37363,7 +37286,7 @@ Object .assign (Object .setPrototypeOf (X3DImportedNode .prototype, Base_X3DObje
37363
37286
 
37364
37287
  generator .AddRouteNode (this);
37365
37288
 
37366
- const importedName = generator .ImportedName (this .getImportedName ());
37289
+ const importedName = generator .ImportedName (this);
37367
37290
 
37368
37291
  generator .string += generator .Indent ();
37369
37292
  generator .string += '{';
@@ -37751,7 +37674,7 @@ Object .assign (X3DUrlObject .prototype,
37751
37674
 
37752
37675
  const browser = this .getBrowser ();
37753
37676
 
37754
- if (!browser .getBrowserOption ("LoadUrlObjects") && this .getExecutionContext () !== browser .getPrivateScene () && !this .isExternProto)
37677
+ if (!browser .getBrowserOption ("LoadUrlObjects") && this .getExecutionContext () !== browser .getPrivateScene ())
37755
37678
  {
37756
37679
  resolve ();
37757
37680
  return;
@@ -38582,7 +38505,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
38582
38505
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
38583
38506
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
38584
38507
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
38585
- /* provided dependency */ var X3DParser_$ = __webpack_require__(548);
38508
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(751);
38586
38509
  /*******************************************************************************
38587
38510
  *
38588
38511
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -38726,6 +38649,26 @@ Object .assign (X3DParser .prototype,
38726
38649
 
38727
38650
  return name;
38728
38651
  },
38652
+ renameExistingNode (name)
38653
+ {
38654
+ try
38655
+ {
38656
+ const namedNode = this .getExecutionContext () .getNamedNode (name);
38657
+
38658
+ this .getExecutionContext () .updateNamedNode (this .getExecutionContext () .getUniqueName (name), namedNode);
38659
+ }
38660
+ catch
38661
+ { }
38662
+
38663
+ try
38664
+ {
38665
+ const importedName = this .getExecutionContext () .getUniqueImportName (name);
38666
+
38667
+ this .getExecutionContext () .renameImportedNode (name, importedName);
38668
+ }
38669
+ catch
38670
+ { }
38671
+ },
38729
38672
  });
38730
38673
 
38731
38674
  const X3DParser_default_ = X3DParser;
@@ -38824,7 +38767,7 @@ const Expressions_default_ = Expressions;
38824
38767
  x_ite_Namespace .add ("Expressions", "x_ite/Parser/Expressions", Expressions_default_);
38825
38768
  /* harmony default export */ const Parser_Expressions = (Expressions_default_);
38826
38769
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
38827
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(548);
38770
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(751);
38828
38771
  /*******************************************************************************
38829
38772
  *
38830
38773
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -39404,13 +39347,17 @@ Object .assign (Object .setPrototypeOf (VRMLParser .prototype, Parser_X3DParser
39404
39347
  var exportedNodeNameId = localNodeNameId;
39405
39348
  }
39406
39349
 
39407
- if (this .getScene () === this .getExecutionContext ())
39350
+ try
39408
39351
  {
39409
- this .getScene () .updateExportedNode (exportedNodeNameId, node);
39410
- return true;
39352
+ const existingNode = this .getScene () .getExportedNode (exportedNodeNameId);
39353
+
39354
+ this .getScene () .addExportedNode (this .getScene () .getUniqueExportName (exportedNodeNameId), existingNode);
39411
39355
  }
39356
+ catch
39357
+ { }
39412
39358
 
39413
- throw new Error ("Export statement not allowed here.");
39359
+ this .getScene () .updateExportedNode (exportedNodeNameId, node);
39360
+ return true;
39414
39361
  }
39415
39362
 
39416
39363
  throw new Error ("No name given after EXPORT.");
@@ -39453,7 +39400,13 @@ Object .assign (Object .setPrototypeOf (VRMLParser .prototype, Parser_X3DParser
39453
39400
  var nodeNameId = exportedNodeNameId;
39454
39401
  }
39455
39402
 
39456
- this .getExecutionContext () .updateImportedNode (namedNode, exportedNodeNameId, nodeNameId);
39403
+ // Rename existing imported node.
39404
+
39405
+ this .renameExistingNode (nodeNameId);
39406
+
39407
+ // Add new imported node.
39408
+
39409
+ this .getExecutionContext () .addImportedNode (namedNode, exportedNodeNameId, nodeNameId);
39457
39410
  return true;
39458
39411
  }
39459
39412
 
@@ -40075,14 +40028,7 @@ Object .assign (Object .setPrototypeOf (VRMLParser .prototype, Parser_X3DParser
40075
40028
 
40076
40029
  if (nodeNameId .length)
40077
40030
  {
40078
- try
40079
- {
40080
- const namedNode = this .getExecutionContext () .getNamedNode (nodeNameId);
40081
-
40082
- this .getExecutionContext () .updateNamedNode (this .getExecutionContext () .getUniqueName (nodeNameId), namedNode);
40083
- }
40084
- catch
40085
- { }
40031
+ this .renameExistingNode (nodeNameId);
40086
40032
 
40087
40033
  this .getExecutionContext () .updateNamedNode (nodeNameId, baseNode);
40088
40034
  }
@@ -41507,7 +41453,7 @@ const VRMLParser_default_ = VRMLParser;
41507
41453
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
41508
41454
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
41509
41455
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
41510
- /* provided dependency */ var XMLParser_$ = __webpack_require__(548);
41456
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(751);
41511
41457
  /*******************************************************************************
41512
41458
  *
41513
41459
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -41815,10 +41761,10 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
41815
41761
  componentSupportLevel = parseInt (xmlElement .getAttribute ("level"));
41816
41762
 
41817
41763
  if (componentNameIdCharacters === null)
41818
- return console .warn ("XML Parser Error: Bad component statement. Expected name attribute.");
41764
+ return console .warn ("XML Parser: Bad component statement. Expected name attribute.");
41819
41765
 
41820
41766
  if (componentSupportLevel === null)
41821
- return console .warn ("XML Parser Error: Bad component statement. Expected level attribute.");
41767
+ return console .warn ("XML Parser: Bad component statement. Expected level attribute.");
41822
41768
 
41823
41769
  const component = this .getBrowser () .getComponent (componentNameIdCharacters, componentSupportLevel);
41824
41770
 
@@ -41837,13 +41783,13 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
41837
41783
  conversionFactor = xmlElement .getAttribute ("conversionFactor"); //works for html5 as well
41838
41784
 
41839
41785
  if (category === null)
41840
- return console .warn ("XML Parser Error: Bad unit statement. Expected category attribute.");
41786
+ return console .warn ("XML Parser: Bad unit statement. Expected category attribute.");
41841
41787
 
41842
41788
  if (name === null)
41843
- return console .warn ("XML Parser Error: Bad unit statement. Expected name attribute.");
41789
+ return console .warn ("XML Parser: Bad unit statement. Expected name attribute.");
41844
41790
 
41845
41791
  if (conversionFactor === null)
41846
- return console .warn ("XML Parser Error: Bad unit statement. Expected conversionFactor attribute.");
41792
+ return console .warn ("XML Parser: Bad unit statement. Expected conversionFactor attribute.");
41847
41793
 
41848
41794
  this .getScene () .updateUnit (category, name, parseFloat (conversionFactor));
41849
41795
  },
@@ -41854,10 +41800,10 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
41854
41800
  metavalue = xmlElement .getAttribute ("content");
41855
41801
 
41856
41802
  if (metakey === null)
41857
- return console .warn ("XML Parser Error: Bad meta statement. Expected name attribute.");
41803
+ return console .warn ("XML Parser: Bad meta statement. Expected name attribute.");
41858
41804
 
41859
41805
  if (metavalue === null)
41860
- return console .warn ("XML Parser Error: Bad meta statement. Expected content attribute.");
41806
+ return console .warn ("XML Parser: Bad meta statement. Expected content attribute.");
41861
41807
 
41862
41808
  this .getScene () .addMetaData (metakey, metavalue);
41863
41809
  },
@@ -41942,7 +41888,7 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
41942
41888
  this .parser .sfstringValues (this .url);
41943
41889
 
41944
41890
  if (!this .url .length)
41945
- console .warn ("XML Parser Error: Bad ExternProtoDeclare statement. Expected url attribute with value.");
41891
+ console .warn ("XML Parser: Bad ExternProtoDeclare statement. Expected url attribute with value.");
41946
41892
 
41947
41893
  const externproto = new Prototype_X3DExternProtoDeclaration (this .getExecutionContext (), this .url);
41948
41894
 
@@ -42121,10 +42067,10 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42121
42067
  protoFieldName = xmlElement .getAttribute ("protoField");
42122
42068
 
42123
42069
  if (nodeFieldName === null)
42124
- return console .warn ("XML Parser Error: Bad connect statement. Expected nodeField attribute.");
42070
+ return console .warn ("XML Parser: Bad connect statement. Expected nodeField attribute.");
42125
42071
 
42126
42072
  if (protoFieldName === null)
42127
- return console .warn ("XML Parser Error: Bad connect statement. Expected protoField attribute.");
42073
+ return console .warn ("XML Parser: Bad connect statement. Expected protoField attribute.");
42128
42074
 
42129
42075
  try
42130
42076
  {
@@ -42154,7 +42100,7 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42154
42100
  }
42155
42101
  catch (error)
42156
42102
  {
42157
- console .warn (`XML Parser Error: Couldn't create IS reference. ${error .message}`);
42103
+ console .warn (`XML Parser: Couldn't create IS reference. ${error .message}`);
42158
42104
  }
42159
42105
  },
42160
42106
  protoInstanceElement (xmlElement)
@@ -42189,7 +42135,7 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42189
42135
  }
42190
42136
  catch (error)
42191
42137
  {
42192
- console .warn ("XML Parser Error: ", error .message);
42138
+ console .warn ("XML Parser: ", error .message);
42193
42139
 
42194
42140
  if (DEVELOPMENT)
42195
42141
  console .error (error);
@@ -42232,7 +42178,7 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42232
42178
  }
42233
42179
  catch (error)
42234
42180
  {
42235
- console .warn (`XML Parser Error: Couldn't assign field value. ${error .message}`);
42181
+ console .warn (`XML Parser: Couldn't assign field value. ${error .message}`);
42236
42182
  }
42237
42183
  },
42238
42184
  nodeElement (xmlElement)
@@ -42279,7 +42225,7 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42279
42225
  if (DEVELOPMENT)
42280
42226
  console .error (error);
42281
42227
  else
42282
- console .error (`XML Parser Error: ${error .message}`);
42228
+ console .error (`XML Parser: ${error .message}`);
42283
42229
  }
42284
42230
  },
42285
42231
  scriptElement (element)
@@ -42331,7 +42277,7 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42331
42277
  }
42332
42278
  catch (error)
42333
42279
  {
42334
- console .warn (`XML Parser Error: ${error .message}`);
42280
+ console .warn (`XML Parser: ${error .message}`);
42335
42281
 
42336
42282
  if (DEVELOPMENT)
42337
42283
  console .error (error);
@@ -42354,23 +42300,23 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42354
42300
 
42355
42301
  const inlineNode = this .getExecutionContext () .getNamedNode (inlineNodeName);
42356
42302
 
42357
- this .getExecutionContext () .updateImportedNode (inlineNode, exportedNodeName, localNodeName);
42303
+ // Rename existing imported node.
42304
+
42305
+ this .renameExistingNode (localNodeName);
42306
+
42307
+ // Add new imported node.
42308
+
42309
+ this .getExecutionContext () .addImportedNode (inlineNode, exportedNodeName, localNodeName);
42358
42310
  }
42359
42311
  catch (error)
42360
42312
  {
42361
- console .warn (`XML Parser Error: ${error .message}`);
42313
+ console .warn (`XML Parser: ${error .message}`);
42362
42314
  }
42363
42315
  },
42364
42316
  exportElement (xmlElement)
42365
42317
  {
42366
42318
  try
42367
42319
  {
42368
- if (this .getScene () !== this .getExecutionContext ())
42369
- {
42370
- console .warn ("XML Parser Error: Export statement not allowed here.");
42371
- return;
42372
- }
42373
-
42374
42320
  const
42375
42321
  localNodeName = xmlElement .getAttribute ("localDEF"),
42376
42322
  exportedNodeName = xmlElement .getAttribute ("AS") || localNodeName;
@@ -42380,11 +42326,20 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42380
42326
 
42381
42327
  const localNode = this .getExecutionContext () .getLocalNode (localNodeName);
42382
42328
 
42329
+ try
42330
+ {
42331
+ const existingNode = this .getScene () .getExportedNode (exportedNodeName);
42332
+
42333
+ this .getScene () .addExportedNode (this .getScene () .getUniqueExportName (exportedNodeName), existingNode);
42334
+ }
42335
+ catch
42336
+ { }
42337
+
42383
42338
  this .getScene () .updateExportedNode (exportedNodeName, localNode);
42384
42339
  }
42385
42340
  catch (error)
42386
42341
  {
42387
- console .warn (`XML Parser Error: ${error .message}`);
42342
+ console .warn (`XML Parser: ${error .message}`);
42388
42343
  }
42389
42344
  },
42390
42345
  cdataNode (xmlElement)
@@ -42407,13 +42362,29 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42407
42362
  {
42408
42363
  const node = this .getExecutionContext () .getNamedNode (name);
42409
42364
 
42365
+ if (xmlElement .nodeName === "ProtoInstance")
42366
+ {
42367
+ if (!node .getNodeType () .includes (Base_X3DConstants .X3DPrototypeInstance))
42368
+ {
42369
+ console .warn (`XML Parser: DEF/USE mismatch, '${name}', referenced node is not of type X3DPrototypeInstance.`);
42370
+ }
42371
+ else if (xmlElement .getAttribute ("name") !== node .getNodeTypeName ())
42372
+ {
42373
+ console .warn (`XML Parser: DEF/USE mismatch, '${name}', name ${xmlElement .getAttribute ("name")} != ${node .getNodeTypeName ()}.`);
42374
+ }
42375
+ }
42376
+ else if (xmlElement .nodeName !== node .getNodeTypeName ())
42377
+ {
42378
+ console .warn (`XML Parser: DEF/USE mismatch, '${name}', ${xmlElement .nodeName} != ${node .getNodeTypeName ()}.`);
42379
+ }
42380
+
42410
42381
  this .addNode (xmlElement, node .getValue ());
42411
42382
  return true;
42412
42383
  }
42413
42384
  }
42414
42385
  catch (error)
42415
42386
  {
42416
- console .warn (`Invalid USE name: ${error .message}`);
42387
+ console .warn (`XML Parser: Invalid USE name: ${error .message}`);
42417
42388
  }
42418
42389
 
42419
42390
  return false;
@@ -42426,21 +42397,14 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42426
42397
 
42427
42398
  if (name)
42428
42399
  {
42429
- try
42430
- {
42431
- const namedNode = this .getExecutionContext () .getNamedNode (name);
42432
-
42433
- this .getExecutionContext () .updateNamedNode (this .getExecutionContext () .getUniqueName (name), namedNode);
42434
- }
42435
- catch
42436
- { }
42400
+ this .renameExistingNode (name);
42437
42401
 
42438
42402
  this .getExecutionContext () .updateNamedNode (name, node);
42439
42403
  }
42440
42404
  }
42441
42405
  catch (error)
42442
42406
  {
42443
- console .warn (`Invalid DEF name: ${error .message}`);
42407
+ console .warn (`XML Parser: Invalid DEF name: ${error .message}`);
42444
42408
  }
42445
42409
  },
42446
42410
  nodeAttributes (xmlElement, node)
@@ -42535,7 +42499,7 @@ Object .assign (Object .setPrototypeOf (XMLParser .prototype, Parser_X3DParser .
42535
42499
 
42536
42500
  if (!containerField)
42537
42501
  {
42538
- console .warn ("Node must have a container field attribute.");
42502
+ console .warn ("XML Parser: Node must have a container field attribute.");
42539
42503
  return;
42540
42504
  }
42541
42505
 
@@ -43598,7 +43562,7 @@ const URLs_default_ = URLs;
43598
43562
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
43599
43563
  /* harmony default export */ const Networking_URLs = (URLs_default_);
43600
43564
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
43601
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(548);
43565
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(751);
43602
43566
  /*******************************************************************************
43603
43567
  *
43604
43568
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -46899,7 +46863,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
46899
46863
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
46900
46864
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
46901
46865
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
46902
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(548);
46866
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(751);
46903
46867
  /*******************************************************************************
46904
46868
  *
46905
46869
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47051,7 +47015,7 @@ const GLB2Parser_default_ = GLB2Parser;
47051
47015
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
47052
47016
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
47053
47017
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
47054
- /* provided dependency */ var OBJParser_$ = __webpack_require__(548);
47018
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(751);
47055
47019
  /*******************************************************************************
47056
47020
  *
47057
47021
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50406,8 +50370,8 @@ const MatrixStack_default_ = MatrixStack;
50406
50370
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
50407
50371
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
50408
50372
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
50409
- /* provided dependency */ var SVGParser_$ = __webpack_require__(548);
50410
- /* provided dependency */ var libtess = __webpack_require__(527);
50373
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(751);
50374
+ /* provided dependency */ var libtess = __webpack_require__(641);
50411
50375
  /*******************************************************************************
50412
50376
  *
50413
50377
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53175,7 +53139,7 @@ const SVGParser_default_ = SVGParser;
53175
53139
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
53176
53140
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
53177
53141
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
53178
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(548);
53142
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(751);
53179
53143
  /*******************************************************************************
53180
53144
  *
53181
53145
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53512,7 +53476,7 @@ const Plane3_default_ = Plane3;
53512
53476
  x_ite_Namespace .add ("Plane3", "standard/Math/Geometry/Plane3", Plane3_default_);
53513
53477
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
53514
53478
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
53515
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(527);
53479
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(641);
53516
53480
  /*******************************************************************************
53517
53481
  *
53518
53482
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -61018,7 +60982,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
61018
60982
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
61019
60983
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
61020
60984
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
61021
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(548);
60985
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(751);
61022
60986
  /*******************************************************************************
61023
60987
  *
61024
60988
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -63495,22 +63459,34 @@ Object .assign (Object .setPrototypeOf (X3DViewpointNode .prototype, Core_X3DBin
63495
63459
  {
63496
63460
  return this ._position .getValue ();
63497
63461
  },
63498
- getUserPosition ()
63462
+ setPosition (value)
63499
63463
  {
63500
- return this .userPosition .assign (this .getPosition ()) .add (this ._positionOffset .getValue ());
63464
+ this ._position = value;
63501
63465
  },
63502
63466
  getOrientation ()
63503
63467
  {
63504
63468
  return this ._orientation .getValue ();
63505
63469
  },
63506
- getUserOrientation ()
63470
+ setOrientation (value)
63507
63471
  {
63508
- return this .userOrientation .assign (this .getOrientation ()) .multRight (this ._orientationOffset .getValue ());
63472
+ this ._orientation = value;
63509
63473
  },
63510
63474
  getCenterOfRotation ()
63511
63475
  {
63512
63476
  return this ._centerOfRotation .getValue ();
63513
63477
  },
63478
+ setCenterOfRotation (value)
63479
+ {
63480
+ this ._centerOfRotation = value;
63481
+ },
63482
+ getUserPosition ()
63483
+ {
63484
+ return this .userPosition .assign (this .getPosition ()) .add (this ._positionOffset .getValue ());
63485
+ },
63486
+ getUserOrientation ()
63487
+ {
63488
+ return this .userOrientation .assign (this .getOrientation ()) .multRight (this ._orientationOffset .getValue ());
63489
+ },
63514
63490
  getUserCenterOfRotation ()
63515
63491
  {
63516
63492
  return this .userCenterOfRotation .assign (this .getCenterOfRotation ()) .add (this ._centerOfRotationOffset .getValue ());
@@ -63980,7 +63956,7 @@ Object .assign (Object .setPrototypeOf (Viewpoint .prototype, Navigation_X3DView
63980
63956
  const relative = Navigation_X3DViewpointNode .prototype .getRelativeTransformation .call (this, fromViewpointNode);
63981
63957
 
63982
63958
  if (fromViewpointNode .constructor === this .constructor)
63983
- relative .fieldOfView = fromViewpointNode .getFieldOfView ();
63959
+ relative .fieldOfView = fromViewpointNode .getUserFieldOfView ();
63984
63960
 
63985
63961
  return relative;
63986
63962
  },
@@ -63988,7 +63964,7 @@ Object .assign (Object .setPrototypeOf (Viewpoint .prototype, Navigation_X3DView
63988
63964
  {
63989
63965
  if (fromViewpointNode .constructor === this .constructor)
63990
63966
  {
63991
- const scale = relative .fieldOfView / this .getFieldOfView ();
63967
+ const scale = relative .fieldOfView / this .getUserFieldOfView ();
63992
63968
 
63993
63969
  this .fieldOfViewScaleInterpolator ._keyValue = new x_ite_Fields .MFFloat (scale, this ._fieldOfViewScale .getValue ());
63994
63970
 
@@ -64006,6 +63982,12 @@ Object .assign (Object .setPrototypeOf (Viewpoint .prototype, Navigation_X3DView
64006
63982
  return false;
64007
63983
  },
64008
63984
  getFieldOfView ()
63985
+ {
63986
+ const fov = this ._fieldOfView .getValue ();
63987
+
63988
+ return fov > 0 && fov < Math .PI ? fov : Math .PI / 4;
63989
+ },
63990
+ getUserFieldOfView ()
64009
63991
  {
64010
63992
  const fov = this ._fieldOfView .getValue () * this ._fieldOfViewScale .getValue ();
64011
63993
 
@@ -64019,7 +64001,7 @@ Object .assign (Object .setPrototypeOf (Viewpoint .prototype, Navigation_X3DView
64019
64001
  width = viewport [2],
64020
64002
  height = viewport [3];
64021
64003
 
64022
- let size = Math .abs (point .z) * Math .tan (this .getFieldOfView () / 2) * 2;
64004
+ let size = Math .abs (point .z) * Math .tan (this .getUserFieldOfView () / 2) * 2;
64023
64005
 
64024
64006
  if (width > height)
64025
64007
  size /= height;
@@ -64039,7 +64021,7 @@ Object .assign (Object .setPrototypeOf (Viewpoint .prototype, Navigation_X3DView
64039
64021
  const
64040
64022
  width = viewport [2],
64041
64023
  height = viewport [3],
64042
- size = nearValue * Math .tan (this .getFieldOfView () / 2) * 2,
64024
+ size = nearValue * Math .tan (this .getUserFieldOfView () / 2) * 2,
64043
64025
  aspect = width / height;
64044
64026
 
64045
64027
  if (aspect > 1)
@@ -64050,11 +64032,11 @@ Object .assign (Object .setPrototypeOf (Viewpoint .prototype, Navigation_X3DView
64050
64032
  })(),
64051
64033
  getLookAtDistance (bbox)
64052
64034
  {
64053
- return (bbox .size .magnitude () / 2) / Math .tan (this .getFieldOfView () / 2);
64035
+ return (bbox .size .magnitude () / 2) / Math .tan (this .getUserFieldOfView () / 2);
64054
64036
  },
64055
64037
  getProjectionMatrixWithLimits (nearValue, farValue, viewport)
64056
64038
  {
64057
- return Geometry_Camera .perspective (this .getFieldOfView (), nearValue, farValue, viewport [2], viewport [3], this .projectionMatrix);
64039
+ return Geometry_Camera .perspective (this .getUserFieldOfView (), nearValue, farValue, viewport [2], viewport [3], this .projectionMatrix);
64058
64040
  },
64059
64041
  });
64060
64042
 
@@ -64386,16 +64368,16 @@ Object .assign (Object .setPrototypeOf (X3DGroupingNode .prototype, Core_X3DChil
64386
64368
  this .set_children__ ();
64387
64369
  },
64388
64370
  getBBox (bbox, shadows)
64389
- {
64390
- return this .getSubBBox (bbox, shadows);
64391
- },
64392
- getSubBBox (bbox, shadows)
64393
64371
  {
64394
64372
  if (this ._bboxSize .getValue () .equals (this .getDefaultBBoxSize ()))
64395
- return Grouping_X3DBoundedObject .prototype .getBBox .call (this, this .visibleNodes, bbox, shadows);
64373
+ return this .getSubBBox (bbox, shadows);
64396
64374
 
64397
64375
  return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
64398
64376
  },
64377
+ getSubBBox (bbox, shadows)
64378
+ {
64379
+ return Grouping_X3DBoundedObject .prototype .getBBox .call (this, this .visibleNodes, bbox, shadows);
64380
+ },
64399
64381
  setAllowedTypes (/* type, ... */)
64400
64382
  {
64401
64383
  const allowedTypes = this .allowedTypes;
@@ -65605,7 +65587,7 @@ const X3DWorld_default_ = X3DWorld;
65605
65587
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
65606
65588
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
65607
65589
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
65608
- /* provided dependency */ var FileLoader_$ = __webpack_require__(548);
65590
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(751);
65609
65591
  /*******************************************************************************
65610
65592
  *
65611
65593
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66536,7 +66518,7 @@ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
66536
66518
  x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
66537
66519
  /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
66538
66520
  ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
66539
- /* provided dependency */ var X3DRoute_$ = __webpack_require__(548);
66521
+ /* provided dependency */ var X3DRoute_$ = __webpack_require__(751);
66540
66522
  /*******************************************************************************
66541
66523
  *
66542
66524
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66756,11 +66738,11 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66756
66738
 
66757
66739
  const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66758
66740
  ? generator .Name (this [_sourceNode])
66759
- : this [_sourceNode] .getImportedName ();
66741
+ : generator .ImportedName (this [_sourceNode]);
66760
66742
 
66761
66743
  const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66762
66744
  ? generator .Name (this [_destinationNode])
66763
- : this [_destinationNode] .getImportedName ();
66745
+ : generator .ImportedName (this [_destinationNode]);
66764
66746
 
66765
66747
  generator .string += generator .Indent ();
66766
66748
  generator .string += "ROUTE";
@@ -66785,11 +66767,11 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66785
66767
 
66786
66768
  const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66787
66769
  ? generator .Name (this [_sourceNode])
66788
- : this [_sourceNode] .getImportedName ();
66770
+ : generator .ImportedName (this [_sourceNode]);
66789
66771
 
66790
66772
  const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66791
66773
  ? generator .Name (this [_destinationNode])
66792
- : this [_destinationNode] .getImportedName ();
66774
+ : generator .ImportedName (this [_destinationNode]);
66793
66775
 
66794
66776
  generator .string += generator .Indent ();
66795
66777
  generator .string += "<ROUTE";
@@ -66821,11 +66803,11 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66821
66803
 
66822
66804
  const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66823
66805
  ? generator .Name (this [_sourceNode])
66824
- : this [_sourceNode] .getImportedName ();
66806
+ : generator .ImportedName (this [_sourceNode]);
66825
66807
 
66826
66808
  const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66827
66809
  ? generator .Name (this [_destinationNode])
66828
- : this [_destinationNode] .getImportedName ();
66810
+ : generator .ImportedName (this [_destinationNode]);
66829
66811
 
66830
66812
  generator .string += generator .Indent ();
66831
66813
  generator .string += '{';
@@ -67353,14 +67335,13 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67353
67335
 
67354
67336
  // Remove named node.
67355
67337
 
67356
- this .removeNamedNode (node .getName ());
67357
67338
  this .removeNamedNode (name);
67358
67339
 
67359
67340
  // Update named node.
67360
67341
 
67361
- node .setName (name);
67342
+ this [_namedNodes] .update (node .getName (), name, Fields_SFNodeCache .get (node));
67362
67343
 
67363
- this [_namedNodes] .add (name, Fields_SFNodeCache .get (node));
67344
+ node .setName (name);
67364
67345
 
67365
67346
  this ._namedNodes_changed = this .getBrowser () .getCurrentTime ();
67366
67347
  },
@@ -67436,6 +67417,20 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67436
67417
 
67437
67418
  this ._importedNodes_changed = this .getBrowser () .getCurrentTime ();
67438
67419
  },
67420
+ renameImportedNode (oldImportedName, newImportedName)
67421
+ {
67422
+ const importedNode = this [_importedNodes] .get (oldImportedName);
67423
+
67424
+ if (!importedNode)
67425
+ throw new Error ("Couldn't rename imported node: imported node does not exists.");
67426
+
67427
+ if (this [_importedNodes] .get (newImportedName))
67428
+ throw new Error ("Couldn't rename imported node: new imported name does already exists.");
67429
+
67430
+ importedNode [Symbol .for ("X_ITE.X3DImportedNode.setImportName")] (newImportedName);
67431
+
67432
+ this [_importedNodes] .update (oldImportedName, newImportedName, importedNode);
67433
+ },
67439
67434
  removeImportedNode (importedName)
67440
67435
  {
67441
67436
  importedName = String (importedName);
@@ -68224,7 +68219,7 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68224
68219
 
68225
68220
  for (const protoField of this [_protoFields] .keys ())
68226
68221
  {
68227
- const oldFieldName = oldProtoFields .get (protoField);
68222
+ const oldFieldName = oldProtoFields .get (protoField) ?? protoField .getName ();
68228
68223
 
68229
68224
  if (!oldFieldName)
68230
68225
  continue;
@@ -76949,7 +76944,10 @@ Object .assign (Object .setPrototypeOf (X3DTransformMatrix3DNode .prototype, Gro
76949
76944
  },
76950
76945
  getBBox (bbox, shadows)
76951
76946
  {
76952
- return this .getSubBBox (bbox, shadows) .multRight (this .matrix);
76947
+ if (this ._bboxSize .getValue () .equals (this .getDefaultBBoxSize ()))
76948
+ return this .getSubBBox (bbox, shadows) .multRight (this .matrix);
76949
+
76950
+ return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
76953
76951
  },
76954
76952
  traverse (type, renderObject)
76955
76953
  {
@@ -82100,6 +82098,24 @@ Object .assign (Object .setPrototypeOf (OrthoViewpoint .prototype, Navigation_X3
82100
82098
  {
82101
82099
  return false;
82102
82100
  },
82101
+ getFieldOfView ()
82102
+ {
82103
+ return [
82104
+ this .getMinimumX (),
82105
+ this .getMinimumY (),
82106
+ this .getMaximumX (),
82107
+ this .getMaximumY (),
82108
+ ];
82109
+ },
82110
+ getUserFieldOfView ()
82111
+ {
82112
+ return [
82113
+ this .getUserMinimumX (),
82114
+ this .getUserMinimumY (),
82115
+ this .getUserMaximumX (),
82116
+ this .getUserMaximumY (),
82117
+ ];
82118
+ },
82103
82119
  getMinimumX ()
82104
82120
  {
82105
82121
  return this ._fieldOfView .length > 0 ? this ._fieldOfView [0] : -1;
@@ -89371,7 +89387,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
89371
89387
  x_ite_Namespace .add ("X3DShaderNode", "x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
89372
89388
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
89373
89389
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
89374
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(548);
89390
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(751);
89375
89391
  /*******************************************************************************
89376
89392
  *
89377
89393
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95012,7 +95028,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
95012
95028
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
95013
95029
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
95014
95030
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
95015
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(548);
95031
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(751);
95016
95032
  /*******************************************************************************
95017
95033
  *
95018
95034
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95669,7 +95685,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
95669
95685
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
95670
95686
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
95671
95687
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
95672
- /* provided dependency */ var Appearance_$ = __webpack_require__(548);
95688
+ /* provided dependency */ var Appearance_$ = __webpack_require__(751);
95673
95689
  /*******************************************************************************
95674
95690
  *
95675
95691
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99087,7 +99103,7 @@ const Components_Shape_default_ = {
99087
99103
  x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_default_);
99088
99104
  /* harmony default export */ const Components_Shape = (Components_Shape_default_);
99089
99105
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundProcessingNode.js
99090
- /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(548);
99106
+ /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(751);
99091
99107
  /*******************************************************************************
99092
99108
  *
99093
99109
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99727,7 +99743,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
99727
99743
  x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
99728
99744
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
99729
99745
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
99730
- /* provided dependency */ var AudioClip_$ = __webpack_require__(548);
99746
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(751);
99731
99747
  /*******************************************************************************
99732
99748
  *
99733
99749
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -100029,7 +100045,7 @@ const X3DSoundNode_default_ = X3DSoundNode;
100029
100045
  x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
100030
100046
  /* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
100031
100047
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundDestinationNode.js
100032
- /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(548);
100048
+ /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(751);
100033
100049
  /*******************************************************************************
100034
100050
  *
100035
100051
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -101679,7 +101695,7 @@ const ListenerPointSource_default_ = ListenerPointSource;
101679
101695
  x_ite_Namespace .add ("ListenerPointSource", "x_ite/Components/Sound/ListenerPointSource", ListenerPointSource_default_);
101680
101696
  /* harmony default export */ const Sound_ListenerPointSource = (ListenerPointSource_default_);
101681
101697
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/MicrophoneSource.js
101682
- /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(548);
101698
+ /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(751);
101683
101699
  /*******************************************************************************
101684
101700
  *
101685
101701
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -103348,8 +103364,8 @@ const GifMedia_default_ = GifMedia;
103348
103364
  x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
103349
103365
  /* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
103350
103366
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
103351
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(548);
103352
- /* provided dependency */ var SuperGif = __webpack_require__(258);
103367
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(751);
103368
+ /* provided dependency */ var SuperGif = __webpack_require__(851);
103353
103369
  /*******************************************************************************
103354
103370
  *
103355
103371
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -106624,7 +106640,7 @@ const gettext_default_ = gettext;
106624
106640
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
106625
106641
  /* harmony default export */ const locale_gettext = (gettext_default_);
106626
106642
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
106627
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(548);
106643
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(751);
106628
106644
  /*******************************************************************************
106629
106645
  *
106630
106646
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107054,7 +107070,7 @@ const TextureQuality_default_ = TextureQuality;
107054
107070
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
107055
107071
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
107056
107072
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
107057
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(548);
107073
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(751);
107058
107074
  /*******************************************************************************
107059
107075
  *
107060
107076
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107644,7 +107660,7 @@ const RenderingProperties_default_ = RenderingProperties;
107644
107660
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
107645
107661
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
107646
107662
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
107647
- /* provided dependency */ var Notification_$ = __webpack_require__(548);
107663
+ /* provided dependency */ var Notification_$ = __webpack_require__(751);
107648
107664
  /*******************************************************************************
107649
107665
  *
107650
107666
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107767,8 +107783,8 @@ const Notification_default_ = Notification;
107767
107783
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
107768
107784
  /* harmony default export */ const Core_Notification = (Notification_default_);
107769
107785
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
107770
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(864);
107771
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(548);
107786
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(132);
107787
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(751);
107772
107788
  /*******************************************************************************
107773
107789
  *
107774
107790
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -109604,11 +109620,9 @@ Object .assign (Object .setPrototypeOf (X3DScene .prototype, Execution_X3DExecut
109604
109620
  //if (node .getExecutionContext () !== this)
109605
109621
  // throw new Error ("Couldn't update exported node: node does not belong to this execution context.");
109606
109622
 
109607
- this .removeExportedNode (exportedName);
109608
-
109609
109623
  const exportedNode = new Execution_X3DExportedNode (this, exportedName, node);
109610
109624
 
109611
- this [_exportedNodes] .add (exportedName, exportedNode);
109625
+ this [_exportedNodes] .update (exportedName, exportedName, exportedNode);
109612
109626
 
109613
109627
  this ._exportedNodes_changed = this .getBrowser () .getCurrentTime ();
109614
109628
  },
@@ -110522,7 +110536,7 @@ const DataStorage_default_ = DataStorage;
110522
110536
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
110523
110537
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
110524
110538
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
110525
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(548);
110539
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(751);
110526
110540
  /*******************************************************************************
110527
110541
  *
110528
110542
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -111182,7 +111196,7 @@ Object .assign (X3DCoreContext .prototype,
111182
111196
  vp .position = viewpoint .getUserPosition ();
111183
111197
  vp .orientation = viewpoint .getUserOrientation ();
111184
111198
  vp .centerOfRotation = viewpoint .getUserCenterOfRotation ();
111185
- vp .fieldOfView = viewpoint .getFieldOfView ();
111199
+ vp .fieldOfView = viewpoint .getUserFieldOfView ();
111186
111200
  break;
111187
111201
  }
111188
111202
  case "OrthoViewpoint":
@@ -111190,7 +111204,7 @@ Object .assign (X3DCoreContext .prototype,
111190
111204
  vp .position = viewpoint .getUserPosition ();
111191
111205
  vp .orientation = viewpoint .getUserOrientation ();
111192
111206
  vp .centerOfRotation = viewpoint .getUserCenterOfRotation ();
111193
- vp .fieldOfView = new x_ite_Fields .MFFloat (viewpoint .getMinimumX (), viewpoint .getMinimumY (), viewpoint .getMaximumX (), viewpoint .getMaximumY ());
111207
+ vp .fieldOfView = viewpoint .getUserFieldOfView ();
111194
111208
  break;
111195
111209
  }
111196
111210
  case "GeoViewpoint":
@@ -111213,7 +111227,7 @@ Object .assign (X3DCoreContext .prototype,
111213
111227
  vp .position = viewpoint .getGeoCoord (viewpoint .getUserPosition (), geoCoord);
111214
111228
  vp .orientation = viewpoint .getUserOrientation ();
111215
111229
  vp .centerOfRotation = viewpoint .getGeoCoord (viewpoint .getUserCenterOfRotation (), geoCoord);
111216
- vp .fieldOfView = viewpoint .getFieldOfView ();
111230
+ vp .fieldOfView = viewpoint .getUserFieldOfView ();
111217
111231
  break;
111218
111232
  }
111219
111233
  }
@@ -113045,8 +113059,8 @@ const X3DViewer_default_ = X3DViewer;
113045
113059
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
113046
113060
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
113047
113061
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
113048
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(642);
113049
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(548);
113062
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(983);
113063
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(751);
113050
113064
  /*******************************************************************************
113051
113065
  *
113052
113066
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113918,8 +113932,8 @@ const ExamineViewer_default_ = ExamineViewer;
113918
113932
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
113919
113933
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
113920
113934
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
113921
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(642);
113922
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(548);
113935
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(983);
113936
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(751);
113923
113937
  /*******************************************************************************
113924
113938
  *
113925
113939
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114928,8 +114942,8 @@ const FlyViewer_default_ = FlyViewer;
114928
114942
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
114929
114943
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
114930
114944
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
114931
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(642);
114932
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(548);
114945
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(983);
114946
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(751);
114933
114947
  /*******************************************************************************
114934
114948
  *
114935
114949
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115260,8 +115274,8 @@ const NoneViewer_default_ = NoneViewer;
115260
115274
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
115261
115275
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
115262
115276
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
115263
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(642);
115264
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(548);
115277
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(983);
115278
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(751);
115265
115279
  /*******************************************************************************
115266
115280
  *
115267
115281
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116400,8 +116414,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
116400
116414
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
116401
116415
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
116402
116416
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
116403
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(642);
116404
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(548);
116417
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(983);
116418
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(751);
116405
116419
  /*******************************************************************************
116406
116420
  *
116407
116421
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117680,7 +117694,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
117680
117694
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
117681
117695
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
117682
117696
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
117683
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(548);
117697
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(751);
117684
117698
  /*******************************************************************************
117685
117699
  *
117686
117700
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118582,7 +118596,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
118582
118596
  x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
118583
118597
  /* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
118584
118598
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
118585
- /* provided dependency */ var KTXDecoder_$ = __webpack_require__(548);
118599
+ /* provided dependency */ var KTXDecoder_$ = __webpack_require__(751);
118586
118600
  const KTXDecoder_default_ = class KTXDecoder
118587
118601
  {
118588
118602
  constructor (gl, externalKtxlib, scriptDir)
@@ -120135,7 +120149,7 @@ const Components_default_ = Components;
120135
120149
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
120136
120150
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
120137
120151
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
120138
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(548);
120152
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(751);
120139
120153
  /*******************************************************************************
120140
120154
  * MIT License
120141
120155
  *
@@ -121266,7 +121280,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
121266
121280
  x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
121267
121281
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
121268
121282
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
121269
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(548);
121283
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(751);
121270
121284
  /*******************************************************************************
121271
121285
  *
121272
121286
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -121336,7 +121350,6 @@ x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfile
121336
121350
 
121337
121351
 
121338
121352
 
121339
-
121340
121353
 
121341
121354
 
121342
121355
  const
@@ -121954,24 +121967,55 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
121954
121967
  {
121955
121968
  const [key, object] = args;
121956
121969
 
121957
- this [_browserCallbacks] .forEach (map => map .set (key, object));
121970
+ for (const [event, map] of this [_browserCallbacks])
121971
+ this [_browserCallbacks] .set (event, new Map (map) .set (key, object));
121972
+
121958
121973
  break;
121959
121974
  }
121960
121975
  case 3:
121961
121976
  {
121962
- const [key, event, object] = args;
121977
+ const
121978
+ [key, event, object] = args,
121979
+ map = new Map (this [_browserCallbacks] .get (event));
121980
+
121981
+ this [_browserCallbacks] .set (event, map);
121963
121982
 
121964
- this [_browserCallbacks] .get (event) .set (key, object);
121983
+ map .set (key, object);
121965
121984
  break;
121966
121985
  }
121967
121986
  }
121968
121987
  },
121969
- removeBrowserCallback (key, event)
121988
+ removeBrowserCallback (... args)
121970
121989
  {
121971
- if (arguments .length === 2)
121972
- this [_browserCallbacks] .get (event) .delete (key);
121973
- else
121974
- this [_browserCallbacks] .forEach (map => map .delete (key));
121990
+ switch (args .length)
121991
+ {
121992
+ case 1:
121993
+ {
121994
+ const [key] = args;
121995
+
121996
+ for (const [event, original] of this [_browserCallbacks])
121997
+ {
121998
+ const map = new Map (original);
121999
+
122000
+ this [_browserCallbacks] .set (event, map);
122001
+
122002
+ map .delete (key);
122003
+ }
122004
+
122005
+ break;
122006
+ }
122007
+ case 2:
122008
+ {
122009
+ const
122010
+ [key, event] = args,
122011
+ map = new Map (this [_browserCallbacks] .get (event));
122012
+
122013
+ this [_browserCallbacks] .set (event, map);
122014
+
122015
+ map .delete (key);
122016
+ break;
122017
+ }
122018
+ }
121975
122019
  },
121976
122020
  getBrowserCallbacks (event)
121977
122021
  {
@@ -121982,7 +122026,7 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
121982
122026
  },
121983
122027
  callBrowserCallbacks (event)
121984
122028
  {
121985
- for (const callback of Utility_MapUtilities .values (this [_browserCallbacks] .get (event)))
122029
+ for (const callback of this [_browserCallbacks] .get (event) .values ())
121986
122030
  callback (event);
121987
122031
  },
121988
122032
  importDocument (dom)
@@ -122327,7 +122371,7 @@ const X3DBrowser_default_ = X3DBrowser;
122327
122371
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
122328
122372
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
122329
122373
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
122330
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(548);
122374
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(751);
122331
122375
  /*******************************************************************************
122332
122376
  *
122333
122377
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122459,8 +122503,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
122459
122503
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
122460
122504
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
122461
122505
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
122462
- /* provided dependency */ var jquery_$ = __webpack_require__(548);
122463
- /* provided dependency */ var pako = __webpack_require__(63);
122506
+ /* provided dependency */ var jquery_$ = __webpack_require__(751);
122507
+ /* provided dependency */ var pako = __webpack_require__(104);
122464
122508
  Object .assign (jquery_$,
122465
122509
  {
122466
122510
  decodeText (input)
@@ -122537,14 +122581,14 @@ const jquery_default_ = jquery_$;
122537
122581
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
122538
122582
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
122539
122583
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
122540
- /* provided dependency */ var libtess_libtess = __webpack_require__(527);
122584
+ /* provided dependency */ var libtess_libtess = __webpack_require__(641);
122541
122585
  const libtess_default_ = libtess_libtess;
122542
122586
  ;
122543
122587
 
122544
122588
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
122545
122589
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
122546
122590
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
122547
- /* provided dependency */ var X3D_$ = __webpack_require__(548);
122591
+ /* provided dependency */ var X3D_$ = __webpack_require__(751);
122548
122592
  /*******************************************************************************
122549
122593
  *
122550
122594
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122852,7 +122896,7 @@ Object .assign (X3D,
122852
122896
 
122853
122897
  // Assign X3D to global namespace.
122854
122898
 
122855
- window [Symbol .for ("X_ITE.X3D-9.2.1")] = x_ite_X3D;
122899
+ window [Symbol .for ("X_ITE.X3D-9.2.3")] = x_ite_X3D;
122856
122900
 
122857
122901
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
122858
122902