x_ite 8.7.8 → 8.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (646) 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 -626
  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 +173 -103
  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 +61554 -59658
  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/assets/shaders/webgl1/include/Shadow.glsl.js +21 -25
  70. package/src/assets/shaders/webgl2/include/Shadow.glsl.js +23 -27
  71. package/src/bookmarks.js +2 -2
  72. package/src/lib/jquery.js +42 -30
  73. package/src/standard/Geospatial/Geodetic.js +8 -9
  74. package/src/standard/Geospatial/UniversalTransverseMercator.js +4 -5
  75. package/src/standard/Math/Algorithm.js +41 -56
  76. package/src/standard/Math/Algorithms/Bezier.js +2 -2
  77. package/src/standard/Math/Algorithms/MergeSort.js +6 -6
  78. package/src/standard/Math/Algorithms/PartialSort.js +5 -5
  79. package/src/standard/Math/Algorithms/QuickSort.js +5 -5
  80. package/src/standard/Math/Geometry/Box2.js +16 -17
  81. package/src/standard/Math/Geometry/Box3.js +18 -19
  82. package/src/standard/Math/Geometry/Camera.js +6 -5
  83. package/src/standard/Math/Geometry/Cylinder3.js +6 -7
  84. package/src/standard/Math/Geometry/Line2.js +20 -18
  85. package/src/standard/Math/Geometry/Line3.js +20 -18
  86. package/src/standard/Math/Geometry/Plane3.js +11 -12
  87. package/src/standard/Math/Geometry/Sphere3.js +6 -7
  88. package/src/standard/Math/Geometry/Spheroid3.js +6 -7
  89. package/src/standard/Math/Geometry/Triangle2.js +4 -3
  90. package/src/standard/Math/Geometry/Triangle3.js +5 -4
  91. package/src/standard/Math/Geometry/ViewVolume.js +6 -7
  92. package/src/standard/Math/Numbers/Color3.js +18 -19
  93. package/src/standard/Math/Numbers/Color4.js +20 -21
  94. package/src/standard/Math/Numbers/Complex.js +28 -29
  95. package/src/standard/Math/Numbers/Matrix2.js +22 -23
  96. package/src/standard/Math/Numbers/Matrix3.js +28 -29
  97. package/src/standard/Math/Numbers/Matrix4.js +29 -30
  98. package/src/standard/Math/Numbers/Quaternion.js +40 -41
  99. package/src/standard/Math/Numbers/Rotation4.js +34 -35
  100. package/src/standard/Math/Numbers/Vector2.js +29 -30
  101. package/src/standard/Math/Numbers/Vector3.js +32 -33
  102. package/src/standard/Math/Numbers/Vector4.js +34 -35
  103. package/src/standard/Math/Utility/BVH.js +14 -15
  104. package/src/standard/Math/Utility/MatrixStack.js +12 -12
  105. package/src/standard/Time/MicroTime.js +4 -3
  106. package/src/standard/Utility/BitSet.js +10 -11
  107. package/src/standard/Utility/DataStorage.js +10 -10
  108. package/src/standard/Utility/MapUtilities.js +2 -1
  109. package/src/standard/Utility/ObjectCache.js +3 -3
  110. package/src/tests.js +10 -0
  111. package/src/x_ite/Base/Events.js +3 -3
  112. package/src/x_ite/Base/FieldArray.js +11 -9
  113. package/src/x_ite/Base/FieldDefinitionArray.js +11 -9
  114. package/src/x_ite/Base/X3DArrayField.js +13 -14
  115. package/src/x_ite/Base/X3DBaseNode.js +219 -181
  116. package/src/x_ite/Base/X3DCast.js +1 -1
  117. package/src/x_ite/Base/X3DChildObject.js +162 -53
  118. package/src/x_ite/Base/X3DConstants.js +74 -60
  119. package/src/x_ite/Base/X3DEventObject.js +6 -12
  120. package/src/x_ite/Base/X3DField.js +45 -42
  121. package/src/x_ite/Base/X3DFieldDefinition.js +9 -7
  122. package/src/x_ite/Base/X3DInfoArray.js +75 -65
  123. package/src/x_ite/Base/X3DObject.js +59 -29
  124. package/src/x_ite/Base/X3DObjectArrayField.js +51 -117
  125. package/src/x_ite/Base/X3DTypedArrayField.js +48 -42
  126. package/src/x_ite/Browser/Core/BrowserOptions.js +55 -57
  127. package/src/x_ite/Browser/Core/BrowserProperties.js +18 -20
  128. package/src/x_ite/Browser/Core/BrowserTimings.js +29 -33
  129. package/src/x_ite/Browser/Core/Context.js +7 -7
  130. package/src/x_ite/Browser/Core/ContextMenu.js +61 -83
  131. package/src/x_ite/Browser/Core/Notification.js +12 -12
  132. package/src/x_ite/Browser/Core/RenderingProperties.js +28 -28
  133. package/src/x_ite/Browser/Core/X3DCoreContext.js +45 -37
  134. package/src/x_ite/Browser/DOMIntegration.js +4 -1
  135. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +3 -3
  136. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +1 -1
  137. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +12 -12
  138. package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +8 -14
  139. package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +8 -14
  140. package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +13 -17
  141. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +15 -19
  142. package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +12 -16
  143. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +9 -9
  144. package/src/x_ite/Browser/Geometry3D/BoxOptions.js +12 -16
  145. package/src/x_ite/Browser/Geometry3D/ConeOptions.js +6 -12
  146. package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +6 -12
  147. package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +13 -17
  148. package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +17 -21
  149. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -8
  150. package/src/x_ite/Browser/Geospatial/Geocentric.js +5 -6
  151. package/src/x_ite/Browser/Geospatial/Geospatial.js +10 -10
  152. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +3 -3
  153. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +2 -3
  154. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +8 -9
  155. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +7 -8
  156. package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +3 -4
  157. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +8 -8
  158. package/src/x_ite/Browser/Layering/X3DLayeringContext.js +4 -4
  159. package/src/x_ite/Browser/Layout/ScreenText.js +7 -8
  160. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +3 -3
  161. package/src/x_ite/Browser/Legacy.js +32 -12
  162. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +5 -5
  163. package/src/x_ite/Browser/NURBS/NURBS.js +10 -10
  164. package/src/x_ite/Browser/Navigation/ExamineViewer.js +32 -20
  165. package/src/x_ite/Browser/Navigation/FlyViewer.js +22 -10
  166. package/src/x_ite/Browser/Navigation/LookAtViewer.js +29 -17
  167. package/src/x_ite/Browser/Navigation/NoneViewer.js +15 -5
  168. package/src/x_ite/Browser/Navigation/PlaneViewer.js +24 -12
  169. package/src/x_ite/Browser/Navigation/WalkViewer.js +22 -10
  170. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +17 -18
  171. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +19 -19
  172. package/src/x_ite/Browser/Navigation/X3DViewer.js +13 -19
  173. package/src/x_ite/Browser/Networking/URLs.js +5 -5
  174. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +16 -16
  175. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +3 -3
  176. package/src/x_ite/Browser/Picking/VolumePicker.js +8 -8
  177. package/src/x_ite/Browser/Picking/X3DPickingContext.js +12 -12
  178. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +24 -20
  179. package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +6 -6
  180. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +21 -21
  181. package/src/x_ite/Browser/Rendering/GeometryContext.js +4 -5
  182. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +18 -18
  183. package/src/x_ite/Browser/Scripting/X3DScriptingContext.js +4 -4
  184. package/src/x_ite/Browser/Shaders/ShaderCompiler.js +4 -4
  185. package/src/x_ite/Browser/Shaders/ShaderSource.js +1 -1
  186. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +13 -13
  187. package/src/x_ite/Browser/Shape/X3DShapeContext.js +12 -12
  188. package/src/x_ite/Browser/Sound/X3DSoundContext.js +0 -2
  189. package/src/x_ite/Browser/Text/PolygonText.js +10 -11
  190. package/src/x_ite/Browser/Text/X3DTextContext.js +6 -6
  191. package/src/x_ite/Browser/Text/X3DTextGeometry.js +18 -19
  192. package/src/x_ite/Browser/Texturing/GifMedia.js +7 -7
  193. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +24 -24
  194. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +38 -38
  195. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +14 -14
  196. package/src/x_ite/Browser/Time/X3DTimeContext.js +5 -5
  197. package/src/x_ite/Browser/VERSION.js +1 -1
  198. package/src/x_ite/Browser/VolumeRendering/VolumeMaterial.js +39 -22
  199. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +6 -6
  200. package/src/x_ite/Browser/X3DBrowser.js +170 -136
  201. package/src/x_ite/Browser/X3DBrowserContext.js +23 -24
  202. package/src/x_ite/Components/Annotation/AnnotationLayer.js +30 -19
  203. package/src/x_ite/Components/Annotation/AnnotationTarget.js +30 -19
  204. package/src/x_ite/Components/Annotation/GroupAnnotation.js +40 -29
  205. package/src/x_ite/Components/Annotation/IconAnnotation.js +38 -27
  206. package/src/x_ite/Components/Annotation/TextAnnotation.js +31 -20
  207. package/src/x_ite/Components/Annotation/URLAnnotation.js +30 -19
  208. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +16 -3
  209. package/src/x_ite/Components/CADGeometry/CADAssembly.js +32 -21
  210. package/src/x_ite/Components/CADGeometry/CADFace.js +48 -37
  211. package/src/x_ite/Components/CADGeometry/CADLayer.js +30 -21
  212. package/src/x_ite/Components/CADGeometry/CADPart.js +37 -26
  213. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +51 -46
  214. package/src/x_ite/Components/CADGeometry/QuadSet.js +48 -43
  215. package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +13 -2
  216. package/src/x_ite/Components/Core/MetadataBoolean.js +33 -22
  217. package/src/x_ite/Components/Core/MetadataDouble.js +33 -22
  218. package/src/x_ite/Components/Core/MetadataFloat.js +33 -22
  219. package/src/x_ite/Components/Core/MetadataInteger.js +33 -22
  220. package/src/x_ite/Components/Core/MetadataSet.js +33 -22
  221. package/src/x_ite/Components/Core/MetadataString.js +33 -22
  222. package/src/x_ite/Components/Core/WorldInfo.js +34 -23
  223. package/src/x_ite/Components/Core/X3DBindableNode.js +17 -4
  224. package/src/x_ite/Components/Core/X3DChildNode.js +19 -6
  225. package/src/x_ite/Components/Core/X3DInfoNode.js +13 -2
  226. package/src/x_ite/Components/Core/X3DMetadataObject.js +18 -5
  227. package/src/x_ite/Components/Core/X3DNode.js +66 -34
  228. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +68 -77
  229. package/src/x_ite/Components/Core/X3DSensorNode.js +13 -2
  230. package/src/x_ite/Components/Core.js +22 -29
  231. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +46 -35
  232. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +39 -28
  233. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +47 -36
  234. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +21 -8
  235. package/src/x_ite/Components/DIS/DISEntityManager.js +29 -20
  236. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +41 -30
  237. package/src/x_ite/Components/DIS/EspduTransform.js +117 -106
  238. package/src/x_ite/Components/DIS/ReceiverPdu.js +60 -49
  239. package/src/x_ite/Components/DIS/SignalPdu.js +60 -49
  240. package/src/x_ite/Components/DIS/TransmitterPdu.js +76 -65
  241. package/src/x_ite/Components/EnvironmentalEffects/Background.js +47 -36
  242. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +42 -31
  243. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +39 -28
  244. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +40 -29
  245. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +48 -37
  246. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +28 -15
  247. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +30 -18
  248. package/src/x_ite/Components/EnvironmentalEffects.js +15 -22
  249. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +45 -34
  250. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +50 -39
  251. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +41 -30
  252. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +22 -9
  253. package/src/x_ite/Components/EnvironmentalSensor.js +12 -19
  254. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +38 -27
  255. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +38 -27
  256. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +33 -22
  257. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +32 -21
  258. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +38 -27
  259. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +33 -22
  260. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +32 -21
  261. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +20 -7
  262. package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +13 -2
  263. package/src/x_ite/Components/Followers/ColorChaser.js +47 -36
  264. package/src/x_ite/Components/Followers/ColorDamper.js +49 -38
  265. package/src/x_ite/Components/Followers/CoordinateChaser.js +33 -22
  266. package/src/x_ite/Components/Followers/CoordinateDamper.js +35 -24
  267. package/src/x_ite/Components/Followers/OrientationChaser.js +43 -32
  268. package/src/x_ite/Components/Followers/OrientationDamper.js +41 -30
  269. package/src/x_ite/Components/Followers/PositionChaser.js +33 -22
  270. package/src/x_ite/Components/Followers/PositionChaser2D.js +33 -22
  271. package/src/x_ite/Components/Followers/PositionDamper.js +35 -24
  272. package/src/x_ite/Components/Followers/PositionDamper2D.js +35 -24
  273. package/src/x_ite/Components/Followers/ScalarChaser.js +47 -36
  274. package/src/x_ite/Components/Followers/ScalarDamper.js +43 -32
  275. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +33 -22
  276. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +35 -24
  277. package/src/x_ite/Components/Followers/X3DChaserNode.js +27 -14
  278. package/src/x_ite/Components/Followers/X3DDamperNode.js +22 -9
  279. package/src/x_ite/Components/Followers/X3DFollowerNode.js +29 -16
  280. package/src/x_ite/Components/Followers.js +25 -32
  281. package/src/x_ite/Components/Geometry2D/Arc2D.js +38 -27
  282. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +39 -28
  283. package/src/x_ite/Components/Geometry2D/Circle2D.js +35 -24
  284. package/src/x_ite/Components/Geometry2D/Disk2D.js +40 -29
  285. package/src/x_ite/Components/Geometry2D/Polyline2D.js +34 -23
  286. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +34 -23
  287. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +34 -23
  288. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +36 -25
  289. package/src/x_ite/Components/Geometry3D/Box.js +34 -23
  290. package/src/x_ite/Components/Geometry3D/Cone.js +40 -29
  291. package/src/x_ite/Components/Geometry3D/Cylinder.js +41 -30
  292. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +63 -52
  293. package/src/x_ite/Components/Geometry3D/Extrusion.js +49 -38
  294. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +98 -95
  295. package/src/x_ite/Components/Geometry3D/Sphere.js +36 -25
  296. package/src/x_ite/Components/Geometry3D.js +15 -22
  297. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +37 -26
  298. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +63 -52
  299. package/src/x_ite/Components/Geospatial/GeoLOD.js +59 -48
  300. package/src/x_ite/Components/Geospatial/GeoLocation.js +45 -34
  301. package/src/x_ite/Components/Geospatial/GeoMetadata.js +38 -27
  302. package/src/x_ite/Components/Geospatial/GeoOrigin.js +37 -26
  303. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +43 -32
  304. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +48 -37
  305. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +45 -34
  306. package/src/x_ite/Components/Geospatial/GeoTransform.js +49 -38
  307. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +56 -45
  308. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +30 -17
  309. package/src/x_ite/Components/Grouping/Group.js +29 -20
  310. package/src/x_ite/Components/Grouping/StaticGroup.js +40 -48
  311. package/src/x_ite/Components/Grouping/Switch.js +51 -40
  312. package/src/x_ite/Components/Grouping/Transform.js +34 -25
  313. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +22 -9
  314. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +224 -221
  315. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +20 -7
  316. package/src/x_ite/Components/Grouping/X3DTransformNode.js +17 -4
  317. package/src/x_ite/Components/Grouping.js +16 -23
  318. package/src/x_ite/Components/HAnim/HAnimDisplacer.js +27 -18
  319. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +73 -62
  320. package/src/x_ite/Components/HAnim/HAnimJoint.js +61 -50
  321. package/src/x_ite/Components/HAnim/HAnimMotion.js +44 -33
  322. package/src/x_ite/Components/HAnim/HAnimSegment.js +36 -27
  323. package/src/x_ite/Components/HAnim/HAnimSite.js +36 -27
  324. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +38 -27
  325. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +38 -27
  326. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +38 -27
  327. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +39 -28
  328. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +38 -27
  329. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +38 -27
  330. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +38 -27
  331. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +38 -27
  332. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +39 -28
  333. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +44 -33
  334. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +44 -33
  335. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +44 -33
  336. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +40 -29
  337. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +21 -8
  338. package/src/x_ite/Components/Interpolation.js +22 -29
  339. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +44 -33
  340. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +38 -27
  341. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +23 -10
  342. package/src/x_ite/Components/Layering/Layer.js +40 -29
  343. package/src/x_ite/Components/Layering/LayerSet.js +44 -33
  344. package/src/x_ite/Components/Layering/Viewport.js +48 -37
  345. package/src/x_ite/Components/Layering/X3DLayerNode.js +45 -32
  346. package/src/x_ite/Components/Layering/X3DViewportNode.js +13 -2
  347. package/src/x_ite/Components/Layering.js +13 -20
  348. package/src/x_ite/Components/Layout/Layout.js +60 -49
  349. package/src/x_ite/Components/Layout/LayoutGroup.js +48 -37
  350. package/src/x_ite/Components/Layout/LayoutLayer.js +41 -30
  351. package/src/x_ite/Components/Layout/ScreenFontStyle.js +41 -30
  352. package/src/x_ite/Components/Layout/ScreenGroup.js +42 -31
  353. package/src/x_ite/Components/Layout/X3DLayoutNode.js +13 -2
  354. package/src/x_ite/Components/Lighting/DirectionalLight.js +45 -35
  355. package/src/x_ite/Components/Lighting/EnvironmentLight.js +51 -41
  356. package/src/x_ite/Components/Lighting/PointLight.js +53 -43
  357. package/src/x_ite/Components/Lighting/SpotLight.js +62 -52
  358. package/src/x_ite/Components/Lighting/X3DLightNode.js +29 -16
  359. package/src/x_ite/Components/Lighting.js +13 -20
  360. package/src/x_ite/Components/NURBS/Contour2D.js +45 -45
  361. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +34 -23
  362. package/src/x_ite/Components/NURBS/CoordinateDouble.js +23 -14
  363. package/src/x_ite/Components/NURBS/NurbsCurve.js +47 -36
  364. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +44 -33
  365. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +46 -35
  366. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +36 -27
  367. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +46 -35
  368. package/src/x_ite/Components/NURBS/NurbsSet.js +52 -52
  369. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +44 -33
  370. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +40 -29
  371. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +40 -29
  372. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +43 -32
  373. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +59 -59
  374. package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +13 -2
  375. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +30 -17
  376. package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +16 -3
  377. package/src/x_ite/Components/Navigation/Billboard.js +43 -32
  378. package/src/x_ite/Components/Navigation/Collision.js +49 -38
  379. package/src/x_ite/Components/Navigation/LOD.js +54 -43
  380. package/src/x_ite/Components/Navigation/NavigationInfo.js +58 -47
  381. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +69 -58
  382. package/src/x_ite/Components/Navigation/Viewpoint.js +53 -42
  383. package/src/x_ite/Components/Navigation/ViewpointGroup.js +44 -33
  384. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +48 -35
  385. package/src/x_ite/Components/Navigation.js +16 -23
  386. package/src/x_ite/Components/Networking/Anchor.js +51 -40
  387. package/src/x_ite/Components/Networking/Inline.js +54 -43
  388. package/src/x_ite/Components/Networking/LoadSensor.js +49 -38
  389. package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +13 -2
  390. package/src/x_ite/Components/Networking/X3DUrlObject.js +35 -22
  391. package/src/x_ite/Components/Networking.js +13 -20
  392. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +37 -26
  393. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +44 -33
  394. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +41 -30
  395. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +34 -23
  396. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +83 -72
  397. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +41 -30
  398. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +42 -31
  399. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +42 -31
  400. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +43 -32
  401. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +38 -27
  402. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +33 -20
  403. package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +16 -3
  404. package/src/x_ite/Components/Picking/LinePickSensor.js +49 -38
  405. package/src/x_ite/Components/Picking/PickableGroup.js +45 -34
  406. package/src/x_ite/Components/Picking/PointPickSensor.js +46 -35
  407. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +46 -35
  408. package/src/x_ite/Components/Picking/VolumePickSensor.js +45 -34
  409. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +31 -18
  410. package/src/x_ite/Components/Picking/X3DPickableObject.js +20 -7
  411. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +50 -39
  412. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +52 -45
  413. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +44 -33
  414. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +30 -21
  415. package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +13 -2
  416. package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +22 -11
  417. package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +16 -3
  418. package/src/x_ite/Components/PointingDeviceSensor.js +15 -22
  419. package/src/x_ite/Components/Rendering/ClipPlane.js +44 -34
  420. package/src/x_ite/Components/Rendering/Color.js +37 -26
  421. package/src/x_ite/Components/Rendering/ColorRGBA.js +37 -26
  422. package/src/x_ite/Components/Rendering/Coordinate.js +23 -14
  423. package/src/x_ite/Components/Rendering/IndexedLineSet.js +52 -41
  424. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +48 -37
  425. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +44 -33
  426. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +48 -37
  427. package/src/x_ite/Components/Rendering/LineSet.js +45 -34
  428. package/src/x_ite/Components/Rendering/Normal.js +39 -28
  429. package/src/x_ite/Components/Rendering/PointSet.js +45 -34
  430. package/src/x_ite/Components/Rendering/TriangleFanSet.js +47 -36
  431. package/src/x_ite/Components/Rendering/TriangleSet.js +41 -30
  432. package/src/x_ite/Components/Rendering/TriangleStripSet.js +47 -36
  433. package/src/x_ite/Components/Rendering/X3DColorNode.js +17 -4
  434. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +33 -20
  435. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +23 -10
  436. package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +13 -2
  437. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +96 -80
  438. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +21 -8
  439. package/src/x_ite/Components/Rendering/X3DNormalNode.js +13 -2
  440. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +20 -7
  441. package/src/x_ite/Components/Rendering.js +29 -36
  442. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +43 -32
  443. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +48 -37
  444. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +52 -41
  445. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +47 -36
  446. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +41 -30
  447. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +44 -33
  448. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +38 -29
  449. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +60 -49
  450. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +48 -39
  451. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +69 -58
  452. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +61 -50
  453. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +49 -38
  454. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +47 -36
  455. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +36 -27
  456. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +24 -11
  457. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +17 -4
  458. package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +34 -21
  459. package/src/x_ite/Components/Scripting/Script.js +83 -53
  460. package/src/x_ite/Components/Scripting/X3DScriptNode.js +17 -4
  461. package/src/x_ite/Components/Shaders/ComposedShader.js +46 -35
  462. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +40 -29
  463. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +38 -27
  464. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +38 -27
  465. package/src/x_ite/Components/Shaders/PackagedShader.js +45 -34
  466. package/src/x_ite/Components/Shaders/ProgramShader.js +27 -18
  467. package/src/x_ite/Components/Shaders/ShaderPart.js +47 -36
  468. package/src/x_ite/Components/Shaders/ShaderProgram.js +42 -31
  469. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +51 -38
  470. package/src/x_ite/Components/Shaders/X3DShaderNode.js +19 -6
  471. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +17 -4
  472. package/src/x_ite/Components/Shaders.js +19 -26
  473. package/src/x_ite/Components/Shape/AcousticProperties.js +28 -19
  474. package/src/x_ite/Components/Shape/Appearance.js +79 -68
  475. package/src/x_ite/Components/Shape/FillProperties.js +44 -33
  476. package/src/x_ite/Components/Shape/LineProperties.js +44 -33
  477. package/src/x_ite/Components/Shape/Material.js +75 -64
  478. package/src/x_ite/Components/Shape/PhysicalMaterial.js +65 -54
  479. package/src/x_ite/Components/Shape/PointProperties.js +43 -32
  480. package/src/x_ite/Components/Shape/Shape.js +48 -37
  481. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +60 -49
  482. package/src/x_ite/Components/Shape/UnlitMaterial.js +44 -33
  483. package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +13 -2
  484. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +17 -4
  485. package/src/x_ite/Components/Shape/X3DMaterialNode.js +41 -33
  486. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +29 -16
  487. package/src/x_ite/Components/Shape/X3DShapeNode.js +28 -15
  488. package/src/x_ite/Components/Shape.js +23 -30
  489. package/src/x_ite/Components/Sound/Analyser.js +46 -37
  490. package/src/x_ite/Components/Sound/AudioClip.js +61 -50
  491. package/src/x_ite/Components/Sound/AudioDestination.js +35 -26
  492. package/src/x_ite/Components/Sound/BiquadFilter.js +45 -36
  493. package/src/x_ite/Components/Sound/BufferAudioSource.js +61 -50
  494. package/src/x_ite/Components/Sound/ChannelMerger.js +32 -23
  495. package/src/x_ite/Components/Sound/ChannelSelector.js +33 -24
  496. package/src/x_ite/Components/Sound/ChannelSplitter.js +33 -24
  497. package/src/x_ite/Components/Sound/Convolver.js +43 -34
  498. package/src/x_ite/Components/Sound/Delay.js +43 -34
  499. package/src/x_ite/Components/Sound/DynamicsCompressor.js +47 -38
  500. package/src/x_ite/Components/Sound/Gain.js +41 -32
  501. package/src/x_ite/Components/Sound/ListenerPointSource.js +39 -30
  502. package/src/x_ite/Components/Sound/MicrophoneSource.js +35 -26
  503. package/src/x_ite/Components/Sound/OscillatorSource.js +37 -28
  504. package/src/x_ite/Components/Sound/PeriodicWave.js +27 -18
  505. package/src/x_ite/Components/Sound/Sound.js +51 -40
  506. package/src/x_ite/Components/Sound/SpatialSound.js +42 -33
  507. package/src/x_ite/Components/Sound/StreamAudioDestination.js +35 -26
  508. package/src/x_ite/Components/Sound/StreamAudioSource.js +35 -26
  509. package/src/x_ite/Components/Sound/WaveShaper.js +43 -34
  510. package/src/x_ite/Components/Sound/X3DSoundChannelNode.js +13 -2
  511. package/src/x_ite/Components/Sound/X3DSoundDestinationNode.js +13 -2
  512. package/src/x_ite/Components/Sound/X3DSoundNode.js +13 -2
  513. package/src/x_ite/Components/Sound/X3DSoundProcessingNode.js +17 -4
  514. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +30 -17
  515. package/src/x_ite/Components/Sound.js +34 -41
  516. package/src/x_ite/Components/Text/FontStyle.js +37 -26
  517. package/src/x_ite/Components/Text/Text.js +50 -39
  518. package/src/x_ite/Components/Text/X3DFontStyleNode.js +32 -18
  519. package/src/x_ite/Components/TextureProjector/TextureProjector.js +49 -39
  520. package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +58 -48
  521. package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +27 -14
  522. package/src/x_ite/Components/Texturing/ImageTexture.js +50 -39
  523. package/src/x_ite/Components/Texturing/MovieTexture.js +67 -56
  524. package/src/x_ite/Components/Texturing/MultiTexture.js +52 -41
  525. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +44 -33
  526. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +39 -28
  527. package/src/x_ite/Components/Texturing/PixelTexture.js +42 -31
  528. package/src/x_ite/Components/Texturing/TextureCoordinate.js +41 -30
  529. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +41 -30
  530. package/src/x_ite/Components/Texturing/TextureProperties.js +47 -36
  531. package/src/x_ite/Components/Texturing/TextureTransform.js +39 -28
  532. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +20 -7
  533. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +21 -8
  534. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +20 -7
  535. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +26 -13
  536. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +13 -2
  537. package/src/x_ite/Components/Texturing/X3DTextureNode.js +17 -4
  538. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +13 -2
  539. package/src/x_ite/Components/Texturing.js +25 -32
  540. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +44 -33
  541. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +46 -35
  542. package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +54 -43
  543. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +40 -29
  544. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +41 -30
  545. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +41 -30
  546. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +39 -28
  547. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +36 -25
  548. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +26 -13
  549. package/src/x_ite/Components/Time/TimeSensor.js +55 -44
  550. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +38 -25
  551. package/src/x_ite/Components/Time.js +10 -17
  552. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +51 -41
  553. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +39 -28
  554. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +42 -31
  555. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +41 -30
  556. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +41 -30
  557. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +50 -39
  558. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +39 -28
  559. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +38 -27
  560. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +49 -38
  561. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +44 -33
  562. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +42 -31
  563. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +41 -30
  564. package/src/x_ite/Components/VolumeRendering/VolumeData.js +45 -34
  565. package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +13 -2
  566. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +25 -12
  567. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +22 -9
  568. package/src/x_ite/Components/X_ITE/BlendMode.js +48 -37
  569. package/src/x_ite/Components.js +38 -14
  570. package/src/x_ite/Configuration/AbstractNodes.js +50 -0
  571. package/src/x_ite/{Fallback.js → Configuration/AbstractNodesArray.js} +22 -29
  572. package/src/x_ite/Configuration/ComponentInfo.js +14 -10
  573. package/src/x_ite/Configuration/ComponentInfoArray.js +14 -10
  574. package/src/x_ite/Configuration/ConcreteNodes.js +50 -0
  575. package/src/x_ite/Configuration/{SupportedNodes.js → ConcreteNodesArray.js} +26 -40
  576. package/src/x_ite/Configuration/ProfileInfo.js +13 -9
  577. package/src/x_ite/Configuration/ProfileInfoArray.js +14 -13
  578. package/src/x_ite/Configuration/SupportedComponents.js +40 -78
  579. package/src/x_ite/Configuration/SupportedProfiles.js +16 -16
  580. package/src/x_ite/Configuration/UnitInfo.js +14 -10
  581. package/src/x_ite/Configuration/UnitInfoArray.js +10 -21
  582. package/src/x_ite/Execution/BindableList.js +14 -10
  583. package/src/x_ite/Execution/BindableStack.js +14 -10
  584. package/src/x_ite/Execution/ExportedNodesArray.js +11 -9
  585. package/src/x_ite/Execution/ImportedNodesArray.js +11 -9
  586. package/src/x_ite/Execution/NamedNodesArray.js +11 -22
  587. package/src/x_ite/Execution/X3DExecutionContext.js +181 -152
  588. package/src/x_ite/Execution/X3DExportedNode.js +18 -10
  589. package/src/x_ite/Execution/X3DImportedNode.js +35 -22
  590. package/src/x_ite/Execution/X3DScene.js +93 -64
  591. package/src/x_ite/Execution/X3DWorld.js +21 -17
  592. package/src/x_ite/Fields/ArrayFields.js +87 -153
  593. package/src/x_ite/Fields/SFBool.js +21 -25
  594. package/src/x_ite/Fields/SFColor.js +43 -39
  595. package/src/x_ite/Fields/SFColorRGBA.js +39 -35
  596. package/src/x_ite/Fields/SFDouble.js +20 -21
  597. package/src/x_ite/Fields/SFFloat.js +20 -21
  598. package/src/x_ite/Fields/SFImage.js +50 -48
  599. package/src/x_ite/Fields/SFInt32.js +20 -21
  600. package/src/x_ite/Fields/SFMatrix3.js +23 -16
  601. package/src/x_ite/Fields/SFMatrix4.js +24 -17
  602. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +31 -31
  603. package/src/x_ite/Fields/SFNode.js +57 -88
  604. package/src/x_ite/Fields/SFNodeCache.js +7 -11
  605. package/src/x_ite/Fields/SFRotation.js +73 -62
  606. package/src/x_ite/Fields/SFString.js +35 -36
  607. package/src/x_ite/Fields/SFTime.js +20 -21
  608. package/src/x_ite/Fields/SFVec2.js +17 -14
  609. package/src/x_ite/Fields/SFVec3.js +20 -17
  610. package/src/x_ite/Fields/SFVec4.js +21 -18
  611. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +36 -36
  612. package/src/x_ite/Fields.js +6 -13
  613. package/src/x_ite/InputOutput/FileLoader.js +36 -40
  614. package/src/x_ite/InputOutput/Generator.js +50 -51
  615. package/src/x_ite/Parser/GLB2Parser.js +12 -13
  616. package/src/x_ite/Parser/GLTF2Parser.js +111 -112
  617. package/src/x_ite/Parser/GoldenGate.js +11 -13
  618. package/src/x_ite/Parser/HTMLSupport.js +15 -5
  619. package/src/x_ite/Parser/JSONParser.js +21 -22
  620. package/src/x_ite/Parser/OBJParser.js +56 -57
  621. package/src/x_ite/Parser/STLAParser.js +22 -23
  622. package/src/x_ite/Parser/STLBParser.js +12 -13
  623. package/src/x_ite/Parser/SVGParser.js +85 -86
  624. package/src/x_ite/Parser/VRMLParser.js +495 -878
  625. package/src/x_ite/Parser/X3DOptimizer.js +7 -7
  626. package/src/x_ite/Parser/X3DParser.js +17 -17
  627. package/src/x_ite/Parser/XMLParser.js +215 -269
  628. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +11 -9
  629. package/src/x_ite/Prototype/ProtoDeclarationArray.js +11 -9
  630. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +35 -27
  631. package/src/x_ite/Prototype/X3DProtoDeclaration.js +28 -20
  632. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +18 -10
  633. package/src/x_ite/Rendering/DependentRenderer.js +11 -12
  634. package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +9 -10
  635. package/src/x_ite/Rendering/PointingBuffer.js +6 -7
  636. package/src/x_ite/Rendering/TextureBuffer.js +11 -12
  637. package/src/x_ite/Rendering/VertexArray.js +5 -5
  638. package/src/x_ite/Rendering/X3DRenderObject.js +51 -52
  639. package/src/x_ite/Routing/RouteArray.js +11 -9
  640. package/src/x_ite/Routing/X3DRoute.js +35 -19
  641. package/src/x_ite/Routing/X3DRoutingContext.js +8 -9
  642. package/src/x_ite/X3D.js +27 -26
  643. package/src/x_ite/X3DCanvasElement.js +18 -7
  644. package/src/x_ite.css +2 -1
  645. package/webpack.config.js +2 -2
  646. /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,70 +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);
