x_ite 8.3.3 → 8.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) 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 +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 +21 -19
  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 -23
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +19 -19
  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 +28 -28
  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/TextureProjector.js +14 -14
  34. package/dist/assets/components/TextureProjector.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +27 -27
  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 +9 -9
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/x_ite.css +1 -1
  42. package/dist/x_ite.js +2711 -292
  43. package/dist/x_ite.min.js +1 -1
  44. package/dist/x_ite.zip +0 -0
  45. package/docs/_config.yml +2 -2
  46. package/docs/_posts/reference/field-services-and-objects.md +24 -4
  47. package/docs/_posts/reference/prototype-services.md +24 -4
  48. package/docs/_posts/reference/scene-services.md +9 -4
  49. package/docs/_posts/what's-new.md +11 -1
  50. package/package.json +1 -1
  51. package/src/x_ite/Base/X3DInfoArray.js +26 -0
  52. package/src/x_ite/Base/X3DObject.js +1 -1
  53. package/src/x_ite/Base/X3DObjectArrayField.js +44 -0
  54. package/src/x_ite/Base/X3DTypedArrayField.js +74 -0
  55. package/src/x_ite/Browser/VERSION.js +1 -1
  56. package/src/x_ite/Components/Core/X3DNode.js +486 -23
  57. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +371 -10
  58. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +3 -1
  59. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +6 -3
  60. package/src/x_ite/Configuration/ComponentInfo.js +32 -0
  61. package/src/x_ite/Configuration/ProfileInfo.js +4 -0
  62. package/src/x_ite/Configuration/UnitInfo.js +46 -0
  63. package/src/x_ite/Execution/X3DExecutionContext.js +54 -0
  64. package/src/x_ite/Execution/X3DExportedNode.js +52 -0
  65. package/src/x_ite/Execution/X3DImportedNode.js +164 -0
  66. package/src/x_ite/Execution/X3DScene.js +339 -0
  67. package/src/x_ite/Fields/ArrayFields.js +48 -0
  68. package/src/x_ite/Fields/SFBool.js +8 -0
  69. package/src/x_ite/Fields/SFColor.js +26 -1
  70. package/src/x_ite/Fields/SFColorRGBA.js +2 -0
  71. package/src/x_ite/Fields/SFDouble.js +10 -0
  72. package/src/x_ite/Fields/SFFloat.js +10 -0
  73. package/src/x_ite/Fields/SFImage.js +61 -1
  74. package/src/x_ite/Fields/SFInt32.js +11 -3
  75. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +26 -1
  76. package/src/x_ite/Fields/SFNode.js +40 -25
  77. package/src/x_ite/Fields/SFRotation.js +28 -3
  78. package/src/x_ite/Fields/SFString.js +8 -0
  79. package/src/x_ite/Fields/SFTime.js +8 -0
  80. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +30 -4
  81. package/src/x_ite/InputOutput/Generator.js +63 -2
  82. package/src/x_ite/Parser/JSONParser.js +1 -1
  83. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +123 -0
  84. package/src/x_ite/Prototype/X3DProtoDeclaration.js +228 -0
  85. package/src/x_ite/Routing/X3DRoute.js +67 -0
