x_ite 8.6.17 → 8.6.19

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 (123) 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 +13 -13
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +28 -28
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -21
  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 -39
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +18 -18
  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 +24 -24
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +23 -25
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +25 -26
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +20 -20
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +121 -195
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +30 -31
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjector.js +14 -14
  34. package/dist/assets/components/TextureProjector.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +174 -174
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +35 -33
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +9 -9
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/example.html +1 -1
  42. package/dist/x_ite.css +1 -1
  43. package/dist/x_ite.js +512 -519
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.zip +0 -0
  46. package/docs/_config.yml +1 -1
  47. package/docs/_posts/getting-started.md +1 -1
  48. package/docs/_posts/reference/prototype-services.md +2 -2
  49. package/docs/_posts/setup-a-localhost-server.md +2 -2
  50. package/package.json +4 -4
  51. package/src/example.html +1 -1
  52. package/src/standard/Math/Algorithm.js +1 -1
  53. package/src/standard/Math/Algorithms/MergeSort.js +7 -5
  54. package/src/standard/Math/Algorithms/PartialSort.js +3 -1
  55. package/src/standard/Math/Algorithms/QuickSort.js +1 -3
  56. package/src/standard/Math/Geometry/Box2.js +1 -1
  57. package/src/standard/Math/Geometry/Box3.js +1 -1
  58. package/src/standard/Math/Numbers/Quaternion.js +4 -3
  59. package/src/standard/Math/Numbers/Rotation4.js +4 -3
  60. package/src/x_ite/Base/X3DBaseNode.js +9 -24
  61. package/src/x_ite/Base/X3DEventObject.js +4 -3
  62. package/src/x_ite/Base/X3DField.js +19 -20
  63. package/src/x_ite/Base/X3DObject.js +5 -1
  64. package/src/x_ite/Base/X3DObjectArrayField.js +12 -11
  65. package/src/x_ite/Base/X3DTypedArrayField.js +3 -3
  66. package/src/x_ite/Browser/Core/Context.js +1 -1
  67. package/src/x_ite/Browser/Navigation/ExamineViewer.js +1 -1
  68. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +14 -9
  69. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +2 -2
  70. package/src/x_ite/Browser/VERSION.js +1 -1
  71. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +2 -2
  72. package/src/x_ite/Browser/X3DBrowser.js +44 -77
  73. package/src/x_ite/Browser/X3DBrowserContext.js +3 -3
  74. package/src/x_ite/Components/Core/X3DNode.js +2 -2
  75. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +3 -8
  76. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +3 -3
  77. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +0 -8
  78. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +14 -12
  79. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +3 -3
  80. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +1 -1
  81. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +1 -1
  82. package/src/x_ite/Components/Geospatial/GeoMetadata.js +0 -6
  83. package/src/x_ite/Components/Networking/Anchor.js +36 -33
  84. package/src/x_ite/Components/Networking/Inline.js +3 -3
  85. package/src/x_ite/Components/Networking/X3DUrlObject.js +74 -23
  86. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +6 -5
  87. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +2 -2
  88. package/src/x_ite/Components/Scripting/Script.js +93 -167
  89. package/src/x_ite/Components/Shaders/ComposedShader.js +3 -18
  90. package/src/x_ite/Components/Shaders/PackagedShader.js +0 -2
  91. package/src/x_ite/Components/Shaders/ShaderPart.js +4 -4
  92. package/src/x_ite/Components/Shaders/ShaderProgram.js +0 -2
  93. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +4 -5
  94. package/src/x_ite/Components/Sound/AudioClip.js +6 -6
  95. package/src/x_ite/Components/Sound/DynamicsCompressor.js +4 -4
  96. package/src/x_ite/Components/Text/Text.js +2 -3
  97. package/src/x_ite/Components/Text/X3DFontStyleNode.js +4 -4
  98. package/src/x_ite/Components/Texturing/ImageTexture.js +3 -3
  99. package/src/x_ite/Components/Texturing/MovieTexture.js +6 -6
  100. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +3 -3
  101. package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +3 -3
  102. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +31 -25
  103. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +1 -1
  104. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +1 -1
  105. package/src/x_ite/Components/VolumeRendering/VolumeData.js +1 -1
  106. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +11 -9
  107. package/src/x_ite/Execution/Scene.js +1 -1
  108. package/src/x_ite/Execution/X3DExecutionContext.js +30 -32
  109. package/src/x_ite/Execution/X3DScene.js +6 -6
  110. package/src/x_ite/Fields/ArrayFields.js +2 -1
  111. package/src/x_ite/Fields/SFImage.js +0 -1
  112. package/src/x_ite/Fields/SFNode.js +9 -8
  113. package/src/x_ite/Fields/SFRotation.js +2 -4
  114. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +3 -3
  115. package/src/x_ite/InputOutput/FileLoader.js +3 -4
  116. package/src/x_ite/InputOutput/Generator.js +1 -1
  117. package/src/x_ite/Parser/GLTF2Parser.js +45 -45
  118. package/src/x_ite/Parser/VRMLParser.js +2 -2
  119. package/src/x_ite/Parser/X3DParser.js +4 -4
  120. package/src/x_ite/Parser/XMLParser.js +16 -22
  121. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +2 -2
  122. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +1 -1
  123. package/docs/_tabs/imprint.md +0 -52