228
-
229
- await loadComponents (browser, component .dependencies, seen);
215
+ await loadComponents (dependencies .map (name => SupportedComponents .get (name)), seen);
230
216
 
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);
234
+
235
+ else if (arg instanceof ComponentInfoArray)
236
+ component .push (... arg);
244
237
 
245
- if (argument instanceof ComponentInfoArray)
246
- return this .loadComponents ([... argument] .map (({name}) => name));
238
+ else if (arg instanceof ComponentInfo)
239
+ component .push (arg);
247
240
 
248
- if (argument instanceof ComponentInfo)
249
- return this .loadComponents ([argument .name]);
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)
270
+ {
271
+ AbstractNodes .add (String (typeName), AbstractNode);
272
+ },
273
+ updateAbstractNode (typeName, AbstractNode)
256
274
  {
257
- return SupportedNodes .getType (String (typeName));
275
+ AbstractNodes .update (String (typeName), String (typeName), AbstractNode);
258
276
  },
259
- getSupportedNodes: function ()
277
+ removeAbstractNode (typeName)
260
278
  {
261
- return SupportedNodes .getTypes ();
279
+ AbstractNodes .remove (String (typeName));
262
280
  },
263
- createScene: function (profile, component1 /*, ...*/)
281
+ getAbstractNode (typeName)
282
+ {
283
+ return AbstractNodes .get (String (typeName));
284
+ },
285
+ getAbstractNodes ()
286
+ {
287
+ return AbstractNodes;
288
+ },
289
+ createScene (profile, ... components)
264
290
  {
265
291
  const scene = new X3DScene (this);
266
292
 
@@ -271,10 +297,8 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
271
297
 
272
298
  scene .setProfile (profile);
273
299
 
274
- for (let i = 1, length = arguments .length; i < length; ++ i)
300
+ for (const component of components)
275
301
  {
276
- const component = arguments [i];
277
-
278
302
  if (!(component instanceof ComponentInfo))
279
303
  throw new Error ("Couldn't create scene: component must be of type ComponentInfo.");
280
304
 
@@ -286,7 +310,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
286
310
 
287
311
  return scene;
288
312
  },
289
- replaceWorld: function (scene)
313
+ replaceWorld (scene)
290
314
  {
291
315
  return new Promise ((resolve, reject) =>
292
316
  {
@@ -345,7 +369,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
345
369
  scene .setLive (this .isLive ());
346
370
  });
347
371
  },
348
- checkLoadCount: function (resolve, loadCount)
372
+ checkLoadCount (resolve, loadCount)
349
373
  {
350
374
  if (loadCount .getValue ())
351
375
  return;
@@ -358,7 +382,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
358
382
  this .callBrowserEventHandler ("initialized load");
359
383
  resolve ();
360
384
  },
361
- createVrmlFromString: function (vrmlSyntax)
385
+ createVrmlFromString (vrmlSyntax)
362
386
  {
363
387
  vrmlSyntax = String (vrmlSyntax);
364
388
 
@@ -400,7 +424,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
400
424
 
401
425
  return scene;
402
426
  },
403
- createVrmlFromURL: function (url, node, event)
427
+ createVrmlFromURL (url, node, event)
404
428
  {
405
429
  node = X3DCast (X3DConstants .X3DNode, node, false);
406
430
  event = String (event);
@@ -414,10 +438,10 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
414
438
  const field = node .getField (event);
415
439
 
416
440
  if (!field .isInput ())
417
- 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.`);
418
442
 
419
443
  if (field .getType () !== X3DConstants .MFNode)
420
- 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.`);
421
445
 
422
446
  const
423
447
  currentScene = this .currentScene,
@@ -446,7 +470,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
446
470
  }
