x_ite 8.7.9 → 8.8.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 (644) hide show
  1. package/Makefile +3 -0
  2. package/build/bin/version.pl +1 -1
  3. package/dist/assets/components/Annotation.js +248 -169
  4. package/dist/assets/components/Annotation.min.js +1 -1
  5. package/dist/assets/components/CADGeometry.js +296 -233
  6. package/dist/assets/components/CADGeometry.min.js +1 -1
  7. package/dist/assets/components/CubeMapTexturing.js +217 -172
  8. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  9. package/dist/assets/components/DIS.js +451 -387
  10. package/dist/assets/components/DIS.min.js +1 -1
  11. package/dist/assets/components/EventUtilities.js +309 -208
  12. package/dist/assets/components/EventUtilities.min.js +1 -1
  13. package/dist/assets/components/Geometry2D.js +397 -333
  14. package/dist/assets/components/Geometry2D.min.js +1 -1
  15. package/dist/assets/components/Geospatial.js +705 -575
  16. package/dist/assets/components/Geospatial.min.js +1 -1
  17. package/dist/assets/components/HAnim.js +319 -259
  18. package/dist/assets/components/HAnim.min.js +1 -1
  19. package/dist/assets/components/KeyDeviceSensor.js +134 -99
  20. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  21. package/dist/assets/components/Layout.js +305 -240
  22. package/dist/assets/components/Layout.min.js +1 -1
  23. package/dist/assets/components/NURBS.js +781 -620
  24. package/dist/assets/components/NURBS.min.js +1 -1
  25. package/dist/assets/components/ParticleSystems.js +632 -460
  26. package/dist/assets/components/ParticleSystems.min.js +1 -1
  27. package/dist/assets/components/Picking.js +376 -295
  28. package/dist/assets/components/Picking.min.js +1 -1
  29. package/dist/assets/components/RigidBodyPhysics.js +936 -749
  30. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  31. package/dist/assets/components/Scripting.js +166 -96
  32. package/dist/assets/components/Scripting.min.js +1 -1
  33. package/dist/assets/components/Text.js +241 -207
  34. package/dist/assets/components/Text.min.js +1 -1
  35. package/dist/assets/components/TextureProjector.js +162 -129
  36. package/dist/assets/components/TextureProjector.min.js +1 -1
  37. package/dist/assets/components/Texturing3D.js +485 -384
  38. package/dist/assets/components/Texturing3D.min.js +1 -1
  39. package/dist/assets/components/VolumeRendering.js +741 -547
  40. package/dist/assets/components/VolumeRendering.min.js +1 -1
  41. package/dist/assets/components/X_ITE.js +66 -54
  42. package/dist/assets/components/X_ITE.min.js +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.js +61527 -59688
  45. package/dist/x_ite.min.js +1 -1
  46. package/dist/x_ite.zip +0 -0
  47. package/docs/_config.yml +2 -2
  48. package/package.json +4 -4
  49. package/src/assets/components/Annotation.js +14 -14
  50. package/src/assets/components/CADGeometry.js +14 -14
  51. package/src/assets/components/CubeMapTexturing.js +11 -11
  52. package/src/assets/components/DIS.js +13 -13
  53. package/src/assets/components/EventUtilities.js +16 -16
  54. package/src/assets/components/Geometry2D.js +15 -15
  55. package/src/assets/components/Geospatial.js +19 -19
  56. package/src/assets/components/HAnim.js +13 -13
  57. package/src/assets/components/KeyDeviceSensor.js +10 -10
  58. package/src/assets/components/Layout.js +13 -13
  59. package/src/assets/components/NURBS.js +24 -24
  60. package/src/assets/components/ParticleSystems.js +19 -19
  61. package/src/assets/components/Picking.js +14 -14
  62. package/src/assets/components/RigidBodyPhysics.js +24 -24
  63. package/src/assets/components/Scripting.js +9 -9
  64. package/src/assets/components/Text.js +10 -10
  65. package/src/assets/components/TextureProjector.js +10 -10
  66. package/src/assets/components/Texturing3D.js +16 -16
  67. package/src/assets/components/VolumeRendering.js +23 -23
  68. package/src/assets/components/X_ITE.js +8 -7
  69. package/src/bookmarks.js +2 -2
  70. package/src/lib/jquery.js +42 -30
  71. package/src/standard/Geospatial/Geodetic.js +8 -9
  72. package/src/standard/Geospatial/UniversalTransverseMercator.js +4 -5
  73. package/src/standard/Math/Algorithm.js +41 -56
  74. package/src/standard/Math/Algorithms/Bezier.js +2 -2
  75. package/src/standard/Math/Algorithms/MergeSort.js +6 -6
  76. package/src/standard/Math/Algorithms/PartialSort.js +5 -5
  77. package/src/standard/Math/Algorithms/QuickSort.js +5 -5
  78. package/src/standard/Math/Geometry/Box2.js +16 -17
  79. package/src/standard/Math/Geometry/Box3.js +18 -19
  80. package/src/standard/Math/Geometry/Camera.js +6 -5
  81. package/src/standard/Math/Geometry/Cylinder3.js +6 -7
  82. package/src/standard/Math/Geometry/Line2.js +20 -18
  83. package/src/standard/Math/Geometry/Line3.js +20 -18
  84. package/src/standard/Math/Geometry/Plane3.js +11 -12
  85. package/src/standard/Math/Geometry/Sphere3.js +6 -7
  86. package/src/standard/Math/Geometry/Spheroid3.js +6 -7
  87. package/src/standard/Math/Geometry/Triangle2.js +4 -3
  88. package/src/standard/Math/Geometry/Triangle3.js +5 -4
  89. package/src/standard/Math/Geometry/ViewVolume.js +6 -7
  90. package/src/standard/Math/Numbers/Color3.js +18 -19
  91. package/src/standard/Math/Numbers/Color4.js +20 -21
  92. package/src/standard/Math/Numbers/Complex.js +28 -29
  93. package/src/standard/Math/Numbers/Matrix2.js +22 -23
  94. package/src/standard/Math/Numbers/Matrix3.js +28 -29
  95. package/src/standard/Math/Numbers/Matrix4.js +29 -30
  96. package/src/standard/Math/Numbers/Quaternion.js +40 -41
  97. package/src/standard/Math/Numbers/Rotation4.js +34 -35
  98. package/src/standard/Math/Numbers/Vector2.js +29 -30
  99. package/src/standard/Math/Numbers/Vector3.js +32 -33
  100. package/src/standard/Math/Numbers/Vector4.js +34 -35
  101. package/src/standard/Math/Utility/BVH.js +14 -15
  102. package/src/standard/Math/Utility/MatrixStack.js +12 -12
  103. package/src/standard/Time/MicroTime.js +4 -3
  104. package/src/standard/Utility/BitSet.js +10 -11
  105. package/src/standard/Utility/DataStorage.js +10 -10
  106. package/src/standard/Utility/MapUtilities.js +2 -1
  107. package/src/standard/Utility/ObjectCache.js +3 -3
  108. package/src/tests.js +10 -0
  109. package/src/x_ite/Base/Events.js +3 -3
  110. package/src/x_ite/Base/FieldArray.js +11 -9
  111. package/src/x_ite/Base/FieldDefinitionArray.js +11 -9
  112. package/src/x_ite/Base/X3DArrayField.js +13 -14
  113. package/src/x_ite/Base/X3DBaseNode.js +218 -178
  114. package/src/x_ite/Base/X3DCast.js +1 -1
  115. package/src/x_ite/Base/X3DChildObject.js +162 -53
  116. package/src/x_ite/Base/X3DConstants.js +74 -60
  117. package/src/x_ite/Base/X3DEventObject.js +6 -12
  118. package/src/x_ite/Base/X3DField.js +45 -42
  119. package/src/x_ite/Base/X3DFieldDefinition.js +9 -7
  120. package/src/x_ite/Base/X3DInfoArray.js +75 -65
  121. package/src/x_ite/Base/X3DObject.js +60 -30
  122. package/src/x_ite/Base/X3DObjectArrayField.js +48 -83
  123. package/src/x_ite/Base/X3DTypedArrayField.js +46 -40
  124. package/src/x_ite/Browser/Core/BrowserOptions.js +55 -57
  125. package/src/x_ite/Browser/Core/BrowserProperties.js +18 -20
  126. package/src/x_ite/Browser/Core/BrowserTimings.js +29 -33
  127. package/src/x_ite/Browser/Core/Context.js +7 -7
  128. package/src/x_ite/Browser/Core/ContextMenu.js +61 -83
  129. package/src/x_ite/Browser/Core/Notification.js +12 -12
  130. package/src/x_ite/Browser/Core/RenderingProperties.js +28 -28
  131. package/src/x_ite/Browser/Core/X3DCoreContext.js +45 -37
  132. package/src/x_ite/Browser/DOMIntegration.js +4 -1
  133. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +3 -3
  134. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +1 -1
  135. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +12 -12
  136. package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +8 -14
  137. package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +8 -14
  138. package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +13 -17
  139. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +15 -19
  140. package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +12 -16
  141. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +9 -9
  142. package/src/x_ite/Browser/Geometry3D/BoxOptions.js +12 -16
  143. package/src/x_ite/Browser/Geometry3D/ConeOptions.js +6 -12
  144. package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +6 -12
  145. package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +13 -17
  146. package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +17 -21
  147. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -8
  148. package/src/x_ite/Browser/Geospatial/Geocentric.js +5 -6
  149. package/src/x_ite/Browser/Geospatial/Geospatial.js +10 -10
  150. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +3 -3
  151. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +2 -3
  152. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +8 -9
  153. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +7 -8
  154. package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +3 -4
  155. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +8 -8
  156. package/src/x_ite/Browser/Layering/X3DLayeringContext.js +4 -4
  157. package/src/x_ite/Browser/Layout/ScreenText.js +7 -8
  158. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +3 -3
  159. package/src/x_ite/Browser/Legacy.js +32 -12
  160. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +5 -5
  161. package/src/x_ite/Browser/NURBS/NURBS.js +10 -10
  162. package/src/x_ite/Browser/Navigation/ExamineViewer.js +32 -20
  163. package/src/x_ite/Browser/Navigation/FlyViewer.js +22 -10
  164. package/src/x_ite/Browser/Navigation/LookAtViewer.js +29 -17
  165. package/src/x_ite/Browser/Navigation/NoneViewer.js +15 -5
  166. package/src/x_ite/Browser/Navigation/PlaneViewer.js +24 -12
  167. package/src/x_ite/Browser/Navigation/WalkViewer.js +22 -10
  168. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +17 -18
  169. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +19 -19
  170. package/src/x_ite/Browser/Navigation/X3DViewer.js +13 -19
  171. package/src/x_ite/Browser/Networking/URLs.js +5 -5
  172. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +16 -16
  173. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +3 -3
  174. package/src/x_ite/Browser/Picking/VolumePicker.js +8 -8
  175. package/src/x_ite/Browser/Picking/X3DPickingContext.js +12 -12
  176. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +24 -20
  177. package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +6 -6
  178. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +21 -21
  179. package/src/x_ite/Browser/Rendering/GeometryContext.js +4 -5
  180. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +18 -18
  181. package/src/x_ite/Browser/Scripting/X3DScriptingContext.js +4 -4
  182. package/src/x_ite/Browser/Shaders/ShaderCompiler.js +4 -4
  183. package/src/x_ite/Browser/Shaders/ShaderSource.js +1 -1
  184. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +13 -13
  185. package/src/x_ite/Browser/Shape/X3DShapeContext.js +12 -12
  186. package/src/x_ite/Browser/Sound/X3DSoundContext.js +0 -2
  187. package/src/x_ite/Browser/Text/PolygonText.js +10 -11
  188. package/src/x_ite/Browser/Text/X3DTextContext.js +6 -6
  189. package/src/x_ite/Browser/Text/X3DTextGeometry.js +18 -19
  190. package/src/x_ite/Browser/Texturing/GifMedia.js +7 -7
  191. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +24 -24
  192. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +38 -38
  193. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +14 -14
  194. package/src/x_ite/Browser/Time/X3DTimeContext.js +5 -5
  195. package/src/x_ite/Browser/VERSION.js +1 -1
  196. package/src/x_ite/Browser/VolumeRendering/VolumeMaterial.js +39 -22
  197. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +6 -6
  198. package/src/x_ite/Browser/X3DBrowser.js +166 -140
  199. package/src/x_ite/Browser/X3DBrowserContext.js +23 -24
  200. package/src/x_ite/Components/Annotation/AnnotationLayer.js +30 -19
  201. package/src/x_ite/Components/Annotation/AnnotationTarget.js +30 -19
  202. package/src/x_ite/Components/Annotation/GroupAnnotation.js +40 -29
  203. package/src/x_ite/Components/Annotation/IconAnnotation.js +38 -27
  204. package/src/x_ite/Components/Annotation/TextAnnotation.js +31 -20
  205. package/src/x_ite/Components/Annotation/URLAnnotation.js +30 -19
  206. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +16 -3
  207. package/src/x_ite/Components/CADGeometry/CADAssembly.js +32 -21
  208. package/src/x_ite/Components/CADGeometry/CADFace.js +48 -37
  209. package/src/x_ite/Components/CADGeometry/CADLayer.js +30 -21
  210. package/src/x_ite/Components/CADGeometry/CADPart.js +37 -26
  211. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +51 -46
  212. package/src/x_ite/Components/CADGeometry/QuadSet.js +48 -43
  213. package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +13 -2
  214. package/src/x_ite/Components/Core/MetadataBoolean.js +33 -22
  215. package/src/x_ite/Components/Core/MetadataDouble.js +33 -22
  216. package/src/x_ite/Components/Core/MetadataFloat.js +33 -22
  217. package/src/x_ite/Components/Core/MetadataInteger.js +33 -22
  218. package/src/x_ite/Components/Core/MetadataSet.js +33 -22
  219. package/src/x_ite/Components/Core/MetadataString.js +33 -22
  220. package/src/x_ite/Components/Core/WorldInfo.js +34 -23
  221. package/src/x_ite/Components/Core/X3DBindableNode.js +17 -4
  222. package/src/x_ite/Components/Core/X3DChildNode.js +19 -6
  223. package/src/x_ite/Components/Core/X3DInfoNode.js +13 -2
  224. package/src/x_ite/Components/Core/X3DMetadataObject.js +18 -5
  225. package/src/x_ite/Components/Core/X3DNode.js +53 -21
  226. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +68 -77
  227. package/src/x_ite/Components/Core/X3DSensorNode.js +13 -2
  228. package/src/x_ite/Components/Core.js +22 -29
  229. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +46 -35
  230. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +39 -28
  231. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +47 -36
  232. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +21 -8
  233. package/src/x_ite/Components/DIS/DISEntityManager.js +29 -20
  234. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +41 -30
  235. package/src/x_ite/Components/DIS/EspduTransform.js +117 -106
  236. package/src/x_ite/Components/DIS/ReceiverPdu.js +60 -49
  237. package/src/x_ite/Components/DIS/SignalPdu.js +60 -49
  238. package/src/x_ite/Components/DIS/TransmitterPdu.js +76 -65
  239. package/src/x_ite/Components/EnvironmentalEffects/Background.js +47 -36
  240. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +42 -31
  241. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +39 -28
  242. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +40 -29
  243. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +48 -37
  244. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +28 -15
  245. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +30 -18
  246. package/src/x_ite/Components/EnvironmentalEffects.js +15 -22
  247. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +45 -34
  248. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +50 -39
  249. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +41 -30
  250. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +22 -9
  251. package/src/x_ite/Components/EnvironmentalSensor.js +12 -19
  252. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +38 -27
  253. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +38 -27
  254. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +33 -22
  255. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +32 -21
  256. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +38 -27
  257. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +33 -22
  258. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +32 -21
  259. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +20 -7
  260. package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +13 -2
  261. package/src/x_ite/Components/Followers/ColorChaser.js +47 -36
  262. package/src/x_ite/Components/Followers/ColorDamper.js +49 -38
  263. package/src/x_ite/Components/Followers/CoordinateChaser.js +33 -22
  264. package/src/x_ite/Components/Followers/CoordinateDamper.js +35 -24
  265. package/src/x_ite/Components/Followers/OrientationChaser.js +43 -32
  266. package/src/x_ite/Components/Followers/OrientationDamper.js +41 -30
  267. package/src/x_ite/Components/Followers/PositionChaser.js +33 -22
  268. package/src/x_ite/Components/Followers/PositionChaser2D.js +33 -22
  269. package/src/x_ite/Components/Followers/PositionDamper.js +35 -24
  270. package/src/x_ite/Components/Followers/PositionDamper2D.js +35 -24
  271. package/src/x_ite/Components/Followers/ScalarChaser.js +47 -36
  272. package/src/x_ite/Components/Followers/ScalarDamper.js +43 -32
  273. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +33 -22
  274. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +35 -24
  275. package/src/x_ite/Components/Followers/X3DChaserNode.js +27 -14
  276. package/src/x_ite/Components/Followers/X3DDamperNode.js +22 -9
  277. package/src/x_ite/Components/Followers/X3DFollowerNode.js +29 -16
  278. package/src/x_ite/Components/Followers.js +25 -32
  279. package/src/x_ite/Components/Geometry2D/Arc2D.js +38 -27
  280. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +39 -28
  281. package/src/x_ite/Components/Geometry2D/Circle2D.js +35 -24
  282. package/src/x_ite/Components/Geometry2D/Disk2D.js +40 -29
  283. package/src/x_ite/Components/Geometry2D/Polyline2D.js +34 -23
  284. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +34 -23
  285. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +34 -23
  286. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +36 -25
  287. package/src/x_ite/Components/Geometry3D/Box.js +34 -23
  288. package/src/x_ite/Components/Geometry3D/Cone.js +40 -29
  289. package/src/x_ite/Components/Geometry3D/Cylinder.js +41 -30
  290. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +63 -52
  291. package/src/x_ite/Components/Geometry3D/Extrusion.js +49 -38
  292. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +98 -95
  293. package/src/x_ite/Components/Geometry3D/Sphere.js +36 -25
  294. package/src/x_ite/Components/Geometry3D.js +15 -22
  295. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +37 -26
  296. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +63 -52
  297. package/src/x_ite/Components/Geospatial/GeoLOD.js +59 -48
  298. package/src/x_ite/Components/Geospatial/GeoLocation.js +45 -34
  299. package/src/x_ite/Components/Geospatial/GeoMetadata.js +38 -27
  300. package/src/x_ite/Components/Geospatial/GeoOrigin.js +37 -26
  301. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +43 -32
  302. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +48 -37
  303. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +45 -34
  304. package/src/x_ite/Components/Geospatial/GeoTransform.js +49 -38
  305. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +56 -45
  306. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +30 -17
  307. package/src/x_ite/Components/Grouping/Group.js +29 -20
  308. package/src/x_ite/Components/Grouping/StaticGroup.js +40 -48
  309. package/src/x_ite/Components/Grouping/Switch.js +51 -40
  310. package/src/x_ite/Components/Grouping/Transform.js +34 -25
  311. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +22 -9
  312. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +224 -219
  313. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +20 -7
  314. package/src/x_ite/Components/Grouping/X3DTransformNode.js +17 -4
  315. package/src/x_ite/Components/Grouping.js +16 -23
  316. package/src/x_ite/Components/HAnim/HAnimDisplacer.js +27 -18
  317. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +73 -62
  318. package/src/x_ite/Components/HAnim/HAnimJoint.js +61 -50
  319. package/src/x_ite/Components/HAnim/HAnimMotion.js +44 -33
  320. package/src/x_ite/Components/HAnim/HAnimSegment.js +36 -27
  321. package/src/x_ite/Components/HAnim/HAnimSite.js +36 -27
  322. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +38 -27
  323. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +38 -27
  324. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +38 -27
  325. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +39 -28
  326. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +38 -27
  327. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +38 -27
  328. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +38 -27
  329. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +38 -27
  330. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +39 -28
  331. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +44 -33
  332. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +44 -33
  333. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +44 -33
  334. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +40 -29
  335. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +21 -8
  336. package/src/x_ite/Components/Interpolation.js +22 -29
  337. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +44 -33
  338. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +38 -27
  339. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +23 -10
  340. package/src/x_ite/Components/Layering/Layer.js +40 -29
  341. package/src/x_ite/Components/Layering/LayerSet.js +44 -33
  342. package/src/x_ite/Components/Layering/Viewport.js +48 -37
  343. package/src/x_ite/Components/Layering/X3DLayerNode.js +45 -32
  344. package/src/x_ite/Components/Layering/X3DViewportNode.js +13 -2
  345. package/src/x_ite/Components/Layering.js +13 -20
  346. package/src/x_ite/Components/Layout/Layout.js +60 -49
  347. package/src/x_ite/Components/Layout/LayoutGroup.js +48 -37
  348. package/src/x_ite/Components/Layout/LayoutLayer.js +41 -30
  349. package/src/x_ite/Components/Layout/ScreenFontStyle.js +41 -30
  350. package/src/x_ite/Components/Layout/ScreenGroup.js +42 -31
  351. package/src/x_ite/Components/Layout/X3DLayoutNode.js +13 -2
  352. package/src/x_ite/Components/Lighting/DirectionalLight.js +45 -35
  353. package/src/x_ite/Components/Lighting/EnvironmentLight.js +51 -41
  354. package/src/x_ite/Components/Lighting/PointLight.js +53 -43
  355. package/src/x_ite/Components/Lighting/SpotLight.js +62 -52
  356. package/src/x_ite/Components/Lighting/X3DLightNode.js +29 -16
  357. package/src/x_ite/Components/Lighting.js +13 -20
  358. package/src/x_ite/Components/NURBS/Contour2D.js +45 -43
  359. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +34 -23
  360. package/src/x_ite/Components/NURBS/CoordinateDouble.js +23 -14
  361. package/src/x_ite/Components/NURBS/NurbsCurve.js +47 -36
  362. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +44 -33
  363. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +46 -35
  364. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +36 -27
  365. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +46 -35
  366. package/src/x_ite/Components/NURBS/NurbsSet.js +52 -50
  367. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +44 -33
  368. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +40 -29
  369. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +40 -29
  370. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +43 -32
  371. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +59 -57
  372. package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +13 -2
  373. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +30 -17
  374. package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +16 -3
  375. package/src/x_ite/Components/Navigation/Billboard.js +43 -32
  376. package/src/x_ite/Components/Navigation/Collision.js +49 -38
  377. package/src/x_ite/Components/Navigation/LOD.js +54 -43
  378. package/src/x_ite/Components/Navigation/NavigationInfo.js +58 -47
  379. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +69 -58
  380. package/src/x_ite/Components/Navigation/Viewpoint.js +53 -42
  381. package/src/x_ite/Components/Navigation/ViewpointGroup.js +44 -33
  382. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +48 -35
  383. package/src/x_ite/Components/Navigation.js +16 -23
  384. package/src/x_ite/Components/Networking/Anchor.js +51 -40
  385. package/src/x_ite/Components/Networking/Inline.js +54 -43
  386. package/src/x_ite/Components/Networking/LoadSensor.js +49 -38
  387. package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +13 -2
  388. package/src/x_ite/Components/Networking/X3DUrlObject.js +35 -22
  389. package/src/x_ite/Components/Networking.js +13 -20
  390. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +37 -26
  391. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +44 -33
  392. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +41 -30
  393. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +34 -23
  394. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +83 -72
  395. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +41 -30
  396. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +42 -31
  397. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +42 -31
  398. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +43 -32
  399. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +38 -27
  400. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +33 -20
  401. package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +16 -3
  402. package/src/x_ite/Components/Picking/LinePickSensor.js +49 -38
  403. package/src/x_ite/Components/Picking/PickableGroup.js +45 -34
  404. package/src/x_ite/Components/Picking/PointPickSensor.js +46 -35
  405. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +46 -35
  406. package/src/x_ite/Components/Picking/VolumePickSensor.js +45 -34
  407. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +31 -18
  408. package/src/x_ite/Components/Picking/X3DPickableObject.js +20 -7
  409. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +50 -39
  410. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +52 -45
  411. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +44 -33
  412. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +30 -21
  413. package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +13 -2
  414. package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +22 -11
  415. package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +16 -3
  416. package/src/x_ite/Components/PointingDeviceSensor.js +15 -22
  417. package/src/x_ite/Components/Rendering/ClipPlane.js +44 -34
  418. package/src/x_ite/Components/Rendering/Color.js +37 -26
  419. package/src/x_ite/Components/Rendering/ColorRGBA.js +37 -26
  420. package/src/x_ite/Components/Rendering/Coordinate.js +23 -14
  421. package/src/x_ite/Components/Rendering/IndexedLineSet.js +52 -41
  422. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +48 -37
  423. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +44 -33
  424. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +48 -37
  425. package/src/x_ite/Components/Rendering/LineSet.js +45 -34
  426. package/src/x_ite/Components/Rendering/Normal.js +39 -28
  427. package/src/x_ite/Components/Rendering/PointSet.js +45 -34
  428. package/src/x_ite/Components/Rendering/TriangleFanSet.js +47 -36
  429. package/src/x_ite/Components/Rendering/TriangleSet.js +41 -30
  430. package/src/x_ite/Components/Rendering/TriangleStripSet.js +47 -36
  431. package/src/x_ite/Components/Rendering/X3DColorNode.js +17 -4
  432. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +33 -20
  433. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +23 -10
  434. package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +13 -2
  435. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +96 -80
  436. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +21 -8
  437. package/src/x_ite/Components/Rendering/X3DNormalNode.js +13 -2
  438. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +20 -7
  439. package/src/x_ite/Components/Rendering.js +29 -36
  440. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +43 -32
  441. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +48 -37
  442. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +52 -41
  443. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +47 -36
  444. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +41 -30
  445. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +44 -33
  446. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +38 -29
  447. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +60 -49
  448. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +48 -39
  449. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +69 -58
  450. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +61 -50
  451. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +49 -38
  452. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +47 -36
  453. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +36 -27
  454. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +24 -11
  455. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +17 -4
  456. package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +34 -21
  457. package/src/x_ite/Components/Scripting/Script.js +76 -46
  458. package/src/x_ite/Components/Scripting/X3DScriptNode.js +17 -4
  459. package/src/x_ite/Components/Shaders/ComposedShader.js +46 -35
  460. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +40 -29
  461. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +38 -27
  462. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +38 -27
  463. package/src/x_ite/Components/Shaders/PackagedShader.js +45 -34
  464. package/src/x_ite/Components/Shaders/ProgramShader.js +27 -18
  465. package/src/x_ite/Components/Shaders/ShaderPart.js +47 -36
  466. package/src/x_ite/Components/Shaders/ShaderProgram.js +42 -31
  467. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +51 -38
  468. package/src/x_ite/Components/Shaders/X3DShaderNode.js +19 -6
  469. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +17 -4
  470. package/src/x_ite/Components/Shaders.js +19 -26
  471. package/src/x_ite/Components/Shape/AcousticProperties.js +28 -19
  472. package/src/x_ite/Components/Shape/Appearance.js +79 -68
  473. package/src/x_ite/Components/Shape/FillProperties.js +44 -33
  474. package/src/x_ite/Components/Shape/LineProperties.js +44 -33
  475. package/src/x_ite/Components/Shape/Material.js +75 -64
  476. package/src/x_ite/Components/Shape/PhysicalMaterial.js +65 -54
  477. package/src/x_ite/Components/Shape/PointProperties.js +43 -32
  478. package/src/x_ite/Components/Shape/Shape.js +48 -37
  479. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +60 -49
  480. package/src/x_ite/Components/Shape/UnlitMaterial.js +44 -33
  481. package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +13 -2
  482. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +17 -4
  483. package/src/x_ite/Components/Shape/X3DMaterialNode.js +41 -33
  484. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +29 -16
  485. package/src/x_ite/Components/Shape/X3DShapeNode.js +28 -15
  486. package/src/x_ite/Components/Shape.js +23 -30
  487. package/src/x_ite/Components/Sound/Analyser.js +46 -37
  488. package/src/x_ite/Components/Sound/AudioClip.js +61 -50
  489. package/src/x_ite/Components/Sound/AudioDestination.js +35 -26
  490. package/src/x_ite/Components/Sound/BiquadFilter.js +45 -36
  491. package/src/x_ite/Components/Sound/BufferAudioSource.js +61 -50
  492. package/src/x_ite/Components/Sound/ChannelMerger.js +32 -23
  493. package/src/x_ite/Components/Sound/ChannelSelector.js +33 -24
  494. package/src/x_ite/Components/Sound/ChannelSplitter.js +33 -24
  495. package/src/x_ite/Components/Sound/Convolver.js +43 -34
  496. package/src/x_ite/Components/Sound/Delay.js +43 -34
  497. package/src/x_ite/Components/Sound/DynamicsCompressor.js +47 -38
  498. package/src/x_ite/Components/Sound/Gain.js +41 -32
  499. package/src/x_ite/Components/Sound/ListenerPointSource.js +39 -30
  500. package/src/x_ite/Components/Sound/MicrophoneSource.js +35 -26
  501. package/src/x_ite/Components/Sound/OscillatorSource.js +37 -28
  502. package/src/x_ite/Components/Sound/PeriodicWave.js +27 -18
  503. package/src/x_ite/Components/Sound/Sound.js +51 -40
  504. package/src/x_ite/Components/Sound/SpatialSound.js +42 -33
  505. package/src/x_ite/Components/Sound/StreamAudioDestination.js +35 -26
  506. package/src/x_ite/Components/Sound/StreamAudioSource.js +35 -26
  507. package/src/x_ite/Components/Sound/WaveShaper.js +43 -34
  508. package/src/x_ite/Components/Sound/X3DSoundChannelNode.js +13 -2
  509. package/src/x_ite/Components/Sound/X3DSoundDestinationNode.js +13 -2
  510. package/src/x_ite/Components/Sound/X3DSoundNode.js +13 -2
  511. package/src/x_ite/Components/Sound/X3DSoundProcessingNode.js +17 -4
  512. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +30 -17
  513. package/src/x_ite/Components/Sound.js +34 -41
  514. package/src/x_ite/Components/Text/FontStyle.js +37 -26
  515. package/src/x_ite/Components/Text/Text.js +50 -39
  516. package/src/x_ite/Components/Text/X3DFontStyleNode.js +32 -18
  517. package/src/x_ite/Components/TextureProjector/TextureProjector.js +49 -39
  518. package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +58 -48
  519. package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +27 -14
  520. package/src/x_ite/Components/Texturing/ImageTexture.js +50 -39
  521. package/src/x_ite/Components/Texturing/MovieTexture.js +67 -56
  522. package/src/x_ite/Components/Texturing/MultiTexture.js +52 -41
  523. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +44 -33
  524. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +39 -28
  525. package/src/x_ite/Components/Texturing/PixelTexture.js +42 -31
  526. package/src/x_ite/Components/Texturing/TextureCoordinate.js +41 -30
  527. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +41 -30
  528. package/src/x_ite/Components/Texturing/TextureProperties.js +47 -36
  529. package/src/x_ite/Components/Texturing/TextureTransform.js +39 -28
  530. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +20 -7
  531. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +21 -8
  532. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +20 -7
  533. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +26 -13
  534. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +13 -2
  535. package/src/x_ite/Components/Texturing/X3DTextureNode.js +17 -4
  536. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +13 -2
  537. package/src/x_ite/Components/Texturing.js +25 -32
  538. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +44 -33
  539. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +46 -35
  540. package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +54 -43
  541. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +40 -29
  542. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +41 -30
  543. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +41 -30
  544. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +39 -28
  545. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +36 -25
  546. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +26 -13
  547. package/src/x_ite/Components/Time/TimeSensor.js +55 -44
  548. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +38 -25
  549. package/src/x_ite/Components/Time.js +10 -17
  550. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +51 -41
  551. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +39 -28
  552. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +42 -31
  553. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +41 -30
  554. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +41 -30
  555. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +50 -39
  556. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +39 -28
  557. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +38 -27
  558. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +49 -38
  559. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +44 -33
  560. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +42 -31
  561. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +41 -30
  562. package/src/x_ite/Components/VolumeRendering/VolumeData.js +45 -34
  563. package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +13 -2
  564. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +25 -12
  565. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +22 -9
  566. package/src/x_ite/Components/X_ITE/BlendMode.js +48 -37
  567. package/src/x_ite/Components.js +38 -14
  568. package/src/x_ite/Configuration/{NodeTypeArray.js → AbstractNodes.js} +2 -20
  569. package/src/x_ite/{Fallback.js → Configuration/AbstractNodesArray.js} +22 -29
  570. package/src/x_ite/Configuration/ComponentInfo.js +14 -10
  571. package/src/x_ite/Configuration/ComponentInfoArray.js +14 -10
  572. package/src/x_ite/Configuration/ConcreteNodes.js +50 -0
  573. package/src/x_ite/Configuration/{SupportedNodes.js → ConcreteNodesArray.js} +28 -35
  574. package/src/x_ite/Configuration/ProfileInfo.js +13 -9
  575. package/src/x_ite/Configuration/ProfileInfoArray.js +14 -13
  576. package/src/x_ite/Configuration/SupportedComponents.js +40 -78
  577. package/src/x_ite/Configuration/SupportedProfiles.js +16 -16
  578. package/src/x_ite/Configuration/UnitInfo.js +14 -10
  579. package/src/x_ite/Configuration/UnitInfoArray.js +10 -21
  580. package/src/x_ite/Execution/BindableList.js +14 -10
  581. package/src/x_ite/Execution/BindableStack.js +14 -10
  582. package/src/x_ite/Execution/ExportedNodesArray.js +11 -9
  583. package/src/x_ite/Execution/ImportedNodesArray.js +11 -9
  584. package/src/x_ite/Execution/NamedNodesArray.js +11 -22
  585. package/src/x_ite/Execution/X3DExecutionContext.js +121 -110
  586. package/src/x_ite/Execution/X3DExportedNode.js +18 -10
  587. package/src/x_ite/Execution/X3DImportedNode.js +35 -22
  588. package/src/x_ite/Execution/X3DScene.js +93 -64
  589. package/src/x_ite/Execution/X3DWorld.js +21 -17
  590. package/src/x_ite/Fields/ArrayFields.js +87 -153
  591. package/src/x_ite/Fields/SFBool.js +21 -25
  592. package/src/x_ite/Fields/SFColor.js +43 -39
  593. package/src/x_ite/Fields/SFColorRGBA.js +39 -35
  594. package/src/x_ite/Fields/SFDouble.js +20 -21
  595. package/src/x_ite/Fields/SFFloat.js +20 -21
  596. package/src/x_ite/Fields/SFImage.js +50 -48
  597. package/src/x_ite/Fields/SFInt32.js +20 -21
  598. package/src/x_ite/Fields/SFMatrix3.js +23 -16
  599. package/src/x_ite/Fields/SFMatrix4.js +24 -17
  600. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +31 -31
  601. package/src/x_ite/Fields/SFNode.js +57 -88
  602. package/src/x_ite/Fields/SFNodeCache.js +7 -11
  603. package/src/x_ite/Fields/SFRotation.js +73 -62
  604. package/src/x_ite/Fields/SFString.js +35 -36
  605. package/src/x_ite/Fields/SFTime.js +20 -21
  606. package/src/x_ite/Fields/SFVec2.js +17 -14
  607. package/src/x_ite/Fields/SFVec3.js +20 -17
  608. package/src/x_ite/Fields/SFVec4.js +21 -18
  609. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +36 -36
  610. package/src/x_ite/Fields.js +6 -13
  611. package/src/x_ite/InputOutput/FileLoader.js +37 -41
  612. package/src/x_ite/InputOutput/Generator.js +50 -51
  613. package/src/x_ite/Parser/GLB2Parser.js +12 -13
  614. package/src/x_ite/Parser/GLTF2Parser.js +111 -112
  615. package/src/x_ite/Parser/GoldenGate.js +11 -13
  616. package/src/x_ite/Parser/HTMLSupport.js +15 -5
  617. package/src/x_ite/Parser/JSONParser.js +21 -22
  618. package/src/x_ite/Parser/OBJParser.js +56 -57
  619. package/src/x_ite/Parser/STLAParser.js +22 -23
  620. package/src/x_ite/Parser/STLBParser.js +12 -13
  621. package/src/x_ite/Parser/SVGParser.js +85 -86
  622. package/src/x_ite/Parser/VRMLParser.js +495 -878
  623. package/src/x_ite/Parser/X3DOptimizer.js +7 -7
  624. package/src/x_ite/Parser/X3DParser.js +17 -17
  625. package/src/x_ite/Parser/XMLParser.js +215 -269
  626. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +11 -9
  627. package/src/x_ite/Prototype/ProtoDeclarationArray.js +11 -9
  628. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +35 -27
  629. package/src/x_ite/Prototype/X3DProtoDeclaration.js +28 -20
  630. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +18 -10
  631. package/src/x_ite/Rendering/DependentRenderer.js +11 -12
  632. package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +9 -10
  633. package/src/x_ite/Rendering/PointingBuffer.js +6 -7
  634. package/src/x_ite/Rendering/TextureBuffer.js +11 -12
  635. package/src/x_ite/Rendering/VertexArray.js +5 -5
  636. package/src/x_ite/Rendering/X3DRenderObject.js +51 -52
  637. package/src/x_ite/Routing/RouteArray.js +11 -9
  638. package/src/x_ite/Routing/X3DRoute.js +29 -21
  639. package/src/x_ite/Routing/X3DRoutingContext.js +8 -9
  640. package/src/x_ite/X3D.js +27 -26
  641. package/src/x_ite/X3DCanvasElement.js +18 -7
  642. package/src/x_ite.css +2 -1
  643. package/webpack.config.js +2 -2
  644. /package/src/x_ite/{DEBUG.js → DEVELOPMENT.js} +0 -0
