x_ite 8.3.2 → 8.4.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 (117) hide show
  1. package/.github/workflows/pages-deploy.yml +1 -1
  2. package/.vscode/settings.json +2 -1
  3. package/dist/LICENSE.md +4 -4
  4. package/dist/assets/components/Annotation.js +13 -13
  5. package/dist/assets/components/Annotation.min.js +1 -1
  6. package/dist/assets/components/CADGeometry.js +13 -13
  7. package/dist/assets/components/CADGeometry.min.js +1 -1
  8. package/dist/assets/components/CubeMapTexturing.js +25 -25
  9. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  10. package/dist/assets/components/DIS.js +13 -13
  11. package/dist/assets/components/DIS.min.js +1 -1
  12. package/dist/assets/components/EventUtilities.js +9 -9
  13. package/dist/assets/components/EventUtilities.min.js +1 -1
  14. package/dist/assets/components/Geometry2D.js +19 -19
  15. package/dist/assets/components/Geometry2D.min.js +1 -1
  16. package/dist/assets/components/Geospatial.js +33 -33
  17. package/dist/assets/components/Geospatial.min.js +1 -1
  18. package/dist/assets/components/HAnim.js +64 -75
  19. package/dist/assets/components/HAnim.min.js +1 -1
  20. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  21. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  22. package/dist/assets/components/Layout.js +27 -27
  23. package/dist/assets/components/Layout.min.js +1 -1
  24. package/dist/assets/components/NURBS.js +24 -24
  25. package/dist/assets/components/NURBS.min.js +1 -1
  26. package/dist/assets/components/ParticleSystems.js +23 -23
  27. package/dist/assets/components/ParticleSystems.min.js +1 -1
  28. package/dist/assets/components/Picking.js +19 -19
  29. package/dist/assets/components/Picking.min.js +1 -1
  30. package/dist/assets/components/RigidBodyPhysics.js +17 -17
  31. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  32. package/dist/assets/components/Scripting.js +28 -28
  33. package/dist/assets/components/Scripting.min.js +1 -1
  34. package/dist/assets/components/Text.js +24 -24
  35. package/dist/assets/components/Text.min.js +1 -1
  36. package/dist/assets/components/{ProjectiveTextureMapping.js → TextureProjector.js} +39 -39
  37. package/dist/assets/components/TextureProjector.min.js +1 -0
  38. package/dist/assets/components/Texturing3D.js +27 -27
  39. package/dist/assets/components/Texturing3D.min.js +1 -1
  40. package/dist/assets/components/VolumeRendering.js +19 -19
  41. package/dist/assets/components/VolumeRendering.min.js +1 -1
  42. package/dist/assets/components/X_ITE.js +9 -9
  43. package/dist/assets/components/X_ITE.min.js +1 -1
  44. package/dist/x_ite.css +1 -1
  45. package/dist/x_ite.js +3986 -1366
  46. package/dist/x_ite.min.js +1 -1
  47. package/dist/x_ite.zip +0 -0
  48. package/docs/Gemfile +1 -4
  49. package/docs/_config.yml +3 -3
  50. package/docs/_posts/getting-started.md +147 -441
  51. package/docs/_posts/reference/field-services-and-objects.md +24 -4
  52. package/docs/_posts/reference/prototype-services.md +24 -4
  53. package/docs/_posts/reference/scene-services.md +18 -2
  54. package/docs/_posts/what's-new.md +32 -4
  55. package/docs/_tabs/playground.html +36 -40
  56. package/docs/assets/css/style.scss +18 -0
  57. package/package.json +1 -1
  58. package/src/assets/components/{ProjectiveTextureMapping.js → TextureProjector.js} +5 -5
  59. package/src/examples.js +1 -1
  60. package/src/tests.js +5 -5
  61. package/src/x_ite/Base/X3DInfoArray.js +45 -19
  62. package/src/x_ite/Base/X3DObject.js +29 -20
  63. package/src/x_ite/Base/X3DObjectArrayField.js +71 -26
  64. package/src/x_ite/Base/X3DTypedArrayField.js +108 -32
  65. package/src/x_ite/Browser/DOMIntegration.js +4 -3
  66. package/src/x_ite/Browser/VERSION.js +1 -1
  67. package/src/x_ite/Browser/X3DBrowser.js +43 -28
  68. package/src/x_ite/Components/Core/X3DNode.js +682 -210
  69. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +484 -100
  70. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +18 -43
  71. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +27 -26
  72. package/src/x_ite/Components/HAnim/HAnimJoint.js +19 -31
  73. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +6 -3
  74. package/src/x_ite/Components/Sound/X3DSoundProcessingNode.js +14 -1
  75. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +0 -1
  76. package/src/x_ite/Components/{ProjectiveTextureMapping → TextureProjector}/TextureProjector.js +1 -1
  77. package/src/x_ite/Components/{ProjectiveTextureMapping → TextureProjector}/TextureProjectorParallel.js +1 -1
  78. package/src/x_ite/Components/{ProjectiveTextureMapping → TextureProjector}/X3DTextureProjectorNode.js +0 -0
  79. package/src/x_ite/Components/Time/TimeSensor.js +5 -0
  80. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +1 -0
  81. package/src/x_ite/Configuration/ComponentInfo.js +51 -22
  82. package/src/x_ite/Configuration/ProfileInfo.js +10 -6
  83. package/src/x_ite/Configuration/SupportedComponents.js +22 -20
  84. package/src/x_ite/Configuration/SupportedProfiles.js +1 -1
  85. package/src/x_ite/Configuration/UnitInfo.js +69 -26
  86. package/src/x_ite/Execution/X3DExecutionContext.js +78 -55
  87. package/src/x_ite/Execution/X3DExportedNode.js +75 -28
  88. package/src/x_ite/Execution/X3DImportedNode.js +227 -67
  89. package/src/x_ite/Execution/X3DScene.js +437 -117
  90. package/src/x_ite/Fields/ArrayFields.js +105 -55
  91. package/src/x_ite/Fields/SFBool.js +14 -6
  92. package/src/x_ite/Fields/SFColor.js +35 -12
  93. package/src/x_ite/Fields/SFColorRGBA.js +2 -0
  94. package/src/x_ite/Fields/SFDouble.js +17 -10
  95. package/src/x_ite/Fields/SFFloat.js +17 -10
  96. package/src/x_ite/Fields/SFImage.js +93 -8
  97. package/src/x_ite/Fields/SFInt32.js +14 -6
  98. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +38 -13
  99. package/src/x_ite/Fields/SFNode.js +59 -21
  100. package/src/x_ite/Fields/SFRotation.js +38 -13
  101. package/src/x_ite/Fields/SFString.js +14 -7
  102. package/src/x_ite/Fields/SFTime.js +14 -6
  103. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +39 -13
  104. package/src/x_ite/InputOutput/FileLoader.js +1 -1
  105. package/src/x_ite/InputOutput/Generator.js +178 -17
  106. package/src/x_ite/Parser/JSONParser.js +1 -1
  107. package/src/x_ite/Parser/VRMLParser.js +24 -27
  108. package/src/x_ite/Parser/X3DParser.js +0 -4
  109. package/src/x_ite/Parser/XMLParser.js +2 -2
  110. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +182 -64
  111. package/src/x_ite/Prototype/X3DProtoDeclaration.js +314 -93
  112. package/src/x_ite/Rendering/X3DRenderObject.js +6 -1
  113. package/src/x_ite/Routing/X3DRoute.js +104 -40
  114. package/src/x_ite.html +1 -1
  115. package/x_ite.min.html +1 -1
  116. package/dist/assets/components/ProjectiveTextureMapping.min.js +0 -1
  117. package/docs/Gemfile.lock +0 -116