447
471
  });
448
472
  },
449
- createX3DFromURL: function (url, node, event)
473
+ createX3DFromURL (url, node, event)
450
474
  {
451
475
  if (arguments .length === 3)
452
476
  return this .createVrmlFromURL (url, node, event);
@@ -487,7 +511,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
487
511
  })
488
512
  });
489
513
  },
490
- loadURL: function (url, parameter = new Fields .MFString ())
514
+ loadURL (url, parameter = new Fields .MFString ())
491
515
  {
492
516
  return new Promise ((resolve, reject) =>
493
517
  {
@@ -567,23 +591,23 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
567
591
  }
568
592
  });
569
593
  },
570
- addBrowserListener: function (callback, object)
594
+ addBrowserListener (callback, object)
571
595
  {
572
596
  // The string describes the name of the callback function to be called within the current ECMAScript context.
573
597
  },
574
- removeBrowserListener: function (callback)
598
+ removeBrowserListener (callback)
575
599
  {
576
600
  // The string describes the name of the callback function to be called within the current ECMAScript context.
577
601
  },
578
- addBrowserCallback: function (key, object)
602
+ addBrowserCallback (key, object)
579
603
  {
580
604
  this [_browserCallbacks] .set (key, object);
581
605
  },
582
- removeBrowserCallback: function (key)
606
+ removeBrowserCallback (key)
583
607
  {
584
608
  this [_browserCallbacks] .delete (key);
585
609
  },