@@ -306,6 +306,234 @@ X3DProtoDeclaration .prototype = Object .assign (Object .create (X3DProtoDeclara
306
306
  generator .string += generator .Indent ();
307
307
  generator .string += "</ProtoDeclare>";
308
308
  },
309
+ toJSONStream: function (generator)
310
+ {
311
+ generator .string += generator .Indent ();
312
+ generator .string += '{';
313
+ generator .string += generator .TidySpace ();
314
+ generator .string += '"';
315
+ generator .string += "ProtoDeclare";
316
+ generator .string += '"';
317
+ generator .string += ':';
318
+ generator .string += generator .TidyBreak ();
319
+ generator .string += generator .IncIndent ();
320
+ generator .string += generator .Indent ();
321
+ generator .string += '{';
322
+ generator .string += generator .TidyBreak ();
323
+ generator .string += generator .IncIndent ();
324
+ generator .string += generator .Indent ();
325
+ generator .string += '"';
326
+ generator .string += "@name";
327
+ generator .string += '"';
328
+ generator .string += ':';
329
+ generator .string += generator .JSONEncode (this .getName ());
330
+ generator .string += ',';
331
+ generator .string += generator .TidyBreak ();
332
+
333
+ generator .string += generator .Indent ();
334
+ generator .string += '"';
335
+ generator .string += "ProtoInterface";
336
+ generator .string += '"';
337
+ generator .string += ':';
338
+ generator .string += generator .TidySpace ();
339
+ generator .string += '{';
340
+ generator .string += generator .TidyBreak ();
341
+ generator .string += generator .IncIndent ();
342
+
343
+
344
+ // Fields
345
+
346
+ generator .EnterScope ();
347
+
348
+ const userDefinedFields = this .getUserDefinedFields ();
349
+
350
+ if (userDefinedFields .length)
351
+ {
352
+ generator .string += generator .Indent ();
353
+ generator .string += '"';
354
+ generator .string += "field";
355
+ generator .string += '"';
356
+ generator .string += ':';
357
+ generator .string += generator .TidySpace ();
358
+ generator .string += '[';
359
+ generator .string += generator .TidyBreak ();
360
+ generator .string += generator .IncIndent ();
361
+
362
+ for (const field of userDefinedFields)
363
+ {
364
+ generator .string += generator .Indent ();
365
+ generator .string += '{';
366
+ generator .string += generator .TidyBreak ();
367
+ generator .string += generator .IncIndent ();
368
+
369
+ generator .string += generator .Indent ();
370
+ generator .string += '"';
371
+ generator .string += "@accessType";
372
+ generator .string += '"';
373
+ generator .string += ':';
374
+ generator .string += generator .TidySpace ();
375
+ generator .string += '"';
376
+ generator .string += generator .AccessType (field .getAccessType ());
377
+ generator .string += '"';
378
+ generator .string += ',';
379
+ generator .string += generator .TidyBreak ();
380
+
381
+ generator .string += generator .Indent ();
382
+ generator .string += '"';
383
+ generator .string += "@type";
384
+ generator .string += '"';
385
+ generator .string += ':';
386
+ generator .string += generator .TidySpace ();
387
+ generator .string += '"';
388
+ generator .string += field .getTypeName ();
389
+ generator .string += '"';
390
+ generator .string += ',';
391
+ generator .string += generator .TidyBreak ();
392
+
393
+ generator .string += generator .Indent ();
394
+ generator .string += '"';
395
+ generator .string += "@name";
396
+ generator .string += '"';
397
+ generator .string += ':';
398
+ generator .string += generator .TidySpace ();
399
+ generator .string += generator .JSONEncode (field .getName ());
400
+
401
+ if (field .isDefaultValue ())
402
+ {
403
+ generator .string += generator .TidyBreak ();
404
+ }
405
+ else
406
+ {
407
+ generator .string += ',';
408
+ generator .string += generator .TidyBreak ();
409
+
410
+ // Output value
411
+
412
+ switch (field .getType ())
413
+ {
414
+ case X3DConstants .SFNode:
415
+ {
416
+ generator .string += generator .Indent ();
417
+ generator .string += '"';
418
+ generator .string += "-children";
419
+ generator .string += '"';
420
+ generator .string += ':';
421
+ generator .string += generator .TidySpace ();
422
+ generator .string += '[';
423
+ generator .string += generator .TidyBreak ();
424
+ generator .string += generator .IncIndent ();
425
+ generator .string += generator .Indent ();
426
+
427
+ field .toJSONStream (generator);
428
+
429
+ generator .string += generator .TidyBreak ();
430
+ generator .string += generator .DecIndent ();
431
+ generator .string += generator .Indent ();
432
+ generator .string += ']';
433
+ generator .string += generator .TidyBreak ();
434
+ break;
435
+ }
436
+ case X3DConstants .MFNode:
437
+ {
438
+ generator .string += generator .Indent ();
439
+ generator .string += '"';
440
+ generator .string += "-children";
441
+ generator .string += '"';
442
+ generator .string += ':';
443
+ generator .string += generator .TidySpace ();
444
+
445
+ field .toJSONStream (generator);
446
+
447
+ generator .string += generator .TidyBreak ();
448
+ break;
449
+ }
450
+ default:
451
+ {
452
+ generator .string += generator .Indent ();
453
+ generator .string += '"';
454
+ generator .string += "@value";
455
+ generator .string += '"';
456
+ generator .string += ':';
457
+ generator .string += generator .TidySpace ();
458
+
459
+ field .toJSONStream (generator);
460
+
461
+ generator .string += generator .TidyBreak ();
462
+ break;
463
+ }
464
+ }
465
+ }
466
+
467
+ generator .string += generator .DecIndent ();
468
+ generator .string += generator .Indent ();
469
+ generator .string += '}';
470
+
471
+ if (field !== userDefinedFields .at (-1))
472
+ generator .string += ',';
473
+
474
+ generator .string += generator .TidyBreak ();
475
+ }
476
+
477
+ generator .string += generator .DecIndent ();
478
+ generator .string += generator .Indent ();
479
+ generator .string += ']';
480
+ }
481
+
482
+ generator .string += generator .DecIndent ();
483
+ generator .string += generator .TidyBreak ();
484
+ generator .string += generator .Indent ();
485
+ generator .string += '}';
486
+ generator .string += ',';
487
+ generator .string += generator .TidyBreak ();
488
+
489
+ generator .LeaveScope ();
490
+
491
+
492
+ // ProtoBody
493
+
494
+ generator .string += generator .Indent ();
495
+ generator .string += '"';
496
+ generator .string += "ProtoBody";
497
+ generator .string += '"';
498
+ generator .string += ':';
499
+ generator .string += generator .TidySpace ();
500
+ generator .string += '{';
501
+ generator .string += generator .TidyBreak ();
502
+ generator .string += generator .IncIndent ();
503
+
504
+ generator .string += generator .Indent ();
505
+ generator .string += '"';
506
+ generator .string += "-children";
507
+ generator .string += '"';
508
+ generator .string += ':';
509
+ generator .string += generator .TidySpace ();
510
+ generator .string += '[';
511
+ generator .string += generator .TidyBreak ();
512
+ generator .string += generator .IncIndent ();
513
+
514
+ this [_body] .toJSONStream (generator);
515
+
516
+ generator .string = generator .string .replace (/,(\s*)$/s, "$1");
517
+
518
+ generator .string += generator .DecIndent ();
519
+ generator .string += generator .Indent ();
520
+ generator .string += ']';
521
+ generator .string += generator .TidyBreak ();
522
+
523
+ // End
524
+
525
+ generator .string += generator .DecIndent ();
526
+ generator .string += generator .Indent ();
527
+ generator .string += '}';
528
+ generator .string += generator .TidyBreak ();
529
+ generator .string += generator .DecIndent ();
530
+ generator .string += generator .Indent ();
531
+ generator .string += '}';
532
+ generator .string += generator .TidyBreak ();
533
+ generator .string += generator .DecIndent ();
534
+ generator .string += generator .Indent ();
535
+ generator .string += '}';
536
+ },
309
537
  });