@@ -46,36 +46,25 @@
46
46
  ******************************************************************************/
47
47
 
48
48
  import X3DInfoArray from "../Base/X3DInfoArray.js";
49
- import X3DBaseNode from "../Base/X3DBaseNode.js"
49
+ import SFNode from "../Fields/SFNode.js";
50
50
 
51
- function NamedNodesArray (values)
51
+ function NamedNodesArray (values = [ ])
52
52
  {
53
- const proxy = X3DInfoArray .call (this);
54
-
55
- if (values)
56
- {
57
- for (const value of values)
58
- {
59
- if (!(value instanceof X3DBaseNode))
60
- throw new TypeError (`Wrong type in construction of ${this .getTypeName ()}.`);
53
+ return X3DInfoArray .call (this, Array .from (values, value => [value .getNodeName (), value]), SFNode);
54
+ }
61
55
 
62
- this .add (value .getName (), value);
63
- }
64
- }
56
+ Object .setPrototypeOf (NamedNodesArray .prototype, X3DInfoArray .prototype);
65
57
 
66
- return proxy;
67
- }
58
+ for (const key of Reflect .ownKeys (NamedNodesArray .prototype))
59
+ Object .defineProperty (NamedNodesArray .prototype, key, { enumerable: false });
68
60
 
69
- NamedNodesArray .prototype = Object .assign (Object .create (X3DInfoArray .prototype),
61
+ Object .defineProperties (NamedNodesArray,
70
62
  {
71
- constructor: NamedNodesArray,
72
- getTypeName: function ()
63
+ typeName:
73
64
  {
74
- return "NamedNodesArray";
65
+ value: "NamedNodesArray",
66
+ enumerable: true,
75
67
  },
76
68
  });
77
69
 
78
- for (const key of Reflect .ownKeys (NamedNodesArray .prototype))
79
- Object .defineProperty (NamedNodesArray .prototype, key, { enumerable: false });
80
-
81
70
  export default NamedNodesArray;
@@ -45,7 +45,7 @@
45
45
  *
46
46
  ******************************************************************************/
47
47
 
48
- import SupportedNodes from "../Configuration/SupportedNodes.js";
48
+ import AbstractNodes from "../Configuration/AbstractNodes.js";
49
49
  import Fields from "../Fields.js";
50
50
  import X3DBaseNode from "../Base/X3DBaseNode.js";
51
51
  import { getUniqueName } from "./NamedNodesHandling.js";
@@ -62,8 +62,6 @@ import X3DCast from "../Base/X3DCast.js";
62
62
  import X3DConstants from "../Base/X3DConstants.js";
63
63
  import SFNodeCache from "../Fields/SFNodeCache.js";
64
64
 
65
- SupportedNodes .addAbstractNodeType ("X3DExecutionContext", X3DExecutionContext);
66
-
67
65
  const
68
66
  _namedNodes = Symbol (),
69
67
  _importedNodes = Symbol (),
@@ -78,101 +76,97 @@ function X3DExecutionContext (executionContext, outerNode = null)
78
76
 
79
77
  this .addType (X3DConstants .X3DExecutionContext)
80
78
 
81
- this .addChildObjects ("rootNodes", new Fields .MFNode (),
82
- "worldInfos", new Fields .MFNode (),
83
- "sceneGraph_changed", new Fields .SFTime (),
84
- "namedNodes_changed", new Fields .SFTime (),
85
- "importedNodes_changed", new Fields .SFTime (),
86
- "protos_changed", new Fields .SFTime (),
87
- "externprotos_changed", new Fields .SFTime (),
88
- "routes_changed", new Fields .SFTime ())
79
+ this .addChildObjects ("rootNodes", new Fields .MFNode (),
80
+ "worldInfos", new Fields .MFNode (),
81
+ "sceneGraph_changed", new Fields .SFTime ())
89
82
 
90
83
  this ._rootNodes .setAccessType (X3DConstants .initializeOnly);
91
84
  this ._rootNodes .addCloneCount (1);
92
85
 
93
- this [_outerNode] = outerNode;
94
- this [_namedNodes] = new NamedNodesArray ();
95
- this [_importedNodes] = new ImportedNodesArray ();
96
- this [_protos] = new ProtoDeclarationArray ();
97
- this [_externprotos] = new ExternProtoDeclarationArray ();
98
- this [_routes] = new RouteArray ();
86
+ this [_outerNode] = outerNode;
87
+ this [_namedNodes] = new NamedNodesArray ();
88
+ this [_importedNodes] = new ImportedNodesArray ();
89
+ this [_protos] = new ProtoDeclarationArray ();
90
+ this [_externprotos] = new ExternProtoDeclarationArray ();
91
+ this [_routes] = new RouteArray ();
92
+
93
+ this [_namedNodes] .addParent (this);
94
+ this [_importedNodes] .addParent (this);
95
+ this [_protos] .addParent (this);
96
+ this [_externprotos] .addParent (this);
97
+ this [_routes] .addParent (this);
99
98
  }