586
- getBrowserCallbacks: function ()
610
+ getBrowserCallbacks ()
587
611
  {
588
612
  return this [_browserCallbacks];
589
613
  },
@@ -602,7 +626,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
602
626
  }
603
627
  };
604
628
  })(),
605
- importDocument: function (dom)
629
+ importDocument (dom)
606
630
  {
607
631
  const
608
632
  currentScene = this .currentScene,
@@ -622,7 +646,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
622
646
 
623
647
  return new Promise (parser .parseIntoScene .bind (parser));
624
648
  },
625
- importJS: function (json)
649
+ importJS (json)
626
650
  {
627
651
  const
628
652
  currentScene = this .currentScene,
@@ -642,23 +666,23 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
642
666
 
643
667
  return new Promise (parser .parseIntoScene .bind (parser));
644
668
  },
645
- getBrowserProperty: function (name)
669
+ getBrowserProperty (name)
646
670
  {
647
671
  return this .getBrowserProperties () .getField (name) .getValue ();
648
672
  },
649
- setBrowserOption: function (name, value)
673
+ setBrowserOption (name, value)
650
674
  {
651
675
  this .getBrowserOptions () .getField (name) .setValue (value);
652
676
  },
653
- getBrowserOption: function (name)
677
+ getBrowserOption (name)
654
678
  {
655
679
  return this .getBrowserOptions () .getField (name) .getValue ();
656
680
  },
