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
@@ -50,13 +50,14 @@ import Fields from "../Fields.js";
50
50
  import Components from "../Components.js";
51
51
  import X3DBrowserContext from "./X3DBrowserContext.js";
52
52
  import DOMIntegration from "./DOMIntegration.js";
53
- import legacy from "./Legacy.js";
53
+ import Legacy from "./Legacy.js";
54
54
  import ProfileInfo from "../Configuration/ProfileInfo.js";
55
55
  import ComponentInfo from "../Configuration/ComponentInfo.js";
56
56
  import ComponentInfoArray from "../Configuration/ComponentInfoArray.js";
57
57
  import SupportedProfiles from "../Configuration/SupportedProfiles.js";
58
58
  import SupportedComponents from "../Configuration/SupportedComponents.js";
59
- import SupportedNodes from "../Configuration/SupportedNodes.js";
59
+ import AbstractNodes from "../Configuration/AbstractNodes.js"
60
+ import ConcreteNodes from "../Configuration/ConcreteNodes.js"
60
61
  import X3DScene from "../Execution/X3DScene.js";
61
62
  import FileLoader from "../InputOutput/FileLoader.js";
62
63
  import XMLParser from "../Parser/XMLParser.js";
@@ -85,28 +86,17 @@ function X3DBrowser (element)
85
86
 
86
87
  X3DBrowserContext .call (this, element);
87
88
 
89
+ this .addType (X3DConstants .X3DBrowser);
90
+
88
91
  this [_browserCallbacks] = new Map ();
89
92
  this [_console] = document .getElementsByClassName ("x_ite-console");
90
93
 
91
94
  this .setup ();
92
95
  };
93
96
 