@@ -118,13 +118,13 @@ ShaderPart .prototype = Object .assign (Object .create (X3DNode .prototype),
118
118
 
119
119
  this ._type .addInterest ("set_type__", this);
120
120
 
121
- this .requestImmediateLoad ();
121
+ this .requestImmediateLoad () .catch (Function .prototype);
122
122
  },
123
123
  set_type__: function ()
124
124
  {
125
125
  this .setLoadState (X3DConstants .NOT_STARTED_STATE);
126
126
 
127
- this .requestImmediateLoad ();
127
+ this .requestImmediateLoad () .catch (Function .prototype);
128
128
  },
129
129
  getSourceText: function ()
130
130
  {
@@ -158,11 +158,11 @@ ShaderPart .prototype = Object .assign (Object .create (X3DNode .prototype),
158
158
  return shaderTypes .get (this ._type .getValue ()) || "VERTEX_SHADER";
159
159
  };
160
160
  })(),
161
- unLoadNow: function ()
161
+ unloadData: function ()
162
162
  {
163
163
  this .valid = false;
164
164
  },
165
- loadNow: function ()
165
+ loadData: function ()
166
166
  {
167
167
  new FileLoader (this) .loadDocument (this ._url,
168
168
  function (data, url)
@@ -98,8 +98,6 @@ ShaderProgram .prototype = Object .assign (Object .create (X3DNode .prototype),
98
98
  },
99
99
  requestImmediateLoad: function (cache = true)
100
100
  { },
101
- requestUnload: function ()
102
- { },
103
101
  initialize: function ()
104
102
  {
105
103
  X3DNode .prototype .initialize .call (this);
@@ -45,12 +45,11 @@
45
45
  *
46
46
  ******************************************************************************/
47
47
 
48
- import X3DCast from "../../Base/X3DCast.js";
49
- import X3DConstants from "../../Base/X3DConstants.js";
50
- import OrthoViewpoint from "../Navigation/OrthoViewpoint.js";
51
- import Matrix3 from "../../../standard/Math/Numbers/Matrix3.js";
48
+ import X3DCast from "../../Base/X3DCast.js";
49
+ import X3DConstants from "../../Base/X3DConstants.js";
50
+ import Matrix3 from "../../../standard/Math/Numbers/Matrix3.js";
52
51
 
53
- const _uniformLocation = Symbol .for ("X3DField.uniformLocation");
52
+ const _uniformLocation = Symbol .for ("X_ITE.X3DField.uniformLocation");
54
53
 
55
54
  function X3DProgrammableShaderObject (executionContext)
56
55
  {
@@ -118,7 +118,7 @@ AudioClip .prototype = Object .assign (Object .create (X3DSoundSourceNode .proto
118
118
  this .audio .prop ("preload", "auto");
119
119
  this .audio .prop ("muted", true);
120
120
 
121
- this .requestImmediateLoad ();
121
+ this .requestImmediateLoad () .catch (Function .prototype);
122
122
  },
123
123
  getElement: function ()
124
124
  {
@@ -129,11 +129,11 @@ AudioClip .prototype = Object .assign (Object .create (X3DSoundSourceNode .proto
129
129
  X3DSoundSourceNode .prototype .set_live__ .call (this);
130
130
  X3DUrlObject .prototype .set_live__ .call (this);
131
131
  },
132
- unLoadNow: function ()
132
+ unloadData: function ()
133
133
  {
134
134
  this .setMedia (null);
135
135
  },
136
- loadNow: function ()
136
+ loadData: function ()
137
137
  {
138
138
  this .setMedia (null);
139
139
  this .urlStack .setValue (this ._url);
@@ -165,12 +165,12 @@ AudioClip .prototype = Object .assign (Object .create (X3DSoundSourceNode .proto
165
165
  },
166
166
  setTimeout: function (event)
167
167
  {
168
- setTimeout (function ()
168
+ setTimeout (() =>
169
169
  {
170
170
  if (this .checkLoadState () === X3DConstants .IN_PROGRESS_STATE)
171
171
  this .setError (event);
172
- }
173
- .bind (this), 3000);
172
+ },
173
+ 3000);
174
174
  },
175
175
  setError: function (event)
176
176
  {
@@ -62,12 +62,12 @@ DynamicsCompressor .prototype = Object .assign (Object .create (X3DSoundProcessi
62
62
  {
63
63
  constructor: DynamicsCompressor,
64
64
  [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new FieldDefinitionArray ([
65
- new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
66
- new X3DFieldDefinition (X3DConstants .inputOutput, "description", new Fields .SFString ()),
67
- new X3DFieldDefinition (X3DConstants .inputOutput, "enabled", new Fields .SFBool (true)),
65
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
66
+ new X3DFieldDefinition (X3DConstants .inputOutput, "description", new Fields .SFString ()),
67
+ new X3DFieldDefinition (X3DConstants .inputOutput, "enabled", new Fields .SFBool (true)),
68
68
 
69
69
  new X3DFieldDefinition (X3DConstants .inputOutput, "gain", new Fields .SFFloat (1)),
70
- new X3DFieldDefinition (X3DConstants .inputOutput, "attack", new Fields .SFFloat (0.003)),
70
+ new X3DFieldDefinition (X3DConstants .inputOutput, "attack", new Fields .SFFloat (0.003)), // TODO: SFTime
71
71
  new X3DFieldDefinition (X3DConstants .inputOutput, "knee", new Fields .SFFloat (30)),
72
72
  new X3DFieldDefinition (X3DConstants .inputOutput, "ratio", new Fields .SFFloat (12)),
73
73
  new X3DFieldDefinition (X3DConstants .inputOutput, "reduction", new Fields .SFFloat ()),
@@ -125,12 +125,11 @@ Text .prototype = Object .assign (Object .create (X3DGeometryNode .prototype),
125
125
  },
126
126
  set_fontStyle__: function ()
127
127
  {
128
- if (this .fontStyleNode)
129
- this .fontStyleNode .removeInterest ("requestRebuild", this);
128
+ this .fontStyleNode ?.removeInterest ("requestRebuild", this);
130
129
 
131
130
  this .fontStyleNode = X3DCast (X3DConstants .X3DFontStyleNode, this ._fontStyle);
132
131
 
133
- if (! this .fontStyleNode)
132
+ if (!this .fontStyleNode)
134
133
  this .fontStyleNode = this .getBrowser () .getDefaultFontStyle ();
135
134
 
136
135
  this .fontStyleNode .addInterest ("requestRebuild", this);
@@ -112,10 +112,10 @@ X3DFontStyleNode .prototype = Object .assign (Object .create (X3DNode .prototype
112
112
  this .font = null;
113
113
  this .familyIndex = 0;
114
114
 
115
+ // Don't call set_style__.
115
116
  this .set_justify__ ();
116
- this .set_style__ ();
117
117
 
118
- this .requestImmediateLoad ();
118
+ this .requestImmediateLoad () .catch (Function .prototype);
119
119
  },
120
120
  set_style__: function ()
121
121
  {
@@ -124,7 +124,7 @@ X3DFontStyleNode .prototype = Object .assign (Object .create (X3DNode .prototype
124
124
 
125
125
  this .setLoadState (X3DConstants .NOT_STARTED_STATE);
126
126
 
127
- this .requestImmediateLoad ();
127
+ this .requestImmediateLoad () .catch (Function .prototype);
128
128
  },
129
129
  set_justify__: function ()
130
130
  {
@@ -186,7 +186,7 @@ X3DFontStyleNode .prototype = Object .assign (Object .create (X3DNode .prototype
186
186
 
187
187
  return;
188
188
  },
189
- loadNow: function ()
189
+ loadData: function ()
190
190
  {
191
191
  // Add default font to family array.
192
192
 
@@ -105,17 +105,17 @@ ImageTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
105
105
  this .image .on ("abort error", this .setError .bind (this));
106
106
  this .image .prop ("crossOrigin", "Anonymous");
107
107
 
108
- this .requestImmediateLoad ();
108
+ this .requestImmediateLoad () .catch (Function .prototype);
109
109
  },
110
110
  getElement: function ()
111
111
  {
112
112
  return this .image [0];
113
113
  },
114
- unLoadNow: function ()
114
+ unloadData: function ()
115
115
  {
116
116
  this .clearTexture ();
117
117
  },
118
- loadNow: function ()
118
+ loadData: function ()
119
119
  {
120
120
  this .urlStack .setValue (this ._url);
121
121
  this .loadNext ();
@@ -126,7 +126,7 @@ MovieTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
126
126
  this .video .prop ("preload", "auto");
127
127
  this .video .prop ("muted", true);
128
128
 
129
- this .requestImmediateLoad ();
129
+ this .requestImmediateLoad () .catch (Function .prototype);
130
130
  },
131
131
  getElement: function ()
132
132
  {
@@ -137,11 +137,11 @@ MovieTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
137
137
  X3DSoundSourceNode .prototype .set_live__ .call (this);
138
138
  X3DUrlObject .prototype .set_live__ .call (this);
139
139
  },
140
- unLoadNow: function ()
140
+ unloadData: function ()
141
141
  {
142
142
  this .clearTexture ();
143
143
  },
144
- loadNow: function ()
144
+ loadData: function ()
145
145
  {
146
146
  delete this .gif;
147
147
  this .setMedia (null);
@@ -188,12 +188,12 @@ MovieTexture .prototype = Object .assign (Object .create (X3DTexture2DNode .prot
188
188
  },
189
189
  setTimeout: function (event)
190
190
  {
191
- setTimeout (function ()
191
+ setTimeout (() =>
192
192
  {
193
193
  if (this .checkLoadState () === X3DConstants .IN_PROGRESS_STATE)
194
194
  this .setError (event);
195
- }
196
- .bind (this), 3000);
195
+ },
196
+ 3000);
197
197
  },
198
198
  setError: function (event)
199
199
  {
@@ -100,7 +100,7 @@ ImageTexture3D .prototype = Object .assign (Object .create (X3DTexture3DNode .pr
100
100
  X3DTexture3DNode .prototype .initialize .call (this);
101
101
  X3DUrlObject .prototype .initialize .call (this);
102
102
 
103
- this .requestImmediateLoad ();
103
+ this .requestImmediateLoad () .catch (Function .prototype);
104
104
  },
105
105
  getInternalType: function (components)
106
106
  {
@@ -118,11 +118,11 @@ ImageTexture3D .prototype = Object .assign (Object .create (X3DTexture3DNode .pr
118
118
  return gl .RGBA;
119
119
  }
120
120
  },
121
- unLoadNow: function ()
121
+ unloadData: function ()
122
122
  {
123
123
  this .clearTexture ();
124
124
  },
125
- loadNow: function ()
125
+ loadData: function ()
126
126
  {
127
127
  new FileLoader (this) .loadDocument (this ._url,
128
128
  function (data)
@@ -109,13 +109,13 @@ ImageTextureAtlas .prototype = Object .assign (Object .create (X3DTexture3DNode
109
109
  this .image .on ("abort error", this .setError .bind (this));
110
110
  this .image .prop ("crossOrigin", "Anonymous");
111
111
 
112
- this .requestImmediateLoad ();
112
+ this .requestImmediateLoad () .catch (Function .prototype);
113
113
  },
114
- unLoadNow: function ()
114
+ unloadData: function ()
115
115
  {
116
116
  this .clearTexture ();
117
117
  },
118
- loadNow: function ()
118
+ loadData: function ()
119
119
  {
120
120
  this .urlStack .setValue (this ._url);
121
121
  this .loadNext ();
@@ -63,10 +63,7 @@ function X3DTimeDependentNode (executionContext)
63
63
  this .start = 0;
64
64
  this .pause = 0;
65
65
  this .pauseInterval = 0;
66
- this .startTimeout = null;
67
- this .pauseTimeout = null;
68
- this .resumeTimeout = null;
69
- this .stopTimeout = null;
66
+ this .timeouts = new Map ();
70
67
  this .disabled = false;
71
68
  }
72
69
 
@@ -165,13 +162,13 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (X3DChildNode .
165
162
 
166
163
  if (this ._enabled .getValue ())
167
164
  {
168
- this .removeTimeout ("startTimeout");
165
+ this .removeTimeout ("start");
169
166
 
170
167
  if (this .startTimeValue <= this .getBrowser () .getCurrentTime ())
171
168
  this .do_start ();
172
169
 
173
170
  else
174
- this .addTimeout ("startTimeout", "do_start", this .startTimeValue);
171
+ this .addTimeout ("start", "do_start", this .startTimeValue);
175
172
  }
176
173
  },
177
174
  set_pauseTime__: function ()
@@ -180,7 +177,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (X3DChildNode .
180
177
 
181
178
  if (this ._enabled .getValue ())
182
179
  {
183
- this .removeTimeout ("pauseTimeout");
180
+ this .removeTimeout ("pause");
184
181
 
185
182
  if (this .pauseTimeValue <= this .resumeTimeValue)
186
183
  return;
@@ -189,7 +186,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (X3DChildNode .
189
186
  this .do_pause ();
190
187
 
191
188
  else
192
- this .addTimeout ("pauseTimeout", "do_pause", this .pauseTimeValue);
189
+ this .addTimeout ("pause", "do_pause", this .pauseTimeValue);
193
190
  }
194
191
  },
195
192
  set_resumeTime__: function ()
@@ -198,7 +195,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (X3DChildNode .
198
195
 
199
196
  if (this ._enabled .getValue ())
200
197
  {
201
- this .removeTimeout ("resumeTimeout");
198
+ this .removeTimeout ("resume");
202
199
 
203
200
  if (this .resumeTimeValue <= this .pauseTimeValue)
204
201
  return;
@@ -207,7 +204,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (X3DChildNode .
207
204
  this .do_resume ();
208
205
 
209
206
  else
210
- this .addTimeout ("resumeTimeout", "do_resume", this .resumeTimeValue);
207
+ this .addTimeout ("resume", "do_resume", this .resumeTimeValue);
211
208
  }
212
209
  },
213
210
  set_stopTime__: function ()
@@ -216,7 +213,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (X3DChildNode .
216
213
 
217
214
  if (this ._enabled .getValue ())
218
215
  {
219
- this .removeTimeout ("stopTimeout");
216
+ this .removeTimeout ("stop");
220
217
 
221
218
  if (this .stopTimeValue <= this .startTimeValue)
222
219
  return;
@@ -225,7 +222,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (X3DChildNode .
225
222
  this .do_stop ();
226
223
 
227
224
  else
228
- this .addTimeout ("stopTimeout", "do_stop", this .stopTimeValue);
225
+ this .addTimeout ("stop", "do_stop", this .stopTimeValue);
229
226
  }
230
227
  },
231
228
  do_start: function ()
@@ -319,24 +316,29 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (X3DChildNode .
319
316
  this .getBrowser () .timeEvents () .removeInterest ("set_time" ,this);
320
317
  }
321
318
  },
322
- timeout: function (callback)
323
- {
324
- if (this ._enabled .getValue ())
325
- {
326
- this .getBrowser () .advanceTime ();
327
-
328
- this [callback] ();
329
- }
330
- },
331
319
  addTimeout: function (name, callback, time)
332
320
  {
333
321
  this .removeTimeout (name);
334
- this [name] = setTimeout (this .timeout .bind (this, callback), (time - this .getBrowser () .getCurrentTime ()) * 1000);
322
+
323
+ this .timeouts .set (name, setTimeout (this .processTimeout .bind (this, callback), (time - this .getBrowser () .getCurrentTime ()) * 1000));
335
324
  },
336
325
  removeTimeout: function (name)
337
326
  {
338
- clearTimeout (this [name]);
339
- this [name] = null;
327
+ clearTimeout (this .timeouts .get (name));
328
+
329
+ this .timeouts .delete (name);
330
+ },
331
+ processTimeout: function (callback)
332
+ {
333
+ if (!this ._enabled .getValue ())
334
+ return;
335
+
336
+ if (!(this .getLive () .getValue () || this ._isEvenLive .getValue ()))
337
+ return;
338
+
339
+ this .getBrowser () .advanceTime ();
340
+
341
+ this [callback] ();
340
342
  },
341
343
  set_loop: Function .prototype,
342
344
  set_start: Function .prototype,
@@ -344,7 +346,11 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (X3DChildNode .
344
346
  set_resume: Function .prototype,
345
347
  set_stop: Function .prototype,
346
348
  set_time: Function .prototype,
347
- dispose: Function .prototype,
349
+ dispose: function ()
350
+ {
351
+ for (const name of [... this .timeouts .keys ()])
352
+ this .removeTimeout (name);
353
+ },
348
354
  });
349
355
 
350
356
  export default X3DTimeDependentNode;
@@ -158,7 +158,7 @@ IsoSurfaceVolumeData .prototype = Object .assign (Object .create (X3DVolumeDataN
158
158
  if (this .voxelsNode)
159
159
  this .getAppearance () ._texture = this ._voxels;
160
160
  else
161
- this .getAppearance () ._texture = this .getBrowser () .getDefaultVoxels (this .getExecutionContext ());
161
+ this .getAppearance () ._texture = this .getBrowser () .getDefaultVoxels ();
162
162
  },
163
163
  createShader: function (options, vs, fs)
164
164
  {
@@ -160,7 +160,7 @@ SegmentedVolumeData .prototype = Object .assign (Object .create (X3DVolumeDataNo
160
160
  if (this .voxelsNode)
161
161
  this .getAppearance () ._texture = this ._voxels;
162
162
  else
163
- this .getAppearance () ._texture = this .getBrowser () .getDefaultVoxels (this .getExecutionContext ());
163
+ this .getAppearance () ._texture = this .getBrowser () .getDefaultVoxels ();
164
164
  },
165
165
  createShader: function (options, vs, fs)
166
166
  {
@@ -136,7 +136,7 @@ VolumeData .prototype = Object .assign (Object .create (X3DVolumeDataNode .proto
136
136
  if (this .voxelsNode)
137
137
  this .getAppearance () ._texture = this ._voxels;
138
138
  else
139
- this .getAppearance () ._texture = this .getBrowser () .getDefaultVoxels (this .getExecutionContext ());
139
+ this .getAppearance () ._texture = this .getBrowser () .getDefaultVoxels ();
140
140
  },
141
141
  createShader: function (options, vs, fs)
142
142
  {
@@ -60,15 +60,17 @@ function X3DVolumeDataNode (executionContext)
60
60
 
61
61
  this .addType (X3DConstants .X3DVolumeDataNode);
62
62
 
63
- this .proximitySensorNode = executionContext .createNode ("ProximitySensor", { setup: false, warn: false });
64
- this .transformNode = executionContext .createNode ("Transform", { setup: false, warn: false });
65
- this .shapeNode = executionContext .createNode ("Shape", { setup: false, warn: false });
66
- this .appearanceNode = executionContext .createNode ("Appearance", { setup: false, warn: false });
67
- this .textureTransformNode = executionContext .createNode ("TextureTransform3D", { setup: false, warn: false });
68
- this .geometryNode = executionContext .createNode ("QuadSet", { setup: false, warn: false });
69
- this .textureCoordinateNode = executionContext .createNode ("TextureCoordinate3D", { setup: false, warn: false });
70
- this .coordinateNode = executionContext .createNode ("Coordinate", { setup: false, warn: false });
71
- this .volumeMaterialNode = new VolumeMaterial (executionContext, this);
63
+ const browser = this .getBrowser ();
64
+
65
+ this .proximitySensorNode = browser .getPrivateScene () .createNode ("ProximitySensor", false);
66
+ this .transformNode = browser .getPrivateScene () .createNode ("Transform", false);
67
+ this .shapeNode = browser .getPrivateScene () .createNode ("Shape", false);
68
+ this .appearanceNode = browser .getPrivateScene () .createNode ("Appearance", false);
69
+ this .textureTransformNode = browser .getPrivateScene () .createNode ("TextureTransform3D", false);
70
+ this .geometryNode = browser .getPrivateScene () .createNode ("QuadSet", false);
71
+ this .textureCoordinateNode = browser .getPrivateScene () .createNode ("TextureCoordinate3D", false);
72
+ this .coordinateNode = browser .getPrivateScene () .createNode ("Coordinate", false);
73
+ this .volumeMaterialNode = new VolumeMaterial (browser .getPrivateScene (), this);
72
74
  this .textureNormalMatrixArray = new Float32Array (9);
73
75
 
74
76
  this .setCameraObject (true);
@@ -49,7 +49,7 @@ import Fields from "../Fields.js";
49
49
  import X3DScene from "./X3DScene.js";
50
50
 
51
51
  const
52
- _browser = Symbol .for ("X3DEventObject.browser"),
52
+ _browser = Symbol .for ("X_ITE.X3DEventObject.browser"),
53
53
  _loadingObjects = Symbol ();
54
54
 
55
55
  function Scene (browser)