100
99
 
101
- X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .prototype),
100
+ Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, X3DBaseNode .prototype),
102
101
  {
103
- constructor: X3DExecutionContext,
104
- initialize: function ()
102
+ initialize ()
105
103
  {
106
104
  X3DBaseNode .prototype .initialize .call (this);
107
105
 
108
106
  if (!this .isScene ())
109
107
  this ._sceneGraph_changed .addInterest ("set_sceneGraph", this)
110
108
  },
111
- set_sceneGraph: function ()
109
+ set_sceneGraph ()
112
110
  {
113
111
  this .getExecutionContext () ._sceneGraph_changed = this .getBrowser () .getCurrentTime ();
114
112
  },
115
- isScene: function ()
113
+ isScene ()
116
114
  {
117
115
  return false;
118
116
  },
119
- getTypeName: function ()
120
- {
121
- return "X3DExecutionContext";
122
- },
123
- getOuterNode: function ()
117
+ getOuterNode ()
124
118
  {
125
119
  // Can be either of type X3DProtoDeclaration or X3DPrototypeInstance, or null.
126
120
  return this [_outerNode];
127
121
  },
128
- getSpecificationVersion: function ()
122
+ getSpecificationVersion ()
129
123
  {
130
124
  return this .getExecutionContext () .getSpecificationVersion ();
131
125
  },
132
- getEncoding: function ()
126
+ getEncoding ()
133
127
  {
134
128
  return this .getExecutionContext () .getEncoding ();
135
129
  },
136
- getWorldURL: function ()
130
+ getWorldURL ()
137
131
  {
138
132
  return this .getExecutionContext () .getWorldURL ();
139
133
  },
140
- getProfile: function ()
134
+ getProfile ()
141
135
  {
142
136
  return this .getExecutionContext () .getProfile ();
143
137
  },
144
- hasComponent: function (name)
138
+ hasComponent (name)
145
139
  {
146
140
  return this .getExecutionContext () .hasComponent (name);
147
141
  },
148
- getComponents: function ()
142
+ getComponents ()
149
143
  {
150
144
  return this .getExecutionContext () .getComponents ();
151
145
  },
152
- fromUnit: function (category, value)
146
+ fromUnit (category, value)
153
147
  {
154
148
  return this .getExecutionContext () .fromUnit (category, value);
155
149
  },
156
- toUnit: function (category, value)
150
+ toUnit (category, value)
157
151
  {
158
152
  return this .getExecutionContext () .toUnit (category, value);
159
153
  },
160
- getUnits: function ()
154
+ getUnits ()
161
155
  {
162
156
  return this .getExecutionContext () .getUnits ();
163
157
  },
164
- createNode: function (typeName, setup = true /* non-public argument */)
158
+ createNode (typeName, setup = true /* non-public argument */)
165
159
  {
166
160
  typeName = String (typeName);
167
161
 
168
162
  if (setup === false)
169
163
  {
170
- const Type = this .getBrowser () .getSupportedNode (typeName);
164
+ const ConcreteNode = this .getBrowser () .getConcreteNode (typeName);
171
165
 
172
- if (!Type)
166
+ if (!ConcreteNode)
173
167
  return null;
174
168
 
175
- const specificationRange = Type .prototype .getSpecificationRange ();
169
+ const specificationRange = ConcreteNode .specificationRange;
176
170
 
177
171
  if (this .getSpecificationVersion () < specificationRange [0])
178
172
  return null;
@@ -180,19 +174,19 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
180
174
  if (this .getSpecificationVersion () > specificationRange [1])
181
175
  return null;
182
176
 
183
- if (!this .hasComponent (Type .prototype .getComponentName ()))
177
+ if (!this .hasComponent (ConcreteNode .componentName))
184
178
  console .warn (`Node type '${typeName}' does not match component/profile statements in '${this .getWorldURL ()}'.`);
185
179
 
186
- return new Type (this);
180
+ return new ConcreteNode (this);
187
181
  }
188
182
  else
189
183
  {
190
- const Type = this .getBrowser () .getSupportedNode (typeName);
184
+ const ConcreteNode = this .getBrowser () .getConcreteNode (typeName);
191
185
 
192
- if (!Type)
186
+ if (!ConcreteNode)
193
187
  throw new Error (`Unknown node type '${typeName}'.`);
194
188
 
195
- const specificationRange = Type .prototype .getSpecificationRange ();
189
+ const specificationRange = ConcreteNode .specificationRange;
196
190
 
197
191
  if (this .getSpecificationVersion () < specificationRange [0])
198
192
  throw new Error (`Node type '${typeName}' does not match specification version in '${this .getWorldURL ()}.`);
@@ -200,17 +194,17 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
200
194
  if (this .getSpecificationVersion () > specificationRange [1])
201
195
  throw new Error (`Node type '${typeName}' does not match specification version in '${this .getWorldURL ()}.`);
202
196
 
203
- if (!this .hasComponent (Type .prototype .getComponentName ()))
197
+ if (!this .hasComponent (ConcreteNode .componentName))
204
198
  console .warn (`Node type '${typeName}' does not match component/profile statements in '${this .getWorldURL ()}'.`);
205
199
 
206
- const baseNode = new Type (this);
200
+ const baseNode = new ConcreteNode (this);
207
201
 
208
202
  baseNode .setup ();
209
203
 
210
204
  return SFNodeCache .get (baseNode);
211
205
  }
212
206
  },
213
- createProto: function (name, setup = true /* non-public argument */)
207
+ createProto (name, setup = true /* non-public argument */)
214
208
  {
215
209
  name = String (name);
216
210
 
@@ -232,9 +226,9 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
232
226
  if (setup === false)
233
227
  return null;
234
228
 
235
- throw new Error ("Unknown proto or externproto type '" + name + "'.");
229
+ throw new Error (`Unknown proto or externproto type '${name}'.`);
236
230
  },
237
- addNamedNode: function (name, node)
231
+ addNamedNode (name, node)
238
232
  {
239
233
  name = String (name);
240
234
  node = X3DCast (X3DConstants .X3DNode, node, false);
@@ -249,20 +243,18 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
249
243
  throw new Error ("Couldn't add named node: node name is empty.");
250
244
 
251
245
  if (this [_namedNodes] .has (name))
252
- throw new Error ("Couldn't add named node: node named '" + name + "' is already in use.");
246
+ throw new Error (`Couldn't add named node: node named '${name}' is already in use.`);
253
247
 
254
248
  if (this [_namedNodes] .get (node .getName ()) ?.getValue () === node)
255
- throw new Error ("Couldn't add named node: node named '" + node .getName () + "' is already added.");
249
+ throw new Error (`Couldn't add named node: node named '${node .getName ()}' is already added.`);
256
250
 
257
251
  // Add named node.
258
252
 
259
253
  node .setName (name);
260
254
 
261
255
  this [_namedNodes] .add (name, SFNodeCache .get (node));
262
-
263
- this ._namedNodes_changed = this .getBrowser () .getCurrentTime ();
264
256
  },
265
- updateNamedNode: function (name, node)
257
+ updateNamedNode (name, node)
266
258
  {
267
259
  name = String (name);
268
260
  node = X3DCast (X3DConstants .X3DNode, node, false);
@@ -289,7 +281,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
289
281
 
290
282
  this ._namedNodes_changed = this .getBrowser () .getCurrentTime ();
291
283
  },
292
- removeNamedNode: function (name)
284
+ removeNamedNode (name)
293
285
  {
294
286
  name = String (name);
295
287
 
@@ -304,7 +296,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
304
296
 
305
297
  this ._namedNodes_changed = this .getBrowser () .getCurrentTime ();
306
298
  },
307
- getNamedNode: function (name)
299
+ getNamedNode (name)
308
300
  {
309
301
  name = String (name);
310
302
 
@@ -313,27 +305,27 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
313
305
  if (node)
314
306
  return node;
315
307
 
316
- throw new Error ("Named node '" + name + "' not found.");
308
+ throw new Error (`Named node '${name}' not found.`);
317
309
  },
318
- getNamedNodes: function ()
310
+ getNamedNodes ()
319
311
  {
320
312
  return this [_namedNodes];
321
313
  },
322
- getUniqueName: function (name)
314
+ getUniqueName (name)
323
315
  {
324
316
  return getUniqueName (this [_namedNodes], name);
325
317
  },
326
- addImportedNode: function (inlineNode, exportedName, importedName = exportedName)
318
+ addImportedNode (inlineNode, exportedName, importedName = exportedName)
327
319
  {
328
320
  exportedName = String (exportedName);
329
321
  importedName = String (importedName);
330
322
 
331
323
  if (this [_importedNodes] .has (importedName))
332
- throw new Error ("Couldn't add imported node: imported name '" + importedName + "' already in use.");
324
+ throw new Error (`Couldn't add imported node: imported name '${importedName}' already in use.`);
333
325
 
334
326
  this .updateImportedNode (inlineNode, exportedName, importedName);
335
327
  },
336
- updateImportedNode: function (inlineNode, exportedName, importedName)
328
+ updateImportedNode (inlineNode, exportedName, importedName)
337
329
  {
338
330
  inlineNode = X3DCast (X3DConstants .Inline, inlineNode, false);
339
331
  exportedName = String (exportedName);
@@ -361,7 +353,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
361
353
 
362
354
  this ._importedNodes_changed = this .getBrowser () .getCurrentTime ();
363
355
  },
364
- removeImportedNode: function (importedName)
356
+ removeImportedNode (importedName)
365
357
  {
366
358
  importedName = String (importedName);
367
359
 
@@ -376,7 +368,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
376
368
 
377
369
  this ._importedNodes_changed = this .getBrowser () .getCurrentTime ();
378
370
  },
379
- getImportedNode: function (importedName)
371
+ getImportedNode (importedName)
380
372
  {
381
373
  importedName = String (importedName);
382
374
 
@@ -385,13 +377,13 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
385
377
  if (importedNode)
386
378
  return SFNodeCache .get (importedNode .getExportedNode ());
387
379
 
388
- throw new Error ("Imported node '" + importedName + "' not found.");
380
+ throw new Error (`Imported node '${importedName}' not found.`);
389
381
  },
390
- getImportedNodes: function ()
382
+ getImportedNodes ()
391
383
  {
392
384
  return this [_importedNodes];
393
385
  },
394
- getLocalNode: function (name)
386
+ getLocalNode (name)
395
387
  {
396
388
  name = String (name);
397
389
 
@@ -399,17 +391,17 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
399
391
  {
400
392
  return this .getNamedNode (name);
401
393
  }
402
- catch (error)
394
+ catch
403
395
  {
404
396
  const importedNode = this [_importedNodes] .get (name);
405
397
 
406
398
  if (importedNode)
407
399
  return SFNodeCache .get (importedNode);
408
400
 
409
- throw new Error ("Unknown named or imported node '" + name + "'.");
401
+ throw new Error (`Unknown named or imported node '${name}'.`);
410
402
  }
411
403
  },
412
- getLocalName: function (node)
404
+ getLocalName (node)
413
405
  {
414
406
  node = X3DCast (X3DConstants .X3DNode, node, false);
415
407
 
@@ -426,20 +418,18 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
426
418
  if (importedNode .getExportedNode () === node)
427
419
  return importedNode .getImportedName ();
428
420
  }
429
- catch (error)
430
- {
431
- //console .error (error);
432
- }
421
+ catch
422
+ { }
433
423
  }