94
- X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .prototype),
97
+ Object .assign (Object .setPrototypeOf (X3DBrowser .prototype, X3DBrowserContext .prototype),
95
98
  {
96
- constructor: X3DBrowser,
97
- getTypeName: function ()
98
- {
99
- return "X3DBrowser";
100
- },
101
- getComponentName: function ()
102
- {
103
- return "X_ITE";
104
- },
105
- getContainerField: function ()
106
- {
107
- return "browser";
108
- },
109
- initialize: function ()
99
+ initialize ()
110
100
  {
111
101
  X3DBrowserContext .prototype .initialize .call (this);
112
102
 
@@ -114,7 +104,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
114
104
 
115
105
  this [_DOMIntegration] = new DOMIntegration (this);
116
106
 
117
- legacy .call (this);
107
+ Legacy .browser (this);
118
108
 
119
109
  // Process events from context creation. This will setup nodes like
120
110
  // geometry option nodes before any node is created.
@@ -130,50 +120,50 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
130
120
 
131
121
  this .printWelcomeMessage ();
132
122
  },
133
- printWelcomeMessage: function ()
134
- {
135
- this .print ("Welcome to " + this .name + " X3D Browser v" + this .version + ":\n" +
136
- " Current Graphics Renderer\n" +
137
- " Name: " + this .getVendor () + " " + this .getRenderer () + "\n" +
138
- " WebGL version: " + this .getWebGLVersion () + "\n" +
139
- " Shading language: " + this .getShadingLanguageVersion () + "\n" +
140
- " Rendering Properties\n" +
141
- " Antialiased: " + this .getAntialiased () + "\n" +
142
- " Max samples: " + this .getMaxSamples () + "\n" +
143
- " Depth size: " + this .getDepthSize () + " bits\n" +
144
- " Color depth: " + this .getColorDepth () + " bits\n" +
145
- " Max clip planes per shape: " + this .getMaxClipPlanes () + "\n" +
146
- " Max lights per shape: " + this .getMaxLights () + "\n" +
147
- " Max multi textures per shape: " + this .getMaxTextures () + "\n" +
148
- " Texture units: " + this .getMaxCombinedTextureUnits () + "\n" +
149
- " Max texture size: " + this .getMaxTextureSize () + " × " + this .getMaxTextureSize () + " pixels\n" +
150
- " Texture memory: " + this .getTextureMemory () + "\n" +
151
- " Max vertex uniform vectors: " + this .getMaxVertexUniformVectors () + "\n" +
152
- " Max fragment uniform vectors: " + this .getMaxFragmentUniformVectors () + "\n" +
153
- " Max vertex attribs: " + this .getMaxVertexAttribs () + "\n" +
154
- " Max varying vectors: " + this .getMaxVaryingVectors () + "\n");
155
- },
156
- getName: function ()
123
+ printWelcomeMessage ()
124
+ {
125
+ this .print (`Welcome to ${this .name} X3D Browser v${this .version}:\n` +
126
+ ` Current Graphics Renderer\n` +
127
+ ` Name: ${this .getVendor ()} ${this .getRenderer ()}\n` +
128
+ ` WebGL version: ${this .getWebGLVersion ()}\n` +
129
+ ` Shading language: ${this .getShadingLanguageVersion ()}\n` +
130
+ ` Rendering Properties\n` +
131
+ ` Antialiased: ${this .getAntialiased ()}\n` +
132
+ ` Max samples: ${this .getMaxSamples ()}\n` +
133
+ ` Depth size: ${this .getDepthSize ()} bits\n` +
134
+ ` Color depth: ${this .getColorDepth ()} bits\n` +
135
+ ` Max clip planes per shape: ${this .getMaxClipPlanes ()}\n` +
136
+ ` Max lights per shape: ${this .getMaxLights ()}\n` +
137
+ ` Max multi textures per shape: ${this .getMaxTextures ()}\n` +
138
+ ` Texture units: ${this .getMaxCombinedTextureUnits ()}\n` +
139
+ ` Max texture size: ${this .getMaxTextureSize ()} × ${this .getMaxTextureSize ()} pixels\n` +
140
+ ` Texture memory: ${this .getTextureMemory ()}\n` +
141
+ ` Max vertex uniform vectors: ${this .getMaxVertexUniformVectors ()}\n` +
142
+ ` Max fragment uniform vectors: ${this .getMaxFragmentUniformVectors ()}\n` +
143
+ ` Max vertex attribs: ${this .getMaxVertexAttribs ()}\n` +
144
+ ` Max varying vectors: ${this .getMaxVaryingVectors ()}\n`);
145
+ },
146
+ getName ()
157
147
  {
158
148
  return "X_ITE";
159
149
  },
160
- getVersion: function ()
150
+ getVersion ()
161
151
  {
162
152
  return VERSION;
163
153
  },
164
- getDescription: function ()
154
+ getDescription ()
165
155
  {
166
156
  return this .getNotification () ._string .getValue ()
167
157
  },
168
- setDescription: function (value)
158
+ setDescription (value)
169
159
  {
170
160
  this .getNotification () ._string = value;
171
161
  },
172
- getWorldURL: function ()
162
+ getWorldURL ()
173
163
  {
174
164
  return this .currentScene .worldURL;
175
165
  },
176
- getProfile: function (name)
166
+ getProfile (name)
177
167
  {
178
168
  name = String (name);
179
169
 
@@ -182,13 +172,13 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
182
172
  if (profile)
183
173
  return profile;
184
174
 
185
- throw Error ("Profile '" + name + "' is not supported.");
175
+ throw Error (`Profile '${name}' is not supported.`);
186
176
  },
187
- getSupportedProfiles: function ()
177
+ getSupportedProfiles ()
188
178
  {
189
179
  return SupportedProfiles;
190
180
  },
191
- getComponent: function (name, level = 0)
181
+ getComponent (name, level = 0)
192
182
  {
193
183
  name = String (name);
194
184
  level |= 0;
@@ -197,78 +187,106 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
197
187
 
198
188
  if (component)
199
189
  {
200
- return new ComponentInfo ({
201
- name: name,
202
- level: Algorithm .clamp (level || component .level, 1, component .level),
203
- title: component .title,
204
- providerUrl: component .providerUrl,
205
- external: component .external,
206
- dependencies: component .dependencies,
207
- });
190
+ return new ComponentInfo (name,
191
+ Algorithm .clamp (level || component .level, 1, component .level),
192
+ component .title,
193
+ component .providerUrl,
194
+ component .external,
195
+ component .dependencies);
208
196
  }
209
197
 
210
- throw Error ("Component '" + name + "' at level '" + level + "' is not supported.");
198
+ throw Error (`Component '${name}' at level '${level}' is not supported.`);
211
199
  },
212
- getSupportedComponents: function ()
200
+ getSupportedComponents ()
213
201
  {
214
202
  return SupportedComponents;
215
203
  },
216
204
  loadComponents: (function ()
217
205
  {
218
- function loadComponents (browser, componentNames, seen)
206
+ function loadComponents (components, seen)
219
207
  {
220
- return Promise .all (componentNames .map (name => loadComponent (browser, name, seen)))
208
+ return Promise .all (components .map (component => loadComponent (component, seen)))
221
209
  }
222
210
 
223
- async function loadComponent (browser, name, seen)
211
+ async function loadComponent ({ name, providerUrl, external, dependencies }, seen)
224
212
  {
225
213
  if (seen .has (name)) return; seen .add (name);
226
214
 
227
- const component = browser .getSupportedComponents () .get (name);
215
+ await loadComponents (dependencies .map (name => SupportedComponents .get (name)), seen);
228
216
 
229
- await loadComponents (browser, component .dependencies, seen);
230
-
231
- if (!component .external)
217
+ if (!external)
232
218
  return;
233
219
 
234
220
  if (Features .NODE_ENV)
235
- global .require (global .require ("url") .fileURLToPath (component .providerUrl))
221
+ global .require (global .require ("url") .fileURLToPath (providerUrl))
236
222
  else
237
- await import (/* webpackIgnore: true */ component .providerUrl);
223
+ await import (/* webpackIgnore: true */ providerUrl);
238
224
  }
239
225
 
240
- return function (argument)
226
+ return function (... args)
241
227
  {
242
- if (argument instanceof ProfileInfo)
243
- return this .loadComponents (argument .components);
228
+ const component = [ ];
229
+
230
+ for (const arg of args)
231
+ {
232
+ if (arg instanceof ProfileInfo)
233
+ component .push (... arg .components);
244
234
 
245
- if (argument instanceof ComponentInfoArray)
246
- return this .loadComponents ([... argument] .map (({name}) => name));
235
+ else if (arg instanceof ComponentInfoArray)
236
+ component .push (... arg);
247
237
 
248
- if (argument instanceof ComponentInfo)
249
- return this .loadComponents ([argument .name]);
238
+ else if (arg instanceof ComponentInfo)
239
+ component .push (arg);
240
+
241
+ else if (typeof arg === "string")
242
+ component .push (SupportedComponents .get (arg))
243
+ }
250
244
 
251
245
  // Load array of component names.
252
- return loadComponents (this, [... argument], new Set ());
246
+ return loadComponents (component, new Set ());
253
247
  };
254
248
  })(),
255
- getSupportedNode: function (typeName)
249
+ addConcreteNode (typeName, ConcreteNode)
250
+ {
251
+ ConcreteNodes .add (String (typeName), ConcreteNode);
252
+ },
253
+ updateConcreteNode (typeName, ConcreteNode)
254
+ {
255
+ ConcreteNodes .update (String (typeName), String (typeName), ConcreteNode);
256
+ },
257
+ removeConcreteNode (typeName)
258
+ {
259
+ ConcreteNodes .remove (String (typeName));
260
+ },
261
+ getConcreteNode (typeName)
262
+ {
263
+ return ConcreteNodes .get (String (typeName));
264
+ },
265
+ getConcreteNodes ()
266
+ {
267
+ return ConcreteNodes;
268
+ },
269
+ addAbstractNode (typeName, AbstractNode)
256
270
  {
257
- return SupportedNodes .getNodeTypes () .get (String (typeName));
271
+ AbstractNodes .add (String (typeName), AbstractNode);
258
272
  },
259
- getSupportedNodes: function ()
273
+ updateAbstractNode (typeName, AbstractNode)
260
274
  {
261
- return SupportedNodes .getNodeTypes ();
275
+ AbstractNodes .update (String (typeName), String (typeName), AbstractNode);
262
276
  },
263
- getAbstractNode: function (typeName)
277
+ removeAbstractNode (typeName)
264
278
  {
265
- return SupportedNodes .getAbstractNodeTypes () .get (String (typeName));
279
+ AbstractNodes .remove (String (typeName));
266
280
  },
267
- getAbstractNodes: function ()
281
+ getAbstractNode (typeName)
268
282
  {
269
- return SupportedNodes .getAbstractNodeTypes ();
283
+ return AbstractNodes .get (String (typeName));
270
284
  },
271
- createScene: function (profile, component1 /*, ...*/)
285
+ getAbstractNodes ()
286
+ {
287
+ return AbstractNodes;
288
+ },
289
+ createScene (profile, ... components)
272
290
  {
273
291
  const scene = new X3DScene (this);
274
292
 
@@ -279,10 +297,8 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
279
297
 
280
298
  scene .setProfile (profile);
281
299
 
282
- for (let i = 1, length = arguments .length; i < length; ++ i)
300
+ for (const component of components)
283
301
  {
284
- const component = arguments [i];
285
-
286
302
  if (!(component instanceof ComponentInfo))
287
303
  throw new Error ("Couldn't create scene: component must be of type ComponentInfo.");
288
304
 
@@ -294,7 +310,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
294
310
 
295
311
  return scene;
296
312
  },
297
- replaceWorld: function (scene)
313
+ replaceWorld (scene)
298
314
  {
299
315
  return new Promise ((resolve, reject) =>
300
316
  {
@@ -353,7 +369,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
353
369
  scene .setLive (this .isLive ());
354
370
  });
355
371
  },
356
- checkLoadCount: function (resolve, loadCount)
372
+ checkLoadCount (resolve, loadCount)
357
373
  {
358
374
  if (loadCount .getValue ())
359
375
  return;
@@ -366,7 +382,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
366
382
  this .callBrowserEventHandler ("initialized load");
367
383
  resolve ();
368
384
  },
369
- createVrmlFromString: function (vrmlSyntax)
385
+ createVrmlFromString (vrmlSyntax)
370
386
  {
371
387
  vrmlSyntax = String (vrmlSyntax);
372
388
 
@@ -408,7 +424,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
408
424
 
409
425
  return scene;
410
426
  },
411
- createVrmlFromURL: function (url, node, event)
427
+ createVrmlFromURL (url, node, event)
412
428
  {
413
429
  node = X3DCast (X3DConstants .X3DNode, node, false);
414
430
  event = String (event);
@@ -422,10 +438,10 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
422
438
  const field = node .getField (event);
423
439
 
424
440
  if (!field .isInput ())
425
- throw new Error ("Browser.createVrmlFromURL: event named '" + event + "' must be a input field.");
441
+ throw new Error (`Browser.createVrmlFromURL: event named '${event}' must be a input field.`);
426
442
 
427
443
  if (field .getType () !== X3DConstants .MFNode)
428
- throw new Error ("Browser.createVrmlFromURL: event named '" + event + "' must be of type MFNode.");
444
+ throw new Error (`Browser.createVrmlFromURL: event named '${event}' must be of type MFNode.`);
429
445
 
430
446
  const
431
447
  currentScene = this .currentScene,
@@ -454,7 +470,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
454
470
  }
455
471
  });
456
472
  },