310
538
 
311
539
  for (const key of Reflect .ownKeys (X3DProtoDeclaration .prototype))
@@ -172,6 +172,73 @@ X3DRoute .prototype = Object .assign (Object .create (X3DObject .prototype),
172
172
  generator .string += "'";
173
173
  generator .string += "/>";
174
174
  },
175
+ toJSONStream: function (generator)
176
+ {
177
+ const
178
+ sourceNodeName = generator .LocalName (this [_sourceNode]),
179
+ destinationNodeName = generator .LocalName (this [_destinationNode]);
180
+
181
+ generator .string += generator .Indent ();
182
+ generator .string += '{';
183
+ generator .string += generator .TidySpace ();
184
+ generator .string += '"';
185
+ generator .string += "ROUTE";
186
+ generator .string += '"';
187
+ generator .string += ':';
188
+ generator .string += generator .TidyBreak ();
189
+ generator .string += generator .IncIndent ();
190
+ generator .string += generator .Indent ();
191
+ generator .string += '{';
192
+ generator .string += generator .TidyBreak ();
193
+ generator .string += generator .IncIndent ();
194
+
195
+ generator .string += generator .Indent ();
196
+ generator .string += '"';
197
+ generator .string += "@fromNode";
198
+ generator .string += '"';
199
+ generator .string += ':';
200
+ generator .string += generator .TidySpace ();
201
+ generator .string += generator .JSONEncode (sourceNodeName);
202
+ generator .string += ',';
203
+ generator .string += generator .TidyBreak ();
204
+
205
+ generator .string += generator .Indent ();
206
+ generator .string += '"';
207
+ generator .string += "@fromField";
208
+ generator .string += '"';
209
+ generator .string += ':';
210
+ generator .string += generator .TidySpace ();
211
+ generator .string += generator .JSONEncode (this [_sourceField] .getName ());
212
+ generator .string += ',';
213
+ generator .string += generator .TidyBreak ();
214
+
215
+ generator .string += generator .Indent ();
216
+ generator .string += '"';
217
+ generator .string += "@toNode";
218
+ generator .string += '"';
219
+ generator .string += ':';
220
+ generator .string += generator .TidySpace ();
221
+ generator .string += generator .JSONEncode (destinationNodeName);
222
+ generator .string += ',';
223
+ generator .string += generator .TidyBreak ();
224
+
225
+ generator .string += generator .Indent ();
226
+ generator .string += '"';
227
+ generator .string += "@toField";
228
+ generator .string += '"';
229
+ generator .string += ':';
230
+ generator .string += generator .TidySpace ();
231
+ generator .string += generator .JSONEncode (this [_destinationField] .getName ());
232
+ generator .string += generator .TidyBreak ();
233
+
234
+ generator .string += generator .DecIndent ();
235
+ generator .string += generator .Indent ();
236
+ generator .string += '}';
237
+ generator .string += generator .TidyBreak ();
238
+ generator .string += generator .DecIndent ();
239
+ generator .string += generator .Indent ();
240
+ generator .string += '}';
241
+ },
175
242
  dispose: function ()
176
243
  {
177
244
  this .disconnect ();