434
424
 
435
425
  throw new Error ("Couldn't get local name: node is shared.");
436
426
  },
437
- setRootNodes: function () { },
438
- getRootNodes: function ()
427
+ setRootNodes () { },
428
+ getRootNodes ()
439
429
  {
440
430
  return this ._rootNodes;
441
431
  },
442
- getProtoDeclaration: function (name)
432
+ getProtoDeclaration (name)
443
433
  {
444
434
  name = String (name);
445
435
 
@@ -448,7 +438,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
448
438
  if (proto)
449
439
  return proto;
450
440
 
451
- throw new Error ("Proto declaration '" + name + "' not found.");
441
+ throw new Error (`Proto declaration '${name}' not found.`);
452
442
  },
453
443
  addProtoDeclaration (name, proto)
454
444
  {
@@ -461,10 +451,10 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
461
451
  throw new Error ("Couldn't add proto declaration: proto does not belong to this execution context.");
462
452
 
463
453
  if (this [_protos] .get (name))
464
- throw new Error ("Couldn't add proto declaration: proto '" + name + "' already in use.");
454
+ throw new Error (`Couldn't add proto declaration: proto '${name}' already in use.`);
465
455
 
466
456
  if (this [_protos] .get (proto .getName ()) === proto)
467
- throw new Error ("Couldn't add proto declaration: proto '" + proto .getName () + "' already added.");
457
+ throw new Error (`Couldn't add proto declaration: proto '${proto .getName ()}' already added.`);
468
458
 
469
459
  name = String (name);
470
460
 
@@ -504,15 +494,15 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
504
494
 
505
495
  this ._protos_changed = this .getBrowser () .getCurrentTime ();
506
496
  },