457
- createX3DFromURL: function (url, node, event)
473
+ createX3DFromURL (url, node, event)
458
474
  {
459
475
  if (arguments .length === 3)
460
476
  return this .createVrmlFromURL (url, node, event);
@@ -495,7 +511,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
495
511
  })
496
512
  });
497
513
  },
498
- loadURL: function (url, parameter = new Fields .MFString ())
514
+ loadURL (url, parameter = new Fields .MFString ())
499
515
  {
500
516
  return new Promise ((resolve, reject) =>
501
517
  {
@@ -575,23 +591,23 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
575
591
  }
576
592
  });
577
593
  },
578
- addBrowserListener: function (callback, object)
594
+ addBrowserListener (callback, object)
579
595
  {
580
596
  // The string describes the name of the callback function to be called within the current ECMAScript context.
581
597
  },
582
- removeBrowserListener: function (callback)
598
+ removeBrowserListener (callback)
583
599
  {
584
600
  // The string describes the name of the callback function to be called within the current ECMAScript context.
585
601
  },
586
- addBrowserCallback: function (key, object)
602
+ addBrowserCallback (key, object)
587
603
  {
588
604
  this [_browserCallbacks] .set (key, object);
589
605
  },
590
- removeBrowserCallback: function (key)
606
+ removeBrowserCallback (key)
591
607
  {
592
608
  this [_browserCallbacks] .delete (key);
593
609
  },