657
- getRenderingProperty: function (name)
681
+ getRenderingProperty (name)
658
682
  {
659
683
  return this .getRenderingProperties () .getField (name) .getValue ();
660
684
  },
661
- viewAll: function (layerNode)
685
+ viewAll (layerNode)
662
686
  {
663
687
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
664
688
 
@@ -667,7 +691,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
667
691
 
668
692
  layerNode .viewAll (1, this .getBrowserOption ("StraightenHorizon"));
669
693
  },
670
- firstViewpoint: function (layerNode)
694
+ firstViewpoint (layerNode)
671
695
  {
672
696
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
673
697
 
@@ -676,7 +700,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
676
700
  if (viewpoints .length)
677
701
  this .bindViewpoint (layerNode, viewpoints [0]);
678
702
  },
679
- previousViewpoint: function (layerNode)
703
+ previousViewpoint (layerNode)
680
704
  {
681
705
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
682
706
 
@@ -705,7 +729,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
705
729
  else
706
730
  this .bindViewpoint (layerNode, viewpoints .at (-1));
707
731
  },
708
- nextViewpoint: function (layerNode)
732
+ nextViewpoint (layerNode)
709
733
  {
710
734
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
711
735
 
@@ -734,7 +758,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
734
758
  else
735
759
  this .bindViewpoint (layerNode, viewpoints [0]);
736
760
  },