507
- getProtoDeclarations: function ()
497
+ getProtoDeclarations ()
508
498
  {
509
499
  return this [_protos];
510
500
  },
511
- getUniqueProtoName: function (name)
501
+ getUniqueProtoName (name)
512
502
  {
513
503
  return getUniqueName (this [_protos], name);
514
504
  },
515
- getExternProtoDeclaration: function (name)
505
+ getExternProtoDeclaration (name)
516
506
  {
517
507
  name = String (name);
518
508
 
@@ -521,7 +511,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
521
511
  if (externproto)
522
512
  return externproto;
523
513
 
524
- throw new Error ("Extern proto declaration '" + name + "' not found.");
514
+ throw new Error (`Extern proto declaration '${name}' not found.`);
525
515
  },
526
516
  addExternProtoDeclaration (name, externproto)
527
517
  {
@@ -534,10 +524,10 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
534
524
  throw new Error ("Couldn't add extern proto declaration: extern proto does not belong to this execution context.");
535
525
 
536
526
  if (this [_externprotos] .get (name))
537
- throw new Error ("Couldn't add extern proto declaration: extern proto '" + name + "' already in use.");
527
+ throw new Error (`Couldn't add extern proto declaration: extern proto '${name}' already in use.`);
538
528
 
539
529
  if (this [_externprotos] .get (externproto .getName ()) === externproto)
540
- throw new Error ("Couldn't add extern proto declaration: extern proto '" + externproto .getName () + "' already added.");
530
+ throw new Error (`Couldn't add extern proto declaration: extern proto '${externproto .getName ()}' already added.`);
541
531
 
542
532
  name = String (name);
543
533
 
@@ -577,15 +567,15 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
577
567
 
578
568
  this ._externprotos_changed = this .getBrowser () .getCurrentTime ();
579
569
  },