594
- getBrowserCallbacks: function ()
610
+ getBrowserCallbacks ()
595
611
  {
596
612
  return this [_browserCallbacks];
597
613
  },
@@ -610,7 +626,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
610
626
  }
611
627
  };
612
628
  })(),
613
- importDocument: function (dom)
629
+ importDocument (dom)
614
630
  {
615
631
  const
616
632
  currentScene = this .currentScene,
@@ -630,7 +646,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
630
646
 
631
647
  return new Promise (parser .parseIntoScene .bind (parser));
632
648
  },
633
- importJS: function (json)
649
+ importJS (json)
634
650
  {
635
651
  const
636
652
  currentScene = this .currentScene,
@@ -650,23 +666,23 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
650
666
 
651
667
  return new Promise (parser .parseIntoScene .bind (parser));
652
668
  },
653
- getBrowserProperty: function (name)
669
+ getBrowserProperty (name)
654
670
  {
655
671
  return this .getBrowserProperties () .getField (name) .getValue ();
656
672
  },
657
- setBrowserOption: function (name, value)
673
+ setBrowserOption (name, value)
658
674
  {
659
675
  this .getBrowserOptions () .getField (name) .setValue (value);
660
676
  },
661
- getBrowserOption: function (name)
677
+ getBrowserOption (name)
662
678
  {
663
679
  return this .getBrowserOptions () .getField (name) .getValue ();
664
680
  },