@@ -57,9 +57,7 @@ function X3DTransformMatrix3DNode (executionContext)
57
57
 
58
58
  this .addType (X3DConstants .X3DTransformMatrix3DNode);
59
59
 
60
- this .matrix = new Matrix4 ();
61
- this .getBBox = this .getGetGroupBBox ();
62
- this .traverse = this .getGroupTraverse ();
60
+ this .matrix = new Matrix4 ();
63
61
  }
64
62
 
65
63
  X3DTransformMatrix3DNode .prototype = Object .assign (Object .create (X3DGroupingNode .prototype),
@@ -71,15 +69,15 @@ X3DTransformMatrix3DNode .prototype = Object .assign (Object .create (X3DGroupin
71
69
  {
72
70
  this .matrix .identity ();
73
71
 
74
- this .getBBox = this .getGetGroupBBox ();
75
- this .traverse = this .getGroupTraverse ();
72
+ this .getBBox = this .getSubBBox;
73
+ this .traverse = this .groupTraverse;
76
74
  }
77
75
  else
78
76
  {
79
77
  this .matrix .assign (matrix);
80
78
 
81
- this .getBBox = this .getGetBBox ();
82
- this .traverse = this .getTraverse ();
79
+ delete this .getBBox;
80
+ delete this .traverse;
83
81
  }
84
82
  },
85
83
  getMatrix: function ()
@@ -92,56 +90,33 @@ X3DTransformMatrix3DNode .prototype = Object .assign (Object .create (X3DGroupin
92
90
  {
93
91
  this .matrix .identity ();
94
92
 
95
- this .getBBox = this .getGetGroupBBox ();
96
- this .traverse = this .getGroupTraverse ();
93
+ this .getBBox = this .getSubBBox;
94
+ this .traverse = this .groupTraverse;
97
95
  }
98
96
  else
99
97
  {
100
98
  this .matrix .set (t, r, s, so, c);
101
99
 
102
- this .getBBox = this .getGetBBox ();
103
- this .traverse = this .getTraverse ();
100
+ delete this .getBBox;
101
+ delete this .traverse;
104
102
  }
105
103
  },
106
- getGetBBox: (function ()
104
+ getBBox: function getBBox (bbox, shadows)
107
105
  {
108
- function getBBox (bbox, shadows)
109
- {
110
- return this .getSubBBox (bbox, shadows) .multRight (this .matrix);
111
- }
112
-
113
- return function ()
114
- {
115
- return getBBox;
116
- };
117
- })(),
118
- getGetGroupBBox: function ()
119
- {
120
- return X3DGroupingNode .prototype .getBBox;
106
+ return this .getSubBBox (bbox, shadows) .multRight (this .matrix);
121
107
  },
122
- getTraverse: (function ()
108
+ traverse: function (type, renderObject)
123
109
  {
124
- function traverse (type, renderObject)
125
- {
126
- const modelViewMatrix = renderObject .getModelViewMatrix ();
127
-
128
- modelViewMatrix .push ();
129
- modelViewMatrix .multLeft (this .matrix);
110
+ const modelViewMatrix = renderObject .getModelViewMatrix ();
130
111
 
131
- X3DGroupingNode .prototype .traverse .call (this, type, renderObject);
112
+ modelViewMatrix .push ();
113
+ modelViewMatrix .multLeft (this .matrix);
132
114
 
133
- modelViewMatrix .pop ();
134
- }
115
+ X3DGroupingNode .prototype .traverse .call (this, type, renderObject);
135
116
 
136
- return function ()
137
- {
138
- return traverse;
139
- };
140
- })(),
141
- getGroupTraverse: function ()
142
- {
143
- return X3DGroupingNode .prototype .traverse;
117
+ modelViewMatrix .pop ();
144
118
  },
119
+ groupTraverse: X3DGroupingNode .prototype .traverse,
145
120
  });
146
121
 
147
122
  export default X3DTransformMatrix3DNode;
@@ -159,6 +159,8 @@ HAnimHumanoid .prototype = Object .assign (Object .create (X3DChildNode .prototy
159
159
  this ._scale .addFieldInterest (this .transformNode ._scale);
160
160
  this ._scaleOrientation .addFieldInterest (this .transformNode ._scaleOrientation);
161
161
  this ._center .addFieldInterest (this .transformNode ._center);
162
+ this ._visible .addFieldInterest (this .transformNode ._visible);
163
+ this ._bboxDisplay .addFieldInterest (this .transformNode ._bboxDisplay);
162
164
  this ._bboxSize .addFieldInterest (this .transformNode ._bboxSize);
163
165
  this ._bboxCenter .addFieldInterest (this .transformNode ._bboxCenter);
164
166
 
@@ -167,6 +169,8 @@ HAnimHumanoid .prototype = Object .assign (Object .create (X3DChildNode .prototy
167
169
  this .transformNode ._scale = this ._scale;
168
170
  this .transformNode ._scaleOrientation = this ._scaleOrientation;
169
171
  this .transformNode ._center = this ._center;
172
+ this .transformNode ._visible = this ._visible;
173
+ this .transformNode ._bboxDisplay = this ._bboxDisplay;
170
174
  this .transformNode ._bboxSize = this ._bboxSize;
171
175
  this .transformNode ._bboxCenter = this ._bboxCenter;
172
176
  this .transformNode ._children = [ this .viewpointsNode, this .skeletonNode, this .skinNode ];
@@ -200,13 +204,13 @@ HAnimHumanoid .prototype = Object .assign (Object .create (X3DChildNode .prototy
200
204
  },
201
205
  set_joints__: function ()
202
206
  {
203
- var jointNodes = this .jointNodes;
207
+ const jointNodes = this .jointNodes;
204
208
 
205
209
  jointNodes .length = 0;
206
210
 
207
- for (var i = 0, length = this ._joints .length; i < length; ++ i)
211
+ for (const node of this ._joints)
208
212
  {
209
- var jointNode = X3DCast (X3DConstants .HAnimJoint, this ._joints [i]);
213
+ const jointNode = X3DCast (X3DConstants .HAnimJoint, node);
210
214
 
211
215
  if (jointNode)
212
216
  jointNodes .push (jointNode);
@@ -232,12 +236,16 @@ HAnimHumanoid .prototype = Object .assign (Object .create (X3DChildNode .prototy
232
236
  },
233
237
  traverse: function (type, renderObject)
234
238
  {
239
+ renderObject .getJoints () .length = 0;
240
+
235
241
  this .transformNode .traverse (type, renderObject);
236
- this .skinning (type, renderObject);
242
+
243
+ if (this .isLive () .getValue ())
244
+ this .skinning (type, renderObject);
237
245
  },
238
246
  skinning: (function ()
239
247
  {
240
- var
248
+ const
241
249
  invModelMatrix = new Matrix4 (),
242
250
  vector = new Vector3 (0, 0, 0),
243
251
  rest = new Vector3 (0, 0, 0),
@@ -252,8 +260,8 @@ HAnimHumanoid .prototype = Object .assign (Object .create (X3DChildNode .prototy
252
260
  if (! this .skinCoordNode)
253
261
  return;
254
262
 
255
- var
256
- jointNodes = this .jointNodes,
263
+ const
264
+ jointNodes = this .jointNodes .length ? this .jointNodes : renderObject .getJoints (),
257
265
  skinNormalNode = this .skinNormalNode,
258
266
  skinCoordNode = this .skinCoordNode,
259
267
  restNormalNode = this .restNormalNode,
@@ -272,32 +280,25 @@ HAnimHumanoid .prototype = Object .assign (Object .create (X3DChildNode .prototy
272
280
 
273
281
  // Apply joint transformations.
274
282
 
275
- for (var j = 0, jointNodesLength = jointNodes .length; j < jointNodesLength; ++ j)
283
+ for (const jointNode of jointNodes)
276
284
  {
277
- var
278
- jointNode = jointNodes [j],
279
- skinCoordIndexLength = jointNode ._skinCoordIndex .length;
280
-
281
- if (skinCoordIndexLength === 0)
282
- continue;
283
-
284
- var
285
- jointMatrix = jointNode .getModelMatrix () .multRight (invModelMatrix),
286
- displacerNodes = jointNode .getDisplacers ();
285
+ const
286
+ skinCoordIndexLength = jointNode ._skinCoordIndex .length,
287
+ jointMatrix = jointNode .getModelMatrix () .multRight (invModelMatrix),
288
+ displacerNodes = jointNode .getDisplacers ();
287
289
 
288
- for (var d = 0, displacerNodesLength = displacerNodes .length; d < displacerNodesLength; ++ d)
290
+ for (const displacerNode of displacerNodes)
289
291
  {
290
- var
291
- displacerNode = displacerNodes [d],
292
+ const
292
293
  coordIndex = displacerNode ._coordIndex .getValue (),
293
294
  coordIndexLength = displacerNode ._coordIndex .length,
294
295
  weight = displacerNode ._weight .getValue (),
295
296
  displacements = displacerNode ._displacements .getValue (),
296
297
  displacementsLength = displacerNode ._displacements .length;
297
298
 
298
- for (var i = 0; i < coordIndexLength; ++ i)
299
+ for (let i = 0; i < coordIndexLength; ++ i)
299
300
  {
300
- var
301
+ const
301
302
  i3 = i * 3,
302
303
  index = coordIndex [i],
303
304
  displacement = i < displacementsLength ? point .set (displacements [i3], displacements [i3 + 1], displacements [i3 + 2]) : point .assign (Vector3 .Zero);
@@ -308,15 +309,15 @@ HAnimHumanoid .prototype = Object .assign (Object .create (X3DChildNode .prototy
308
309
  }
309
310
  }
310
311
 
311
- var
312
+ const
312
313
  normalMatrix = skinNormalNode ? jointMatrix .submatrix .transpose () .inverse () : null,
313
314
  skinCoordIndex = jointNode ._skinCoordIndex .getValue (),
314
315
  skinCoordWeight = jointNode ._skinCoordWeight .getValue (),
315
316
  skinCoordWeightLength = jointNode ._skinCoordWeight .length;
316
317
 
317
- for (var i = 0; i < skinCoordIndexLength; ++ i)
318
+ for (let i = 0; i < skinCoordIndexLength; ++ i)
318
319
  {
319
- var
320
+ const
320
321
  index = skinCoordIndex [i],
321
322
  weight = i < skinCoordWeightLength ? skinCoordWeight [i] : 1;
322
323
 
@@ -133,54 +133,42 @@ HAnimJoint .prototype = Object .assign (Object .create (X3DTransformNode .protot
133
133
 
134
134
  displacerNodes .length = 0;
135
135
 
136
- for (var i = 0, length = this ._displacers .length; i < length; ++ i)
136
+ for (const node of this ._displacers)
137
137
  {
138
- const displacerNode = X3DCast (X3DConstants .HAnimDisplacer, this ._displacers [i]);
138
+ const displacerNode = X3DCast (X3DConstants .HAnimDisplacer, node);
139
139
 
140
140
  if (displacerNode)
141
141
  displacerNodes .push (displacerNode);
142
142
  }
143
143
  },
144
- getTraverse: (function ()
144
+ traverse: function traverse (type, renderObject)
145
145
  {
146
- const base = X3DTransformNode .prototype .getTraverse ();
147
-
148
- function traverse (type, renderObject)
146
+ if (type === TraverseType .CAMERA)
149
147
  {
150
- if (type === TraverseType .CAMERA)
151
- this .modelMatrix .assign (this .getMatrix ()) .multRight (renderObject .getModelViewMatrix () .get ());
148
+ if (this ._skinCoordIndex .length)
149
+ {
150
+ renderObject .getJoints () .push (this);
152
151
 
153
- base .call (this, type, renderObject);
152
+ this .modelMatrix .assign (this .getMatrix ()) .multRight (renderObject .getModelViewMatrix () .get ());
153
+ }
154
154
  }
155
155
 
156
- return function ()
156
+ X3DTransformNode .prototype .traverse .call (this, type, renderObject);
157
+ },
158
+ groupTraverse: function (type, renderObject)
159
+ {
160
+ if (type === TraverseType .CAMERA)
157
161
  {
158
162
  if (this ._skinCoordIndex .length)
159
- return traverse;
160
-
161
- return base;
162
- };
163
- })(),
164
- getGroupTraverse: (function ()
165
- {
166
- const base = X3DTransformNode .prototype .getGroupTraverse ();
163
+ {
164
+ renderObject .getJoints () .push (this);
167
165
 
168
- function traverse (type, renderObject)
169
- {
170
- if (type === TraverseType .CAMERA)
171
166
  this .modelMatrix .assign (renderObject .getModelViewMatrix () .get ());
172
-
173
- base .call (this, type, renderObject);
167
+ }
174
168
  }
175
169
 
176
- return function ()
177
- {
178
- if (this ._skinCoordIndex .length)
179
- return traverse;
180
-
181
- return base;
182
- };
183
- })(),
170
+ X3DTransformNode .prototype .groupTraverse .call (this, type, renderObject);
171
+ },
184
172
  });
185
173
 
186
174
  export default HAnimJoint;
@@ -401,7 +401,8 @@ X3DGeometryNode .prototype = Object .assign (Object .create (X3DNode .prototype)
401
401
  if ((Xsize >= Ysize) && (Xsize >= Zsize))
402
402
  {
403
403
  // X size largest
404
- texCoordParams .Ssize = Xsize; texCoordParams .Sindex = 0;
404
+ texCoordParams .Ssize = Xsize;
405
+ texCoordParams .Sindex = 0;
405
406
 
406
407
  if (Ysize >= Zsize)
407
408
  texCoordParams .Tindex = 1;
@@ -411,7 +412,8 @@ X3DGeometryNode .prototype = Object .assign (Object .create (X3DNode .prototype)
411
412
  else if ((Ysize >= Xsize) && (Ysize >= Zsize))
412
413
  {
413
414
  // Y size largest
414
- texCoordParams .Ssize = Ysize; texCoordParams .Sindex = 1;
415
+ texCoordParams .Ssize = Ysize;
416
+ texCoordParams .Sindex = 1;
415
417
 
416
418
  if (Xsize >= Zsize)
417
419
  texCoordParams .Tindex = 0;
@@ -421,7 +423,8 @@ X3DGeometryNode .prototype = Object .assign (Object .create (X3DNode .prototype)
421
423
  else
422
424
  {
423
425
  // Z is the largest
424
- texCoordParams .Ssize = Zsize; texCoordParams .Sindex = 2;
426
+ texCoordParams .Ssize = Zsize;
427
+ texCoordParams .Sindex = 2;
425
428
 
426
429
  if (Xsize >= Ysize)
427
430
  texCoordParams .Tindex = 0;
@@ -45,19 +45,32 @@
45
45
  *
46
46
  ******************************************************************************/
47
47
 
48
+ import X3DChildNode from "../Core/X3DChildNode.js";
48
49
  import X3DTimeDependentNode from "../Time/X3DTimeDependentNode.js";
49
50
  import X3DConstants from "../../Base/X3DConstants.js";
50
51
 
51
52
  function X3DSoundProcessingNode (executionContext)
52
53
  {
54
+ X3DChildNode .call (this, executionContext);
53
55
  X3DTimeDependentNode .call (this, executionContext);
54
56
 
55
57
  this .addType (X3DConstants .X3DSoundProcessingNode);
56
58
  }
57
59
 
58
- X3DSoundProcessingNode .prototype = Object .assign (Object .create (X3DTimeDependentNode .prototype),
60
+ X3DSoundProcessingNode .prototype = Object .assign (Object .create (X3DChildNode .prototype),
61
+ X3DTimeDependentNode .prototype,
59
62
  {
60
63
  constructor: X3DSoundProcessingNode,
64
+ initialize: function ()
65
+ {
66
+ X3DChildNode .prototype .initialize .call (this);
67
+ X3DTimeDependentNode .prototype .initialize .call (this);
68
+ },
69
+ dispose: function ()
70
+ {
71
+ X3DTimeDependentNode .prototype .dispose .call (this);
72
+ X3DChildNode .prototype .dispose .call (this);
73
+ },
61
74
  });
62
75
 
63
76
  export default X3DSoundProcessingNode;
@@ -45,7 +45,6 @@
45
45
  *
46
46
  ******************************************************************************/
47
47
 
48
- import Fields from "../../Fields.js";
49
48
  import X3DChildNode from "../Core/X3DChildNode.js";
50
49
  import X3DTimeDependentNode from "../Time/X3DTimeDependentNode.js";
51
50
  import X3DConstants from "../../Base/X3DConstants.js";
@@ -182,7 +182,7 @@ TextureProjector .prototype = Object .assign (Object .create (X3DTextureProjecto
182
182
  },
183
183
  getComponentName: function ()
184
184
  {
185
- return "ProjectiveTextureMapping";
185
+ return "TextureProjector";
186
186
  },
187
187
  getContainerField: function ()
188
188
  {
@@ -203,7 +203,7 @@ TextureProjectorParallel .prototype = Object .assign (Object .create (X3DTexture
203
203
  },
204
204
  getComponentName: function ()
205
205
  {
206
- return "ProjectiveTextureMapping";
206
+ return "TextureProjector";
207
207
  },
208
208
  getContainerField: function ()
209
209
  {
@@ -197,6 +197,11 @@ TimeSensor .prototype = Object .assign (Object .create (X3DSensorNode .prototype
197
197
 
198
198
  this ._time = time;
199
199
  },
200
+ dispose: function ()
201
+ {
202
+ X3DTimeDependentNode .prototype .dispose .call (this);
203
+ X3DSensorNode .prototype .dispose .call (this);
204
+ },
200
205
  });
201
206
 
202
207
  export default TimeSensor;
@@ -342,6 +342,7 @@ X3DTimeDependentNode .prototype = Object .assign (Object .create (X3DChildNode .
342
342
  set_resume: function () { },
343
343
  set_stop: function () { },
344
344
  set_time: function () { },
345
+ dispose: function () { }
345
346
  });
346
347
 
347
348
  export default X3DTimeDependentNode;
@@ -47,7 +47,6 @@
47
47
 
48
48
  import X3DObject from "../Base/X3DObject.js";
49
49
  import URLs from "../Browser/Networking/URLs.js";
50
- import Generator from "../InputOutput/Generator.js";
51
50
 
52
51
  function ComponentInfo ({ name, level, title, providerUrl, external = false, dependencies = [ ] })
53
52
  {
@@ -67,31 +66,61 @@ ComponentInfo .prototype = Object .assign (Object .create (X3DObject .prototype)
67
66
  {
68
67
  return "ComponentInfo";
69
68
  },
70
- toVRMLStream: function (stream)
69
+ toVRMLStream: function (generator)
71
70
  {
72
- stream .string += "COMPONENT";
73
- stream .string += " ";
74
- stream .string += this .name;
75
- stream .string += " ";
76
- stream .string += ":";
77
- stream .string += " ";
78
- stream .string += this .level;
71
+ generator .string += "COMPONENT";
72
+ generator .string += generator .Space ();
73
+ generator .string += this .name;
74
+ generator .string += generator .TidySpace ();
75
+ generator .string += ":";
76
+ generator .string += generator .TidySpace ();
77
+ generator .string += this .level;
79
78
  },
80
- toXMLStream: function (stream)
79
+ toXMLStream: function (generator)
81
80
  {
82
- const generator = Generator .Get (stream);
81
+ generator .string += generator .Indent ();
82
+ generator .string += "<component";
83
+ generator .string += generator .Space ();
84
+ generator .string += "name='";
85
+ generator .string += this .name;
86
+ generator .string += "'";
87
+ generator .string += generator .Space ();
88
+ generator .string += "level='";
89
+ generator .string += this .level;
90
+ generator .string += "'";
91
+ generator .string += "/>";
92
+ },
93
+ toJSONStream: function (generator)
94
+ {
95
+ generator .string += generator .Indent ();
96
+ generator .string += '{';
97
+ generator .string += generator .TidyBreak ();
98
+ generator .string += generator .IncIndent ();
99
+
100
+ generator .string += generator .Indent ();
101
+ generator .string += '"';
102
+ generator .string += "@name";
103
+ generator .string += '"';
104
+ generator .string += ':';
105
+ generator .string += generator .TidySpace ();
106
+ generator .string += '"';
107
+ generator .string += this .name;
108
+ generator .string += '"';
109
+ generator .string += ',';
110
+ generator .string += generator .TidyBreak ();
111
+
112
+ generator .string += generator .Indent ();
113
+ generator .string += '"';
114
+ generator .string += "@level";
115
+ generator .string += '"';
116
+ generator .string += ':';
117
+ generator .string += generator .TidySpace ();
118
+ generator .string += this .level;
119
+ generator .string += generator .TidyBreak ();
83
120
 
84
- stream .string += generator .Indent ();
85
- stream .string += "<component";
86
- stream .string += " ";
87
- stream .string += "name='";
88
- stream .string += this .name;
89
- stream .string += "'";
90
- stream .string += " ";
91
- stream .string += "level='";
92
- stream .string += this .level;
93
- stream .string += "'";
94
- stream .string += "/>";
121
+ generator .string += generator .DecIndent ();
122
+ generator .string += generator .Indent ();
123
+ generator .string += '}';
95
124
  },
96
125
  });
97
126
 
@@ -62,15 +62,19 @@ ProfileInfo .prototype = Object .assign (Object .create (X3DObject .prototype),
62
62
  {
63
63
  return "ProfileInfo";
64
64
  },
65
- toVRMLStream: function (stream)
65
+ toVRMLStream: function (generator)
66
66
  {
67
- stream .string += "PROFILE";
68
- stream .string += " ";
69
- stream .string += this .name;
67
+ generator .string += "PROFILE";
68
+ generator .string += generator .Space ();
69
+ generator .string += this .name;
70
70
  },
71
- toXMLStream: function (stream)
71
+ toXMLStream: function (generator)
72
72
  {
73
- stream .string += this .name;
73
+ generator .string += this .name;
74
+ },
75
+ toJSONStream: function (generator)
76
+ {
77
+ generator .string += this .name;
74
78
  },
75
79
  });
76
80
 
@@ -59,7 +59,7 @@ SupportedComponents .addComponent (
59
59
 
60
60
  SupportedComponents .addComponent (
61
61
  {
62
- title: "Computer-Aided Design (CAD) model geometry",
62
+ title: "CAD geometry",
63
63
  name: "CADGeometry",
64
64
  level: 2,
65
65
  external: true,
@@ -82,7 +82,7 @@ SupportedComponents .addComponent (
82
82
 
83
83
  SupportedComponents .addComponent (
84
84
  {
85
- title: "Distributed interactive simulation (DIS)",
85
+ title: "Distributed interactive simulation",
86
86
  name: "DIS",
87
87
  level: 2,
88
88
  external: true,
@@ -99,14 +99,14 @@ SupportedComponents .addComponent (
99
99
  {
100
100
  title: "Environmental sensor",
101
101
  name: "EnvironmentalSensor",
102
- level: 4,
102
+ level: 3,
103
103
  });
104
104
 
105
105
  SupportedComponents .addComponent (
106
106
  {
107
107
  title: "Event utilities",
108
108
  name: "EventUtilities",
109
- level: 4,
109
+ level: 1,
110
110
  external: true,
111
111
  });
112
112
 
@@ -114,7 +114,7 @@ SupportedComponents .addComponent (
114
114
  {
115
115
  title: "Followers",
116
116
  name: "Followers",
117
- level: 4,
117
+ level: 1,
118
118
  });
119
119
 
120
120
  SupportedComponents .addComponent (
@@ -211,7 +211,7 @@ SupportedComponents .addComponent (
211
211
 
212
212
  SupportedComponents .addComponent (
213
213
  {
214
- title: "Non-uniform Rational B-Spline (NURBS)",
214
+ title: "NURBS",
215
215
  name: "NURBS",
216
216
  level: 4,
217
217
  external: true,
@@ -227,7 +227,7 @@ SupportedComponents .addComponent (
227
227
 
228
228
  SupportedComponents .addComponent (
229
229
  {
230
- title: "Picking sensor",
230
+ title: "Picking",
231
231
  name: "Picking",
232
232
  level: 3,
233
233
  external: true,
@@ -243,19 +243,21 @@ SupportedComponents .addComponent (
243
243
 
244
244
  SupportedComponents .addComponent (
245
245
  {
246
- title: "Projective Texture Mapping",
247
- name: "ProjectiveTextureMapping",
248
- level: 2,
249
- external: true,
246
+ title: "Programmable shaders",
247
+ name: "Shaders",
248
+ level: 1,
250
249
  });
251
250
 
252
251
  SupportedComponents .addComponent (
253
252
  {
254
- title: "Programmable shaders",
255
- name: "Shaders",
256
- level: 1,
253
+ title: "Texture Projector",
254
+ name: "TextureProjector",
255
+ level: 2,
256
+ external: true,
257
257
  });
258
258
 
259
+ SupportedComponents .addAlias ("ProjectiveTextureMapping", "TextureProjector");
260
+
259
261
  SupportedComponents .addComponent (
260
262
  {
261
263
  title: "Rendering",
@@ -267,7 +269,7 @@ SupportedComponents .addComponent (
267
269
  {
268
270
  title: "Rigid body physics",
269
271
  name: "RigidBodyPhysics",
270
- level: 5,
272
+ level: 2,
271
273
  external: true,
272
274
  });
273
275
 
@@ -283,14 +285,14 @@ SupportedComponents .addComponent (
283
285
  {
284
286
  title: "Shape",
285
287
  name: "Shape",
286
- level: 5,
288
+ level: 4,
287
289
  });
288
290
 
289
291
  SupportedComponents .addComponent (
290
292
  {
291
293
  title: "Sound",
292
294
  name: "Sound",
293
- level: 1,
295
+ level: 3,
294
296
  });
295
297
 
296
298
  SupportedComponents .addComponent (
@@ -305,14 +307,14 @@ SupportedComponents .addComponent (
305
307
  {
306
308
  title: "Texturing",
307
309
  name: "Texturing",
308
- level: 3,
310
+ level: 4,
309
311
  });
310
312
 
311
313
  SupportedComponents .addComponent (
312
314
  {
313
315
  title: "Texturing3D",
314
316
  name: "Texturing3D",
315
- level: 3,
317
+ level: 2,
316
318
  external: true,
317
319
  });
318
320
 
@@ -327,7 +329,7 @@ SupportedComponents .addComponent (
327
329
  {
328
330
  title: "Volume rendering",
329
331
  name: "VolumeRendering",
330
- level: 2,
332
+ level: 4,
331
333
  external: true,
332
334
  dependencies: ["CADGeometry", "Texturing3D"],
333
335
  });