580
- getExternProtoDeclarations: function ()
570
+ getExternProtoDeclarations ()
581
571
  {
582
572
  return this [_externprotos];
583
573
  },
584
- getUniqueExternProtoName: function (name)
574
+ getUniqueExternProtoName (name)
585
575
  {
586
576
  return getUniqueName (this [_externprotos], name);
587
577
  },
588
- addRoute: function (sourceNode, sourceField, destinationNode, destinationField)
578
+ addRoute (sourceNode, sourceField, destinationNode, destinationField)
589
579
  {
590
580
  sourceNode = X3DCast (X3DConstants .X3DNode, sourceNode, false);
591
581
  sourceField = String (sourceField);
@@ -610,7 +600,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
610
600
  if (sourceNode .getExecutionContext () !== this)
611
601
  importedSourceNode = this .getLocalNode (this .getLocalName (sourceNode)) .getValue ();
612
602
  }
613
- catch (error)
603
+ catch
614
604
  {
615
605
  // Source node is shared but not imported.
616
606
  }
@@ -621,7 +611,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
621
611
  if (destinationNode .getExecutionContext () !== this)
622
612
  importedDestinationNode = this .getLocalNode (this .getLocalName (destinationNode)) .getValue ();
623
613
  }
624
- catch (error)
614
+ catch
625
615
  {
626
616
  // Destination node is shared but not imported.
627
617
  }