737
- lastViewpoint: function (layerNode)
761
+ lastViewpoint (layerNode)
738
762
  {
739
763
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode) ?? this .getActiveLayer ();
740
764
 
@@ -746,7 +770,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
746
770
  if (viewpoints .length)
747
771
  this .bindViewpoint (layerNode, viewpoints .at (-1));
748
772
  },
749
- changeViewpoint: function (layerNode, name)
773
+ changeViewpoint (layerNode, name)
750
774
  {
751
775
  if (arguments .length === 1)
752
776
  {
@@ -768,7 +792,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
768
792
  break;
769
793
  }
770
794
  },
771
- bindViewpoint: function (layerNode, viewpointNode)
795
+ bindViewpoint (layerNode, viewpointNode)
772
796
  {
773
797
  layerNode = X3DCast (X3DConstants .X3DLayerNode, layerNode);
774
798
  viewpointNode = X3DCast (X3DConstants .X3DViewpointNode, viewpointNode);
@@ -783,11 +807,11 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
783
807
 
784
808
  viewpointNode ._set_bind = true;
785
809
  },
786
- addRoute: function (fromNode, fromEventOut, toNode, toEventIn)
810
+ addRoute (fromNode, fromEventOut, toNode, toEventIn)
787
811
  {
788
812
  this .currentScene .addRoute (fromNode, fromEventOut, toNode, toEventIn);
789
813
  },
