x_ite 9.1.11 → 9.2.0

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 +4 -0
  43. package/dist/x_ite.js +615 -874
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.min.mjs +1 -1
  46. package/dist/x_ite.mjs +615 -874
  47. package/dist/x_ite.zip +0 -0
  48. package/package.json +1 -1
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v9.1.11 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v9.2.0 */(function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
3
  module.exports = factory();
4
4
  else if(typeof define === 'function' && define.amd)
@@ -11,10 +11,10 @@
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 561:
14
+ /***/ 66:
15
15
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
16
16
 
17
- /* provided dependency */ var jQuery = __webpack_require__(831);
17
+ /* provided dependency */ var jQuery = __webpack_require__(484);
18
18
  /**
19
19
  * @preserve jquery.fullscreen 1.1.5
20
20
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -210,7 +210,7 @@ installFullScreenHandlers();
210
210
 
211
211
  /***/ }),
212
212
 
213
- /***/ 471:
213
+ /***/ 389:
214
214
  /***/ ((module, exports, __webpack_require__) => {
215
215
 
216
216
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -224,7 +224,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
224
224
  (function (factory) {
225
225
  if ( true ) {
226
226
  // AMD. Register as an anonymous module.
227
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(831)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
227
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(484)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
228
228
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
229
229
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
230
230
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -435,7 +435,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
435
435
 
436
436
  /***/ }),
437
437
 
438
- /***/ 831:
438
+ /***/ 484:
439
439
  /***/ (function(module, exports) {
440
440
 
441
441
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -11159,7 +11159,7 @@ return jQuery;
11159
11159
 
11160
11160
  /***/ }),
11161
11161
 
11162
- /***/ 864:
11162
+ /***/ 53:
11163
11163
  /***/ ((module) => {
11164
11164
 
11165
11165
  /**
@@ -15938,7 +15938,7 @@ if (true) {
15938
15938
 
15939
15939
  /***/ }),
15940
15940
 
15941
- /***/ 295:
15941
+ /***/ 251:
15942
15942
  /***/ (function(__unused_webpack_module, exports) {
15943
15943
 
15944
15944
 
@@ -19183,7 +19183,7 @@ if (true) {
19183
19183
 
19184
19184
  /***/ }),
19185
19185
 
19186
- /***/ 698:
19186
+ /***/ 749:
19187
19187
  /***/ (function(module, exports) {
19188
19188
 
19189
19189
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -20311,7 +20311,7 @@ Object .defineProperty (Namespace, "add",
20311
20311
  }
20312
20312
  else
20313
20313
  {
20314
- const X3D = window [Symbol .for ("X_ITE.X3D-9.1.11")];
20314
+ const X3D = window [Symbol .for ("X_ITE.X3D-9.2.0")];
20315
20315
 
20316
20316
  if (X3D)
20317
20317
  X3D [name] = module;
@@ -20909,7 +20909,6 @@ function Generator ({ style = "TIDY", indent = "", precision = 7, doublePrecisio
20909
20909
  this .nodes = new Set ();
20910
20910
  this .names = new Map ();
20911
20911
  this .namesByNode = new Map ();
20912
- this .importedNames = new Map ();
20913
20912
  this .routeNodes = new Set ();
20914
20913
  this .level = 0;
20915
20914
  this .containerFields = [ ];
@@ -21117,9 +21116,8 @@ Object .assign (Generator .prototype,
21117
21116
 
21118
21117
  if (this .level === 0)
21119
21118
  {
21120
- this .nodes .clear ();
21121
- this .namesByNode .clear ();
21122
- this .importedNames .clear ();
21119
+ this .nodes .clear ();
21120
+ this .namesByNode .clear ();
21123
21121
  }
21124
21122
  },
21125
21123
  NamedNodes (namedNodes)
@@ -21158,17 +21156,13 @@ Object .assign (Generator .prototype,
21158
21156
  { }
21159
21157
  }
21160
21158
  },
21161
- AddImportedNode (exportedNode, importedName)
21162
- {
21163
- this .importedNames .set (exportedNode, importedName);
21164
- },
21165
21159
  AddRouteNode (routeNode)
21166
21160
  {
21167
21161
  this .routeNodes .add (routeNode);
21168
21162
  },
21169
21163
  ExistsRouteNode (routeNode)
21170
21164
  {
21171
- return this .namesByNode .get (routeNode) || this .routeNodes .has (routeNode);
21165
+ return this .namesByNode .has (routeNode) || this .routeNodes .has (routeNode);
21172
21166
  },
21173
21167
  IsSharedNode (baseNode)
21174
21168
  {
@@ -21245,18 +21239,6 @@ Object .assign (Generator .prototype,
21245
21239
 
21246
21240
  return newName;
21247
21241
  },
21248
- LocalName (baseNode)
21249
- {
21250
- const importedName = this .importedNames .get (baseNode);
21251
-
21252
- if (importedName !== undefined)
21253
- return importedName;
21254
-
21255
- if (this .ExistsNode (baseNode))
21256
- return this .Name (baseNode);
21257
-
21258
- throw new Error (`Couldn't get local name for node '${baseNode .getTypeName ()}'.`);
21259
- },
21260
21242
  PushContainerField (field)
21261
21243
  {
21262
21244
  this .containerFields .push (field);
@@ -21462,7 +21444,7 @@ const MapUtilities =
21462
21444
  {
21463
21445
  assign: (() =>
21464
21446
  {
21465
- function callback (value, key)
21447
+ function set (value, key)
21466
21448
  {
21467
21449
  this .set (key, value);
21468
21450
  }
@@ -21470,25 +21452,36 @@ const MapUtilities =
21470
21452
  return function (m1, m2)
21471
21453
  {
21472
21454
  m1 .clear ();
21473
- m2 .forEach (callback, m1);
21455
+ m2 .forEach (set, m1);
21474
21456
 
21475
21457
  return m1;
21476
21458
  };
21477
21459
  })(),
21478
21460
  values: (() =>
21479
21461
  {
21480
- function callback (value)
21481
- {
21482
- this .push (value);
21483
- }
21462
+ function push (value) { this .push (value); }
21484
21463
 
21485
- return function (a, m)
21464
+ const values = new WeakMap ();
21465
+
21466
+ return function (m)
21486
21467
  {
21487
- a .length = 0;
21468
+ if (m .size)
21469
+ {
21470
+ let a = values .get (m);
21488
21471
 
21489
- m .forEach (callback, a);
21472
+ if (a)
21473
+ a .length = 0;
21474
+ else
21475
+ values .set (m, a = [ ]);
21476
+
21477
+ m .forEach (push, a);
21490
21478
 
21491
- return a;
21479
+ return a;
21480
+ }
21481
+ else
21482
+ {
21483
+ return m .values ();
21484
+ }
21492
21485
  };
21493
21486
  })(),
21494
21487
  };
@@ -21617,7 +21610,6 @@ Object .assign (X3DObject .prototype,
21617
21610
  {
21618
21611
  [_name]: "",
21619
21612
  [_interests]: new Map (),
21620
- [_values]: [ ],
21621
21613
  [_userData]: new Map (),
21622
21614
  getId ()
21623
21615
  {
@@ -21646,10 +21638,7 @@ Object .assign (X3DObject .prototype,
21646
21638
  addInterest (callbackName, object, ... args)
21647
21639
  {
21648
21640
  if (this [_interests] === X3DObject .prototype [_interests])
21649
- {
21650
21641
  this [_interests] = new Map ();
21651
- this [_values] = [ ];
21652
- }
21653
21642
 
21654
21643
  const
21655
21644
  interestId = X3DObject .getInterestId (callbackName, object),
@@ -21667,11 +21656,8 @@ Object .assign (X3DObject .prototype,
21667
21656
  },
21668
21657
  processInterests ()
21669
21658
  {
21670
- if (this [_interests] .size)
21671
- {
21672
- for (const interest of Utility_MapUtilities .values (this [_values], this [_interests]))
21673
- interest ();
21674
- }
21659
+ for (const interest of Utility_MapUtilities .values (this [_interests]))
21660
+ interest ();
21675
21661
  },
21676
21662
  getUserData (key)
21677
21663
  {
@@ -22999,19 +22985,11 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
22999
22985
  {
23000
22986
  return this [_referencesCallbacks];
23001
22987
  },
23002
- processReferencesCallbacks: (() =>
22988
+ processReferencesCallbacks ()
23003
22989
  {
23004
- const referencesCallbacksTemp = [ ];
23005
-
23006
- return function ()
23007
- {
23008
- if (this [_referencesCallbacks] .size)
23009
- {
23010
- for (const callback of Utility_MapUtilities .values (referencesCallbacksTemp, this [_referencesCallbacks]))
23011
- callback ();
23012
- }
23013
- };
23014
- })(),
22990
+ for (const callback of Utility_MapUtilities .values (this [_referencesCallbacks]))
22991
+ callback ();
22992
+ },
23015
22993
  addFieldInterest (field)
23016
22994
  {
23017
22995
  if (this [_fieldInterests] === X3DField .prototype [_fieldInterests])
@@ -23097,70 +23075,54 @@ Object .assign (Object .setPrototypeOf (X3DField .prototype, Base_X3DChildObject
23097
23075
  {
23098
23076
  return this [_routeCallbacks];
23099
23077
  },
23100
- processRouteCallbacks: (() =>
23078
+ processRouteCallbacks ()
23101
23079
  {
23102
- const routeCallbacksTemp = [ ];
23103
-
23104
- return function ()
23105
- {
23106
- if (this [_routeCallbacks] .size)
23107
- {
23108
- for (const callback of Utility_MapUtilities .values (routeCallbacksTemp, this [_routeCallbacks]))
23109
- callback ();
23110
- }
23111
- };
23112
- })(),
23113
- processEvent: (() =>
23080
+ for (const callback of Utility_MapUtilities .values (this [_routeCallbacks]))
23081
+ callback ();
23082
+ },
23083
+ processEvent (event = Base_Events .create (this))
23114
23084
  {
23115
- const fieldCallbacksTemp = [ ];
23085
+ if (event .has (this))
23086
+ return;
23116
23087
 
23117
- return function (event = Base_Events .create (this))
23118
- {
23119
- if (event .has (this))
23120
- return;
23088
+ event .add (this);
23121
23089
 
23122
- event .add (this);
23090
+ this .setTainted (false);
23123
23091
 
23124
- this .setTainted (false);
23092
+ const field = event .field;
23125
23093
 
23126
- const field = event .field;
23094
+ if (field !== this)
23095
+ this .set (field .getValue (), field .length);
23127
23096
 
23128
- if (field !== this)
23129
- this .set (field .getValue (), field .length);
23097
+ // Process interests.
23130
23098
 
23131
- // Process interests.
23099
+ this .processInterests ();
23132
23100
 
23133
- this .processInterests ();
23101
+ // Process routes.
23134
23102
 
23135
- // Process routes.
23103
+ let first = true;
23136
23104
 
23137
- let first = true;
23138
-
23139
- for (const field of this [_fieldInterests])
23105
+ for (const field of this [_fieldInterests])
23106
+ {
23107
+ if (first)
23140
23108
  {
23141
- if (first)
23142
- {
23143
- first = false;
23144
- field .addEventObject (this, event);
23145
- }
23146
- else
23147
- {
23148
- field .addEventObject (this, Base_Events .copy (event));
23149
- }
23109
+ first = false;
23110
+ field .addEventObject (this, event);
23111
+ }
23112
+ else
23113
+ {
23114
+ field .addEventObject (this, Base_Events .copy (event));
23150
23115
  }
23116
+ }
23151
23117
 
23152
- if (first)
23153
- Base_Events .push (event);
23118
+ if (first)
23119
+ Base_Events .push (event);
23154
23120
 
23155
- // Process field callbacks.
23121
+ // Process field callbacks.
23156
23122
 
23157
- if (this [_fieldCallbacks] .size)
23158
- {
23159
- for (const callback of Utility_MapUtilities .values (fieldCallbacksTemp, this [_fieldCallbacks]))
23160
- callback (this .valueOf ());
23161
- }
23162
- };
23163
- })(),
23123
+ for (const callback of Utility_MapUtilities .values (this [_fieldCallbacks]))
23124
+ callback (this .valueOf ());
23125
+ },
23164
23126
  fromString (string, scene)
23165
23127
  {
23166
23128
  // Function will be overridden in VRMLParser.
@@ -34191,9 +34153,9 @@ Object .assign (Object .setPrototypeOf (X3DBaseNode .prototype, Base_X3DChildObj
34191
34153
  return true;
34192
34154
  }
34193
34155
 
34194
- for (const importedNode of this [_executionContext] .getImportedNodes ())
34156
+ for (const route of this [_executionContext] .getRoutes ())
34195
34157
  {
34196
- if (importedNode .hasRoutes (this))
34158
+ if (route .getSourceNode () === this || route .getDestinationNode () === this)
34197
34159
  return true;
34198
34160
  }
34199
34161
 
@@ -34343,7 +34305,7 @@ const X3DBaseNode_default_ = X3DBaseNode;
34343
34305
  x_ite_Namespace .add ("X3DBaseNode", "x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34344
34306
  /* harmony default export */ const Base_X3DBaseNode = (X3DBaseNode_default_);
34345
34307
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Legacy.js
34346
- /* provided dependency */ var $ = __webpack_require__(831);
34308
+ /* provided dependency */ var $ = __webpack_require__(484);
34347
34309
  /*******************************************************************************
34348
34310
  *
34349
34311
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34480,7 +34442,7 @@ x_ite_Namespace .add ("Legacy", "x_ite/Browser/Legacy", Legacy_default_);
34480
34442
  *
34481
34443
  ******************************************************************************/
34482
34444
 
34483
- const BROWSER_VERSION_default_ = "9.1.11";
34445
+ const BROWSER_VERSION_default_ = "9.2.0";
34484
34446
  ;
34485
34447
 
34486
34448
  x_ite_Namespace .add ("BROWSER_VERSION", "x_ite/BROWSER_VERSION", BROWSER_VERSION_default_);
@@ -37316,9 +37278,6 @@ function X3DImportedNode (executionContext, inlineNode, exportedName, importedNa
37316
37278
  this [_inlineNode] = inlineNode;
37317
37279
  this [_exportedName] = exportedName;
37318
37280
  this [_importedName] = importedName;
37319
- this [_routes] = [ ];
37320
-
37321
- this .getInlineNode () ._loadState .addInterest ("set_loadState__", this);
37322
37281
  }
37323
37282
 
37324
37283
  Object .assign (Object .setPrototypeOf (X3DImportedNode .prototype, Base_X3DObject .prototype),
@@ -37343,423 +37302,149 @@ Object .assign (Object .setPrototypeOf (X3DImportedNode .prototype, Base_X3DObje
37343
37302
  {
37344
37303
  return this [_importedName];
37345
37304
  },
37346
- hasRoutes (baseNode)
37347
- {
37348
- return this [_routes]
37349
- .some (route => route .sourceNode === baseNode || route .destinationNode === baseNode)
37350
- },
37351
- addRoute (sourceNode, sourceField, destinationNode, destinationField)
37352
- {
37353
- // Add route.
37354
-
37355
- const route = {
37356
- sourceNode,
37357
- sourceField,
37358
- destinationNode,
37359
- destinationField,
37360
- };
37361
-
37362
- this [_routes] .push (route);
37363
-
37364
- // Try to resolve source or destination node routes.
37365
-
37366
- if (this .getInlineNode () .checkLoadState () === Base_X3DConstants .COMPLETE_STATE)
37367
- this .resolveRoute (route);
37368
- },
37369
- resolveRoute (route)
37305
+ toVRMLStream (generator)
37370
37306
  {
37371
- try
37372
- {
37373
- const { sourceField, destinationField } = route;
37374
-
37375
- let { sourceNode, destinationNode } = route;
37307
+ if (!generator .ExistsNode (this .getInlineNode ()))
37308
+ throw new Error ("X3DImportedNode.toVRMLStream: Inline node does not exist.");
37376
37309
 
37377
- route [_real] ?.dispose ();
37310
+ generator .AddRouteNode (this);
37378
37311
 
37379
- if (sourceNode instanceof X3DImportedNode)
37380
- sourceNode = sourceNode .getExportedNode ();
37312
+ const importedName = generator .ImportedName (this .getImportedName ());
37381
37313
 
37382
- if (destinationNode instanceof X3DImportedNode)
37383
- destinationNode = destinationNode .getExportedNode ();
37314
+ generator .string += generator .Indent ();
37315
+ generator .string += "IMPORT";
37316
+ generator .string += generator .Space ();
37317
+ generator .string += generator .Name (this .getInlineNode ());
37318
+ generator .string += ".";
37319
+ generator .string += this .getExportedName ();
37384
37320
 
37385
- route [_real] = this .getExecutionContext () .addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField);
37386
- }
37387
- catch (error)
37321
+ if (importedName !== this .getExportedName ())
37388
37322
  {
37389
- console .error (error .message);
37323
+ generator .string += generator .Space ();
37324
+ generator .string += "AS";
37325
+ generator .string += generator .Space ();
37326
+ generator .string += importedName;
37390
37327
  }
37391
37328
  },
37392
- deleteRoute (real)
37393
- {
37394
- this [_routes] = this [_routes] .filter (route => route [_real] !== real);
37395
- },
37396
- deleteRealRoutes ()
37329
+ toXMLStream (generator)
37397
37330
  {
37398
- for (const route of this [_routes])
37399
- {
37400
- const real = route [_real]
37331
+ if (!generator .ExistsNode (this .getInlineNode ()))
37332
+ throw new Error ("X3DImportedNode.toXMLStream: Inline node does not exist.");
37401
37333
 
37402
- if (!real)
37403
- continue;
37334
+ generator .AddRouteNode (this);
37404
37335
 
37405
- delete route [_real];
37336
+ const importedName = generator .ImportedName (this .getImportedName ());
37406
37337
 
37407
- this .getExecutionContext () .deleteSimpleRoute (real);
37408
- }
37409
- },
37410
- getRoutes ()
37411
- {
37412
- return this [_routes] .map (({ sourceNode, sourceField, destinationNode, destinationField }) =>
37413
- {
37414
- return {
37415
- sourceNode: sourceNode instanceof X3DImportedNode
37416
- ? sourceNode
37417
- : Fields_SFNodeCache .get (sourceNode),
37418
- sourceField,
37419
- destinationNode: destinationNode instanceof X3DImportedNode
37420
- ? destinationNode
37421
- : Fields_SFNodeCache .get (destinationNode),
37422
- destinationField,
37423
- };
37424
- });
37425
- },
37426
- set_loadState__ ()
37427
- {
37428
- switch (this .getInlineNode () .checkLoadState ())
37429
- {
37430
- case Base_X3DConstants .NOT_STARTED_STATE:
37431
- case Base_X3DConstants .FAILED_STATE:
37432
- {
37433
- this .deleteRealRoutes ();
37434
- break;
37435
- }
37436
- case Base_X3DConstants .COMPLETE_STATE:
37437
- {
37438
- this .deleteRealRoutes ();
37439
-
37440
- for (const route of this [_routes])
37441
- this .resolveRoute (route);
37338
+ generator .string += generator .Indent ();
37339
+ generator .string += "<IMPORT";
37340
+ generator .string += generator .Space ();
37341
+ generator .string += "inlineDEF='";
37342
+ generator .string += generator .XMLEncode (generator .Name (this .getInlineNode ()));
37343
+ generator .string += "'";
37344
+ generator .string += generator .Space ();
37345
+ generator .string += "importedDEF='";
37346
+ generator .string += generator .XMLEncode (this .getExportedName ());
37347
+ generator .string += "'";
37442
37348
 
37443
- break;
37444
- }
37445
- }
37446
- },
37447
- toVRMLStream (generator)
37448
- {
37449
- if (generator .ExistsNode (this .getInlineNode ()))
37349
+ if (importedName !== this .getExportedName ())
37450
37350
  {
37451
- const importedName = generator .ImportedName (this .getImportedName ());
37452
-
37453
- generator .string += generator .Indent ();
37454
- generator .string += "IMPORT";
37455
37351
  generator .string += generator .Space ();
37456
- generator .string += generator .Name (this .getInlineNode ());
37457
- generator .string += ".";
37458
- generator .string += this .getExportedName ();
37459
-
37460
- if (importedName !== this .getExportedName ())
37461
- {
37462
- generator .string += generator .Space ();
37463
- generator .string += "AS";
37464
- generator .string += generator .Space ();
37465
- generator .string += importedName;
37466
- }
37467
-
37468
- try
37469
- {
37470
- generator .AddRouteNode (this);
37471
- generator .AddImportedNode (this .getExportedNode (), importedName);
37472
- }
37473
- catch
37474
- {
37475
- // Output unresolved routes.
37476
-
37477
- for (const { sourceNode, sourceField, destinationNode, destinationField } of this [_routes])
37478
- {
37479
- if (generator .ExistsRouteNode (sourceNode) && generator .ExistsRouteNode (destinationNode))
37480
- {
37481
- const sourceNodeName = sourceNode instanceof X3DImportedNode
37482
- ? sourceNode .getImportedName ()
37483
- : generator .Name (sourceNode);
37484
-
37485
- const destinationNodeName = destinationNode instanceof X3DImportedNode
37486
- ? destinationNode .getImportedName ()
37487
- : generator .Name (destinationNode);
37488
-
37489
- generator .string += generator .TidyBreak ();
37490
- generator .string += generator .Indent ();
37491
- generator .string += "ROUTE";
37492
- generator .string += generator .Space ();
37493
- generator .string += sourceNodeName;
37494
- generator .string += ".";
37495
- generator .string += sourceField;
37496
- generator .string += generator .Space ();
37497
- generator .string += "TO";
37498
- generator .string += generator .Space ();
37499
- generator .string += destinationNodeName;
37500
- generator .string += ".";
37501
- generator .string += destinationField;
37502
- }
37503
- }
37504
- }
37505
- }
37506
- else
37507
- {
37508
- throw new Error ("X3DImportedNode.toXMLStream: Inline node does not exist.");
37352
+ generator .string += "AS='";
37353
+ generator .string += generator .XMLEncode (importedName);
37354
+ generator .string += "'";
37509
37355
  }
37356
+
37357
+ generator .string += generator .closingTags ? "></IMPORT>" : "/>";
37510
37358
  },
37511
- toXMLStream (generator)
37359
+ toJSONStream (generator)
37512
37360
  {
37513
- if (generator .ExistsNode (this .getInlineNode ()))
37514
- {
37515
- const importedName = generator .ImportedName (this .getImportedName ());
37516
-
37517
- generator .string += generator .Indent ();
37518
- generator .string += "<IMPORT";
37519
- generator .string += generator .Space ();
37520
- generator .string += "inlineDEF='";
37521
- generator .string += generator .XMLEncode (generator .Name (this .getInlineNode ()));
37522
- generator .string += "'";
37523
- generator .string += generator .Space ();
37524
- generator .string += "importedDEF='";
37525
- generator .string += generator .XMLEncode (this .getExportedName ());
37526
- generator .string += "'";
37361
+ if (!generator .ExistsNode (this .getInlineNode ()))
37362
+ throw new Error ("X3DImportedNode.toJSONStream: Inline node does not exist.");
37527
37363
 
37528
- if (importedName !== this .getExportedName ())
37529
- {
37530
- generator .string += generator .Space ();
37531
- generator .string += "AS='";
37532
- generator .string += generator .XMLEncode (importedName);
37533
- generator .string += "'";
37534
- }
37364
+ generator .AddRouteNode (this);
37535
37365
 
37536
- generator .string += generator .closingTags ? "></IMPORT>" : "/>";
37366
+ const importedName = generator .ImportedName (this .getImportedName ());
37537
37367
 
37538
- try
37539
- {
37540
- generator .AddRouteNode (this);
37541
- generator .AddImportedNode (this .getExportedNode (), importedName);
37542
- }
37543
- catch
37544
- {
37545
- // Output unresolved routes.
37368
+ generator .string += generator .Indent ();
37369
+ generator .string += '{';
37370
+ generator .string += generator .TidySpace ();
37371
+ generator .string += '"';
37372
+ generator .string += "IMPORT";
37373
+ generator .string += '"';
37374
+ generator .string += ':';
37375
+ generator .string += generator .TidyBreak ();
37376
+ generator .string += generator .IncIndent ();
37377
+ generator .string += generator .Indent ();
37378
+ generator .string += '{';
37379
+ generator .string += generator .TidyBreak ();
37380
+ generator .string += generator .IncIndent ();
37546
37381
 
37547
- for (const { sourceNode, sourceField, destinationNode, destinationField } of this [_routes])
37548
- {
37549
- if (generator .ExistsRouteNode (sourceNode) && generator .ExistsRouteNode (destinationNode))
37550
- {
37551
- const sourceNodeName = sourceNode instanceof X3DImportedNode
37552
- ? sourceNode .getImportedName ()
37553
- : generator .Name (sourceNode);
37382
+ generator .string += generator .Indent ();
37383
+ generator .string += '"';
37384
+ generator .string += "@inlineDEF";
37385
+ generator .string += '"';
37386
+ generator .string += ':';
37387
+ generator .string += generator .TidySpace ();
37388
+ generator .string += '"';
37389
+ generator .string += generator .JSONEncode (generator .Name (this .getInlineNode ()));
37390
+ generator .string += '"';
37391
+ generator .string += ',';
37392
+ generator .string += generator .TidyBreak ();
37554
37393
 
37555
- const destinationNodeName = destinationNode instanceof X3DImportedNode
37556
- ? destinationNode .getImportedName ()
37557
- : generator .Name (destinationNode);
37394
+ generator .string += generator .Indent ();
37395
+ generator .string += '"';
37396
+ generator .string += "@importedDEF";
37397
+ generator .string += '"';
37398
+ generator .string += ':';
37399
+ generator .string += generator .TidySpace ();
37400
+ generator .string += '"';
37401
+ generator .string += generator .JSONEncode (this .getExportedName ());
37402
+ generator .string += '"';
37558
37403
 
37559
- generator .string += generator .TidyBreak ();
37560
- generator .string += generator .Indent ();
37561
- generator .string += "<ROUTE";
37562
- generator .string += generator .Space ();
37563
- generator .string += "fromNode='";
37564
- generator .string += generator .XMLEncode (sourceNodeName);
37565
- generator .string += "'";
37566
- generator .string += generator .Space ();
37567
- generator .string += "fromField='";
37568
- generator .string += generator .XMLEncode (sourceField);
37569
- generator .string += "'";
37570
- generator .string += generator .Space ();
37571
- generator .string += "toNode='";
37572
- generator .string += generator .XMLEncode (destinationNodeName);
37573
- generator .string += "'";
37574
- generator .string += generator .Space ();
37575
- generator .string += "toField='";
37576
- generator .string += generator .XMLEncode (destinationField);
37577
- generator .string += "'";
37578
- generator .string += generator .closingTags ? "></ROUTE>" : "/>";
37579
- }
37580
- }
37581
- }
37582
- }
37583
- else
37584
- {
37585
- throw new Error ("X3DImportedNode.toXMLStream: Inline node does not exist.");
37586
- }
37587
- },
37588
- toJSONStream (generator)
37589
- {
37590
- if (generator .ExistsNode (this .getInlineNode ()))
37404
+ if (importedName !== this .getExportedName ())
37591
37405
  {
37592
- const importedName = generator .ImportedName (this .getImportedName ());
37593
-
37594
- generator .string += generator .Indent ();
37595
- generator .string += '{';
37596
- generator .string += generator .TidySpace ();
37597
- generator .string += '"';
37598
- generator .string += "IMPORT";
37599
- generator .string += '"';
37600
- generator .string += ':';
37601
- generator .string += generator .TidyBreak ();
37602
- generator .string += generator .IncIndent ();
37603
- generator .string += generator .Indent ();
37604
- generator .string += '{';
37605
- generator .string += generator .TidyBreak ();
37606
- generator .string += generator .IncIndent ();
37607
-
37608
- generator .string += generator .Indent ();
37609
- generator .string += '"';
37610
- generator .string += "@inlineDEF";
37611
- generator .string += '"';
37612
- generator .string += ':';
37613
- generator .string += generator .TidySpace ();
37614
- generator .string += '"';
37615
- generator .string += generator .JSONEncode (generator .Name (this .getInlineNode ()));
37616
- generator .string += '"';
37617
37406
  generator .string += ',';
37618
37407
  generator .string += generator .TidyBreak ();
37619
-
37620
37408
  generator .string += generator .Indent ();
37621
37409
  generator .string += '"';
37622
- generator .string += "@importedDEF";
37410
+ generator .string += "@AS";
37623
37411
  generator .string += '"';
37624
37412
  generator .string += ':';
37625
37413
  generator .string += generator .TidySpace ();
37626
37414
  generator .string += '"';
37627
- generator .string += generator .JSONEncode (this .getExportedName ());
37415
+ generator .string += generator .JSONEncode (importedName);
37628
37416
  generator .string += '"';
37629
-
37630
- if (importedName !== this .getExportedName ())
37631
- {
37632
- generator .string += ',';
37633
- generator .string += generator .TidyBreak ();
37634
- generator .string += generator .Indent ();
37635
- generator .string += '"';
37636
- generator .string += "@AS";
37637
- generator .string += '"';
37638
- generator .string += ':';
37639
- generator .string += generator .TidySpace ();
37640
- generator .string += '"';
37641
- generator .string += generator .JSONEncode (importedName);
37642
- generator .string += '"';
37643
- generator .string += generator .TidyBreak ();
37644
- }
37645
- else
37646
- {
37647
- generator .string += generator .TidyBreak ();
37648
- }
37649
-
37650
- generator .string += generator .DecIndent ();
37651
- generator .string += generator .Indent ();
37652
- generator .string += '}';
37653
37417
  generator .string += generator .TidyBreak ();
37654
- generator .string += generator .DecIndent ();
37655
- generator .string += generator .Indent ();
37656
- generator .string += '}';
37657
-
37658
- try
37659
- {
37660
- generator .AddRouteNode (this);
37661
- generator .AddImportedNode (this .getExportedNode (), importedName);
37662
- }
37663
- catch
37664
- {
37665
- // Output unresolved routes.
37666
-
37667
- for (const { sourceNode, sourceField, destinationNode, destinationField } of this [_routes])
37668
- {
37669
- if (generator .ExistsRouteNode (sourceNode) && generator .ExistsRouteNode (destinationNode))
37670
- {
37671
- const sourceNodeName = sourceNode instanceof X3DImportedNode
37672
- ? sourceNode .getImportedName ()
37673
- : generator .Name (sourceNode);
37674
-
37675
- const destinationNodeName = destinationNode instanceof X3DImportedNode
37676
- ? destinationNode .getImportedName ()
37677
- : generator .Name (destinationNode);
37678
-
37679
- generator .string += ',';
37680
- generator .string += generator .TidyBreak ();
37681
- generator .string += generator .Indent ();
37682
- generator .string += '{';
37683
- generator .string += generator .TidySpace ();
37684
- generator .string += '"';
37685
- generator .string += "ROUTE";
37686
- generator .string += '"';
37687
- generator .string += ':';
37688
- generator .string += generator .TidyBreak ();
37689
- generator .string += generator .IncIndent ();
37690
- generator .string += generator .Indent ();
37691
- generator .string += '{';
37692
- generator .string += generator .TidyBreak ();
37693
- generator .string += generator .IncIndent ();
37694
-
37695
- generator .string += generator .Indent ();
37696
- generator .string += '"';
37697
- generator .string += "@fromNode";
37698
- generator .string += '"';
37699
- generator .string += ':';
37700
- generator .string += generator .TidySpace ();
37701
- generator .string += '"';
37702
- generator .string += generator .JSONEncode (sourceNodeName);
37703
- generator .string += '"';
37704
- generator .string += ',';
37705
- generator .string += generator .TidyBreak ();
37706
-
37707
- generator .string += generator .Indent ();
37708
- generator .string += '"';
37709
- generator .string += "@fromField";
37710
- generator .string += '"';
37711
- generator .string += ':';
37712
- generator .string += generator .TidySpace ();
37713
- generator .string += '"';
37714
- generator .string += generator .JSONEncode (sourceField);
37715
- generator .string += '"';
37716
- generator .string += ',';
37717
- generator .string += generator .TidyBreak ();
37718
-
37719
- generator .string += generator .Indent ();
37720
- generator .string += '"';
37721
- generator .string += "@toNode";
37722
- generator .string += '"';
37723
- generator .string += ':';
37724
- generator .string += generator .TidySpace ();
37725
- generator .string += '"';
37726
- generator .string += generator .JSONEncode (destinationNodeName);
37727
- generator .string += '"';
37728
- generator .string += ',';
37729
- generator .string += generator .TidyBreak ();
37730
-
37731
- generator .string += generator .Indent ();
37732
- generator .string += '"';
37733
- generator .string += "@toField";
37734
- generator .string += '"';
37735
- generator .string += ':';
37736
- generator .string += generator .TidySpace ();
37737
- generator .string += '"';
37738
- generator .string += generator .JSONEncode (destinationField);
37739
- generator .string += '"';
37740
- generator .string += generator .TidyBreak ();
37741
-
37742
- generator .string += generator .DecIndent ();
37743
- generator .string += generator .Indent ();
37744
- generator .string += '}';
37745
- generator .string += generator .TidyBreak ();
37746
- generator .string += generator .DecIndent ();
37747
- generator .string += generator .Indent ();
37748
- generator .string += '}';
37749
- }
37750
- }
37751
- }
37752
37418
  }
37753
37419
  else
37754
37420
  {
37755
- throw new Error ("X3DImportedNode.toJSONStream: Inline node does not exist.");
37421
+ generator .string += generator .TidyBreak ();
37756
37422
  }
37423
+
37424
+ generator .string += generator .DecIndent ();
37425
+ generator .string += generator .Indent ();
37426
+ generator .string += '}';
37427
+ generator .string += generator .TidyBreak ();
37428
+ generator .string += generator .DecIndent ();
37429
+ generator .string += generator .Indent ();
37430
+ generator .string += '}';
37757
37431
  },
37758
37432
  dispose ()
37759
37433
  {
37760
- this .getInlineNode () ._loadState .removeInterest ("set_loadState__", this);
37434
+ for (const route of Array .from (this [X3DImportedNode_executionContext] .getRoutes ()))
37435
+ {
37436
+ if (route .getSourceNode () === this)
37437
+ {
37438
+ this [X3DImportedNode_executionContext] .deleteRoute (route);
37439
+ continue;
37440
+ }
37761
37441
 
37762
- this .deleteRealRoutes ();
37442
+ if (route .getDestinationNode () === this)
37443
+ {
37444
+ this [X3DImportedNode_executionContext] .deleteRoute (route);
37445
+ continue;
37446
+ }
37447
+ }
37763
37448
 
37764
37449
  Base_X3DObject .prototype .dispose .call (this);
37765
37450
  },
@@ -38040,7 +37725,7 @@ Object .assign (X3DUrlObject .prototype,
38040
37725
  reject ();
38041
37726
  break;
38042
37727
  }
38043
- })
37728
+ });
38044
37729
  };
38045
37730
 
38046
37731
  const loadState = this .checkLoadState ();
@@ -38897,7 +38582,7 @@ const X3DProtoDeclaration_default_ = X3DProtoDeclaration;
38897
38582
  x_ite_Namespace .add ("X3DProtoDeclaration", "x_ite/Prototype/X3DProtoDeclaration", X3DProtoDeclaration_default_);
38898
38583
  /* harmony default export */ const Prototype_X3DProtoDeclaration = (X3DProtoDeclaration_default_);
38899
38584
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
38900
- /* provided dependency */ var X3DParser_$ = __webpack_require__(831);
38585
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(484);
38901
38586
  /*******************************************************************************
38902
38587
  *
38903
38588
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -39139,7 +38824,7 @@ const Expressions_default_ = Expressions;
39139
38824
  x_ite_Namespace .add ("Expressions", "x_ite/Parser/Expressions", Expressions_default_);
39140
38825
  /* harmony default export */ const Parser_Expressions = (Expressions_default_);
39141
38826
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/VRMLParser.js
39142
- /* provided dependency */ var VRMLParser_$ = __webpack_require__(831);
38827
+ /* provided dependency */ var VRMLParser_$ = __webpack_require__(484);
39143
38828
  /*******************************************************************************
39144
38829
  *
39145
38830
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -41822,7 +41507,7 @@ const VRMLParser_default_ = VRMLParser;
41822
41507
  x_ite_Namespace .add ("VRMLParser", "x_ite/Parser/VRMLParser", VRMLParser_default_);
41823
41508
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
41824
41509
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
41825
- /* provided dependency */ var XMLParser_$ = __webpack_require__(831);
41510
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(484);
41826
41511
  /*******************************************************************************
41827
41512
  *
41828
41513
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43913,7 +43598,7 @@ const URLs_default_ = URLs;
43913
43598
  x_ite_Namespace .add ("URLs", "x_ite/Browser/Networking/URLs", URLs_default_);
43914
43599
  /* harmony default export */ const Networking_URLs = (URLs_default_);
43915
43600
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
43916
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(831);
43601
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(484);
43917
43602
  /*******************************************************************************
43918
43603
  *
43919
43604
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47214,7 +46899,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
47214
46899
  x_ite_Namespace .add ("GLTF2Parser", "x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
47215
46900
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
47216
46901
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
47217
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(831);
46902
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(484);
47218
46903
  /*******************************************************************************
47219
46904
  *
47220
46905
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47366,7 +47051,7 @@ const GLB2Parser_default_ = GLB2Parser;
47366
47051
  x_ite_Namespace .add ("GLB2Parser", "x_ite/Parser/GLB2Parser", GLB2Parser_default_);
47367
47052
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
47368
47053
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
47369
- /* provided dependency */ var OBJParser_$ = __webpack_require__(831);
47054
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(484);
47370
47055
  /*******************************************************************************
47371
47056
  *
47372
47057
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50721,8 +50406,8 @@ const MatrixStack_default_ = MatrixStack;
50721
50406
  x_ite_Namespace .add ("MatrixStack", "standard/Math/Utility/MatrixStack", MatrixStack_default_);
50722
50407
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
50723
50408
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
50724
- /* provided dependency */ var SVGParser_$ = __webpack_require__(831);
50725
- /* provided dependency */ var libtess = __webpack_require__(864);
50409
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(484);
50410
+ /* provided dependency */ var libtess = __webpack_require__(53);
50726
50411
  /*******************************************************************************
50727
50412
  *
50728
50413
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53490,7 +53175,7 @@ const SVGParser_default_ = SVGParser;
53490
53175
  x_ite_Namespace .add ("SVGParser", "x_ite/Parser/SVGParser", SVGParser_default_);
53491
53176
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
53492
53177
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
53493
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(831);
53178
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(484);
53494
53179
  /*******************************************************************************
53495
53180
  *
53496
53181
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -53827,7 +53512,7 @@ const Plane3_default_ = Plane3;
53827
53512
  x_ite_Namespace .add ("Plane3", "standard/Math/Geometry/Plane3", Plane3_default_);
53828
53513
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
53829
53514
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
53830
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(864);
53515
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(53);
53831
53516
  /*******************************************************************************
53832
53517
  *
53833
53518
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -61334,7 +61019,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
61334
61019
  x_ite_Namespace .add ("X3DTexture2DNode", "x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
61335
61020
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
61336
61021
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
61337
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(831);
61022
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(484);
61338
61023
  /*******************************************************************************
61339
61024
  *
61340
61025
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -65921,7 +65606,7 @@ const X3DWorld_default_ = X3DWorld;
65921
65606
  x_ite_Namespace .add ("X3DWorld", "x_ite/Execution/X3DWorld", X3DWorld_default_);
65922
65607
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
65923
65608
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
65924
- /* provided dependency */ var FileLoader_$ = __webpack_require__(831);
65609
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(484);
65925
65610
  /*******************************************************************************
65926
65611
  *
65927
65612
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -66827,105 +66512,112 @@ x_ite_Namespace .add ("ExternProtoDeclarationArray", "x_ite/Prototype/ExternProt
66827
66512
 
66828
66513
 
66829
66514
 
66830
- function ProtoDeclarationArray (values = [ ])
66831
- {
66832
- return Base_X3DInfoArray .call (this, Array .from (values, value => [value .name, value]), Prototype_X3DProtoDeclaration);
66833
- }
66834
-
66835
- Object .setPrototypeOf (ProtoDeclarationArray .prototype, Base_X3DInfoArray .prototype);
66836
-
66837
- for (const key of Object .keys (ProtoDeclarationArray .prototype))
66838
- Object .defineProperty (ProtoDeclarationArray .prototype, key, { enumerable: false });
66839
-
66840
- Object .defineProperties (ProtoDeclarationArray,
66841
- {
66842
- typeName:
66843
- {
66844
- value: "ProtoDeclarationArray",
66845
- enumerable: true,
66846
- },
66847
- });
66848
-
66849
- const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
66850
- ;
66851
-
66852
- x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
66853
- /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
66854
- ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
66855
- /*******************************************************************************
66856
- *
66857
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66858
- *
66859
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
66860
- *
66861
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
66862
- *
66863
- * The copyright notice above does not evidence any actual of intended
66864
- * publication of such source code, and is an unpublished work by create3000.
66865
- * This material contains CONFIDENTIAL INFORMATION that is the property of
66866
- * create3000.
66867
- *
66868
- * No permission is granted to copy, distribute, or create derivative works from
66869
- * the contents of this software, in whole or in part, without the prior written
66870
- * permission of create3000.
66871
- *
66872
- * NON-MILITARY USE ONLY
66873
- *
66874
- * All create3000 software are effectively free software with a non-military use
66875
- * restriction. It is free. Well commented source is provided. You may reuse the
66876
- * source in any way you please with the exception anything that uses it must be
66877
- * marked to indicate is contains 'non-military use only' components.
66878
- *
66879
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66880
- *
66881
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
66882
- *
66883
- * This file is part of the X_ITE Project.
66884
- *
66885
- * X_ITE is free software: you can redistribute it and/or modify it under the
66886
- * terms of the GNU General Public License version 3 only, as published by the
66887
- * Free Software Foundation.
66888
- *
66889
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
66890
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
66891
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
66892
- * details (a copy is included in the LICENSE file that accompanied this code).
66893
- *
66894
- * You should have received a copy of the GNU General Public License version 3
66895
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
66896
- * copy of the GPLv3 License.
66897
- *
66898
- * For Silvio, Joy and Adi.
66899
- *
66900
- ******************************************************************************/
66901
-
66902
-
66515
+ function ProtoDeclarationArray (values = [ ])
66516
+ {
66517
+ return Base_X3DInfoArray .call (this, Array .from (values, value => [value .name, value]), Prototype_X3DProtoDeclaration);
66518
+ }
66519
+
66520
+ Object .setPrototypeOf (ProtoDeclarationArray .prototype, Base_X3DInfoArray .prototype);
66521
+
66522
+ for (const key of Object .keys (ProtoDeclarationArray .prototype))
66523
+ Object .defineProperty (ProtoDeclarationArray .prototype, key, { enumerable: false });
66524
+
66525
+ Object .defineProperties (ProtoDeclarationArray,
66526
+ {
66527
+ typeName:
66528
+ {
66529
+ value: "ProtoDeclarationArray",
66530
+ enumerable: true,
66531
+ },
66532
+ });
66533
+
66534
+ const ProtoDeclarationArray_default_ = ProtoDeclarationArray;
66535
+ ;
66536
+
66537
+ x_ite_Namespace .add ("ProtoDeclarationArray", "x_ite/Prototype/ProtoDeclarationArray", ProtoDeclarationArray_default_);
66538
+ /* harmony default export */ const Prototype_ProtoDeclarationArray = (ProtoDeclarationArray_default_);
66539
+ ;// CONCATENATED MODULE: ./src/x_ite/Routing/X3DRoute.js
66540
+ /* provided dependency */ var X3DRoute_$ = __webpack_require__(484);
66541
+ /*******************************************************************************
66542
+ *
66543
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66544
+ *
66545
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
66546
+ *
66547
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
66548
+ *
66549
+ * The copyright notice above does not evidence any actual of intended
66550
+ * publication of such source code, and is an unpublished work by create3000.
66551
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
66552
+ * create3000.
66553
+ *
66554
+ * No permission is granted to copy, distribute, or create derivative works from
66555
+ * the contents of this software, in whole or in part, without the prior written
66556
+ * permission of create3000.
66557
+ *
66558
+ * NON-MILITARY USE ONLY
66559
+ *
66560
+ * All create3000 software are effectively free software with a non-military use
66561
+ * restriction. It is free. Well commented source is provided. You may reuse the
66562
+ * source in any way you please with the exception anything that uses it must be
66563
+ * marked to indicate is contains 'non-military use only' components.
66564
+ *
66565
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
66566
+ *
66567
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
66568
+ *
66569
+ * This file is part of the X_ITE Project.
66570
+ *
66571
+ * X_ITE is free software: you can redistribute it and/or modify it under the
66572
+ * terms of the GNU General Public License version 3 only, as published by the
66573
+ * Free Software Foundation.
66574
+ *
66575
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
66576
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
66577
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
66578
+ * details (a copy is included in the LICENSE file that accompanied this code).
66579
+ *
66580
+ * You should have received a copy of the GNU General Public License version 3
66581
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
66582
+ * copy of the GPLv3 License.
66583
+ *
66584
+ * For Silvio, Joy and Adi.
66585
+ *
66586
+ ******************************************************************************/
66587
+
66588
+
66589
+
66590
+
66903
66591
 
66904
66592
 
66905
66593
 
66906
66594
  const
66907
- X3DRoute_executionContext = Symbol (),
66908
- _sourceNode = Symbol (),
66909
- _sourceField = Symbol (),
66910
- _destinationNode = Symbol (),
66911
- _destinationField = Symbol ();
66595
+ X3DRoute_executionContext = Symbol (),
66596
+ _sourceNode = Symbol (),
66597
+ _sourceFieldName = Symbol (),
66598
+ _sourceField = Symbol (),
66599
+ _destinationNode = Symbol (),
66600
+ _destinationFieldName = Symbol (),
66601
+ _destinationField = Symbol (),
66602
+ _disposed = Symbol ();
66912
66603
 
66913
- function X3DRoute (executionContext, sourceNode, sourceField, destinationNode, destinationField)
66604
+ function X3DRoute (executionContext, sourceNode, sourceFieldName, destinationNode, destinationFieldName)
66914
66605
  {
66915
66606
  Base_X3DObject .call (this, executionContext);
66916
66607
 
66917
- this [X3DRoute_executionContext] = executionContext;
66918
- this [_sourceNode] = sourceNode;
66919
- this [_sourceField] = sourceField;
66920
- this [_destinationNode] = destinationNode;
66921
- this [_destinationField] = destinationField;
66608
+ this [X3DRoute_executionContext] = executionContext;
66609
+ this [_sourceNode] = sourceNode;
66610
+ this [_sourceFieldName] = sourceFieldName;
66611
+ this [_destinationNode] = destinationNode;
66612
+ this [_destinationFieldName] = destinationFieldName;
66922
66613
 
66923
- // Must connect in every context, to make X3DBaseNode.hasRoutes work.
66614
+ if (sourceNode instanceof Execution_X3DImportedNode)
66615
+ sourceNode .getInlineNode () .getLoadState () .addInterest ("reconnect", this);
66924
66616
 
66925
- sourceField .addFieldInterest (destinationField);
66617
+ if (destinationNode instanceof Execution_X3DImportedNode)
66618
+ destinationNode .getInlineNode () .getLoadState () .addInterest ("reconnect", this);
66926
66619
 
66927
- sourceField .addOutputRoute (this);
66928
- destinationField .addInputRoute (this);
66620
+ this .reconnect ();
66929
66621
  }
66930
66622
 
66931
66623
  Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .prototype),
@@ -66936,7 +66628,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66936
66628
  },
66937
66629
  getRouteId ()
66938
66630
  {
66939
- return X3DRoute .getRouteId (this [_sourceField], this [_destinationField]);
66631
+ return X3DRoute .getRouteId (this [_sourceNode], this [_sourceFieldName], this [_destinationNode], this [_destinationFieldName]);
66940
66632
  },
66941
66633
  getSourceNode ()
66942
66634
  {
@@ -66946,7 +66638,18 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66946
66638
  getSourceField ()
66947
66639
  {
66948
66640
  /// SAI
66949
- return this [_sourceField];
66641
+
66642
+ if (this [_sourceField])
66643
+ {
66644
+ return this [_sourceField] .getAccessType () === Base_X3DConstants .inputOutput
66645
+ ? this [_sourceField] .getName () + "_changed"
66646
+ : this [_sourceField] .getName ();
66647
+ }
66648
+ else
66649
+ {
66650
+ return this [_sourceFieldName];
66651
+ }
66652
+
66950
66653
  },
66951
66654
  getDestinationNode ()
66952
66655
  {
@@ -66956,47 +66659,138 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
66956
66659
  getDestinationField ()
66957
66660
  {
66958
66661
  /// SAI
66959
- return this [_destinationField];
66662
+
66663
+ if (this [_destinationField])
66664
+ {
66665
+ return this [_destinationField] .getAccessType () === Base_X3DConstants .inputOutput
66666
+ ? "set_" + this [_destinationField] .getName ()
66667
+ : this [_destinationField] .getName ();
66668
+ }
66669
+ else
66670
+ {
66671
+ return this [_destinationFieldName];
66672
+ }
66673
+ },
66674
+ reconnect ()
66675
+ {
66676
+ try
66677
+ {
66678
+ this .disconnect ();
66679
+ this .connect ();
66680
+ }
66681
+ catch (error)
66682
+ {
66683
+ if ((this [_sourceNode] instanceof Core_X3DNode ||
66684
+ this [_sourceNode] .getInlineNode () .checkLoadState () === Base_X3DConstants .COMPLETE_STATE) &&
66685
+ (this [_destinationNode] instanceof Core_X3DNode ||
66686
+ this [_destinationNode] .getInlineNode () .checkLoadState () === Base_X3DConstants .COMPLETE_STATE))
66687
+ {
66688
+ console .warn (error .message);
66689
+ }
66690
+ }
66691
+ },
66692
+ connect ()
66693
+ {
66694
+ if (this [_disposed])
66695
+ return;
66696
+
66697
+ try
66698
+ {
66699
+ const sourceNode = this [_sourceNode] instanceof Core_X3DNode
66700
+ ? this [_sourceNode]
66701
+ : this [_sourceNode] .getExportedNode ();
66702
+
66703
+ this [_sourceField] = sourceNode .getField (this [_sourceFieldName]);
66704
+
66705
+ this [_sourceField] .addOutputRoute (this);
66706
+ }
66707
+ catch (error)
66708
+ {
66709
+ var firstError = error;
66710
+ }
66711
+
66712
+ try
66713
+ {
66714
+ const destinationNode = this [_destinationNode] instanceof Core_X3DNode
66715
+ ? this [_destinationNode]
66716
+ : this [_destinationNode] .getExportedNode ();
66717
+
66718
+ this [_destinationField] = destinationNode .getField (this [_destinationFieldName]);
66719
+
66720
+ this [_destinationField] .addInputRoute (this);
66721
+ }
66722
+ catch (error)
66723
+ {
66724
+ var secondError = error;
66725
+ }
66726
+
66727
+ if (this [_sourceField] && this [_destinationField])
66728
+ {
66729
+ if (this [_sourceField] .getFieldInterests () .has (this [_destinationField]))
66730
+ return;
66731
+
66732
+ this [_sourceField] .addFieldInterest (this [_destinationField]);
66733
+ }
66734
+ else
66735
+ {
66736
+ throw firstError ?? secondError;
66737
+ }
66960
66738
  },
66961
66739
  disconnect ()
66962
66740
  {
66963
- this [_sourceField] .removeFieldInterest (this [_destinationField]);
66741
+ this [_sourceField] ?.removeOutputRoute (this);
66742
+ this [_destinationField] ?.removeInputRoute (this);
66964
66743
 
66965
- this [_sourceField] .removeOutputRoute (this);
66966
- this [_destinationField] .removeInputRoute (this);
66744
+ if (this [_sourceField] && this [_destinationField])
66745
+ this [_sourceField] .removeFieldInterest (this [_destinationField]);
66746
+
66747
+ this [_sourceField] = null;
66748
+ this [_destinationField] = null;
66967
66749
  },
66968
66750
  toVRMLStream (generator)
66969
66751
  {
66970
- const
66971
- sourceNodeName = generator .LocalName (this .getSourceNode ()),
66972
- destinationNodeName = generator .LocalName (this .getDestinationNode ());
66752
+ if (!generator .ExistsRouteNode (this [_sourceNode]))
66753
+ throw new Error (`Source node does not exist in scene graph.`);
66754
+
66755
+ if (!generator .ExistsRouteNode (this [_destinationNode]))
66756
+ throw new Error (`Destination node does not exist in scene graph.`);
66757
+
66758
+ const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66759
+ ? generator .Name (this [_sourceNode])
66760
+ : this [_sourceNode] .getImportedName ();
66761
+
66762
+ const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66763
+ ? generator .Name (this [_destinationNode])
66764
+ : this [_destinationNode] .getImportedName ();
66973
66765
 
66974
66766
  generator .string += generator .Indent ();
66975
66767
  generator .string += "ROUTE";
66976
66768
  generator .string += generator .Space ();
66977
66769
  generator .string += sourceNodeName;
66978
66770
  generator .string += ".";
66979
- generator .string += this [_sourceField] .getName ();
66980
-
66981
- if (this [_sourceField] .getAccessType () === Base_X3DConstants .inputOutput)
66982
- generator .string += "_changed";
66983
-
66771
+ generator .string += this .getSourceField ();
66984
66772
  generator .string += generator .Space ();
66985
66773
  generator .string += "TO";
66986
66774
  generator .string += generator .Space ();
66987
66775
  generator .string += destinationNodeName;
66988
66776
  generator .string += ".";
66989
-
66990
- if (this [_destinationField] .getAccessType () === Base_X3DConstants .inputOutput)
66991
- generator .string += "set_";
66992
-
66993
- generator .string += this [_destinationField] .getName ();
66777
+ generator .string += this .getDestinationField ();
66994
66778
  },
66995
66779
  toXMLStream (generator)
66996
66780
  {
66997
- const
66998
- sourceNodeName = generator .LocalName (this .getSourceNode ()),
66999
- destinationNodeName = generator .LocalName (this .getDestinationNode ());
66781
+ if (!generator .ExistsRouteNode (this [_sourceNode]))
66782
+ throw new Error (`Source node does not exist in scene graph.`);
66783
+
66784
+ if (!generator .ExistsRouteNode (this [_destinationNode]))
66785
+ throw new Error (`Destination node does not exist in scene graph.`);
66786
+
66787
+ const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66788
+ ? generator .Name (this [_sourceNode])
66789
+ : this [_sourceNode] .getImportedName ();
66790
+
66791
+ const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66792
+ ? generator .Name (this [_destinationNode])
66793
+ : this [_destinationNode] .getImportedName ();
67000
66794
 
67001
66795
  generator .string += generator .Indent ();
67002
66796
  generator .string += "<ROUTE";
@@ -67006,11 +66800,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67006
66800
  generator .string += "'";
67007
66801
  generator .string += generator .Space ();
67008
66802
  generator .string += "fromField='";
67009
- generator .string += generator .XMLEncode (this [_sourceField] .getName ());
67010
-
67011
- if (this [_sourceField] .getAccessType () === Base_X3DConstants .inputOutput)
67012
- generator .string += "_changed";
67013
-
66803
+ generator .string += generator .XMLEncode (this .getSourceField ());
67014
66804
  generator .string += "'";
67015
66805
  generator .string += generator .Space ();
67016
66806
  generator .string += "toNode='";
@@ -67018,19 +66808,25 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67018
66808
  generator .string += "'";
67019
66809
  generator .string += generator .Space ();
67020
66810
  generator .string += "toField='";
67021
-
67022
- if (this [_destinationField] .getAccessType () === Base_X3DConstants .inputOutput)
67023
- generator .string += "set_";
67024
-
67025
- generator .string += generator .XMLEncode (this [_destinationField] .getName ());
66811
+ generator .string += generator .XMLEncode (this .getDestinationField ());
67026
66812
  generator .string += "'";
67027
66813
  generator .string += generator .closingTags ? "></ROUTE>" : "/>";
67028
66814
  },
67029
66815
  toJSONStream (generator)
67030
66816
  {
67031
- const
67032
- sourceNodeName = generator .LocalName (this .getSourceNode ()),
67033
- destinationNodeName = generator .LocalName (this .getDestinationNode ());
66817
+ if (!generator .ExistsRouteNode (this [_sourceNode]))
66818
+ throw new Error (`Source node does not exist in scene graph.`);
66819
+
66820
+ if (!generator .ExistsRouteNode (this [_destinationNode]))
66821
+ throw new Error (`Destination node does not exist in scene graph.`);
66822
+
66823
+ const sourceNodeName = this [_sourceNode] instanceof Core_X3DNode
66824
+ ? generator .Name (this [_sourceNode])
66825
+ : this [_sourceNode] .getImportedName ();
66826
+
66827
+ const destinationNodeName = this [_destinationNode] instanceof Core_X3DNode
66828
+ ? generator .Name (this [_destinationNode])
66829
+ : this [_destinationNode] .getImportedName ();
67034
66830
 
67035
66831
  generator .string += generator .Indent ();
67036
66832
  generator .string += '{';
@@ -67065,7 +66861,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67065
66861
  generator .string += ':';
67066
66862
  generator .string += generator .TidySpace ();
67067
66863
  generator .string += '"';
67068
- generator .string += generator .JSONEncode (this [_sourceField] .getName ());
66864
+ generator .string += generator .JSONEncode (this .getSourceField ());
67069
66865
  generator .string += '"';
67070
66866
  generator .string += ',';
67071
66867
  generator .string += generator .TidyBreak ();
@@ -67089,7 +66885,7 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67089
66885
  generator .string += ':';
67090
66886
  generator .string += generator .TidySpace ();
67091
66887
  generator .string += '"';
67092
- generator .string += generator .JSONEncode (this [_destinationField] .getName ());
66888
+ generator .string += generator .JSONEncode (this .getDestinationField ());
67093
66889
  generator .string += '"';
67094
66890
  generator .string += generator .TidyBreak ();
67095
66891
 
@@ -67103,8 +66899,19 @@ Object .assign (Object .setPrototypeOf (X3DRoute .prototype, Base_X3DObject .pro
67103
66899
  },
67104
66900
  dispose ()
67105
66901
  {
66902
+ if (this [_disposed])
66903
+ return;
66904
+
66905
+ this [_disposed] = true;
66906
+
67106
66907
  this .disconnect ();
67107
66908
 
66909
+ if (this [_sourceNode] instanceof Execution_X3DImportedNode)
66910
+ this [_sourceNode] .getInlineNode () .getLoadState () .removeInterest ("reconnect", this);
66911
+
66912
+ if (this [_destinationNode] instanceof Execution_X3DImportedNode)
66913
+ this [_destinationNode] .getInlineNode () .getLoadState () .removeInterest ("reconnect", this);
66914
+
67108
66915
  this [X3DRoute_executionContext] .deleteRoute (this);
67109
66916
 
67110
66917
  Base_X3DObject .prototype .dispose .call (this);
@@ -67120,32 +66927,32 @@ Object .defineProperties (X3DRoute .prototype,
67120
66927
  {
67121
66928
  get ()
67122
66929
  {
67123
- return Fields_SFNodeCache .get (this [_sourceNode]);
66930
+ if (this [_sourceNode] instanceof Core_X3DNode)
66931
+ return Fields_SFNodeCache .get (this [_sourceNode]);
66932
+ else
66933
+ return this [_sourceNode];
67124
66934
  },
67125
66935
  enumerable: true,
67126
66936
  },
67127
66937
  sourceField:
67128
66938
  {
67129
- get ()
67130
- {
67131
- return this [_sourceField] .getName ();
67132
- },
66939
+ get: X3DRoute .prototype .getSourceField,
67133
66940
  enumerable: true,
67134
66941
  },
67135
66942
  destinationNode:
67136
66943
  {
67137
66944
  get ()
67138
66945
  {
67139
- return Fields_SFNodeCache .get (this [_destinationNode]);
66946
+ if (this [_destinationNode] instanceof Core_X3DNode)
66947
+ return Fields_SFNodeCache .get (this [_destinationNode]);
66948
+ else
66949
+ return this [_destinationNode];
67140
66950
  },
67141
66951
  enumerable: true,
67142
66952
  },
67143
66953
  destinationField:
67144
66954
  {
67145
- get ()
67146
- {
67147
- return this [_destinationField] .getName ();
67148
- },
66955
+ get: X3DRoute .prototype .getDestinationField,
67149
66956
  enumerable: true,
67150
66957
  },
67151
66958
  });
@@ -67161,9 +66968,33 @@ Object .defineProperties (X3DRoute,
67161
66968
 
67162
66969
  Object .assign (X3DRoute,
67163
66970
  {
67164
- getRouteId (sourceField, destinationField)
66971
+ getRouteId (sourceNode, sourceFieldName, destinationNode, destinationFieldName)
67165
66972
  {
67166
- return `${sourceField .getId ()}.${destinationField .getId ()}`;
66973
+ const sourceField = sourceNode instanceof Core_X3DNode
66974
+ ? sourceNode .getField (sourceFieldName)
66975
+ : X3DRoute_$.try (() => sourceNode .getExportedNode () .getField (sourceFieldName));
66976
+
66977
+ const destinationField = destinationNode instanceof Core_X3DNode
66978
+ ? destinationNode .getField (destinationFieldName)
66979
+ : X3DRoute_$.try (() => destinationNode .getExportedNode () .getField (destinationFieldName));
66980
+
66981
+ if (sourceField)
66982
+ {
66983
+ sourceFieldName = sourceField .getName ();
66984
+
66985
+ if (sourceField .getAccessType () === Base_X3DConstants .inputOutput)
66986
+ sourceFieldName += "_changed";
66987
+ }
66988
+
66989
+ if (destinationField)
66990
+ {
66991
+ destinationFieldName = destinationField .getName ();
66992
+
66993
+ if (destinationField .getAccessType () === Base_X3DConstants .inputOutput)
66994
+ destinationFieldName = "set_" + destinationFieldName;
66995
+ }
66996
+
66997
+ return `${sourceNode .getId ()}.${sourceFieldName}.${destinationNode .getId ()}.${destinationFieldName}`;
67167
66998
  },
67168
66999
  });
67169
67000
 
@@ -67311,6 +67142,7 @@ x_ite_Namespace .add ("RouteArray", "x_ite/Routing/RouteArray", RouteArray_defau
67311
67142
 
67312
67143
 
67313
67144
 
67145
+
67314
67146
  const
67315
67147
  _namedNodes = Symbol (),
67316
67148
  _importedNodes = Symbol (),
@@ -67657,28 +67489,27 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67657
67489
  throw new Error (`Unknown named or imported node '${name}'.`);
67658
67490
  }
67659
67491
  },
67660
- getLocalName (node)
67492
+ getLocalizedNode (node)
67661
67493
  {
67662
- node = Base_X3DCast (Base_X3DConstants .X3DNode, node, false);
67494
+ const importedNode = node instanceof Execution_X3DImportedNode ? node : null;
67663
67495
 
67664
- if (!node)
67665
- throw new Error ("Couldn't get local name: node must be of type X3DNode.");
67496
+ node = Base_X3DCast (Base_X3DConstants .X3DNode, node, false) ?? importedNode;
67666
67497
 
67667
- if (node .getExecutionContext () === this)
67668
- return node .getName ();
67498
+ if (!node)
67499
+ throw new Error ("Couldn't get localized node: node must be of type X3DNode.");
67669
67500
 
67670
67501
  for (const importedNode of this [_importedNodes])
67671
67502
  {
67672
67503
  try
67673
67504
  {
67674
67505
  if (importedNode .getExportedNode () === node)
67675
- return importedNode .getImportedName ();
67506
+ return importedNode;
67676
67507
  }
67677
67508
  catch
67678
67509
  { }
67679
67510
  }
67680
67511
 
67681
- throw new Error ("Couldn't get local name: node is shared.");
67512
+ return node;
67682
67513
  },
67683
67514
  setRootNodes () { },
67684
67515
  getRootNodes ()
@@ -67833,98 +67664,48 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67833
67664
  },
67834
67665
  addRoute (sourceNode, sourceField, destinationNode, destinationField)
67835
67666
  {
67836
- let
67837
- importedSourceNode = sourceNode instanceof Execution_X3DImportedNode ? sourceNode : null,
67838
- importedDestinationNode = destinationNode instanceof Execution_X3DImportedNode ? destinationNode : null;
67839
-
67840
- sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false);
67841
- sourceField = String (sourceField);
67842
- destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false);
67843
- destinationField = String (destinationField);
67844
-
67845
- if (!(sourceNode || importedSourceNode))
67846
- throw new Error ("Bad ROUTE specification: source node must be of type X3DNode.");
67847
-
67848
- if (!(destinationNode || importedDestinationNode))
67849
- throw new Error ("Bad ROUTE specification: destination node must be of type X3DNode.");
67850
-
67851
- // Imported nodes handling.
67852
-
67853
67667
  try
67854
67668
  {
67855
- // If sourceNode is shared node try to find the corresponding X3DImportedNode.
67856
- if (sourceNode && sourceNode .getExecutionContext () !== this)
67857
- importedSourceNode = this .getLocalNode (this .getLocalName (sourceNode));
67858
- }
67859
- catch
67860
- {
67861
- // Source node is shared but not imported.
67862
- }
67669
+ // Normalize arguments.
67863
67670
 
67864
- try
67865
- {
67866
- // If destinationNode is shared node try to find the corresponding X3DImportedNode.
67867
- if (destinationNode && destinationNode .getExecutionContext () !== this)
67868
- importedDestinationNode = this .getLocalNode (this .getLocalName (destinationNode));
67869
- }
67870
- catch
67871
- {
67872
- // Destination node is shared but not imported.
67873
- }
67671
+ const
67672
+ importedSourceNode = sourceNode instanceof Execution_X3DImportedNode ? sourceNode : null,
67673
+ importedDestinationNode = destinationNode instanceof Execution_X3DImportedNode ? destinationNode : null;
67874
67674
 
67875
- if (importedSourceNode instanceof Execution_X3DImportedNode && importedDestinationNode instanceof Execution_X3DImportedNode)
67876
- {
67877
- importedSourceNode .addRoute (importedSourceNode, sourceField, importedDestinationNode, destinationField);
67878
- importedDestinationNode .addRoute (importedSourceNode, sourceField, importedDestinationNode, destinationField);
67879
- }
67880
- else if (importedSourceNode instanceof Execution_X3DImportedNode)
67881
- {
67882
- importedSourceNode .addRoute (importedSourceNode, sourceField, destinationNode, destinationField);
67883
- }
67884
- else if (importedDestinationNode instanceof Execution_X3DImportedNode)
67885
- {
67886
- importedDestinationNode .addRoute (sourceNode, sourceField, importedDestinationNode, destinationField);
67887
- }
67888
- else
67889
- {
67890
- // Create route and return.
67891
- return this .addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField);
67892
- }
67893
- },
67894
- addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField)
67895
- {
67896
- try
67897
- {
67898
- // Source and dest node must be here X3DNode, no check here.
67899
- // Private function.
67900
- // Create route and return.
67675
+ sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false) ?? importedSourceNode;
67676
+ sourceField = String (sourceField);
67677
+ destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false) ?? importedDestinationNode;
67678
+ destinationField = String (destinationField);
67901
67679
 
67902
- sourceField = sourceNode .getField (sourceField),
67903
- destinationField = destinationNode .getField (destinationField);
67680
+ if (!sourceNode)
67681
+ throw new Error ("source node must be of type X3DNode or X3DImportedNode.");
67904
67682
 
67905
- if (!sourceField .isOutput ())
67906
- throw new Error (`Field named '${sourceField .getName ()}' in node named '${sourceNode .getName ()}' of type ${sourceNode .getTypeName ()} is not an output field.`);
67683
+ if (!destinationNode)
67684
+ throw new Error ("destination node must be of type X3DNode or X3DImportedNode.");
67907
67685
 
67908
- if (!destinationField .isInput ())
67909
- throw new Error (`Field named '${destinationField .getName ()}' in node named '${destinationNode .getName ()}' of type ${destinationNode .getTypeName ()} is not an input field.`);
67686
+ // Resolve imported source and destination node.
67910
67687
 
67911
- if (sourceField .getType () !== destinationField .getType ())
67912
- throw new Error (`ROUTE types ${sourceField .getTypeName ()} and ${destinationField .getTypeName ()} do not match.`);
67688
+ sourceNode = this .getLocalizedNode (sourceNode);
67689
+ destinationNode = this .getLocalizedNode (destinationNode);
67913
67690
 
67914
- const id = Routing_X3DRoute .getRouteId (sourceField, destinationField);
67691
+ // Add route.
67915
67692
 
67916
- let route = this [X3DExecutionContext_routes] .get (id);
67693
+ const
67694
+ id = Routing_X3DRoute .getRouteId (sourceNode, sourceField, destinationNode, destinationField),
67695
+ route = this [X3DExecutionContext_routes] .get (id);
67917
67696
 
67918
67697
  if (route)
67698
+ {
67919
67699
  return route;
67700
+ }
67701
+ else
67702
+ {
67703
+ const route = new Routing_X3DRoute (this, sourceNode, sourceField, destinationNode, destinationField);
67920
67704
 
67921
- route = new Routing_X3DRoute (this, sourceNode, sourceField, destinationNode, destinationField);
67922
-
67923
- this [X3DExecutionContext_routes] .add (id, route);
67924
-
67925
- this ._routes_changed = this .getBrowser () .getCurrentTime ();
67705
+ this [X3DExecutionContext_routes] .add (id, route);
67926
67706
 
67927
- return route;
67707
+ return route;
67708
+ }
67928
67709
  }
67929
67710
  catch (error)
67930
67711
  {
@@ -67933,76 +67714,31 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
67933
67714
  },
67934
67715
  deleteRoute (route)
67935
67716
  {
67936
- // sourceNode, sourceField, destinationNode, destinationField
67717
+ // Case: sourceNode, sourceField, destinationNode, destinationField.
67937
67718
  if (arguments .length === 4)
67938
67719
  route = this .getRoute (... arguments);
67939
67720
 
67940
67721
  if (!(route instanceof Routing_X3DRoute))
67941
67722
  return;
67942
67723
 
67943
- if (route .getExecutionContext () !== this)
67724
+ if (this [X3DExecutionContext_routes] .get (route .getRouteId ()) !== route)
67944
67725
  return;
67945
67726
 
67946
- this .deleteSimpleRoute (route);
67947
- this .deleteImportedRoute (route .sourceNode, route .destinationNode, route);
67948
- },
67949
- deleteSimpleRoute (route)
67950
- {
67951
67727
  this [X3DExecutionContext_routes] .remove (route .getRouteId ());
67952
67728
 
67953
- route .disconnect ();
67954
-
67955
- this ._routes_changed = this .getBrowser () .getCurrentTime ();
67729
+ route .dispose ();
67956
67730
  },
67957
- deleteImportedRoute (sourceNode, destinationNode, route)
67731
+ getRoute (sourceNode, sourceField, destinationNode, destinationField)
67958
67732
  {
67959
- // Imported nodes handling.
67960
-
67961
- let
67962
- importedSourceNode = null,
67963
- importedDestinationNode = null;
67964
-
67965
- try
67966
- {
67967
- // If sourceNode is shared node try to find the corresponding X3DImportedNode.
67968
- if (sourceNode .getValue () .getExecutionContext () !== this)
67969
- importedSourceNode = this .getLocalNode (this .getLocalName (sourceNode));
67970
- }
67971
- catch
67972
- {
67973
- // Source node is shared but not imported.
67974
- }
67733
+ // Normalize arguments.
67975
67734
 
67976
- try
67977
- {
67978
- // If destinationNode is shared node try to find the corresponding X3DImportedNode.
67979
- if (destinationNode .getValue () .getExecutionContext () !== this)
67980
- importedDestinationNode = this .getLocalNode (this .getLocalName (destinationNode));
67981
- }
67982
- catch
67983
- {
67984
- // Destination node is shared but not imported.
67985
- }
67735
+ const
67736
+ importedSourceNode = sourceNode instanceof Execution_X3DImportedNode ? sourceNode : null,
67737
+ importedDestinationNode = destinationNode instanceof Execution_X3DImportedNode ? destinationNode : null;
67986
67738
 
67987
- if (importedSourceNode instanceof Execution_X3DImportedNode && importedDestinationNode instanceof Execution_X3DImportedNode)
67988
- {
67989
- importedSourceNode .deleteRoute (route);
67990
- importedDestinationNode .deleteRoute (route);
67991
- }
67992
- else if (importedSourceNode instanceof Execution_X3DImportedNode)
67993
- {
67994
- importedSourceNode .deleteRoute (route);
67995
- }
67996
- else if (importedDestinationNode instanceof Execution_X3DImportedNode)
67997
- {
67998
- importedDestinationNode .deleteRoute (route);
67999
- }
68000
- },
68001
- getRoute (sourceNode, sourceField, destinationNode, destinationField)
68002
- {
68003
- sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false);
67739
+ sourceNode = Base_X3DCast (Base_X3DConstants .X3DNode, sourceNode, false) ?? importedSourceNode;
68004
67740
  sourceField = String (sourceField)
68005
- destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false);
67741
+ destinationNode = Base_X3DCast (Base_X3DConstants .X3DNode, destinationNode, false) ?? importedDestinationNode;
68006
67742
  destinationField = String (destinationField)
68007
67743
 
68008
67744
  if (!sourceNode)
@@ -68011,10 +67747,14 @@ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, Base_X3D
68011
67747
  if (!destinationNode)
68012
67748
  throw new Error ("Bad ROUTE specification: destinationNode must be of type X3DNode.");
68013
67749
 
68014
- sourceField = sourceNode .getField (sourceField);
68015
- destinationField = destinationNode .getField (destinationField);
67750
+ // Resolve imported source and destination node.
68016
67751
 
68017
- return this [X3DExecutionContext_routes] .get (Routing_X3DRoute .getRouteId (sourceField, destinationField));
67752
+ sourceNode = this .getLocalizedNode (sourceNode);
67753
+ destinationNode = this .getLocalizedNode (destinationNode);
67754
+
67755
+ // Return route.
67756
+
67757
+ return this [X3DExecutionContext_routes] .get (Routing_X3DRoute .getRouteId (sourceNode, sourceField, destinationNode, destinationField));
68018
67758
  },
68019
67759
  getRoutes ()
68020
67760
  {
@@ -68449,11 +68189,11 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68449
68189
 
68450
68190
  // Copy proto.
68451
68191
 
68452
- this .importExternProtos (proto .getBody () .externprotos);
68453
- this .importProtos (proto .getBody () .protos);
68454
- this .copyRootNodes (proto .getBody () .rootNodes);
68455
- this .copyImportedNodes (proto .getBody (), proto .getBody () .getImportedNodes ());
68456
- this .copyRoutes (proto .getBody (), proto .getBody () .routes);
68192
+ this .importExternProtos (proto .getBody () .externprotos);
68193
+ this .importProtos (proto .getBody () .protos);
68194
+ this .copyRootNodes (proto .getBody () .rootNodes);
68195
+ this .importImportedNodes (proto .getBody () .importedNodes);
68196
+ this .copyRoutes (proto .getBody () .routes);
68457
68197
 
68458
68198
  this [X3DPrototypeInstance_body] .setup ();
68459
68199
 
@@ -68504,6 +68244,9 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68504
68244
  oldField .setAccessType (newField .getAccessType ());
68505
68245
  oldField .setName (newField .getName ());
68506
68246
 
68247
+ // Replace field, ie. reuse old field.
68248
+ this .getPredefinedFields () .update (newField .getName (), newField .getName (), oldField);
68249
+
68507
68250
  const references = new Set (oldField .getReferences ());
68508
68251
 
68509
68252
  // Remove references and routes.
@@ -68517,16 +68260,33 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68517
68260
  oldField .addReference (field);
68518
68261
  }
68519
68262
 
68520
- // Reconnect routes.
68521
- for (const route of oldField .getInputRoutes ())
68522
- route .getSourceField () .addFieldInterest (route .getDestinationField ());
68263
+ // Reconnect input routes.
68264
+ for (const route of new Set (oldField .getInputRoutes ()))
68265
+ {
68266
+ try
68267
+ {
68268
+ const { sourceNode, sourceField } = route;
68523
68269
 
68524
- // Reconnect routes.
68525
- for (const route of oldField .getOutputRoutes ())
68526
- route .getSourceField () .addFieldInterest (route .getDestinationField ());
68270
+ route .getExecutionContext () .deleteRoute (route);
68271
+ route .getExecutionContext () .addRoute (sourceNode, sourceField, this, oldField .getName ());
68272
+ }
68273
+ catch
68274
+ { }
68275
+ }
68527
68276
 
68528
- // Replace field, ie. reuse old field.
68529
- this .getPredefinedFields () .update (newField .getName (), newField .getName (), oldField);
68277
+ // Reconnect output routes.
68278
+ for (const route of new Set (oldField .getOutputRoutes ()))
68279
+ {
68280
+ try
68281
+ {
68282
+ const { destinationNode, destinationField } = route;
68283
+
68284
+ route .getExecutionContext () .deleteRoute (route);
68285
+ route .getExecutionContext () .addRoute (this, oldField .getName (), destinationNode, destinationField );
68286
+ }
68287
+ catch
68288
+ { }
68289
+ }
68530
68290
 
68531
68291
  // Remove from old fields and dispose new field.
68532
68292
  oldFields .delete (oldFieldName);
@@ -68611,34 +68371,35 @@ Object .assign (Object .setPrototypeOf (X3DPrototypeInstance .prototype, Core_X3
68611
68371
  for (const node of rootNodes1)
68612
68372
  rootNodes2 .push (node .copy (this));
68613
68373
  },
68614
- copyImportedNodes (executionContext, importedNodes)
68374
+ importImportedNodes (importedNodes)
68615
68375
  {
68616
68376
  for (const importedNode of importedNodes)
68617
68377
  {
68618
68378
  try
68619
68379
  {
68620
- const
68621
- inlineNode = this [X3DPrototypeInstance_body] .getNamedNode (importedNode .getInlineNode () .getName ()),
68622
- importedName = importedNode .getImportedName (),
68623
- exportedName = importedNode .getExportedName ();
68380
+ const inlineNode = this [X3DPrototypeInstance_body] .getNamedNode (importedNode .getInlineNode () .getName ());
68624
68381
 
68625
- this [X3DPrototypeInstance_body] .addImportedNode (inlineNode, exportedName, importedName);
68382
+ this [X3DPrototypeInstance_body] .addImportedNode (inlineNode, importedNode .getExportedName (), importedNode .getImportedName ());
68626
68383
  }
68627
68384
  catch (error)
68628
68385
  {
68629
- console .error ("Bad IMPORT specification in copy: ", error);
68386
+ console .error (error);
68630
68387
  }
68631
68388
  }
68632
68389
  },
68633
- copyRoutes (executionContext, routes)
68390
+ copyRoutes (routes)
68634
68391
  {
68635
68392
  for (const route of routes)
68636
68393
  {
68637
68394
  try
68638
68395
  {
68639
- const
68640
- sourceNode = this [X3DPrototypeInstance_body] .getLocalNode (executionContext .getLocalName (route .sourceNode)),
68641
- destinationNode = this [X3DPrototypeInstance_body] .getLocalNode (executionContext .getLocalName (route .destinationNode));
68396
+ const sourceNode = route .getSourceNode () instanceof Core_X3DNode
68397
+ ? this [X3DPrototypeInstance_body] .getLocalNode (route .getSourceNode () .getName ())
68398
+ : this [X3DPrototypeInstance_body] .getLocalNode (route .getSourceNode () .getImportedName ());
68399
+
68400
+ const destinationNode = route .getDestinationNode () instanceof Core_X3DNode
68401
+ ? this [X3DPrototypeInstance_body] .getLocalNode (route .getDestinationNode () .getName ())
68402
+ : this [X3DPrototypeInstance_body] .getLocalNode (route .getDestinationNode () .getImportedName ());
68642
68403
 
68643
68404
  this [X3DPrototypeInstance_body] .addRoute (sourceNode, route .sourceField, destinationNode, route .destinationField);
68644
68405
  }
@@ -89611,7 +89372,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
89611
89372
  x_ite_Namespace .add ("X3DShaderNode", "x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
89612
89373
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
89613
89374
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
89614
- /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(831);
89375
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(484);
89615
89376
  /*******************************************************************************
89616
89377
  *
89617
89378
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95252,7 +95013,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
95252
95013
  x_ite_Namespace .add ("ShaderCompiler", "x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
95253
95014
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
95254
95015
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
95255
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(831);
95016
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(484);
95256
95017
  /*******************************************************************************
95257
95018
  *
95258
95019
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -95909,7 +95670,7 @@ const X3DAppearanceNode_default_ = X3DAppearanceNode;
95909
95670
  x_ite_Namespace .add ("X3DAppearanceNode", "x_ite/Components/Shape/X3DAppearanceNode", X3DAppearanceNode_default_);
95910
95671
  /* harmony default export */ const Shape_X3DAppearanceNode = (X3DAppearanceNode_default_);
95911
95672
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Appearance.js
95912
- /* provided dependency */ var Appearance_$ = __webpack_require__(831);
95673
+ /* provided dependency */ var Appearance_$ = __webpack_require__(484);
95913
95674
  /*******************************************************************************
95914
95675
  *
95915
95676
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99327,7 +99088,7 @@ const Components_Shape_default_ = {
99327
99088
  x_ite_Namespace .add ("Shape", "x_ite/Components/Shape", Components_Shape_default_);
99328
99089
  /* harmony default export */ const Components_Shape = (Components_Shape_default_);
99329
99090
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundProcessingNode.js
99330
- /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(831);
99091
+ /* provided dependency */ var X3DSoundProcessingNode_$ = __webpack_require__(484);
99331
99092
  /*******************************************************************************
99332
99093
  *
99333
99094
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99967,7 +99728,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
99967
99728
  x_ite_Namespace .add ("X3DSoundSourceNode", "x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
99968
99729
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
99969
99730
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
99970
- /* provided dependency */ var AudioClip_$ = __webpack_require__(831);
99731
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(484);
99971
99732
  /*******************************************************************************
99972
99733
  *
99973
99734
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -100269,7 +100030,7 @@ const X3DSoundNode_default_ = X3DSoundNode;
100269
100030
  x_ite_Namespace .add ("X3DSoundNode", "x_ite/Components/Sound/X3DSoundNode", X3DSoundNode_default_);
100270
100031
  /* harmony default export */ const Sound_X3DSoundNode = (X3DSoundNode_default_);
100271
100032
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/X3DSoundDestinationNode.js
100272
- /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(831);
100033
+ /* provided dependency */ var X3DSoundDestinationNode_$ = __webpack_require__(484);
100273
100034
  /*******************************************************************************
100274
100035
  *
100275
100036
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -101919,7 +101680,7 @@ const ListenerPointSource_default_ = ListenerPointSource;
101919
101680
  x_ite_Namespace .add ("ListenerPointSource", "x_ite/Components/Sound/ListenerPointSource", ListenerPointSource_default_);
101920
101681
  /* harmony default export */ const Sound_ListenerPointSource = (ListenerPointSource_default_);
101921
101682
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/MicrophoneSource.js
101922
- /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(831);
101683
+ /* provided dependency */ var MicrophoneSource_$ = __webpack_require__(484);
101923
101684
  /*******************************************************************************
101924
101685
  *
101925
101686
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -103588,8 +103349,8 @@ const GifMedia_default_ = GifMedia;
103588
103349
  x_ite_Namespace .add ("GifMedia", "x_ite/Browser/Texturing/GifMedia", GifMedia_default_);
103589
103350
  /* harmony default export */ const Texturing_GifMedia = (GifMedia_default_);
103590
103351
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
103591
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(831);
103592
- /* provided dependency */ var SuperGif = __webpack_require__(698);
103352
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(484);
103353
+ /* provided dependency */ var SuperGif = __webpack_require__(749);
103593
103354
  /*******************************************************************************
103594
103355
  *
103595
103356
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -106864,7 +106625,7 @@ const gettext_default_ = gettext;
106864
106625
  x_ite_Namespace .add ("gettext", "locale/gettext", gettext_default_);
106865
106626
  /* harmony default export */ const locale_gettext = (gettext_default_);
106866
106627
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
106867
- /* provided dependency */ var BrowserTimings_$ = __webpack_require__(831);
106628
+ /* provided dependency */ var BrowserTimings_$ = __webpack_require__(484);
106868
106629
  /*******************************************************************************
106869
106630
  *
106870
106631
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107294,7 +107055,7 @@ const TextureQuality_default_ = TextureQuality;
107294
107055
  x_ite_Namespace .add ("TextureQuality", "x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
107295
107056
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
107296
107057
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
107297
- /* provided dependency */ var BrowserOptions_$ = __webpack_require__(831);
107058
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(484);
107298
107059
  /*******************************************************************************
107299
107060
  *
107300
107061
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107884,7 +107645,7 @@ const RenderingProperties_default_ = RenderingProperties;
107884
107645
  x_ite_Namespace .add ("RenderingProperties", "x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
107885
107646
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
107886
107647
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
107887
- /* provided dependency */ var Notification_$ = __webpack_require__(831);
107648
+ /* provided dependency */ var Notification_$ = __webpack_require__(484);
107888
107649
  /*******************************************************************************
107889
107650
  *
107890
107651
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -108007,8 +107768,8 @@ const Notification_default_ = Notification;
108007
107768
  x_ite_Namespace .add ("Notification", "x_ite/Browser/Core/Notification", Notification_default_);
108008
107769
  /* harmony default export */ const Core_Notification = (Notification_default_);
108009
107770
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
108010
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(561);
108011
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(831);
107771
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(66);
107772
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(484);
108012
107773
  /*******************************************************************************
108013
107774
  *
108014
107775
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -109281,7 +109042,7 @@ Object .assign (Object .setPrototypeOf (X3DExportedNode .prototype, Base_X3DObje
109281
109042
  },
109282
109043
  toVRMLStream (generator)
109283
109044
  {
109284
- const localName = generator .LocalName (this .getLocalNode ());
109045
+ const localName = generator .Name (this .getLocalNode ());
109285
109046
 
109286
109047
  generator .string += generator .Indent ();
109287
109048
  generator .string += "EXPORT";
@@ -109298,7 +109059,7 @@ Object .assign (Object .setPrototypeOf (X3DExportedNode .prototype, Base_X3DObje
109298
109059
  },
109299
109060
  toXMLStream (generator)
109300
109061
  {
109301
- const localName = generator .LocalName (this .getLocalNode ());
109062
+ const localName = generator .Name (this .getLocalNode ());
109302
109063
 
109303
109064
  generator .string += generator .Indent ();
109304
109065
  generator .string += "<EXPORT";
@@ -109319,7 +109080,7 @@ Object .assign (Object .setPrototypeOf (X3DExportedNode .prototype, Base_X3DObje
109319
109080
  },
109320
109081
  toJSONStream (generator)
109321
109082
  {
109322
- const localName = generator .LocalName (this .getLocalNode ());
109083
+ const localName = generator .Name (this .getLocalNode ());
109323
109084
 
109324
109085
  generator .string += generator .Indent ();
109325
109086
  generator .string += '{';
@@ -110762,7 +110523,7 @@ const DataStorage_default_ = DataStorage;
110762
110523
  x_ite_Namespace .add ("DataStorage", "standard/Utility/DataStorage", DataStorage_default_);
110763
110524
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
110764
110525
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
110765
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(831);
110526
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(484);
110766
110527
  /*******************************************************************************
110767
110528
  *
110768
110529
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -113285,8 +113046,8 @@ const X3DViewer_default_ = X3DViewer;
113285
113046
  x_ite_Namespace .add ("X3DViewer", "x_ite/Browser/Navigation/X3DViewer", X3DViewer_default_);
113286
113047
  /* harmony default export */ const Navigation_X3DViewer = (X3DViewer_default_);
113287
113048
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
113288
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(471);
113289
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(831);
113049
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(389);
113050
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(484);
113290
113051
  /*******************************************************************************
113291
113052
  *
113292
113053
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -114158,8 +113919,8 @@ const ExamineViewer_default_ = ExamineViewer;
114158
113919
  x_ite_Namespace .add ("ExamineViewer", "x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
114159
113920
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
114160
113921
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
114161
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(471);
114162
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(831);
113922
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(389);
113923
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(484);
114163
113924
  /*******************************************************************************
114164
113925
  *
114165
113926
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115168,8 +114929,8 @@ const FlyViewer_default_ = FlyViewer;
115168
114929
  x_ite_Namespace .add ("FlyViewer", "x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
115169
114930
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
115170
114931
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
115171
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(471);
115172
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(831);
114932
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(389);
114933
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(484);
115173
114934
  /*******************************************************************************
115174
114935
  *
115175
114936
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115500,8 +115261,8 @@ const NoneViewer_default_ = NoneViewer;
115500
115261
  x_ite_Namespace .add ("NoneViewer", "x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
115501
115262
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
115502
115263
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
115503
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(471);
115504
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(831);
115264
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(389);
115265
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(484);
115505
115266
  /*******************************************************************************
115506
115267
  *
115507
115268
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116640,8 +116401,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
116640
116401
  x_ite_Namespace .add ("X3DPickingContext", "x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
116641
116402
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
116642
116403
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
116643
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(471);
116644
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(831);
116404
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(389);
116405
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(484);
116645
116406
  /*******************************************************************************
116646
116407
  *
116647
116408
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -117920,7 +117681,7 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
117920
117681
  x_ite_Namespace .add ("MultiSampleFrameBuffer", "x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
117921
117682
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
117922
117683
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
117923
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(831);
117684
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(484);
117924
117685
  /*******************************************************************************
117925
117686
  *
117926
117687
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -118823,7 +118584,7 @@ const X3DSoundContext_default_ = X3DSoundContext;
118823
118584
  x_ite_Namespace .add ("X3DSoundContext", "x_ite/Browser/Sound/X3DSoundContext", X3DSoundContext_default_);
118824
118585
  /* harmony default export */ const Sound_X3DSoundContext = (X3DSoundContext_default_);
118825
118586
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing/KTXDecoder.js
118826
- /* provided dependency */ var KTXDecoder_$ = __webpack_require__(831);
118587
+ /* provided dependency */ var KTXDecoder_$ = __webpack_require__(484);
118827
118588
  const KTXDecoder_default_ = class KTXDecoder
118828
118589
  {
118829
118590
  constructor (gl, externalKtxlib, scriptDir)
@@ -120376,7 +120137,7 @@ const Components_default_ = Components;
120376
120137
  x_ite_Namespace .add ("Components", "x_ite/Components", Components_default_);
120377
120138
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
120378
120139
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
120379
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(831);
120140
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(484);
120380
120141
  /*******************************************************************************
120381
120142
  * MIT License
120382
120143
  *
@@ -121507,7 +121268,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
121507
121268
  x_ite_Namespace .add ("SupportedProfiles", "x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
121508
121269
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
121509
121270
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
121510
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(831);
121271
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(484);
121511
121272
  /*******************************************************************************
121512
121273
  *
121513
121274
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122221,21 +121982,11 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
122221
121982
  else
122222
121983
  return new Map ([... this [_browserCallbacks]] .flatMap (([event, map]) => [... map]));
122223
121984
  },
122224
- callBrowserCallbacks: (() =>
121985
+ callBrowserCallbacks (event)
122225
121986
  {
122226
- const values = [ ];
122227
-
122228
- return function (event)
122229
- {
122230
- const browserCallbacks = this [_browserCallbacks] .get (event);
122231
-
122232
- if (browserCallbacks .size)
122233
- {
122234
- for (const callback of Utility_MapUtilities .values (values, browserCallbacks))
122235
- callback (event);
122236
- }
122237
- };
122238
- })(),
121987
+ for (const callback of Utility_MapUtilities .values (this [_browserCallbacks] .get (event)))
121988
+ callback (event);
121989
+ },
122239
121990
  importDocument (dom)
122240
121991
  {
122241
121992
  const
@@ -122420,23 +122171,13 @@ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, Browser_X3DBrowse
122420
122171
 
122421
122172
  viewpointNode ._set_bind = true;
122422
122173
  },
122423
- addRoute (fromNode, fromEventOut, toNode, toEventIn)
122174
+ addRoute (sourceNode, sourceField, destinationNode, destinationField)
122424
122175
  {
122425
- this .currentScene .addRoute (fromNode, fromEventOut, toNode, toEventIn);
122176
+ this .currentScene .addRoute (sourceNode, sourceField, destinationNode, destinationField);
122426
122177
  },
122427
- deleteRoute (fromNode, fromEventOut, toNode, toEventIn)
122178
+ deleteRoute (sourceNode, sourceField, destinationNode, destinationField)
122428
122179
  {
122429
- try
122430
- {
122431
- const route = this .currentScene .getRoute (fromNode, fromEventOut, toNode, toEventIn);
122432
-
122433
- if (route)
122434
- this .currentScene .deleteRoute (route);
122435
- }
122436
- catch (error)
122437
- {
122438
- console .error (error);
122439
- }
122180
+ this .currentScene .deleteRoute (sourceNode, sourceField, destinationNode, destinationField);
122440
122181
  },
122441
122182
  beginUpdate ()
122442
122183
  {
@@ -122588,7 +122329,7 @@ const X3DBrowser_default_ = X3DBrowser;
122588
122329
  x_ite_Namespace .add ("X3DBrowser", "x_ite/Browser/X3DBrowser", X3DBrowser_default_);
122589
122330
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
122590
122331
  ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
122591
- /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(831);
122332
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(484);
122592
122333
  /*******************************************************************************
122593
122334
  *
122594
122335
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122720,8 +122461,8 @@ const X3DCanvasElement_default_ = X3DCanvasElement;
122720
122461
  x_ite_Namespace .add ("X3DCanvasElement", "x_ite/X3DCanvasElement", X3DCanvasElement_default_);
122721
122462
  /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
122722
122463
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
122723
- /* provided dependency */ var jquery_$ = __webpack_require__(831);
122724
- /* provided dependency */ var pako = __webpack_require__(295);
122464
+ /* provided dependency */ var jquery_$ = __webpack_require__(484);
122465
+ /* provided dependency */ var pako = __webpack_require__(251);
122725
122466
  Object .assign (jquery_$,
122726
122467
  {
122727
122468
  decodeText (input)
@@ -122798,14 +122539,14 @@ const jquery_default_ = jquery_$;
122798
122539
  x_ite_Namespace .add ("jquery", "lib/jquery", jquery_default_);
122799
122540
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
122800
122541
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
122801
- /* provided dependency */ var libtess_libtess = __webpack_require__(864);
122542
+ /* provided dependency */ var libtess_libtess = __webpack_require__(53);
122802
122543
  const libtess_default_ = libtess_libtess;
122803
122544
  ;
122804
122545
 
122805
122546
  x_ite_Namespace .add ("libtess", "lib/libtess", libtess_default_);
122806
122547
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
122807
122548
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
122808
- /* provided dependency */ var X3D_$ = __webpack_require__(831);
122549
+ /* provided dependency */ var X3D_$ = __webpack_require__(484);
122809
122550
  /*******************************************************************************
122810
122551
  *
122811
122552
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -123113,7 +122854,7 @@ Object .assign (X3D,
123113
122854
 
123114
122855
  // Assign X3D to global namespace.
123115
122856
 
123116
- window [Symbol .for ("X_ITE.X3D-9.1.11")] = x_ite_X3D;
122857
+ window [Symbol .for ("X_ITE.X3D-9.2.0")] = x_ite_X3D;
123117
122858
 
123118
122859
  customElements .define ("x3d-canvas", x_ite_X3DCanvasElement);
123119
122860