@@ -648,7 +638,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
648
638
 
649
639
  return this .addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField);
650
640
  },
651
- addSimpleRoute: function (sourceNode, sourceField, destinationNode, destinationField)
641
+ addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField)
652
642
  {
653
643
  // Source and dest node are here X3DBaseNode.
654
644
 
@@ -661,13 +651,13 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
661
651
  destinationField = destinationNode .getField (destinationField);
662
652
 
663
653
  if (!sourceField .isOutput ())
664
- throw new Error ("Field named '" + sourceField .getName () + "' in node named '" + sourceNode .getName () + "' of type " + sourceNode .getTypeName () + " is not an output field.");
654
+ throw new Error (`Field named '${sourceField .getName ()}' in node named '${sourceNode .getName ()}' of type ${sourceNode .getTypeName ()} is not an output field.`);
665
655
 
666
656
  if (!destinationField .isInput ())
667
- throw new Error ("Field named '" + destinationField .getName () + "' in node named '" + destinationNode .getName () + "' of type " + destinationNode .getTypeName () + " is not an input field.");
657
+ throw new Error (`Field named '${destinationField .getName ()}' in node named '${destinationNode .getName ()}' of type ${destinationNode .getTypeName ()} is not an input field.`);
668
658
 
669
659
  if (sourceField .getType () !== destinationField .getType ())
670
- throw new Error ("ROUTE types " + sourceField .getTypeName () + " and " + destinationField .getTypeName () + " do not match.");
660
+ throw new Error (`ROUTE types ${sourceField .getTypeName ()} and ${destinationField .getTypeName ()} do not match.`);
671
661
 
672
662
  const id = X3DRoute .getId (sourceField, destinationField);
673
663
 
@@ -686,10 +676,10 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
686
676
  }