665
- getRenderingProperty: function (name)
681
+ getRenderingProperty (name)
666
682
  {
667
683
  return this .getRenderingProperties () .getField (name) .getValue ();
668
684
  },
669
- viewAll: function (layerNode)
685
+ viewAll (layerNode)
670
686
  {
671
687
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
672
688
 
@@ -675,7 +691,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
675
691
 
676
692
  layerNode .viewAll (1, this .getBrowserOption ("StraightenHorizon"));
677
693
  },
678
- firstViewpoint: function (layerNode)
694
+ firstViewpoint (layerNode)
679
695
  {
680
696
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
681
697
 
@@ -684,7 +700,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
684
700
  if (viewpoints .length)
685
701
  this .bindViewpoint (layerNode, viewpoints [0]);
686
702
  },
687
- previousViewpoint: function (layerNode)
703
+ previousViewpoint (layerNode)
688
704
  {
689
705
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
690
706
 
@@ -713,7 +729,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
713
729
  else
714
730
  this .bindViewpoint (layerNode, viewpoints .at (-1));
715
731
  },
716
- nextViewpoint: function (layerNode)
732
+ nextViewpoint (layerNode)
717
733
  {
718
734
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
719
735
 
@@ -742,7 +758,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
742
758
  else
743
759
  this .bindViewpoint (layerNode, viewpoints [0]);
744
760
  },
745
- lastViewpoint: function (layerNode)
761
+ lastViewpoint (layerNode)
746
762
  {
747
763
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
748
764
 
@@ -754,7 +770,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
754
770
  if (viewpoints .length)
755
771
  this .bindViewpoint (layerNode, viewpoints .at (-1));
756
772
  },
757
- changeViewpoint: function (layerNode, name)
773
+ changeViewpoint (layerNode, name)
758
774
  {
759
775
  if (arguments .length === 1)
760
776
  {
@@ -776,7 +792,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
776
792
  break;
777
793
  }
778
794
  },
779
- bindViewpoint: function (layerNode, viewpointNode)
795
+ bindViewpoint (layerNode, viewpointNode)
780
796
  {
781
797
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode);
782
798
  viewpointNode = X3DCast (X3DConstants .X3DViewpointNode, viewpointNode);
@@ -791,11 +807,11 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
791
807
 
792
808
  viewpointNode ._set_bind = true;
793
809
  },