790
- deleteRoute: function (fromNode, fromEventOut, toNode, toEventIn)
814
+ deleteRoute (fromNode, fromEventOut, toNode, toEventIn)
791
815
  {
792
816
  try
793
817
  {
@@ -801,19 +825,19 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
801
825
  console .error (error);
802
826
  }
803
827
  },
804
- beginUpdate: function ()
828
+ beginUpdate ()
805
829
  {
806
830
  this .setLive (true);
807
831
  this .getExecutionContext () .setLive (true);
808
832
  this .advanceTime ();
809
833
  this .addBrowserEvent ();
810
834
  },
811
- endUpdate: function ()
835
+ endUpdate ()
812
836
  {
813
837
  this .setLive (false);
814
838
  this .getExecutionContext () .setLive (false);
815
839
  },
816
- print: function (... args)
840
+ print (... args)
817
841
  {
818
842
  const string = args .join ("");
819
843
 
@@ -822,24 +846,24 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
822
846
  for (const element of this [_console])
823
847
  element .append (document .createTextNode (string));
824
848
  },
825
- println: function (... args)
849
+ println (... args)
826
850
  {
827
851
  const string = args .join ("");
828
852
 
829
853
  console .log (string);
830
854
 
831
855
  for (const element of this [_console])
832
- element .append (document .createTextNode (string + "\n"));
856
+ element .append (document .createTextNode (`${string}\n`));
833
857
  },