687
677
  catch (error)
688
678
  {
689
- throw new Error ("Bad ROUTE specification: " + error .message);
679
+ throw new Error (`Bad ROUTE specification: ${error .message}`);
690
680
  }
691
681
  },
692
- deleteRoute: function (route)
682
+ deleteRoute (route)
693
683
  {
694
684
  // sourceNode, sourceField, destinationNode, destinationField
695
685
  if (arguments .length === 4)
@@ -704,7 +694,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
704
694
  this .deleteSimpleRoute (route);
705
695
  this .deleteImportedRoute (route .sourceNode, route .destinationNode, route);
706
696
  },
707
- deleteSimpleRoute: function (route)
697
+ deleteSimpleRoute (route)
708
698
  {
709
699
  const id = X3DRoute .getId (route .getSourceField (), route .getDestinationField ());
710
700
 
@@ -728,7 +718,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
728
718
  if (sourceNode .getValue () .getExecutionContext () !== this)
729
719
  importedSourceNode = this .getLocalNode (this .getLocalName (sourceNode)) .getValue ();
730
720
  }
731
- catch (error)
721
+ catch
732
722
  {
733
723
  // Source node is shared but not imported.
734
724
  }
@@ -739,7 +729,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
739
729
  if (destinationNode .getValue () .getExecutionContext () !== this)
740
730
  importedDestinationNode = this .getLocalNode (this .getLocalName (destinationNode)) .getValue ();
741
731
  }
742
- catch (error)
732
+ catch
743
733
  {
744
734
  // Destination node is shared but not imported.
745
735
  }
@@ -758,7 +748,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
758
748
  importedDestinationNode .deleteRoute (route);
759
749
  }
760
750
  },
761
- getRoute: function (sourceNode, sourceField, destinationNode, destinationField)
751
+ getRoute (sourceNode, sourceField, destinationNode, destinationField)
762
752
  {
763
753
  sourceNode = X3DCast (X3DConstants .X3DNode, sourceNode, false);
764
754
  sourceField = String (sourceField)
@@ -776,19 +766,19 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
776
766
 
777
767
  return this [_routes] .get (X3DRoute .getId (sourceField, destinationField));
778
768
  },
779
- getRoutes: function ()
769
+ getRoutes ()
780
770
  {
781
771
  return this [_routes];
782
772
  },
783
- getWorldInfos: function ()
773
+ getWorldInfos ()
784
774
  {
785
775
  return this ._worldInfos;
786
776
  },
787
- addWorldInfo: function (worldInfoNode)
777
+ addWorldInfo (worldInfoNode)
788
778
  {
789
779
  this ._worldInfos .push (worldInfoNode);
790
780
  },
791
- removeWorldInfo: function (worldInfoNode)
781
+ removeWorldInfo (worldInfoNode)
792
782
  {
793
783
  for (let i = this ._worldInfos .length - 1; i >= 0; -- i)
794
784
  {
@@ -796,7 +786,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
796
786
  this ._worldInfos .splice (i, 1);
797
787
  }
798
788
  },
799
- toVRMLStream: function (generator)
789
+ toVRMLStream (generator)
800
790
  {
801
791
  generator .PushExecutionContext (this);
802
792
  generator .EnterScope ();
@@ -856,7 +846,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
856
846
  generator .LeaveScope ();
857
847
  generator .PopExecutionContext ();
858
848
  },
859
- toXMLStream: function (generator)
849
+ toXMLStream (generator)
860
850
  {
861
851
  generator .PushExecutionContext (this);
862
852
  generator .EnterScope ();
@@ -892,7 +882,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
892
882
  generator .LeaveScope ();
893
883
  generator .PopExecutionContext ();
894
884
  },
895
- toJSONStream: function (generator)
885
+ toJSONStream (generator)
896
886
  {
897
887
  generator .PushExecutionContext (this);
898
888
  generator .EnterScope ();
@@ -946,7 +936,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
946
936
  generator .LeaveScope ();
947
937
  generator .PopExecutionContext ();
948
938
  },
949
- dispose: function ()
939
+ dispose ()
950
940
  {
951
941
  for (const route of [... this [_routes]])
952
942
  this .deleteRoute (route);
@@ -990,6 +980,16 @@ Object .defineProperties (X3DExecutionContext .prototype,
990
980
  get: X3DExecutionContext .prototype .getUnits,
991
981
  enumerable: true,
992
982
  },
983
+ namedNodes:
984
+ {
985
+ get: X3DExecutionContext .prototype .getNamedNodes,
986
+ enumerable: true,
987
+ },
988
+ importedNodes:
989
+ {
990
+ get: X3DExecutionContext .prototype .getImportedNodes,
991
+ enumerable: true,
992
+ },
993
993
  rootNodes:
994
994
  {
995
995
  get: X3DExecutionContext .prototype .getRootNodes,
@@ -1013,4 +1013,15 @@ Object .defineProperties (X3DExecutionContext .prototype,
1013
1013
  },
1014
1014
  });
1015
1015
 
1016
+ Object .defineProperties (X3DExecutionContext,
1017
+ {
1018
+ typeName:
1019
+ {
1020
+ value: "X3DExecutionContext",
1021
+ enumerable: true,
1022
+ },
1023
+ });
1024
+
1025
+ X3DConstants .addNode (X3DExecutionContext);
1026
+
1016
1027
  export default X3DExecutionContext;