794
- addRoute: function (fromNode, fromEventOut, toNode, toEventIn)
810
+ addRoute (fromNode, fromEventOut, toNode, toEventIn)
795
811
  {
796
812
  this .currentScene .addRoute (fromNode, fromEventOut, toNode, toEventIn);
797
813
  },
798
- deleteRoute: function (fromNode, fromEventOut, toNode, toEventIn)
814
+ deleteRoute (fromNode, fromEventOut, toNode, toEventIn)
799
815
  {
800
816
  try
801
817
  {
@@ -809,19 +825,19 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
809
825
  console .error (error);
810
826
  }
811
827
  },
812
- beginUpdate: function ()
828
+ beginUpdate ()
813
829
  {
814
830
  this .setLive (true);
815
831
  this .getExecutionContext () .setLive (true);
816
832
  this .advanceTime ();
817
833
  this .addBrowserEvent ();
818
834
  },
819
- endUpdate: function ()
835
+ endUpdate ()
820
836
  {
821
837
  this .setLive (false);
822
838
  this .getExecutionContext () .setLive (false);
823
839
  },
824
- print: function (... args)
840
+ print (... args)
825
841
  {
826
842
  const string = args .join ("");
827
843
 
@@ -830,24 +846,24 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
830
846
  for (const element of this [_console])
831
847
  element .append (document .createTextNode (string));
832
848
  },
833
- println: function (... args)
849
+ println (... args)
834
850
  {
835
851
  const string = args .join ("");
836
852
 
837
853
  console .log (string);
838
854
 
839
855
  for (const element of this [_console])
840
- element .append (document .createTextNode (string + "\n"));
856
+ element .append (document .createTextNode (`${string}\n`));
841
857
  },
842
- toVRMLStream: function (generator)
858
+ toVRMLStream (generator)
843
859
  {
844
860
  this .currentScene .toVRMLStream (generator);
845
861
  },
846
- toXMLStream: function (generator)
862
+ toXMLStream (generator)
847
863
  {
848
864
  this .currentScene .toXMLStream (generator);
849
865
  },
850
- toJSONStream: function (generator)
866
+ toJSONStream (generator)
851
867
  {
852
868
  this .currentScene .toJSONStream (generator);
853
869
  },
@@ -865,12 +881,7 @@ Object .defineProperties (X3DBrowser .prototype,
865
881
  },
866
882
  version:
867
883
  {
868
- get: X3DBrowser .prototype .getVersion,
869
- enumerable: true,
870
- },
871
- providerUrl:
872
- {
873
- get: X3DBrowser .prototype .getProviderUrl,
884
+ value: VERSION,
874
885
  enumerable: true,
875
886
  },
876
887
  currentFrameRate:
@@ -897,7 +908,7 @@ Object .defineProperties (X3DBrowser .prototype,
897
908
  },
898
909
  currentScene:
899
910
  {
900
- get: function ()
911
+ get ()
901
912
  {
902
913
  return this .getScriptStack () .at (-1) .getExecutionContext ();
903
914
  },
@@ -905,20 +916,35 @@ Object .defineProperties (X3DBrowser .prototype,
905
916
  },
906
917
  supportedProfiles:
907
918
  {
908
- get: function ()
909
- {
910
- return SupportedProfiles;
911
- },
919
+ value: SupportedProfiles,
912
920
  enumerable: true,
913
921
  },
914
922
  supportedComponents:
915
923
  {
916
- get: function ()
917
- {
918
- return SupportedComponents;
919
- },
924
+ value: SupportedComponents,
925
+ enumerable: true,
926
+ },
927
+ concreteNodes:
928
+ {
929
+ value: ConcreteNodes,
930
+ enumerable: true,
931
+ },
932
+ abstractNodes:
933
+ {
934
+ value: AbstractNodes,
920
935
  enumerable: true,
921
936
  },
922
937
  });
923
938
 
939
+ Object .defineProperties (X3DBrowser,
940
+ {
941
+ typeName:
942
+ {
943
+ value: "X3DBrowser",
944
+ enumerable: true,
945
+ },
946
+ });
947
+
948
+ X3DConstants .addNode (X3DBrowser);
949
+
924
950
  export default X3DBrowser;