x_ite 9.1.11 → 9.2.1

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 (48) 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 +33 -33
  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.d.ts +8 -0
  43. package/dist/x_ite.js +624 -885
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.min.mjs +1 -1
  46. package/dist/x_ite.mjs +624 -885
  47. package/dist/x_ite.zip +0 -0
  48. package/package.json +3 -3
package/dist/x_ite.mjs CHANGED
@@ -1,9 +1,9 @@
1
- /* X_ITE v9.1.11 */var __webpack_modules__ = ({
1
+ /* X_ITE v9.2.1 */var __webpack_modules__ = ({
2
2
 
3
- /***/ 561:
3
+ /***/ 864:
4
4
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
5
5
 
6
- /* provided dependency */ var jQuery = __webpack_require__(831);
6
+ /* provided dependency */ var jQuery = __webpack_require__(548);
7
7
  /**
8
8
  * @preserve jquery.fullscreen 1.1.5
9
9
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -199,7 +199,7 @@ installFullScreenHandlers();
199
199
 
200
200
  /***/ }),
201
201
 
202
- /***/ 471:
202
+ /***/ 642:
203
203
  /***/ ((module, exports, __webpack_require__) => {
204
204
 
205
205
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -213,7 +213,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
213
213
  (function (factory) {
214
214
  if ( true ) {
215
215
  // AMD. Register as an anonymous module.
216
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(831)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
216
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(548)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
217
217
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
218
218
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
219
219
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -424,7 +424,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
424
424
 
425
425
  /***/ }),
426
426
 
427
- /***/ 831:
427
+ /***/ 548:
428
428
  /***/ (function(module, exports) {
429
429
 
430
430
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11148,7 +11148,7 @@ return jQuery;
11148
11148
 
11149
11149
  /***/ }),
11150
11150
 
11151
- /***/ 864:
11151
+ /***/ 527:
11152
11152
  /***/ ((module) => {
11153
11153
 
11154
11154
  /**
@@ -15927,7 +15927,7 @@ if (true) {
15927
15927
 
15928
15928
  /***/ }),
15929
15929
 
15930
- /***/ 295:
15930
+ /***/ 63:
15931
15931
  /***/ (function(__unused_webpack_module, exports) {
15932
15932
 
15933
15933
 
@@ -19172,7 +19172,7 @@ if (true) {
19172
19172
 
19173
19173
  /***/ }),
19174
19174
 
19175
- /***/ 698:
19175
+ /***/ 258:
19176
19176
  /***/ (function(module, exports) {
19177
19177
 
19178
19178
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -20299,7 +20299,7 @@ Object .defineProperty (Namespace, "add",
20299
20299
  }
20300
20300
  else
20301
20301
  {
20302
- const X3D = window [Symbol .for ("X_ITE.X3D-9.1.11")];
20302
+ const X3D = window [Symbol .for ("X_ITE.X3D-9.2.1")];
20303
20303
 
20304
20304
  if (X3D)
20305
20305
  X3D [name] = module;
@@ -20897,7 +20897,6 @@ function Generator ({ style = "TIDY", indent = "", precision = 7, doublePrecisio
20897
20897
  this .nodes = new Set ();
20898
20898
  this .names = new Map ();
20899
20899
  this .namesByNode = new Map ();
20900
- this .importedNames = new Map ();
20901
20900
  this .routeNodes = new Set ();
20902
20901
  this .level = 0;
20903
20902
  this .containerFields = [ ];
@@ -21105,9 +21104,8 @@ Object .assign (Generator .prototype,
21105
21104
 
21106
21105
  if (this .level === 0)
21107
21106
  {
21108
- this .nodes .clear ();
21109
- this .namesByNode .clear ();
21110
- this .importedNames .clear ();
21107
+ this .nodes .clear ();
21108
+ this .namesByNode .clear ();
21111
21109
  }
21112
21110
  },
21113
21111
  NamedNodes (namedNodes)
@@ -21146,17 +21144,13 @@ Object .assign (Generator .prototype,
21146
21144
  { }
21147
21145
  }
21148
21146
  },
21149
- AddImportedNode (exportedNode, importedName)
21150
- {
21151
- this .importedNames .set (exportedNode, importedName);
21152
- },
21153
21147
  AddRouteNode (routeNode)
21154
21148
  {
21155
21149
  this .routeNodes .add (routeNode);
21156
21150
  },
21157
21151
  ExistsRouteNode (routeNode)
21158
21152
  {
21159
- return this .namesByNode .get (routeNode) || this .routeNodes .has (routeNode);
21153
+ return this .namesByNode .has (routeNode) || this .routeNodes .has (routeNode);
21160
21154
  },
21161
21155
  IsSharedNode (baseNode)
21162
21156
  {
@@ -21233,18 +21227,6 @@ Object .assign (Generator .prototype,
21233
21227
 
21234
21228
  return newName;
21235
21229
  },
21236
- LocalName (baseNode)
21237
- {
21238
- const importedName = this .importedNames .get (baseNode);
21239
-
21240
- if (importedName !== undefined)
21241
- return importedName;
21242
-
21243
- if (this .ExistsNode (baseNode))
21244
- return this .Name (baseNode);
21245
-
21246
- throw new Error (`Couldn't get local name for node '${baseNode .getTypeName ()}'.`);
21247
- },
21248
21230
  PushContainerField (field)
21249
21231
  {
21250
21232
  this .containerFields .push (field);
@@ -21450,7 +21432,7 @@ const MapUtilities =
21450
21432
  {
21451
21433
  assign: (() =>
21452
21434
  {
21453
- function callback (value, key)
21435
+ function set (value, key)
21454
21436
  {
21455
21437
  this .set (key, value);
21456
21438
  }
@@ -21458,25 +21440,36 @@ const MapUtilities =
21458
21440
  return function (m1, m2)
21459
21441
  {
21460
21442
  m1 .clear ();
21461
- m2 .forEach (callback, m1);
21443
+ m2 .forEach (set, m1);
21462
21444
 
21463
21445
  return m1;
21464
21446
  };
21465
21447
  })(),
21466
21448
  values: (() =>
21467
21449
  {
21468
- function callback (value)
21469
- {
21470
- this .push (value);
21471
- }
21450
+ function push (value) { this .push (value); }
21472
21451
 
21473
- return function (a, m)
21452
+ const values = new WeakMap ();
21453
+
21454
+ return function (m)
21474
21455
  {
21475
- a .length = 0;
21456
+ if (m .size)
21457
+ {
21458
+ let a = values .get (m);
21459
+
21460
+ if (a)
21461
+ a .length = 0;
21462
+ else
21463
+ values .set (m, a = [ ]);
21476
21464
 
21477
- m .forEach (callback, a);
21465
+ m .forEach (push, a);
21478
21466
 
21479
- return a;
21467
+ return a;
21468
+ }
21469
+ else
21470
+ {
21471
+ return m .values ();
21472
+ }
21480
21473
  };
21481
21474
  })(),
21482
21475
  };
@@ -21605,7 +21598,6 @@ Object .assign (X3DObject .prototype,
21605
21598
  {
21606
21599
  [_name]: "",
21607
21600
  [_interests]: new Map (),
21608
- [_values]: [ ],
21609
21601
  [_userData]: new Map (),
21610
21602
  getId ()
21611
21603
  {
@@ -21634,10 +21626,7 @@ Object .assign (X3DObject .prototype,
21634
21626
  addInterest (callbackName, object, ... args)
21635
21627
  {
21636
21628
  if (this [_interests] === X3DObject .prototype [_interests])
21637
- {
21638
21629
  this [_interests] = new Map ();
21639
- this [_values] = [ ];
21640
- }
21641
21630
 
21642
21631
  const
21643
21632
  interestId = X3DObject .getInterestId (callbackName, object),
@@ -21655,11 +21644,8 @@ Object .assign (X3DObject .prototype,
21655
21644
  },
21656
21645
  processInterests ()
21657
21646
  {
21658
- if (this [_interests] .size)
21659
- {
21660
- for (const interest of Utility_MapUtilities .values (this [_values], this [_interests]))
21661
- interest ();
21662
- }
21647
+ for (const interest of Utility_MapUtilities .values (this [_interests]))
21648
+ interest ();
21663
21649
  },
21664
21650
  getUserData (key)
21665
21651
  {
@@ -22987,19 +22973,11 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
22987
22973
  {
22988
22974
  return this [_referencesCallbacks];
22989
22975
  },
22990
- processReferencesCallbacks: (() =>
22976
+ processReferencesCallbacks ()
22991
22977
  {
22992
- const referencesCallbacksTemp = [ ];
22993
-
22994
- return function ()
22995
- {
22996
- if (this [_referencesCallbacks] .size)
22997
- {
22998
- for (const callback of Utility_MapUtilities .values (referencesCallbacksTemp, this [_referencesCallbacks]))
22999
- callback ();
23000
- }
23001
- };
23002
- })(),
22978
+ for (const callback of Utility_MapUtilities .values (this [_referencesCallbacks]))
22979
+ callback ();
22980
+ },
23003
22981
  addFieldInterest (field)
23004
22982
  {
23005
22983
  if (this [_fieldInterests] === X3DField .prototype [_fieldInterests])
@@ -23085,70 +23063,54 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
23085
23063
  {
23086
23064
  return this [_routeCallbacks];
23087
23065
  },
23088
- processRouteCallbacks: (() =>
23066
+ processRouteCallbacks ()
23089
23067
  {
23090
- const routeCallbacksTemp = [ ];
23091
-
23092
- return function ()
23093
- {
23094
- if (this [_routeCallbacks] .size)
23095
- {
23096
- for (const callback of Utility_MapUtilities .values (routeCallbacksTemp, this [_routeCallbacks]))
23097
- callback ();
23098
- }
23099
- };
23100
- })(),
23101
- processEvent: (() =>
23068
+ for (const callback of Utility_MapUtilities .values (this [_routeCallbacks]))
23069
+ callback ();
23070
+ },
23071
+ processEvent (event = Base_Events .create (this))
23102
23072
  {
23103
- const fieldCallbacksTemp = [ ];
23104
-
23105
- return function (event = Base_Events .create (this))
23106
- {
23107
- if (event .has (this))
23108
- return;
23073
+ if (event .has (this))
23074
+ return;
23109
23075
 
23110
- event .add (this);
23076
+ event .add (this);
23111
23077
 
23112
- this .setTainted (false);
23078
+ this .setTainted (false);
23113
23079
 
23114
- const field = event .field;
23080
+ const field = event .field;
23115
23081
 
23116
- if (field !== this)
23117
- this .set (field .getValue (), field .length);
23082
+ if (field !== this)
23083
+ this .set (field .getValue (), field .length);
23118
23084
 
23119
- // Process interests.
23085
+ // Process interests.
23120
23086
 
23121
- this .processInterests ();
23087
+ this .processInterests ();
23122
23088
 
23123
- // Process routes.
23089
+ // Process routes.
23124
23090
 
23125
- let first = true;
23091
+ let first = true;
23126
23092
 
23127
- for (const field of this [_fieldInterests])
23093
+ for (const field of this [_fieldInterests])
23094
+ {
23095
+ if (first)
23128
23096
  {
23129
- if (first)
23130
- {
23131
- first = false;
23132
- field .addEventObject (this, event);
23133
- }
23134
- else
23135
- {
23136
- field .addEventObject (this, Base_Events .copy (event));
23137
- }
23097
+ first = false;
23098
+ field .addEventObject (this, event);
23138
23099
  }
23100
+ else
23101
+ {
23102
+ field .addEventObject (this, Base_Events .copy (event));
23103
+ }
23104
+ }
23139
23105
 
23140
- if (first)
23141
- Base_Events .push (event);
23106
+ if (first)
23107
+ Base_Events .push (event);
23142
23108
 
23143
- // Process field callbacks.
23109
+ // Process field callbacks.
23144
23110
 
23145
- if (this [_fieldCallbacks] .size)
23146
- {
23147
- for (const callback of Utility_MapUtilities .values (fieldCallbacksTemp, this [_fieldCallbacks]))
23148
- callback (this .valueOf ());
23149
- }
23150
- };
23151
- })(),
23111
+ for (const callback of Utility_MapUtilities .values (this [_fieldCallbacks]))
23112
+ callback (this .valueOf ());
23113
+ },
23152
23114
  fromString (string, scene)
23153
23115
  {
23154
23116
  // Function will be overridden in VRMLParser.
@@ -34179,9 +34141,9 @@ Object .assign (Object .setPrototypeOf (X3DBaseNode .prototype, Base_X3DChildObj
34179
34141
  return true;
34180
34142
  }
34181
34143
 
34182
- for (const importedNode of this [_executionContext] .getImportedNodes ())
34144
+ for (const route of this [_executionContext] .getRoutes ())
34183
34145
  {
34184
- if (importedNode .hasRoutes (this))
34146
+ if (route .getSourceNode () === this || route .getDestinationNode () === this)
34185
34147
  return true;
34186
34148
  }
34187
34149
 
@@ -34331,7 +34293,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34331
34293
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34332
34294
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34333
34295
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34334
- /* provided dependency */ var $ = __webpack_require__(831);
34296
+ /* provided dependency */ var $ = __webpack_require__(548);
34335
34297
  /*******************************************************************************
34336
34298
  *
34337
34299
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34468,7 +34430,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34468
34430
  *
34469
34431
  ******************************************************************************/
34470
34432
 
34471
- const BROWSER_VERSION_default_ = "9.1.11";
34433
+ const BROWSER_VERSION_default_ = "9.2.1";
34472
34434
  ;
34473
34435
 
34474
34436
  x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSION_default_);
@@ -37304,9 +37266,6 @@ function X3DImportedNode (executionContext, inlineNode, exportedName, importedNa
37304
37266
  this [_inlineNode] = inlineNode;
37305
37267
  this [_exportedName] = exportedName;
37306
37268
  this [_importedName] = importedName;
37307
- this [_routes] = [ ];
37308
-
37309
- this .getInlineNode () ._loadState .addInterest ("set_loadState__", this);
37310
37269
  }
37311
37270
 
37312
37271
  Object .assign (Object .setPrototypeOf (X3DImportedNode .prototype, Base_X3DObject .prototype),
@@ -37331,423 +37290,149 @@ Object .assign (Object .setPrototypeOf (X3DImportedNode .prototype, Base_X3DObje
37331
37290
  {
37332
37291
  return this [_importedName];
37333
37292
  },
37334
- hasRoutes (baseNode)
37335
- {
37336
- return this [_routes]
37337
- .some (route => route .sourceNode === baseNode || route .destinationNode === baseNode)
37338
- },
37339
- addRoute (sourceNode, sourceField, destinationNode, destinationField)
37340
- {
37341
- // Add route.
37342
-
37343
- const route = {
37344
- sourceNode,
37345
- sourceField,
37346
- destinationNode,
37347
- destinationField,
37348
- };
37349
-
37350
- this [_routes] .push (route);
37351
-
37352
- // Try to resolve source or destination node routes.
37353
-
37354
- if (this .getInlineNode () .checkLoadState () === Base_X3DConstants .COMPLETE_STATE)
37355
- this .resolveRoute (route);
37356
- },
37357
- resolveRoute (route)
37293
+ toVRMLStream (generator)
37358
37294
  {
37359
- try
37360
- {
37361
- const { sourceField, destinationField } = route;
37362
-
37363
- let { sourceNode, destinationNode } = route;
37295
+ if (!generator .ExistsNode (this .getInlineNode ()))
37296
+ throw new Error ("X3DImportedNode.toVRMLStream: Inline node does not exist.");
37364
37297
 
37365
- route [_real] ?.dispose ();
37298
+ generator .AddRouteNode (this);
37366
37299
 
37367
- if (sourceNode instanceof X3DImportedNode)
37368
- sourceNode = sourceNode .getExportedNode ();
37300
+ const importedName = generator .ImportedName (this .getImportedName ());
37369
37301
 
37370
- if (destinationNode instanceof X3DImportedNode)
37371
- destinationNode = destinationNode .getExportedNode ();
37302
+ generator .string += generator .Indent ();
37303
+ generator .string += "IMPORT";
37304
+ generator .string += generator .Space ();
37305
+ generator .string += generator .Name (this .getInlineNode ());
37306
+ generator .string += ".";
37307
+ generator .string += this .getExportedName ();
37372
37308
 
37373
- route [_real] = this .getExecutionContext () .addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField);
37374
- }
37375
- catch (error)
37309
+ if (importedName !== this .getExportedName ())
37376
37310
  {
37377
- console .error (error .message);
37311
+ generator .string += generator .Space ();
37312
+ generator .string += "AS";
37313
+ generator .string += generator .Space ();
37314
+ generator .string += importedName;
37378
37315
  }
37379
37316
  },
37380
- deleteRoute (real)
37381
- {
37382
- this [_routes] = this [_routes] .filter (route => route [_real] !== real);
37383
- },
37384
- deleteRealRoutes ()
37317
+ toXMLStream (generator)
37385
37318
  {
37386
- for (const route of this [_routes])
37387
- {
37388
- const real = route [_real]
37389
-
37390
- if (!real)
37391
- continue;
37319
+ if (!generator .ExistsNode (this .getInlineNode ()))
37320
+ throw new Error ("X3DImportedNode.toXMLStream: Inline node does not exist.");
37392
37321
 
37393
- delete route [_real];
37322
+ generator .AddRouteNode (this);
37394
37323
 
37395
- this .getExecutionContext () .deleteSimpleRoute (real);
37396
- }
37397
- },
37398
- getRoutes ()
37399
- {
37400
- return this [_routes] .map (({ sourceNode, sourceField, destinationNode, destinationField }) =>
37401
- {
37402
- return {
37403
- sourceNode: sourceNode instanceof X3DImportedNode
37404
- ? sourceNode
37405
- : Fields_SFNodeCache .get (sourceNode),
37406
- sourceField,
37407
- destinationNode: destinationNode instanceof X3DImportedNode
37408
- ? destinationNode
37409
- : Fields_SFNodeCache .get (destinationNode),
37410
- destinationField,
37411
- };
37412
- });
37413
- },
37414
- set_loadState__ ()
37415
- {
37416
- switch (this .getInlineNode () .checkLoadState ())
37417
- {
37418
- case Base_X3DConstants .NOT_STARTED_STATE:
37419
- case Base_X3DConstants .FAILED_STATE:
37420
- {
37421
- this .deleteRealRoutes ();
37422
- break;
37423
- }
37424
- case Base_X3DConstants .COMPLETE_STATE:
37425
- {
37426
- this .deleteRealRoutes ();
37324
+ const importedName = generator .ImportedName (this .getImportedName ());
37427
37325
 
37428
- for (const route of this [_routes])
37429
- this .resolveRoute (route);
37326
+ generator .string += generator .Indent ();
37327
+ generator .string += "<IMPORT";
37328
+ generator .string += generator .Space ();
37329
+ generator .string += "inlineDEF='";
37330
+ generator .string += generator .XMLEncode (generator .Name (this .getInlineNode ()));
37331
+ generator .string += "'";
37332
+ generator .string += generator .Space ();
37333
+ generator .string += "importedDEF='";
37334
+ generator .string += generator .XMLEncode (this .getExportedName ());
37335
+ generator .string += "'";
37430
37336
 
37431
- break;
37432
- }
37433
- }
37434
- },
37435
- toVRMLStream (generator)
37436
- {
37437
- if (generator .ExistsNode (this .getInlineNode ()))
37337
+ if (importedName !== this .getExportedName ())
37438
37338
  {
37439
- const importedName = generator .ImportedName (this .getImportedName ());
37440
-
37441
- generator .string += generator .Indent ();
37442
- generator .string += "IMPORT";
37443
37339
  generator .string += generator .Space ();
37444
- generator .string += generator .Name (this .getInlineNode ());
37445
- generator .string += ".";
37446
- generator .string += this .getExportedName ();
37447
-
37448
- if (importedName !== this .getExportedName ())
37449
- {
37450
- generator .string += generator .Space ();
37451
- generator .string += "AS";
37452
- generator .string += generator .Space ();
37453
- generator .string += importedName;
37454
- }
37455
-
37456
- try
37457
- {
37458
- generator .AddRouteNode (this);
37459
- generator .AddImportedNode (this .getExportedNode (), importedName);
37460
- }
37461
- catch
37462
- {
37463
- // Output unresolved routes.
37464
-
37465
- for (const { sourceNode, sourceField, destinationNode, destinationField } of this [_routes])
37466
- {
37467
- if (generator .ExistsRouteNode (sourceNode) && generator .ExistsRouteNode (destinationNode))
37468
- {
37469
- const sourceNodeName = sourceNode instanceof X3DImportedNode
37470
- ? sourceNode .getImportedName ()
37471
- : generator .Name (sourceNode);
37472
-
37473
- const destinationNodeName = destinationNode instanceof X3DImportedNode
37474
- ? destinationNode .getImportedName ()
37475
- : generator .Name (destinationNode);
37476
-
37477
- generator .string += generator .TidyBreak ();
37478
- generator .string += generator .Indent ();
37479
- generator .string += "ROUTE";
37480
- generator .string += generator .Space ();
37481
- generator .string += sourceNodeName;
37482
- generator .string += ".";
37483
- generator .string += sourceField;
37484
- generator .string += generator .Space ();
37485
- generator .string += "TO";
37486
- generator .string += generator .Space ();
37487
- generator .string += destinationNodeName;
37488
- generator .string += ".";
37489
- generator .string += destinationField;
37490
- }
37491
- }
37492
- }
37493
- }
37494
- else
37495
- {
37496
- throw new Error ("X3DImportedNode.toXMLStream: Inline node does not exist.");
37340
+ generator .string += "AS='";
37341
+ generator .string += generator .XMLEncode (importedName);
37342
+ generator .string += "'";
37497
37343
  }
37344
+
37345
+ generator .string += generator .closingTags ? "></IMPORT>" : "/>";
37498
37346
  },
37499
- toXMLStream (generator)
37347
+ toJSONStream (generator)
37500
37348
  {
37501
- if (generator .ExistsNode (this .getInlineNode ()))
37502
- {
37503
- const importedName = generator .ImportedName (this .getImportedName ());
37349
+ if (!generator .ExistsNode (this .getInlineNode ()))
37350
+ throw new Error ("X3DImportedNode.toJSONStream: Inline node does not exist.");
37504
37351
 
37505
- generator .string += generator .Indent ();
37506
- generator .string += "<IMPORT";
37507
- generator .string += generator .Space ();
37508
- generator .string += "inlineDEF='";
37509
- generator .string += generator .XMLEncode (generator .Name (this .getInlineNode ()));
37510
- generator .string += "'";
37511
- generator .string += generator .Space ();
37512
- generator .string += "importedDEF='";
37513
- generator .string += generator .XMLEncode (this .getExportedName ());
37514
- generator .string += "'";
37352
+ generator .AddRouteNode (this);
37515
37353
 
37516
- if (importedName !== this .getExportedName ())
37517
- {
37518
- generator .string += generator .Space ();
37519
- generator .string += "AS='";
37520
- generator .string += generator .XMLEncode (importedName);
37521
- generator .string += "'";
37522
- }
37354
+ const importedName = generator .ImportedName (this .getImportedName ());
37523
37355
 
37524
- generator .string += generator .closingTags ? "></IMPORT>" : "/>";
37525
-
37526
- try
37527
- {
37528
- generator .AddRouteNode (this);
37529
- generator .AddImportedNode (this .getExportedNode (), importedName);
37530
- }
37531
- catch
37532
- {
37533
- // Output unresolved routes.
37356
+ generator .string += generator .Indent ();
37357
+ generator .string += '{';
37358
+ generator .string += generator .TidySpace ();
37359
+ generator .string += '"';
37360
+ generator .string += "IMPORT";
37361
+ generator .string += '"';
37362
+ generator .string += ':';
37363
+ generator .string += generator .TidyBreak ();
37364
+ generator .string += generator .IncIndent ();
37365
+ generator .string += generator .Indent ();
37366
+ generator .string += '{';
37367
+ generator .string += generator .TidyBreak ();
37368
+ generator .string += generator .IncIndent ();
37534
37369
 
37535
- for (const { sourceNode, sourceField, destinationNode, destinationField } of this [_routes])
37536
- {
37537
- if (generator .ExistsRouteNode (sourceNode) && generator .ExistsRouteNode (destinationNode))
37538
- {
37539
- const sourceNodeName = sourceNode instanceof X3DImportedNode
37540
- ? sourceNode .getImportedName ()
37541
- : generator .Name (sourceNode);
37370
+ generator .string += generator .Indent ();
37371
+ generator .string += '"';
37372
+ generator .string += "@inlineDEF";
37373
+ generator .string += '"';
37374
+ generator .string += ':';
37375
+ generator .string += generator .TidySpace ();
37376
+ generator .string += '"';
37377
+ generator .string += generator .JSONEncode (generator .Name (this .getInlineNode ()));
37378
+ generator .string += '"';
37379
+ generator .string += ',';
37380
+ generator .string += generator .TidyBreak ();
37542
37381
 
37543
- const destinationNodeName = destinationNode instanceof X3DImportedNode
37544
- ? destinationNode .getImportedName ()
37545
- : generator .Name (destinationNode);
37382
+ generator .string += generator .Indent ();
37383
+ generator .string += '"';
37384
+ generator .string += "@importedDEF";
37385
+ generator .string += '"';
37386
+ generator .string += ':';
37387
+ generator .string += generator .TidySpace ();
37388
+ generator .string += '"';
37389
+ generator .string += generator .JSONEncode (this .getExportedName ());
37390
+ generator .string += '"';
37546
37391
 
37547
- generator .string += generator .TidyBreak ();
37548
- generator .string += generator .Indent ();
37549
- generator .string += "<ROUTE";
37550
- generator .string += generator .Space ();
37551
- generator .string += "fromNode='";
37552
- generator .string += generator .XMLEncode (sourceNodeName);
37553
- generator .string += "'";
37554
- generator .string += generator .Space ();
37555
- generator .string += "fromField='";
37556
- generator .string += generator .XMLEncode (sourceField);
37557
- generator .string += "'";
37558
- generator .string += generator .Space ();
37559
- generator .string += "toNode='";
37560
- generator .string += generator .XMLEncode (destinationNodeName);
37561
- generator .string += "'";
37562
- generator .string += generator .Space ();
37563
- generator .string += "toField='";
37564
- generator .string += generator .XMLEncode (destinationField);
37565
- generator .string += "'";
37566
- generator .string += generator .closingTags ? "></ROUTE>" : "/>";
37567
- }
37568
- }
37569
- }
37570
- }
37571
- else
37392
+ if (importedName !== this .getExportedName ())
37572
37393
  {
37573
- throw new Error ("X3DImportedNode.toXMLStream: Inline node does not exist.");
37574
- }
37575
- },
37576
- toJSONStream (generator)
37577
- {
37578
- if (generator .ExistsNode (this .getInlineNode ()))
37579
- {
37580
- const importedName = generator .ImportedName (this .getImportedName ());
37581
-
37582
- generator .string += generator .Indent ();
37583
- generator .string += '{';
37584
- generator .string += generator .TidySpace ();
37585
- generator .string += '"';
37586
- generator .string += "IMPORT";
37587
- generator .string += '"';
37588
- generator .string += ':';
37589
- generator .string += generator .TidyBreak ();
37590
- generator .string += generator .IncIndent ();
37591
- generator .string += generator .Indent ();
37592
- generator .string += '{';
37593
- generator .string += generator .TidyBreak ();
37594
- generator .string += generator .IncIndent ();
37595
-
37596
- generator .string += generator .Indent ();
37597
- generator .string += '"';
37598
- generator .string += "@inlineDEF";
37599
- generator .string += '"';
37600
- generator .string += ':';
37601
- generator .string += generator .TidySpace ();
37602
- generator .string += '"';
37603
- generator .string += generator .JSONEncode (generator .Name (this .getInlineNode ()));
37604
- generator .string += '"';
37605
37394
  generator .string += ',';
37606
37395
  generator .string += generator .TidyBreak ();
37607
-
37608
37396
  generator .string += generator .Indent ();
37609
37397
  generator .string += '"';
37610
- generator .string += "@importedDEF";
37398
+ generator .string += "@AS";
37611
37399
  generator .string += '"';
37612
37400
  generator .string += ':';
37613
37401
  generator .string += generator .TidySpace ();
37614
37402
  generator .string += '"';
37615
- generator .string += generator .JSONEncode (this .getExportedName ());
37403
+ generator .string += generator .JSONEncode (importedName);
37616
37404
  generator .string += '"';
37617
-
37618
- if (importedName !== this .getExportedName ())
37619
- {
37620
- generator .string += ',';
37621
- generator .string += generator .TidyBreak ();
37622
- generator .string += generator .Indent ();
37623
- generator .string += '"';
37624
- generator .string += "@AS";
37625
- generator .string += '"';
37626
- generator .string += ':';
37627
- generator .string += generator .TidySpace ();
37628
- generator .string += '"';
37629
- generator .string += generator .JSONEncode (importedName);
37630
- generator .string += '"';
37631
- generator .string += generator .TidyBreak ();
37632
- }
37633
- else
37634
- {
37635
- generator .string += generator .TidyBreak ();
37636
- }
37637
-
37638
- generator .string += generator .DecIndent ();
37639
- generator .string += generator .Indent ();
37640
- generator .string += '}';
37641
37405
  generator .string += generator .TidyBreak ();
37642
- generator .string += generator .DecIndent ();
37643
- generator .string += generator .Indent ();
37644
- generator .string += '}';
37645
-
37646
- try
37647
- {
37648
- generator .AddRouteNode (this);
37649
- generator .AddImportedNode (this .getExportedNode (), importedName);
37650
- }
37651
- catch
37652
- {
37653
- // Output unresolved routes.
37654
-
37655
- for (const { sourceNode, sourceField, destinationNode, destinationField } of this [_routes])
37656
- {
37657
- if (generator .ExistsRouteNode (sourceNode) && generator .ExistsRouteNode (destinationNode))
37658
- {
37659
- const sourceNodeName = sourceNode instanceof X3DImportedNode
37660
- ? sourceNode .getImportedName ()
37661
- : generator .Name (sourceNode);
37662
-
37663
- const destinationNodeName = destinationNode instanceof X3DImportedNode
37664
- ? destinationNode .getImportedName ()
37665
- : generator .Name (destinationNode);
37666
-
37667
- generator .string += ',';
37668
- generator .string += generator .TidyBreak ();
37669
- generator .string += generator .Indent ();
37670
- generator .string += '{';
37671
- generator .string += generator .TidySpace ();
37672
- generator .string += '"';
37673
- generator .string += "ROUTE";
37674
- generator .string += '"';
37675
- generator .string += ':';
37676
- generator .string += generator .TidyBreak ();
37677
- generator .string += generator .IncIndent ();
37678
- generator .string += generator .Indent ();
37679
- generator .string += '{';
37680
- generator .string += generator .TidyBreak ();
37681
- generator .string += generator .IncIndent ();
37682
-
37683
- generator .string += generator .Indent ();
37684
- generator .string += '"';
37685
- generator .string += "@fromNode";
37686
- generator .string += '"';
37687
- generator .string += ':';
37688
- generator .string += generator .TidySpace ();
37689
- generator .string += '"';
37690
- generator .string += generator .JSONEncode (sourceNodeName);
37691
- generator .string += '"';
37692
- generator .string += ',';
37693
- generator .string += generator .TidyBreak ();
37694
-
37695
- generator .string += generator .Indent ();
37696
- generator .string += '"';
37697
- generator .string += "@fromField";
37698
- generator .string += '"';
37699
- generator .string += ':';
37700
- generator .string += generator .TidySpace ();
37701
- generator .string += '"';
37702
- generator .string += generator .JSONEncode (sourceField);
37703
- generator .string += '"';
37704
- generator .string += ',';
37705
- generator .string += generator .TidyBreak ();
37706
-
37707
- generator .string += generator .Indent ();
37708
- generator .string += '"';
37709
- generator .string += "@toNode";
37710
- generator .string += '"';
37711
- generator .string += ':';
37712
- generator .string += generator .TidySpace ();
37713
- generator .string += '"';
37714
- generator .string += generator .JSONEncode (destinationNodeName);
37715
- generator .string += '"';
37716
- generator .string += ',';
37717
- generator .string += generator .TidyBreak ();
37718
-
37719
- generator .string += generator .Indent ();
37720
- generator .string += '"';
37721
- generator .string += "@toField";
37722
- generator .string += '"';
37723
- generator .string += ':';
37724
- generator .string += generator .TidySpace ();
37725
- generator .string += '"';
37726
- generator .string += generator .JSONEncode (destinationField);
37727
- generator .string += '"';
37728
- generator .string += generator .TidyBreak ();
37729
-
37730
- generator .string += generator .DecIndent ();
37731
- generator .string += generator .Indent ();
37732
- generator .string += '}';
37733
- generator .string += generator .TidyBreak ();
37734
- generator .string += generator .DecIndent ();
37735
- generator .string += generator .Indent ();
37736
- generator .string += '}';
37737
- }
37738
- }
37739
- }
37740
37406
  }
37741
37407
  else
37742
37408
  {
37743
- throw new Error ("X3DImportedNode.toJSONStream: Inline node does not exist.");
37409
+ generator .string += generator .TidyBreak ();
37744
37410
  }
37411
+
37412
+ generator .string += generator .DecIndent ();
37413
+ generator .string += generator .Indent ();
37414
+ generator .string += '}';
37415
+ generator .string += generator .TidyBreak ();
37416
+ generator .string += generator .DecIndent ();
37417
+ generator .string += generator .Indent ();
37418
+ generator .string += '}';
37745
37419
  },
37746
37420
  dispose ()
37747
37421
  {
37748
- this .getInlineNode () ._loadState .removeInterest ("set_loadState__", this);
37422
+ for (const route of Array .from (this [X3DImportedNode_executionContext] .getRoutes ()))
37423
+ {
37424
+ if (route .getSourceNode () === this)
37425
+ {
37426
+ this [X3DImportedNode_executionContext] .deleteRoute (route);
37427
+ continue;
37428
+ }
37749
37429
 
37750
- this .deleteRealRoutes ();
37430
+ if (route .getDestinationNode () === this)
37431
+ {
37432
+ this [X3DImportedNode_executionContext] .deleteRoute (route);
37433
+ continue;
37434
+ }
37435
+ }
37751
37436
 
37752
37437
  Base_X3DObject .prototype .dispose .call (this);
37753
37438
  },
@@ -38028,7 +37713,7 @@ Object .assign (X3DUrlObject .prototype,
38028
37713
  reject ();
38029
37714
  break;
38030
37715
  }
38031
- })
37716
+ });
38032
37717
  };
38033
37718
 
38034
37719
  const loadState = this .checkLoadState ();
@@ -38885,7 +38570,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
38885
38570
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
38886
38571
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
38887
38572
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
38888
- /* provided dependency */ var X3DParser_$ = __webpack_require__(831);
38573
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(548);
38889
38574
  /*******************************************************************************
38890
38575
  *
38891
38576
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -39127,7 +38812,7 @@ const Expressions_default_ = Expressions;
39127
38812
  x_ite_Namespace .add ("Expressions", "x_ite/Parser/Expressions", Expressions_default_);
39128
38813
  /* harmony default export */ const Parser_Expressions = (Expressions_default_);
39129
38814
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
39130
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(831);
38815
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(548);
39131
38816
  /*******************************************************************************
39132
38817
  *
39133
38818
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -41810,7 +41495,7 @@ const VRMLParser_default_ = VRMLParser;
41810
41495
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
41811
41496
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
41812
41497
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
41813
- /* provided dependency */ var XMLParser_$ = __webpack_require__(831);
41498
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(548);
41814
41499
  /*******************************************************************************
41815
41500
  *
41816
41501
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43901,7 +43586,7 @@ const URLs_default_ = URLs;
43901
43586
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
43902
43587
  /* harmony default export */ const Networking_URLs = (URLs_default_);
43903
43588
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
43904
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(831);
43589
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(548);
43905
43590
  /*******************************************************************************
43906
43591
  *
43907
43592
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47202,7 +46887,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
47202
46887
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
47203
46888
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
47204
46889
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
47205
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(831);
46890
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(548);
47206
46891
  /*******************************************************************************
47207
46892
  *
47208
46893
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47354,7 +47039,7 @@ const GLB2Parser_default_ = GLB2Parser;
47354
47039
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
47355
47040
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
47356
47041
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
47357
- /* provided dependency */ var OBJParser_$ = __webpack_require__(831);
47042
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(548);
47358
47043
  /*******************************************************************************
47359
47044
  *
47360
47045
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50709,8 +50394,8 @@ const MatrixStack_default_ = MatrixStack;
50709
50394
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
50710
50395
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
50711
50396
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
50712
- /* provided dependency */ var SVGParser_$ = __webpack_require__(831);
50713
- /* provided dependency */ var libtess = __webpack_require__(864);
50397
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(548);
50398
+ /* provided dependency */ var libtess = __webpack_require__(527);
50714
50399
  /*******************************************************************************
50715
50400
  *
50716
50401
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53478,7 +53163,7 @@ const SVGParser_default_ = SVGParser;
53478
53163
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
53479
53164
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
53480
53165
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
53481
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(831);
53166
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(548);
53482
53167
  /*******************************************************************************
53483
53168
  *
53484
53169
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53815,7 +53500,7 @@ const Plane3_default_ = Plane3;
53815
53500
  x_ite_Namespace .add ("Plane3", "standard/Math/Geometry/Plane3", Plane3_default_);
53816
53501
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
53817
53502
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
53818
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(864);
53503
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(527);
53819
53504
  /*******************************************************************************
53820
53505
  *
53821
53506
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -54775,15 +54460,14 @@ x_ite_Namespace .add ("TextureBuffer", "x_ite/Rendering/TextureBuffer", TextureB
54775
54460
 
54776
54461
  let i = 0;
54777
54462
 
54778
- const TraverseType =
54779
- {
54463
+ const TraverseType = Object .freeze ({
54780
54464
  POINTER: i ++,
54781
54465
  CAMERA: i ++,
54782
54466
  PICKING: i ++,
54783
54467
  COLLISION: i ++,
54784
54468
  SHADOW: i ++,
54785
54469
  DISPLAY: i ++,
54786
- };
54470
+ });
54787
54471
 
54788
54472
  const TraverseType_default_ = TraverseType;
54789
54473
  ;
@@ -61322,7 +61006,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
61322
61006
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
61323
61007
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
61324
61008
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
61325
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(831);
61009
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(548);
61326
61010
  /*******************************************************************************
61327
61011
  *
61328
61012
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -65909,7 +65593,7 @@ const X3DWorld_default_ = X3DWorld;
65909
65593
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
65910
65594
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
65911
65595
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
65912
- /* provided dependency */ var FileLoader_$ = __webpack_require__(831);
65596
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(548);
65913
65597
  /*******************************************************************************
65914
65598
  *
65915
65599
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66815,105 +66499,112 @@ x_ite_Namespace .add ("ExternProtoDeclarationArray", "x_ite/Prototype/ExternProt
66815
66499
 
66816
66500
 
66817
66501
 
66818
- function ProtoDeclarationArray (values = [ ])
66819
- {
66820
- return Base_X3DInfoArray .call (this, Array .from (values, value => [value .name, value]), Prototype_X3DProtoDeclaration);
66821
- }
66822
-
66823
- Object .setPrototypeOf (ProtoDeclarationArray .prototype, Base_X3DInfoArray .prototype);
66824
-
66825
- for (const key of Object .keys (ProtoDeclarationArray .prototype))
66826
- Object .defineProperty (ProtoDeclarationArray .prototype, key, { enumerable: false });
66827
-
66828
- Object .defineProperties (ProtoDeclarationArray,
66829
- {
66830
- typeName:
66831
- {
66832
- value: "ProtoDeclarationArray",
66833
- enumerable: true,
66834
- },
66835
- });
66836
-
66837
- const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
66838
- ;
66839
-
66840
- x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
66841
- /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
66842
- ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
66843
- /*******************************************************************************
66844
- *
66845
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66846
- *
66847
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
66848
- *
66849
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
66850
- *
66851
- * The copyright notice above does not evidence any actual of intended
66852
- * publication of such source code, and is an unpublished work by create3000.
66853
- * This material contains CONFIDENTIAL INFORMATION that is the property of
66854
- * create3000.
66855
- *
66856
- * No permission is granted to copy, distribute, or create derivative works from
66857
- * the contents of this software, in whole or in part, without the prior written
66858
- * permission of create3000.
66859
- *
66860
- * NON-MILITARY USE ONLY
66861
- *
66862
- * All create3000 software are effectively free software with a non-military use
66863
- * restriction. It is free. Well commented source is provided. You may reuse the
66864
- * source in any way you please with the exception anything that uses it must be
66865
- * marked to indicate is contains 'non-military use only' components.
66866
- *
66867
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66868
- *
66869
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
66870
- *
66871
- * This file is part of the X_ITE Project.
66872
- *
66873
- * X_ITE is free software: you can redistribute it and/or modify it under the
66874
- * terms of the GNU General Public License version 3 only, as published by the
66875
- * Free Software Foundation.
66876
- *
66877
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
66878
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
66879
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
66880
- * details (a copy is included in the LICENSE file that accompanied this code).
66881
- *
66882
- * You should have received a copy of the GNU General Public License version 3
66883
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
66884
- * copy of the GPLv3 License.
66885
- *
66886
- * For Silvio, Joy and Adi.
66887
- *
66888
- ******************************************************************************/
66889
-
66890
-
66502
+ function ProtoDeclarationArray (values = [ ])
66503
+ {
66504
+ return Base_X3DInfoArray .call (this, Array .from (values, value => [value .name, value]), Prototype_X3DProtoDeclaration);
66505
+ }
66506
+
66507
+ Object .setPrototypeOf (ProtoDeclarationArray .prototype, Base_X3DInfoArray .prototype);
66508
+
66509
+ for (const key of Object .keys (ProtoDeclarationArray .prototype))
66510
+ Object .defineProperty (ProtoDeclarationArray .prototype, key, { enumerable: false });
66511
+
66512
+ Object .defineProperties (ProtoDeclarationArray,
66513
+ {
66514
+ typeName:
66515
+ {
66516
+ value: "ProtoDeclarationArray",
66517
+ enumerable: true,
66518
+ },
66519
+ });
66520
+
66521
+ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
66522
+ ;
66523
+
66524
+ x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
66525
+ /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
66526
+ ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
66527
+ /* provided dependency */ var X3DRoute_$ = __webpack_require__(548);
66528
+ /*******************************************************************************
66529
+ *
66530
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66531
+ *
66532
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
66533
+ *
66534
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
66535
+ *
66536
+ * The copyright notice above does not evidence any actual of intended
66537
+ * publication of such source code, and is an unpublished work by create3000.
66538
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
66539
+ * create3000.
66540
+ *
66541
+ * No permission is granted to copy, distribute, or create derivative works from
66542
+ * the contents of this software, in whole or in part, without the prior written
66543
+ * permission of create3000.
66544
+ *
66545
+ * NON-MILITARY USE ONLY
66546
+ *
66547
+ * All create3000 software are effectively free software with a non-military use
66548
+ * restriction. It is free. Well commented source is provided. You may reuse the
66549
+ * source in any way you please with the exception anything that uses it must be
66550
+ * marked to indicate is contains 'non-military use only' components.
66551
+ *
66552
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66553
+ *
66554
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
66555
+ *
66556
+ * This file is part of the X_ITE Project.
66557
+ *
66558
+ * X_ITE is free software: you can redistribute it and/or modify it under the
66559
+ * terms of the GNU General Public License version 3 only, as published by the
66560
+ * Free Software Foundation.
66561
+ *
66562
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
66563
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
66564
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
66565
+ * details (a copy is included in the LICENSE file that accompanied this code).
66566
+ *
66567
+ * You should have received a copy of the GNU General Public License version 3
66568
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
66569
+ * copy of the GPLv3 License.
66570
+ *
66571
+ * For Silvio, Joy and Adi.
66572
+ *
66573
+ ******************************************************************************/
66574
+
66575
+
66576
+
66577
+
66891
66578
 
66892
66579
 
66893
66580
 
66894
66581
  const
66895
- X3DRoute_executionContext = Symbol (),
66896
- _sourceNode = Symbol (),
66897
- _sourceField = Symbol (),
66898
- _destinationNode = Symbol (),
66899
- _destinationField = Symbol ();
66582
+ X3DRoute_executionContext = Symbol (),
66583
+ _sourceNode = Symbol (),
66584
+ _sourceFieldName = Symbol (),
66585
+ _sourceField = Symbol (),
66586
+ _destinationNode = Symbol (),
66587
+ _destinationFieldName = Symbol (),
66588
+ _destinationField = Symbol (),
66589
+ _disposed = Symbol ();
66900
66590
 
66901
- function X3DRoute (executionContext, sourceNode, sourceField, destinationNode, destinationField)
66591
+ function X3DRoute (executionContext, sourceNode, sourceFieldName, destinationNode, destinationFieldName)
66902
66592
  {
66903
66593
  Base_X3DObject .call (this, executionContext);
66904
66594
 
66905
- this [X3DRoute_executionContext] = executionContext;
66906
- this [_sourceNode] = sourceNode;
66907
- this [_sourceField] = sourceField;
66908
- this [_destinationNode] = destinationNode;
66909
- this [_destinationField] = destinationField;
66595
+ this [X3DRoute_executionContext] = executionContext;
66596
+ this [_sourceNode] = sourceNode;
66597
+ this [_sourceFieldName] = sourceFieldName;
66598
+ this [_destinationNode] = destinationNode;
66599
+ this [_destinationFieldName] = destinationFieldName;
66910
66600
 
66911
- // Must connect in every context, to make X3DBaseNode.hasRoutes work.
66601
+ if (sourceNode instanceof Execution_X3DImportedNode)
66602
+ sourceNode .getInlineNode () .getLoadState () .addInterest ("reconnect", this);
66912
66603
 
66913
- sourceField .addFieldInterest (destinationField);
66604
+ if (destinationNode instanceof Execution_X3DImportedNode)
66605
+ destinationNode .getInlineNode () .getLoadState () .addInterest ("reconnect", this);
66914
66606
 
66915
- sourceField .addOutputRoute (this);
66916
- destinationField .addInputRoute (this);
66607
+ this .reconnect ();
66917
66608
  }
66918
66609
 
66919
66610
  Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .prototype),
@@ -66924,7 +66615,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66924
66615
  },
66925
66616
  getRouteId ()
66926
66617
  {
66927
- return X3DRoute .getRouteId (this [_sourceField], this [_destinationField]);
66618
+ return X3DRoute .getRouteId (this [_sourceNode], this [_sourceFieldName], this [_destinationNode], this [_destinationFieldName]);
66928
66619
  },
66929
66620
  getSourceNode ()
66930
66621
  {
@@ -66934,7 +66625,18 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66934
66625
  getSourceField ()
66935
66626
  {
66936
66627
  /// SAI
66937
- return this [_sourceField];
66628
+
66629
+ if (this [_sourceField])
66630
+ {
66631
+ return this [_sourceField] .getAccessType () === Base_X3DConstants .inputOutput
66632
+ ? this [_sourceField] .getName () + "_changed"
66633
+ : this [_sourceField] .getName ();
66634
+ }
66635
+ else
66636
+ {
66637
+ return this [_sourceFieldName];
66638
+ }
66639
+
66938
66640
  },
66939
66641
  getDestinationNode ()
66940
66642
  {
@@ -66944,47 +66646,138 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66944
66646
  getDestinationField ()
66945
66647
  {
66946
66648
  /// SAI
66947
- return this [_destinationField];
66649
+
66650
+ if (this [_destinationField])
66651
+ {
66652
+ return this [_destinationField] .getAccessType () === Base_X3DConstants .inputOutput
66653
+ ? "set_" + this [_destinationField] .getName ()
66654
+ : this [_destinationField] .getName ();
66655
+ }
66656
+ else
66657
+ {
66658
+ return this [_destinationFieldName];
66659
+ }
66660
+ },
66661
+ reconnect ()
66662
+ {
66663
+ try
66664
+ {
66665
+ this .disconnect ();
66666
+ this .connect ();
66667
+ }
66668
+ catch (error)
66669
+ {
66670
+ if ((this [_sourceNode] instanceof Core_X3DNode ||
66671
+ this [_sourceNode] .getInlineNode () .checkLoadState () === Base_X3DConstants .COMPLETE_STATE) &&
66672
+ (this [_destinationNode] instanceof Core_X3DNode ||
66673
+ this [_destinationNode] .getInlineNode () .checkLoadState () === Base_X3DConstants .COMPLETE_STATE))
66674
+ {
66675
+ console .warn (error .message);
66676
+ }
66677
+ }
66678
+ },
66679
+ connect ()
66680
+ {
66681
+ if (this [_disposed])
66682
+ return;
66683
+
66684
+ try
66685
+ {
66686
+ const sourceNode = this [_sourceNode] instanceof Core_X3DNode
66687
+ ? this [_sourceNode]
66688
+ : this [_sourceNode] .getExportedNode ();
66689
+
66690
+ this [_sourceField] = sourceNode .getField (this [_sourceFieldName]);
66691
+
66692
+ this [_sourceField] .addOutputRoute (this);
66693
+ }
66694
+ catch (error)
66695
+ {
66696
+ var firstError = error;
66697
+ }
66698
+
66699
+ try
66700
+ {
66701
+ const destinationNode = this [_destinationNode] instanceof Core_X3DNode
66702
+ ? this [_destinationNode]
66703
+ : this [_destinationNode] .getExportedNode ();
66704
+
66705
+ this [_destinationField] = destinationNode .getField (this [_destinationFieldName]);
66706
+
66707
+ this [_destinationField] .addInputRoute (this);
66708
+ }
66709
+ catch (error)
66710
+ {
66711
+ var secondError = error;
66712
+ }
66713
+
66714
+ if (this [_sourceField] && this [_destinationField])
66715
+ {
66716
+ if (this [_sourceField] .getFieldInterests () .has (this [_destinationField]))
66717
+ return;
66718
+
66719
+ this [_sourceField] .addFieldInterest (this [_destinationField]);
66720
+ }
66721
+ else
66722
+ {
66723
+ throw firstError ?? secondError;
66724
+ }
66948
66725
  },
66949
66726
  disconnect ()
66950
66727
  {
66951
- this [_sourceField] .removeFieldInterest (this [_destinationField]);
66728
+ this [_sourceField] ?.removeOutputRoute (this);
66729
+ this [_destinationField] ?.removeInputRoute (this);
66952
66730
 
66953
- this [_sourceField] .removeOutputRoute (this);
66954
- this [_destinationField] .removeInputRoute (this);
66731
+ if (this [_sourceField] && this [_destinationField])
66732
+ this [_sourceField] .removeFieldInterest (this [_destinationField]);
66733
+
66734
+ this [_sourceField] = null;
66735
+ this [_destinationField] = null;
66955
66736
  },
66956
66737
  toVRMLStream (generator)
66957
66738
  {
66958
- const
66959
- sourceNodeName = generator .LocalName (this .getSourceNode ()),
66960
- destinationNodeName = generator .LocalName (this .getDestinationNode ());
66739
+ if (!generator .ExistsRouteNode (this [_sourceNode]))
66740
+ throw new Error (`Source node does not exist in scene graph.`);
66741
+
66742
+ if (!generator .ExistsRouteNode (this [_destinationNode]))
66743
+ throw new Error (`Destination node does not exist in scene graph.`);
66744
+
66745
+ const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66746
+ ? generator .Name (this [_sourceNode])
66747
+ : this [_sourceNode] .getImportedName ();
66748
+
66749
+ const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66750
+ ? generator .Name (this [_destinationNode])
66751
+ : this [_destinationNode] .getImportedName ();
66961
66752
 
66962
66753
  generator .string += generator .Indent ();
66963
66754
  generator .string += "ROUTE";
66964
66755
  generator .string += generator .Space ();
66965
66756
  generator .string += sourceNodeName;
66966
66757
  generator .string += ".";
66967
- generator .string += this [_sourceField] .getName ();
66968
-
66969
- if (this [_sourceField] .getAccessType () === Base_X3DConstants .inputOutput)
66970
- generator .string += "_changed";
66971
-
66758
+ generator .string += this .getSourceField ();
66972
66759
  generator .string += generator .Space ();
66973
66760
  generator .string += "TO";
66974
66761
  generator .string += generator .Space ();
66975
66762
  generator .string += destinationNodeName;
66976
66763
  generator .string += ".";
66977
-
66978
- if (this [_destinationField] .getAccessType () === Base_X3DConstants .inputOutput)
66979
- generator .string += "set_";
66980
-
66981
- generator .string += this [_destinationField] .getName ();
66764
+ generator .string += this .getDestinationField ();
66982
66765
  },
66983
66766
  toXMLStream (generator)
66984
66767
  {
66985
- const
66986
- sourceNodeName = generator .LocalName (this .getSourceNode ()),
66987
- destinationNodeName = generator .LocalName (this .getDestinationNode ());
66768
+ if (!generator .ExistsRouteNode (this [_sourceNode]))
66769
+ throw new Error (`Source node does not exist in scene graph.`);
66770
+
66771
+ if (!generator .ExistsRouteNode (this [_destinationNode]))
66772
+ throw new Error (`Destination node does not exist in scene graph.`);
66773
+
66774
+ const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66775
+ ? generator .Name (this [_sourceNode])
66776
+ : this [_sourceNode] .getImportedName ();
66777
+
66778
+ const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66779
+ ? generator .Name (this [_destinationNode])
66780
+ : this [_destinationNode] .getImportedName ();
66988
66781
 
66989
66782
  generator .string += generator .Indent ();
66990
66783
  generator .string += "<ROUTE";
@@ -66994,11 +66787,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66994
66787
  generator .string += "'";
66995
66788
  generator .string += generator .Space ();
66996
66789
  generator .string += "fromField='";
66997
- generator .string += generator .XMLEncode (this [_sourceField] .getName ());
66998
-
66999
- if (this [_sourceField] .getAccessType () === Base_X3DConstants .inputOutput)
67000
- generator .string += "_changed";
67001
-
66790
+ generator .string += generator .XMLEncode (this .getSourceField ());
67002
66791
  generator .string += "'";
67003
66792
  generator .string += generator .Space ();
67004
66793
  generator .string += "toNode='";
@@ -67006,19 +66795,25 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67006
66795
  generator .string += "'";
67007
66796
  generator .string += generator .Space ();
67008
66797
  generator .string += "toField='";
67009
-
67010
- if (this [_destinationField] .getAccessType () === Base_X3DConstants .inputOutput)
67011
- generator .string += "set_";
67012
-
67013
- generator .string += generator .XMLEncode (this [_destinationField] .getName ());
66798
+ generator .string += generator .XMLEncode (this .getDestinationField ());
67014
66799
  generator .string += "'";
67015
66800
  generator .string += generator .closingTags ? "></ROUTE>" : "/>";
67016
66801
  },
67017
66802
  toJSONStream (generator)
67018
66803
  {
67019
- const
67020
- sourceNodeName = generator .LocalName (this .getSourceNode ()),
67021
- destinationNodeName = generator .LocalName (this .getDestinationNode ());
66804
+ if (!generator .ExistsRouteNode (this [_sourceNode]))
66805
+ throw new Error (`Source node does not exist in scene graph.`);
66806
+
66807
+ if (!generator .ExistsRouteNode (this [_destinationNode]))
66808
+ throw new Error (`Destination node does not exist in scene graph.`);
66809
+
66810
+ const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66811
+ ? generator .Name (this [_sourceNode])
66812
+ : this [_sourceNode] .getImportedName ();
66813
+
66814
+ const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66815
+ ? generator .Name (this [_destinationNode])
66816
+ : this [_destinationNode] .getImportedName ();
67022
66817
 
67023
66818
  generator .string += generator .Indent ();
67024
66819
  generator .string += '{';
@@ -67053,7 +66848,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67053
66848
  generator .string += ':';
67054
66849
  generator .string += generator .TidySpace ();
67055
66850
  generator .string += '"';
67056
- generator .string += generator .JSONEncode (this [_sourceField] .getName ());
66851
+ generator .string += generator .JSONEncode (this .getSourceField ());
67057
66852
  generator .string += '"';
67058
66853
  generator .string += ',';
67059
66854
  generator .string += generator .TidyBreak ();
@@ -67077,7 +66872,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67077
66872
  generator .string += ':';
67078
66873
  generator .string += generator .TidySpace ();
67079
66874
  generator .string += '"';
67080
- generator .string += generator .JSONEncode (this [_destinationField] .getName ());
66875
+ generator .string += generator .JSONEncode (this .getDestinationField ());
67081
66876
  generator .string += '"';
67082
66877
  generator .string += generator .TidyBreak ();
67083
66878
 
@@ -67091,8 +66886,19 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67091
66886
  },
67092
66887
  dispose ()
67093
66888
  {
66889
+ if (this [_disposed])
66890
+ return;
66891
+
66892
+ this [_disposed] = true;
66893
+
67094
66894
  this .disconnect ();
67095
66895
 
66896
+ if (this [_sourceNode] instanceof Execution_X3DImportedNode)
66897
+ this [_sourceNode] .getInlineNode () .getLoadState () .removeInterest ("reconnect", this);
66898
+
66899
+ if (this [_destinationNode] instanceof Execution_X3DImportedNode)
66900
+ this [_destinationNode] .getInlineNode () .getLoadState () .removeInterest ("reconnect", this);
66901
+
67096
66902
  this [X3DRoute_executionContext] .deleteRoute (this);
67097
66903
 
67098
66904
  Base_X3DObject .prototype .dispose .call (this);
@@ -67108,32 +66914,32 @@ Object .defineProperties (X3DRoute .prototype,
67108
66914
  {
67109
66915
  get ()
67110
66916
  {
67111
- return Fields_SFNodeCache .get (this [_sourceNode]);
66917
+ if (this [_sourceNode] instanceof Core_X3DNode)
66918
+ return Fields_SFNodeCache .get (this [_sourceNode]);
66919
+ else
66920
+ return this [_sourceNode];
67112
66921
  },
67113
66922
  enumerable: true,
67114
66923
  },
67115
66924
  sourceField:
67116
66925
  {
67117
- get ()
67118
- {
67119
- return this [_sourceField] .getName ();
67120
- },
66926
+ get: X3DRoute .prototype .getSourceField,
67121
66927
  enumerable: true,
67122
66928
  },
67123
66929
  destinationNode:
67124
66930
  {
67125
66931
  get ()
67126
66932
  {
67127
- return Fields_SFNodeCache .get (this [_destinationNode]);
66933
+ if (this [_destinationNode] instanceof Core_X3DNode)
66934
+ return Fields_SFNodeCache .get (this [_destinationNode]);
66935
+ else
66936
+ return this [_destinationNode];
67128
66937
  },
67129
66938
  enumerable: true,
67130
66939
  },
67131
66940
  destinationField:
67132
66941
  {
67133
- get ()
67134
- {
67135
- return this [_destinationField] .getName ();
67136
- },
66942
+ get: X3DRoute .prototype .getDestinationField,
67137
66943
  enumerable: true,
67138
66944
  },
67139
66945
  });
@@ -67149,9 +66955,33 @@ Object .defineProperties (X3DRoute,
67149
66955
 
67150
66956
  Object .assign (X3DRoute,
67151
66957
  {
67152
- getRouteId (sourceField, destinationField)
66958
+ getRouteId (sourceNode, sourceFieldName, destinationNode, destinationFieldName)
67153
66959
  {
67154
- return `${sourceField .getId ()}.${destinationField .getId ()}`;
66960
+ const sourceField = sourceNode instanceof Core_X3DNode
66961
+ ? sourceNode .getField (sourceFieldName)
66962
+ : X3DRoute_$.try (() => sourceNode .getExportedNode () .getField (sourceFieldName));
66963
+
66964
+ const destinationField = destinationNode instanceof Core_X3DNode
66965
+ ? destinationNode .getField (destinationFieldName)
66966
+ : X3DRoute_$.try (() => destinationNode .getExportedNode () .getField (destinationFieldName));
66967
+
66968
+ if (sourceField)
66969
+ {
66970
+ sourceFieldName = sourceField .getName ();
66971
+
66972
+ if (sourceField .getAccessType () === Base_X3DConstants .inputOutput)
66973
+ sourceFieldName += "_changed";
66974
+ }
66975
+
66976
+ if (destinationField)
66977
+ {
66978
+ destinationFieldName = destinationField .getName ();
66979
+
66980
+ if (destinationField .getAccessType () === Base_X3DConstants .inputOutput)
66981
+ destinationFieldName = "set_" + destinationFieldName;
66982
+ }
66983
+
66984
+ return `${sourceNode .getId ()}.${sourceFieldName}.${destinationNode .getId ()}.${destinationFieldName}`;
67155
66985
  },
67156
66986
  });
67157
66987
 
@@ -67299,6 +67129,7 @@ x_ite_Namespace .add ("RouteArray", "x_ite/Routing/RouteArray", RouteArray_defau
67299
67129
 
67300
67130
 
67301
67131
 
67132
+
67302
67133
  const
67303
67134
  _namedNodes = Symbol (),
67304
67135
  _importedNodes = Symbol (),
@@ -67645,28 +67476,27 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67645
67476
  throw new Error (`Unknown named or imported node '${name}'.`);
67646
67477
  }
67647
67478
  },
67648
- getLocalName (node)
67479
+ getLocalizedNode (node)
67649
67480
  {
67650
- node = Base_X3DCast (Base_X3DConstants .X3DNode, node, false);
67481
+ const importedNode = node instanceof Execution_X3DImportedNode ? node : null;
67651
67482
 
67652
- if (!node)
67653
- throw new Error ("Couldn't get local name: node must be of type X3DNode.");
67483
+ node = Base_X3DCast (Base_X3DConstants .X3DNode, node, false) ?? importedNode;
67654
67484
 
67655
- if (node .getExecutionContext () === this)
67656
- return node .getName ();
67485
+ if (!node)
67486
+ throw new Error ("Couldn't get localized node: node must be of type X3DNode.");
67657
67487
 
67658
67488
  for (const importedNode of this [_importedNodes])
67659
67489
  {
67660
67490
  try
67661
67491
  {
67662
67492
  if (importedNode .getExportedNode () === node)
67663
- return importedNode .getImportedName ();
67493
+ return importedNode;
67664
67494
  }
67665
67495
  catch
67666
67496
  { }
67667
67497
  }
67668
67498
 
67669
- throw new Error ("Couldn't get local name: node is shared.");
67499
+ return node;
67670
67500
  },
67671
67501
  setRootNodes () { },
67672
67502
  getRootNodes ()
@@ -67821,98 +67651,48 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67821
67651
  },
67822
67652
  addRoute (sourceNode, sourceField, destinationNode, destinationField)
67823
67653
  {
67824
- let
67825
- importedSourceNode = sourceNode instanceof Execution_X3DImportedNode ? sourceNode : null,
67826
- importedDestinationNode = destinationNode instanceof Execution_X3DImportedNode ? destinationNode : null;
67827
-
67828
- sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false);
67829
- sourceField = String (sourceField);
67830
- destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false);
67831
- destinationField = String (destinationField);
67832
-
67833
- if (!(sourceNode || importedSourceNode))
67834
- throw new Error ("Bad ROUTE specification: source node must be of type X3DNode.");
67835
-
67836
- if (!(destinationNode || importedDestinationNode))
67837
- throw new Error ("Bad ROUTE specification: destination node must be of type X3DNode.");
67838
-
67839
- // Imported nodes handling.
67840
-
67841
67654
  try
67842
67655
  {
67843
- // If sourceNode is shared node try to find the corresponding X3DImportedNode.
67844
- if (sourceNode && sourceNode .getExecutionContext () !== this)
67845
- importedSourceNode = this .getLocalNode (this .getLocalName (sourceNode));
67846
- }
67847
- catch
67848
- {
67849
- // Source node is shared but not imported.
67850
- }
67656
+ // Normalize arguments.
67851
67657
 
67852
- try
67853
- {
67854
- // If destinationNode is shared node try to find the corresponding X3DImportedNode.
67855
- if (destinationNode && destinationNode .getExecutionContext () !== this)
67856
- importedDestinationNode = this .getLocalNode (this .getLocalName (destinationNode));
67857
- }
67858
- catch
67859
- {
67860
- // Destination node is shared but not imported.
67861
- }
67658
+ const
67659
+ importedSourceNode = sourceNode instanceof Execution_X3DImportedNode ? sourceNode : null,
67660
+ importedDestinationNode = destinationNode instanceof Execution_X3DImportedNode ? destinationNode : null;
67862
67661
 
67863
- if (importedSourceNode instanceof Execution_X3DImportedNode && importedDestinationNode instanceof Execution_X3DImportedNode)
67864
- {
67865
- importedSourceNode .addRoute (importedSourceNode, sourceField, importedDestinationNode, destinationField);
67866
- importedDestinationNode .addRoute (importedSourceNode, sourceField, importedDestinationNode, destinationField);
67867
- }
67868
- else if (importedSourceNode instanceof Execution_X3DImportedNode)
67869
- {
67870
- importedSourceNode .addRoute (importedSourceNode, sourceField, destinationNode, destinationField);
67871
- }
67872
- else if (importedDestinationNode instanceof Execution_X3DImportedNode)
67873
- {
67874
- importedDestinationNode .addRoute (sourceNode, sourceField, importedDestinationNode, destinationField);
67875
- }
67876
- else
67877
- {
67878
- // Create route and return.
67879
- return this .addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField);
67880
- }
67881
- },
67882
- addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField)
67883
- {
67884
- try
67885
- {
67886
- // Source and dest node must be here X3DNode, no check here.
67887
- // Private function.
67888
- // Create route and return.
67662
+ sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false) ?? importedSourceNode;
67663
+ sourceField = String (sourceField);
67664
+ destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false) ?? importedDestinationNode;
67665
+ destinationField = String (destinationField);
67889
67666
 
67890
- sourceField = sourceNode .getField (sourceField),
67891
- destinationField = destinationNode .getField (destinationField);
67667
+ if (!sourceNode)
67668
+ throw new Error ("source node must be of type X3DNode or X3DImportedNode.");
67892
67669
 
67893
- if (!sourceField .isOutput ())
67894
- throw new Error (`Field named '${sourceField .getName ()}' in node named '${sourceNode .getName ()}' of type ${sourceNode .getTypeName ()} is not an output field.`);
67670
+ if (!destinationNode)
67671
+ throw new Error ("destination node must be of type X3DNode or X3DImportedNode.");
67895
67672
 
67896
- if (!destinationField .isInput ())
67897
- throw new Error (`Field named '${destinationField .getName ()}' in node named '${destinationNode .getName ()}' of type ${destinationNode .getTypeName ()} is not an input field.`);
67673
+ // Resolve imported source and destination node.
67898
67674
 
67899
- if (sourceField .getType () !== destinationField .getType ())
67900
- throw new Error (`ROUTE types ${sourceField .getTypeName ()} and ${destinationField .getTypeName ()} do not match.`);
67675
+ sourceNode = this .getLocalizedNode (sourceNode);
67676
+ destinationNode = this .getLocalizedNode (destinationNode);
67901
67677
 
67902
- const id = Routing_X3DRoute .getRouteId (sourceField, destinationField);
67678
+ // Add route.
67903
67679
 
67904
- let route = this [X3DExecutionContext_routes] .get (id);
67680
+ const
67681
+ id = Routing_X3DRoute .getRouteId (sourceNode, sourceField, destinationNode, destinationField),
67682
+ route = this [X3DExecutionContext_routes] .get (id);
67905
67683
 
67906
67684
  if (route)
67685
+ {
67907
67686
  return route;
67687
+ }
67688
+ else
67689
+ {
67690
+ const route = new Routing_X3DRoute (this, sourceNode, sourceField, destinationNode, destinationField);
67908
67691
 
67909
- route = new Routing_X3DRoute (this, sourceNode, sourceField, destinationNode, destinationField);
67910
-
67911
- this [X3DExecutionContext_routes] .add (id, route);
67912
-
67913
- this ._routes_changed = this .getBrowser () .getCurrentTime ();
67692
+ this [X3DExecutionContext_routes] .add (id, route);
67914
67693
 
67915
- return route;
67694
+ return route;
67695
+ }
67916
67696
  }
67917
67697
  catch (error)
67918
67698
  {
@@ -67921,76 +67701,31 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67921
67701
  },
67922
67702
  deleteRoute (route)
67923
67703
  {
67924
- // sourceNode, sourceField, destinationNode, destinationField
67704
+ // Case: sourceNode, sourceField, destinationNode, destinationField.
67925
67705
  if (arguments .length === 4)
67926
67706
  route = this .getRoute (... arguments);
67927
67707
 
67928
67708
  if (!(route instanceof Routing_X3DRoute))
67929
67709
  return;
67930
67710
 
67931
- if (route .getExecutionContext () !== this)
67711
+ if (this [X3DExecutionContext_routes] .get (route .getRouteId ()) !== route)
67932
67712
  return;
67933
67713
 
67934
- this .deleteSimpleRoute (route);
67935
- this .deleteImportedRoute (route .sourceNode, route .destinationNode, route);
67936
- },
67937
- deleteSimpleRoute (route)
67938
- {
67939
67714
  this [X3DExecutionContext_routes] .remove (route .getRouteId ());
67940
67715
 
67941
- route .disconnect ();
67942
-
67943
- this ._routes_changed = this .getBrowser () .getCurrentTime ();
67716
+ route .dispose ();
67944
67717
  },
67945
- deleteImportedRoute (sourceNode, destinationNode, route)
67718
+ getRoute (sourceNode, sourceField, destinationNode, destinationField)
67946
67719
  {
67947
- // Imported nodes handling.
67948
-
67949
- let
67950
- importedSourceNode = null,
67951
- importedDestinationNode = null;
67952
-
67953
- try
67954
- {
67955
- // If sourceNode is shared node try to find the corresponding X3DImportedNode.
67956
- if (sourceNode .getValue () .getExecutionContext () !== this)
67957
- importedSourceNode = this .getLocalNode (this .getLocalName (sourceNode));
67958
- }
67959
- catch
67960
- {
67961
- // Source node is shared but not imported.
67962
- }
67720
+ // Normalize arguments.
67963
67721
 
67964
- try
67965
- {
67966
- // If destinationNode is shared node try to find the corresponding X3DImportedNode.
67967
- if (destinationNode .getValue () .getExecutionContext () !== this)
67968
- importedDestinationNode = this .getLocalNode (this .getLocalName (destinationNode));
67969
- }
67970
- catch
67971
- {
67972
- // Destination node is shared but not imported.
67973
- }
67722
+ const
67723
+ importedSourceNode = sourceNode instanceof Execution_X3DImportedNode ? sourceNode : null,
67724
+ importedDestinationNode = destinationNode instanceof Execution_X3DImportedNode ? destinationNode : null;
67974
67725
 
67975
- if (importedSourceNode instanceof Execution_X3DImportedNode && importedDestinationNode instanceof Execution_X3DImportedNode)
67976
- {
67977
- importedSourceNode .deleteRoute (route);
67978
- importedDestinationNode .deleteRoute (route);
67979
- }
67980
- else if (importedSourceNode instanceof Execution_X3DImportedNode)
67981
- {
67982
- importedSourceNode .deleteRoute (route);
67983
- }
67984
- else if (importedDestinationNode instanceof Execution_X3DImportedNode)
67985
- {
67986
- importedDestinationNode .deleteRoute (route);
67987
- }
67988
- },
67989
- getRoute (sourceNode, sourceField, destinationNode, destinationField)
67990
- {
67991
- sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false);
67726
+ sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false) ?? importedSourceNode;
67992
67727
  sourceField = String (sourceField)
67993
- destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false);
67728
+ destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false) ?? importedDestinationNode;
67994
67729
  destinationField = String (destinationField)
67995
67730
 
67996
67731
  if (!sourceNode)
@@ -67999,10 +67734,14 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67999
67734
  if (!destinationNode)
68000
67735
  throw new Error ("Bad ROUTE specification: destinationNode must be of type X3DNode.");
68001
67736
 
68002
- sourceField = sourceNode .getField (sourceField);
68003
- destinationField = destinationNode .getField (destinationField);
67737
+ // Resolve imported source and destination node.
68004
67738
 
68005
- return this [X3DExecutionContext_routes] .get (Routing_X3DRoute .getRouteId (sourceField, destinationField));
67739
+ sourceNode = this .getLocalizedNode (sourceNode);
67740
+ destinationNode = this .getLocalizedNode (destinationNode);
67741
+
67742
+ // Return route.
67743
+
67744
+ return this [X3DExecutionContext_routes] .get (Routing_X3DRoute .getRouteId (sourceNode, sourceField, destinationNode, destinationField));
68006
67745
  },
68007
67746
  getRoutes ()
68008
67747
  {
@@ -68437,11 +68176,11 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68437
68176
 
68438
68177
  // Copy proto.
68439
68178
 
68440
- this .importExternProtos (proto .getBody () .externprotos);
68441
- this .importProtos (proto .getBody () .protos);
68442
- this .copyRootNodes (proto .getBody () .rootNodes);
68443
- this .copyImportedNodes (proto .getBody (), proto .getBody () .getImportedNodes ());
68444
- this .copyRoutes (proto .getBody (), proto .getBody () .routes);
68179
+ this .importExternProtos (proto .getBody () .externprotos);
68180
+ this .importProtos (proto .getBody () .protos);
68181
+ this .copyRootNodes (proto .getBody () .rootNodes);
68182
+ this .importImportedNodes (proto .getBody () .importedNodes);
68183
+ this .copyRoutes (proto .getBody () .routes);
68445
68184
 
68446
68185
  this [X3DPrototypeInstance_body] .setup ();
68447
68186
 
@@ -68492,6 +68231,9 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68492
68231
  oldField .setAccessType (newField .getAccessType ());
68493
68232
  oldField .setName (newField .getName ());
68494
68233
 
68234
+ // Replace field, ie. reuse old field.
68235
+ this .getPredefinedFields () .update (newField .getName (), newField .getName (), oldField);
68236
+
68495
68237
  const references = new Set (oldField .getReferences ());
68496
68238
 
68497
68239
  // Remove references and routes.
@@ -68505,16 +68247,33 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68505
68247
  oldField .addReference (field);
68506
68248
  }
68507
68249
 
68508
- // Reconnect routes.
68509
- for (const route of oldField .getInputRoutes ())
68510
- route .getSourceField () .addFieldInterest (route .getDestinationField ());
68250
+ // Reconnect input routes.
68251
+ for (const route of new Set (oldField .getInputRoutes ()))
68252
+ {
68253
+ try
68254
+ {
68255
+ const { sourceNode, sourceField } = route;
68511
68256
 
68512
- // Reconnect routes.
68513
- for (const route of oldField .getOutputRoutes ())
68514
- route .getSourceField () .addFieldInterest (route .getDestinationField ());
68257
+ route .getExecutionContext () .deleteRoute (route);
68258
+ route .getExecutionContext () .addRoute (sourceNode, sourceField, this, oldField .getName ());
68259
+ }
68260
+ catch
68261
+ { }
68262
+ }
68515
68263
 
68516
- // Replace field, ie. reuse old field.
68517
- this .getPredefinedFields () .update (newField .getName (), newField .getName (), oldField);
68264
+ // Reconnect output routes.
68265
+ for (const route of new Set (oldField .getOutputRoutes ()))
68266
+ {
68267
+ try
68268
+ {
68269
+ const { destinationNode, destinationField } = route;
68270
+
68271
+ route .getExecutionContext () .deleteRoute (route);
68272
+ route .getExecutionContext () .addRoute (this, oldField .getName (), destinationNode, destinationField );
68273
+ }
68274
+ catch
68275
+ { }
68276
+ }
68518
68277
 
68519
68278
  // Remove from old fields and dispose new field.
68520
68279
  oldFields .delete (oldFieldName);
@@ -68599,34 +68358,35 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68599
68358
  for (const node of rootNodes1)
68600
68359
  rootNodes2 .push (node .copy (this));
68601
68360
  },
68602
- copyImportedNodes (executionContext, importedNodes)
68361
+ importImportedNodes (importedNodes)
68603
68362
  {
68604
68363
  for (const importedNode of importedNodes)
68605
68364
  {
68606
68365
  try
68607
68366
  {
68608
- const
68609
- inlineNode = this [X3DPrototypeInstance_body] .getNamedNode (importedNode .getInlineNode () .getName ()),
68610
- importedName = importedNode .getImportedName (),
68611
- exportedName = importedNode .getExportedName ();
68367
+ const inlineNode = this [X3DPrototypeInstance_body] .getNamedNode (importedNode .getInlineNode () .getName ());
68612
68368
 
68613
- this [X3DPrototypeInstance_body] .addImportedNode (inlineNode, exportedName, importedName);
68369
+ this [X3DPrototypeInstance_body] .addImportedNode (inlineNode, importedNode .getExportedName (), importedNode .getImportedName ());
68614
68370
  }
68615
68371
  catch (error)
68616
68372
  {
68617
- console .error ("Bad IMPORT specification in copy: ", error);
68373
+ console .error (error);
68618
68374
  }
68619
68375
  }
68620
68376
  },
68621
- copyRoutes (executionContext, routes)
68377
+ copyRoutes (routes)
68622
68378
  {
68623
68379
  for (const route of routes)
68624
68380
  {
68625
68381
  try
68626
68382
  {
68627
- const
68628
- sourceNode = this [X3DPrototypeInstance_body] .getLocalNode (executionContext .getLocalName (route .sourceNode)),
68629
- destinationNode = this [X3DPrototypeInstance_body] .getLocalNode (executionContext .getLocalName (route .destinationNode));
68383
+ const sourceNode = route .getSourceNode () instanceof Core_X3DNode
68384
+ ? this [X3DPrototypeInstance_body] .getLocalNode (route .getSourceNode () .getName ())
68385
+ : this [X3DPrototypeInstance_body] .getLocalNode (route .getSourceNode () .getImportedName ());
68386
+
68387
+ const destinationNode = route .getDestinationNode () instanceof Core_X3DNode
68388
+ ? this [X3DPrototypeInstance_body] .getLocalNode (route .getDestinationNode () .getName ())
68389
+ : this [X3DPrototypeInstance_body] .getLocalNode (route .getDestinationNode () .getImportedName ());
68630
68390
 
68631
68391
  this [X3DPrototypeInstance_body] .addRoute (sourceNode, route .sourceField, destinationNode, route .destinationField);
68632
68392
  }
@@ -89599,7 +89359,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
89599
89359
  x_ite_Namespace .add ("X3DShaderNode", "x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
89600
89360
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
89601
89361
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
89602
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(831);
89362
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(548);
89603
89363
  /*******************************************************************************
89604
89364
  *
89605
89365
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95240,7 +95000,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
95240
95000
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
95241
95001
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
95242
95002
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
95243
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(831);
95003
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(548);
95244
95004
  /*******************************************************************************
95245
95005
  *
95246
95006
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95897,7 +95657,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
95897
95657
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
95898
95658
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
95899
95659
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
95900
- /* provided dependency */ var Appearance_$ = __webpack_require__(831);
95660
+ /* provided dependency */ var Appearance_$ = __webpack_require__(548);
95901
95661
  /*******************************************************************************
95902
95662
  *
95903
95663
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99315,7 +99075,7 @@ const Components_Shape_default_ = {
99315
99075
  x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_default_);
99316
99076
  /* harmony default export */ const Components_Shape = (Components_Shape_default_);
99317
99077
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundProcessingNode.js
99318
- /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(831);
99078
+ /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(548);
99319
99079
  /*******************************************************************************
99320
99080
  *
99321
99081
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99955,7 +99715,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
99955
99715
  x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
99956
99716
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
99957
99717
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
99958
- /* provided dependency */ var AudioClip_$ = __webpack_require__(831);
99718
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(548);
99959
99719
  /*******************************************************************************
99960
99720
  *
99961
99721
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -100257,7 +100017,7 @@ const X3DSoundNode_default_ = X3DSoundNode;
100257
100017
  x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
100258
100018
  /* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
100259
100019
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundDestinationNode.js
100260
- /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(831);
100020
+ /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(548);
100261
100021
  /*******************************************************************************
100262
100022
  *
100263
100023
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -101907,7 +101667,7 @@ const ListenerPointSource_default_ = ListenerPointSource;
101907
101667
  x_ite_Namespace .add ("ListenerPointSource", "x_ite/Components/Sound/ListenerPointSource", ListenerPointSource_default_);
101908
101668
  /* harmony default export */ const Sound_ListenerPointSource = (ListenerPointSource_default_);
101909
101669
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/MicrophoneSource.js
101910
- /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(831);
101670
+ /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(548);
101911
101671
  /*******************************************************************************
101912
101672
  *
101913
101673
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -103576,8 +103336,8 @@ const GifMedia_default_ = GifMedia;
103576
103336
  x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
103577
103337
  /* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
103578
103338
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
103579
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(831);
103580
- /* provided dependency */ var SuperGif = __webpack_require__(698);
103339
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(548);
103340
+ /* provided dependency */ var SuperGif = __webpack_require__(258);
103581
103341
  /*******************************************************************************
103582
103342
  *
103583
103343
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -106852,7 +106612,7 @@ const gettext_default_ = gettext;
106852
106612
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
106853
106613
  /* harmony default export */ const locale_gettext = (gettext_default_);
106854
106614
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
106855
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(831);
106615
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(548);
106856
106616
  /*******************************************************************************
106857
106617
  *
106858
106618
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107282,7 +107042,7 @@ const TextureQuality_default_ = TextureQuality;
107282
107042
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
107283
107043
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
107284
107044
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
107285
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(831);
107045
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(548);
107286
107046
  /*******************************************************************************
107287
107047
  *
107288
107048
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107872,7 +107632,7 @@ const RenderingProperties_default_ = RenderingProperties;
107872
107632
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
107873
107633
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
107874
107634
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
107875
- /* provided dependency */ var Notification_$ = __webpack_require__(831);
107635
+ /* provided dependency */ var Notification_$ = __webpack_require__(548);
107876
107636
  /*******************************************************************************
107877
107637
  *
107878
107638
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107995,8 +107755,8 @@ const Notification_default_ = Notification;
107995
107755
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
107996
107756
  /* harmony default export */ const Core_Notification = (Notification_default_);
107997
107757
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
107998
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(561);
107999
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(831);
107758
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(864);
107759
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(548);
108000
107760
  /*******************************************************************************
108001
107761
  *
108002
107762
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -109269,7 +109029,7 @@ Object .assign (Object .setPrototypeOf (X3DExportedNode .prototype, Base_X3DObje
109269
109029
  },
109270
109030
  toVRMLStream (generator)
109271
109031
  {
109272
- const localName = generator .LocalName (this .getLocalNode ());
109032
+ const localName = generator .Name (this .getLocalNode ());
109273
109033
 
109274
109034
  generator .string += generator .Indent ();
109275
109035
  generator .string += "EXPORT";
@@ -109286,7 +109046,7 @@ Object .assign (Object .setPrototypeOf (X3DExportedNode .prototype, Base_X3DObje
109286
109046
  },
109287
109047
  toXMLStream (generator)
109288
109048
  {
109289
- const localName = generator .LocalName (this .getLocalNode ());
109049
+ const localName = generator .Name (this .getLocalNode ());
109290
109050
 
109291
109051
  generator .string += generator .Indent ();
109292
109052
  generator .string += "<EXPORT";
@@ -109307,7 +109067,7 @@ Object .assign (Object .setPrototypeOf (X3DExportedNode .prototype, Base_X3DObje
109307
109067
  },
109308
109068
  toJSONStream (generator)
109309
109069
  {
109310
- const localName = generator .LocalName (this .getLocalNode ());
109070
+ const localName = generator .Name (this .getLocalNode ());
109311
109071
 
109312
109072
  generator .string += generator .Indent ();
109313
109073
  generator .string += '{';
@@ -110750,7 +110510,7 @@ const DataStorage_default_ = DataStorage;
110750
110510
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
110751
110511
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
110752
110512
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
110753
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(831);
110513
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(548);
110754
110514
  /*******************************************************************************
110755
110515
  *
110756
110516
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113273,8 +113033,8 @@ const X3DViewer_default_ = X3DViewer;
113273
113033
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
113274
113034
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
113275
113035
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
113276
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(471);
113277
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(831);
113036
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(642);
113037
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(548);
113278
113038
  /*******************************************************************************
113279
113039
  *
113280
113040
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114146,8 +113906,8 @@ const ExamineViewer_default_ = ExamineViewer;
114146
113906
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
114147
113907
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
114148
113908
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
114149
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(471);
114150
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(831);
113909
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(642);
113910
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(548);
114151
113911
  /*******************************************************************************
114152
113912
  *
114153
113913
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115156,8 +114916,8 @@ const FlyViewer_default_ = FlyViewer;
115156
114916
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
115157
114917
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
115158
114918
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
115159
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(471);
115160
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(831);
114919
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(642);
114920
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(548);
115161
114921
  /*******************************************************************************
115162
114922
  *
115163
114923
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115488,8 +115248,8 @@ const NoneViewer_default_ = NoneViewer;
115488
115248
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
115489
115249
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
115490
115250
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
115491
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(471);
115492
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(831);
115251
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(642);
115252
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(548);
115493
115253
  /*******************************************************************************
115494
115254
  *
115495
115255
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116628,8 +116388,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
116628
116388
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
116629
116389
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
116630
116390
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
116631
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(471);
116632
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(831);
116391
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(642);
116392
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(548);
116633
116393
  /*******************************************************************************
116634
116394
  *
116635
116395
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117908,7 +117668,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
117908
117668
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
117909
117669
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
117910
117670
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
117911
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(831);
117671
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(548);
117912
117672
  /*******************************************************************************
117913
117673
  *
117914
117674
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118006,7 +117766,7 @@ Object .assign (X3DRenderingContext .prototype,
118006
117766
  {
118007
117767
  const gl = this .getContext ();
118008
117768
 
118009
- if (! navigator .userAgent .match (/Firefox/))
117769
+ if (!navigator .userAgent .match (/Firefox/))
118010
117770
  {
118011
117771
  const dbgRenderInfo = gl .getExtension ("WEBGL_debug_renderer_info");
118012
117772
 
@@ -118020,7 +117780,7 @@ Object .assign (X3DRenderingContext .prototype,
118020
117780
  {
118021
117781
  const gl = this .getContext ();
118022
117782
 
118023
- if (! navigator .userAgent .match (/Firefox/))
117783
+ if (!navigator .userAgent .match (/Firefox/))
118024
117784
  {
118025
117785
  const dbgRenderInfo = gl .getExtension ("WEBGL_debug_renderer_info");
118026
117786
 
@@ -118169,16 +117929,15 @@ Object .assign (X3DRenderingContext .prototype,
118169
117929
  reshape ()
118170
117930
  {
118171
117931
  const
118172
- $canvas = this .getCanvas (),
117932
+ canvas = this .getCanvas (),
118173
117933
  contentScale = this .getRenderingProperty ("ContentScale"),
118174
117934
  samples = this .getRenderingProperty ("Multisampling"),
118175
117935
  oit = this .getBrowserOption ("OrderIndependentTransparency"),
118176
- width = $canvas .width () * contentScale,
118177
- height = $canvas .height () * contentScale,
118178
- canvas = $canvas [0];
117936
+ width = canvas .width () * contentScale,
117937
+ height = canvas .height () * contentScale;
118179
117938
 
118180
- canvas .width = width;
118181
- canvas .height = height;
117939
+ canvas .prop ("width", width);
117940
+ canvas .prop ("height", height);
118182
117941
 
118183
117942
  this [_viewport] [2] = width;
118184
117943
  this [_viewport] [3] = height;
@@ -118811,7 +118570,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
118811
118570
  x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
118812
118571
  /* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
118813
118572
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
118814
- /* provided dependency */ var KTXDecoder_$ = __webpack_require__(831);
118573
+ /* provided dependency */ var KTXDecoder_$ = __webpack_require__(548);
118815
118574
  const KTXDecoder_default_ = class KTXDecoder
118816
118575
  {
118817
118576
  constructor (gl, externalKtxlib, scriptDir)
@@ -120364,7 +120123,7 @@ const Components_default_ = Components;
120364
120123
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
120365
120124
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
120366
120125
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
120367
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(831);
120126
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(548);
120368
120127
  /*******************************************************************************
120369
120128
  * MIT License
120370
120129
  *
@@ -121495,7 +121254,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
121495
121254
  x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
121496
121255
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
121497
121256
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
121498
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(831);
121257
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(548);
121499
121258
  /*******************************************************************************
121500
121259
  *
121501
121260
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122209,21 +121968,11 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
122209
121968
  else
122210
121969
  return new Map ([... this [_browserCallbacks]] .flatMap (([event, map]) => [... map]));
122211
121970
  },
122212
- callBrowserCallbacks: (() =>
121971
+ callBrowserCallbacks (event)
122213
121972
  {
122214
- const values = [ ];
122215
-
122216
- return function (event)
122217
- {
122218
- const browserCallbacks = this [_browserCallbacks] .get (event);
122219
-
122220
- if (browserCallbacks .size)
122221
- {
122222
- for (const callback of Utility_MapUtilities .values (values, browserCallbacks))
122223
- callback (event);
122224
- }
122225
- };
122226
- })(),
121973
+ for (const callback of Utility_MapUtilities .values (this [_browserCallbacks] .get (event)))
121974
+ callback (event);
121975
+ },
122227
121976
  importDocument (dom)
122228
121977
  {
122229
121978
  const
@@ -122408,23 +122157,13 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
122408
122157
 
122409
122158
  viewpointNode ._set_bind = true;
122410
122159
  },
122411
- addRoute (fromNode, fromEventOut, toNode, toEventIn)
122160
+ addRoute (sourceNode, sourceField, destinationNode, destinationField)
122412
122161
  {
122413
- this .currentScene .addRoute (fromNode, fromEventOut, toNode, toEventIn);
122162
+ this .currentScene .addRoute (sourceNode, sourceField, destinationNode, destinationField);
122414
122163
  },
122415
- deleteRoute (fromNode, fromEventOut, toNode, toEventIn)
122164
+ deleteRoute (sourceNode, sourceField, destinationNode, destinationField)
122416
122165
  {
122417
- try
122418
- {
122419
- const route = this .currentScene .getRoute (fromNode, fromEventOut, toNode, toEventIn);
122420
-
122421
- if (route)
122422
- this .currentScene .deleteRoute (route);
122423
- }
122424
- catch (error)
122425
- {
122426
- console .error (error);
122427
- }
122166
+ this .currentScene .deleteRoute (sourceNode, sourceField, destinationNode, destinationField);
122428
122167
  },
122429
122168
  beginUpdate ()
122430
122169
  {
@@ -122576,7 +122315,7 @@ const X3DBrowser_default_ = X3DBrowser;
122576
122315
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
122577
122316
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
122578
122317
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
122579
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(831);
122318
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(548);
122580
122319
  /*******************************************************************************
122581
122320
  *
122582
122321
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122708,8 +122447,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
122708
122447
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
122709
122448
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
122710
122449
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
122711
- /* provided dependency */ var jquery_$ = __webpack_require__(831);
122712
- /* provided dependency */ var pako = __webpack_require__(295);
122450
+ /* provided dependency */ var jquery_$ = __webpack_require__(548);
122451
+ /* provided dependency */ var pako = __webpack_require__(63);
122713
122452
  Object .assign (jquery_$,
122714
122453
  {
122715
122454
  decodeText (input)
@@ -122786,14 +122525,14 @@ const jquery_default_ = jquery_$;
122786
122525
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
122787
122526
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
122788
122527
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
122789
- /* provided dependency */ var libtess_libtess = __webpack_require__(864);
122528
+ /* provided dependency */ var libtess_libtess = __webpack_require__(527);
122790
122529
  const libtess_default_ = libtess_libtess;
122791
122530
  ;
122792
122531
 
122793
122532
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
122794
122533
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
122795
122534
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
122796
- /* provided dependency */ var X3D_$ = __webpack_require__(831);
122535
+ /* provided dependency */ var X3D_$ = __webpack_require__(548);
122797
122536
  /*******************************************************************************
122798
122537
  *
122799
122538
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -123101,7 +122840,7 @@ Object .assign (X3D,
123101
122840
 
123102
122841
  // Assign X3D to global namespace.
123103
122842
 
123104
- window [Symbol .for ("X_ITE.X3D-9.1.11")] = x_ite_X3D;
122843
+ window [Symbol .for ("X_ITE.X3D-9.2.1")] = x_ite_X3D;
123105
122844
 
123106
122845
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
123107
122846