834
- toVRMLStream: function (generator)
858
+ toVRMLStream (generator)
835
859
  {
836
860
  this .currentScene .toVRMLStream (generator);
837
861
  },
838
- toXMLStream: function (generator)
862
+ toXMLStream (generator)
839
863
  {
840
864
  this .currentScene .toXMLStream (generator);
841
865
  },
842
- toJSONStream: function (generator)
866
+ toJSONStream (generator)
843
867
  {
844
868
  this .currentScene .toJSONStream (generator);
845
869
  },
@@ -857,12 +881,7 @@ Object .defineProperties (X3DBrowser .prototype,
857
881
  },
858
882
  version:
859
883
  {
860
- get: X3DBrowser .prototype .getVersion,
861
- enumerable: true,
862
- },
863
- providerUrl:
864
- {
865
- get: X3DBrowser .prototype .getProviderUrl,
884
+ value: VERSION,
866
885
  enumerable: true,
867
886
  },
868
887
  currentFrameRate:
@@ -889,7 +908,7 @@ Object .defineProperties (X3DBrowser .prototype,
889
908
  },
890
909
  currentScene:
891
910
  {
892
- get: function ()
911
+ get ()
893
912
  {
894
913
  return this .getScriptStack () .at (-1) .getExecutionContext ();
895
914
  },
@@ -897,20 +916,35 @@ Object .defineProperties (X3DBrowser .prototype,
897
916
  },
898
917
  supportedProfiles:
899
918
  {
900
- get: function ()
901
- {
902
- return SupportedProfiles;
903
- },
919
+ value: SupportedProfiles,
904
920
  enumerable: true,
905
921
  },
906
922
  supportedComponents:
907
923
  {
908
- get: function ()
909
- {
910
- return SupportedComponents;
911
- },
924
+ value: SupportedComponents,
925
+ enumerable: true,
926
+ },
927
+ concreteNodes:
928
+ {
929
+ value: ConcreteNodes,
930
+ enumerable: true,
931
+ },
932
+ abstractNodes:
933
+ {
934
+ value: AbstractNodes,
935
+ enumerable: true,
936
+ },
937
+ });
938
+
939
+ Object .defineProperties (X3DBrowser,
940
+ {
941
+ typeName:
942
+ {
943
+ value: "X3DBrowser",
912
944
  enumerable: true,
913
945
  },
914
946
  });
915
947
 
948
+ X3DConstants .addNode (X3DBrowser);
949
+
916
950
  export default X3DBrowser;