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
@@ -56,7 +56,7 @@ import HTMLSupport from "./HTMLSupport.js";
56
56
  import X3DExternProtoDeclaration from "../Prototype/X3DExternProtoDeclaration.js";
57
57
  import X3DProtoDeclaration from "../Prototype/X3DProtoDeclaration.js";
58
58
  import X3DConstants from "../Base/X3DConstants.js";
59
- import DEBUG from "../DEBUG.js";
59
+ import DEVELOPMENT from "../DEVELOPMENT.js";
60
60
 
61
61
  const AccessType =
62
62
  {
@@ -78,17 +78,12 @@ function XMLParser (scene)
78
78
  this .protoFields = new WeakMap ();
79
79
  }
80
80
 
81
- XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
81
+ Object .assign (Object .setPrototypeOf (XMLParser .prototype, X3DParser .prototype),
82
82
  {
83
- constructor: XMLParser,
84
- getEncoding: function ()
83
+ getEncoding ()
85
84
  {
86
85
  return "XML";
87
86
  },
88
- isValid: function ()
89
- {
90
- return (this .input instanceof XMLDocument) || (this .input instanceof HTMLElement) || (this .input === null);
91
- },
92
87
  setInput (xmlElement)
93
88
  {
94
89
  try
@@ -102,35 +97,36 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
102
97
  if (!this .xml)
103
98
  Object .assign (this, HTMLParser);
104
99
  }
105
- catch (error)
100
+ catch
106
101
  {
107
102
  this .input = undefined;
108
103
  }
109
104
  },
110
- isXML: function (element)
105
+ isValid ()
106
+ {
107
+ return (this .input instanceof XMLDocument) || (this .input instanceof HTMLElement) || (this .input === null);
108
+ },
109
+ isXML (element)
111
110
  {
112
111
  if (element instanceof HTMLElement)
113
112
  return false;
114
113
  else
115
114
  return true;
116
115
  },
117
- parseIntoScene: function (success, error)
116
+ parseIntoScene (resolve, reject)
118
117
  {
119
- this .success = success;
120
- this .error = error;
118
+ this .resolve = resolve;
119
+ this .reject = reject;
121
120
 
122
121
  this .getScene () .setEncoding ("XML");
123
122
  this .getScene () .setProfile (this .getBrowser () .getProfile ("Full"));
124
123
 
125
124
  this .xmlElement (this .input);
126
125
  },
127
- xmlElement: function (xmlElement)
126
+ xmlElement (xmlElement)
128
127
  {
129
128
  if (xmlElement === null)
130
- {
131
- if (this .success)
132
- return this .success (this .getScene ());
133
- }
129
+ return this .resolve ?.(this .getScene ());
134
130
 
135
131
  switch (xmlElement .nodeName)
136
132
  {
@@ -145,18 +141,14 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
145
141
  }
146
142
  else
147
143
  {
148
- if (this .success)
144
+ if (this .resolve)
149
145
  {
150
146
  this .loadComponents () .then (() =>
151
147
  {
152
148
  this .childrenElements (xmlElement);
153
- this .success (this .getScene ());
149
+ this .resolve (this .getScene ());
154
150
  })
155
- .catch ((error) =>
156
- {
157
- if (this .error)
158
- this .error (error);
159
- });
151
+ .catch (this .reject);
160
152
  }
161
153
  else
162
154
  {
@@ -174,18 +166,14 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
174
166
  case "Scene":
175
167
  case "SCENE":
176
168
  {
177
- if (this .success)
169
+ if (this .resolve)
178
170
  {
179
171
  this .loadComponents () .then (() =>
180
172
  {
181
173
  this .sceneElement (xmlElement);
182
- this .success (this .getScene ());
174
+ this .resolve (this .getScene ());
183
175
  })
184
- .catch ((error) =>
185
- {
186
- if (this .error)
187
- this .error (error);
188
- });
176
+ .catch (this .reject);
189
177
  }
190
178
  else
191
179
  {
@@ -196,18 +184,14 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
196
184
  }
197
185
  default:
198
186
  {
199
- if (this .success)
187
+ if (this .resolve)
200
188
  {
201
189
  this .loadComponents () .then (() =>
202
190
  {
203
191
  this .childrenElements (xmlElement);
204
- this .success (this .getScene ());
192
+ this .resolve (this .getScene ());
205
193
  })
206
- .catch ((error) =>
207
- {
208
- if (this .error)
209
- this .error (error);
210
- });
194
+ .catch (this .reject);
211
195
  }
212
196
  else
213
197
  {
@@ -218,13 +202,13 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
218
202
  }
219
203
  }
220
204
  },
221
- x3dElement: function (xmlElement)
205
+ x3dElement (xmlElement)
222
206
  {
223
207
  try
224
208
  {
225
209
  // Profile
226
210
 
227
- var
211
+ const
228
212
  profileNameId = xmlElement .getAttribute ("profile"),
229
213
  profile = this .getBrowser () .getProfile (profileNameId || "Full");
230
214
 
@@ -239,45 +223,37 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
239
223
 
240
224
  // Specification version
241
225
 
242
- var specificationVersion = xmlElement .getAttribute ("version");
226
+ const specificationVersion = xmlElement .getAttribute ("version");
243
227
 
244
228
  if (specificationVersion)
245
229
  this .getScene () .setSpecificationVersion (specificationVersion);
246
230
 
247
231
  // Process child nodes
248
232
 
249
- var childNodes = xmlElement .childNodes;
250
-
251
- for (var i = 0; i < childNodes .length; ++ i)
252
- this .x3dElementChildHead (childNodes [i])
233
+ for (const childNode of xmlElement .childNodes)
234
+ this .x3dElementChildHead (childNode)
253
235
 
254
236
  if (!this .xml)
255
237
  this .headElement (xmlElement);
256
238
 
257
- if (this .success)
239
+ if (this .resolve)
258
240
  {
259
- this .loadComponents () .then (function ()
241
+ this .loadComponents () .then (() =>
260
242
  {
261
- for (var i = 0; i < childNodes .length; ++ i)
262
- this .x3dElementChildScene (childNodes [i])
243
+ for (const childNode of xmlElement .childNodes)
244
+ this .x3dElementChildScene (childNode)
263
245
 
264
- this .success (this .getScene ());
265
- }
266
- .bind (this))
267
- .catch (function (error)
268
- {
269
- if (this .error)
270
- this .error (error);
271
- }
272
- .bind (this));
246
+ this .resolve (this .getScene ());
247
+ })
248
+ .catch (this .reject);
273
249
  }
274
250
  else
275
251
  {
276
- for (var i = 0; i < childNodes .length; ++ i)
277
- this .x3dElementChildScene (childNodes [i])
252
+ for (const childNode of xmlElement .childNodes)
253
+ this .x3dElementChildScene (childNode)
278
254
  }
279
255
  },
280
- x3dElementChildHead: function (xmlElement)
256
+ x3dElementChildHead (xmlElement)
281
257
  {
282
258
  switch (xmlElement .nodeName)
283
259
  {
@@ -287,7 +263,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
287
263
  return;
288
264
  }
289
265
  },
290
- x3dElementChildScene: function (xmlElement)
266
+ x3dElementChildScene (xmlElement)
291
267
  {
292
268
  switch (xmlElement .nodeName)
293
269
  {
@@ -297,14 +273,12 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
297
273
  return;
298
274
  }
299
275
  },
300
- headElement: function (xmlElement)
276
+ headElement (xmlElement)
301
277
  {
302
- var childNodes = xmlElement .childNodes;
303
-
304
- for (var i = 0; i < childNodes .length; ++ i)
305
- this .headElementChild (childNodes [i]);
278
+ for (const childNode of xmlElement .childNodes)
279
+ this .headElementChild (childNode);
306
280
  },
307
- headElementChild: function (xmlElement)
281
+ headElementChild (xmlElement)
308
282
  {
309
283
  switch (xmlElement .nodeName)
310
284
  {
@@ -322,11 +296,11 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
322
296
  return;
323
297
  }
324
298
  },
325
- componentElement: function (xmlElement)
299
+ componentElement (xmlElement)
326
300
  {
327
301
  try
328
302
  {
329
- var
303
+ const
330
304
  componentNameIdCharacters = xmlElement .getAttribute ("name"),
331
305
  componentSupportLevel = parseInt (xmlElement .getAttribute ("level"));
332
306
 
@@ -336,18 +310,18 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
336
310
  if (componentSupportLevel === null)
337
311
  return console .warn ("XML Parser Error: Bad component statement. Expected level attribute.");
338
312
 
339
- var component = this .getBrowser () .getComponent (componentNameIdCharacters, componentSupportLevel);
313
+ const component = this .getBrowser () .getComponent (componentNameIdCharacters, componentSupportLevel);
340
314
 
341
- this .getScene () .addComponent (component);
315
+ this .getScene () .updateComponent (component);
342
316
  }
343
317
  catch (error)
344
318
  {
345
319
  console .log (error .message);
346
320
  }
347
321
  },
348
- unitElement: function (xmlElement)
322
+ unitElement (xmlElement)
349
323
  {
350
- var
324
+ const
351
325
  category = xmlElement .getAttribute ("category"),
352
326
  name = xmlElement .getAttribute ("name"),
353
327
  conversionFactor = xmlElement .getAttribute ("conversionFactor"); //works for html5 as well
@@ -363,9 +337,9 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
363
337
 
364
338
  this .getScene () .updateUnit (category, name, parseFloat (conversionFactor));
365
339
  },
366
- metaElement: function (xmlElement)
340
+ metaElement (xmlElement)
367
341
  {
368
- var
342
+ const
369
343
  metakey = xmlElement .getAttribute ("name"),
370
344
  metavalue = xmlElement .getAttribute ("content");
371
345
 
@@ -377,20 +351,18 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
377
351
 
378
352
  this .getScene () .addMetaData (metakey, metavalue);
379
353
  },
380
- sceneElement: function (xmlElement)
354
+ sceneElement (xmlElement)
381
355
  {
382
356
  $.data (xmlElement, "node", this .scene);
383
357
 
384
358
  this .childrenElements (xmlElement);
385
359
  },
386
- childrenElements: function (xmlElement)
360
+ childrenElements (xmlElement)
387
361
  {
388
- var childNodes = xmlElement .childNodes;
389
-
390
- for (var i = 0; i < childNodes .length; ++ i)
391
- this .childElement (childNodes [i]);
362
+ for (const childNode of xmlElement .childNodes)
363
+ this .childElement (childNode);
392
364
  },
393
- childElement: function (xmlElement)
365
+ childElement (xmlElement)
394
366
  {
395
367
  switch (xmlElement .nodeName)
396
368
  {
@@ -448,7 +420,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
448
420
  return;
449
421
  }
450
422
  },
451
- externProtoDeclareElement: function (xmlElement)
423
+ externProtoDeclareElement (xmlElement)
452
424
  {
453
425
  const name = xmlElement .getAttribute ("name");
454
426
 
@@ -477,7 +449,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
477
449
 
478
450
  this .getExecutionContext () .updateExternProtoDeclaration (this .getExecutionContext () .getUniqueExternProtoName (name), existingExternProto);
479
451
  }
480
- catch (error)
452
+ catch
481
453
  { }
482
454
 
483
455
  this .getExecutionContext () .updateExternProtoDeclaration (name, externproto);
@@ -485,27 +457,23 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
485
457
  this .addProtoName (name);
486
458
  }
487
459
  },
488
- protoDeclareElement: function (xmlElement)
460
+ protoDeclareElement (xmlElement)
489
461
  {
490
- var name = xmlElement .getAttribute ("name");
462
+ const name = xmlElement .getAttribute ("name");
491
463
 
492
464
  if (this .id (name))
493
465
  {
494
- var
495
- proto = new X3DProtoDeclaration (this .getExecutionContext ()),
496
- childNodes = xmlElement .childNodes;
466
+ const proto = new X3DProtoDeclaration (this .getExecutionContext ());
497
467
 
498
- for (var i = 0; i < childNodes .length; ++ i)
468
+ for (const childNode of xmlElement .childNodes)
499
469
  {
500
- var child = childNodes [i];
501
-
502
- switch (child .nodeName)
470
+ switch (childNode .nodeName)
503
471
  {
504
472
  case "ProtoInterface":
505
473
  case "PROTOINTERFACE":
506
474
  {
507
475
  this .pushParent (proto);
508
- this .protoInterfaceElement (child);
476
+ this .protoInterfaceElement (childNode);
509
477
  this .popParent ();
510
478
  this .addProtoFieldNames (proto);
511
479
  break;
@@ -517,11 +485,9 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
517
485
  break;
518
486
  }
519
487
 
520
- for (var i = 0; i < childNodes .length; ++ i)
488
+ for (const childNode of xmlElement .childNodes)
521
489
  {
522
- var child = childNodes [i];
523
-
524
- switch (child .nodeName)
490
+ switch (childNode .nodeName)
525
491
  {
526
492
  case "ProtoBody":
527
493
  case "PROTOBODY":
@@ -529,7 +495,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
529
495
  this .pushPrototype (proto);
530
496
  this .pushExecutionContext (proto .getBody ());
531
497
  this .pushParent (proto);
532
- this .protoBodyElement (child);
498
+ this .protoBodyElement (childNode);
533
499
  this .popParent ();
534
500
  this .popExecutionContext ();
535
501
  this .popPrototype ();
@@ -550,7 +516,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
550
516
 
551
517
  this .getExecutionContext () .updateProtoDeclaration (this .getExecutionContext () .getUniqueProtoName (name), existingProto);
552
518
  }
553
- catch (error)
519
+ catch
554
520
  { }
555
521
 
556
522
  this .getExecutionContext () .updateProtoDeclaration (name, proto);
@@ -558,14 +524,12 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
558
524
  this .addProtoName (name);
559
525
  }
560
526
  },
561
- protoInterfaceElement: function (xmlElement)
527
+ protoInterfaceElement (xmlElement)
562
528
  {
563
- var childNodes = xmlElement .childNodes;
564
-
565
- for (var i = 0; i < childNodes .length; ++ i)
566
- this .protoInterfaceElementChild (childNodes [i]);
529
+ for (const childNode of xmlElement .childNodes)
530
+ this .protoInterfaceElementChild (childNode);
567
531
  },
568
- protoInterfaceElementChild: function (xmlElement)
532
+ protoInterfaceElementChild (xmlElement)
569
533
  {
570
534
  switch (xmlElement .nodeName)
571
535
  {
@@ -575,37 +539,34 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
575
539
  return;
576
540
  }
577
541
  },
578
- fieldElement: function (xmlElement)
542
+ fieldElement (xmlElement)
579
543
  {
580
544
  try
581
545
  {
582
546
  if (this .getParents () .length === 0)
583
547
  return;
584
548
 
585
- var node = this .getParent ();
549
+ const node = this .getParent ();
586
550
 
587
- if (! (node instanceof X3DBaseNode))
551
+ if (!(node instanceof X3DBaseNode))
588
552
  return;
589
553
 
590
- if (! node .canUserDefinedFields ())
554
+ if (!node .canUserDefinedFields ())
591
555
  return;
592
556
 
593
- var accessType = AccessType [xmlElement .getAttribute ("accessType")];
594
-
595
- if (accessType === undefined)
596
- accessType = X3DConstants .initializeOnly;
597
-
598
- var type = Fields [xmlElement .getAttribute ("type")];
557
+ const
558
+ accessType = AccessType [xmlElement .getAttribute ("accessType")] || X3DConstants .initializeOnly,
559
+ Field = Fields [xmlElement .getAttribute ("type")];
599
560
 
600
- if (type === undefined)
561
+ if (!Field)
601
562
  return;
602
563
 
603
- var name = xmlElement .getAttribute ("name");
564
+ const name = xmlElement .getAttribute ("name");
604
565
 
605
- if (! this .id (name))
566
+ if (!this .id (name))
606
567
  return;
607
568
 
608
- var field = new type ();
569
+ const field = new Field ();
609
570
 
610
571
  if (accessType & X3DConstants .initializeOnly)
611
572
  {
@@ -620,24 +581,22 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
620
581
  }
621
582
  catch (error)
622
583
  {
623
- //console .error (error);
584
+ console .error (error);
624
585
  }
625
586
  },
626
- protoBodyElement: function (xmlElement)
587
+ protoBodyElement (xmlElement)
627
588
  {
628
589
  this .childrenElements (xmlElement);
629
590
  },
630
- isElement: function (xmlElement)
591
+ isElement (xmlElement)
631
592
  {
632
593
  if (this .isInsideProtoDefinition ())
633
594
  {
634
- var childNodes = xmlElement .childNodes;
635
-
636
- for (var i = 0; i < childNodes .length; ++ i)
637
- this .isElementChild (childNodes [i]);
595
+ for (const childNode of xmlElement .childNodes)
596
+ this .isElementChild (childNode);
638
597
  }
639
598
  },
640
- isElementChild: function (xmlElement)
599
+ isElementChild (xmlElement)
641
600
  {
642
601
  switch (xmlElement .nodeName)
643
602
  {
@@ -647,9 +606,9 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
647
606
  return;
648
607
  }
649
608
  },
650
- connectElement: function (xmlElement)
609
+ connectElement (xmlElement)
651
610
  {
652
- var
611
+ const
653
612
  nodeFieldName = xmlElement .getAttribute ("nodeField"),
654
613
  protoFieldName = xmlElement .getAttribute ("protoField");
655
614
 
@@ -664,14 +623,14 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
664
623
  if (this .getParents () .length === 0)
665
624
  return;
666
625
 
667
- var
626
+ const
668
627
  node = this .getParent (),
669
628
  proto = this .getPrototype ();
670
629
 
671
- if (! (node instanceof X3DNode))
630
+ if (!(node instanceof X3DNode))
672
631
  return;
673
632
 
674
- var
633
+ const
675
634
  nodeField = node .getField (nodeFieldName),
676
635
  protoField = proto .getField (protoFieldName);
677
636
 
@@ -680,31 +639,31 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
680
639
  if (protoField .isReference (nodeField .getAccessType ()))
681
640
  nodeField .addReference (protoField);
682
641
  else
683
- throw new Error ("Field '" + nodeField .getName () + "' and '" + protoField .getName () + "' in PROTO " + proto .getName () + " are incompatible as an IS mapping.");
642
+ throw new Error (`Field '${nodeField .getName ()}' and '${protoField .getName ()}' in PROTO ${proto .getName ()} are incompatible as an IS mapping.`);
684
643
  }
685
644
  else
686
- throw new Error ("Field '" + nodeField .getName () + "' and '" + protoField .getName () + "' in PROTO " + this .proto .getName () + " have different types.");
645
+ throw new Error (`Field '${nodeField .getName ()}' and '${protoField .getName ()}' in PROTO ${this .proto .getName()} have different types.`);
687
646
  }
688
647
  catch (error)
689
648
  {
690
- console .warn ("XML Parser Error: Couldn't create IS reference. " + error .message);
649
+ console .warn (`XML Parser Error: Couldn't create IS reference. ${error .message}`);
691
650
  }
692
651
  },
693
- protoInstanceElement: function (xmlElement)
652
+ protoInstanceElement (xmlElement)
694
653
  {
695
654
  try
696
655
  {
697
656
  if (this .useAttribute (xmlElement))
698
657
  return;
699
658
 
700
- var name = xmlElement .getAttribute ("name");
659
+ const name = xmlElement .getAttribute ("name");
701
660
 
702
661
  if (this .id (name))
703
662
  {
704
- var node = this .getExecutionContext () .createProto (name, false);
663
+ const node = this .getExecutionContext () .createProto (name, false);
705
664
 
706
- if (! node)
707
- throw new Error ("Unknown proto or externproto type '" + name + "'.");
665
+ if (!node)
666
+ throw new Error (`Unknown proto or externproto type '${name}'.`);
708
667
 
709
668
  ///DOMIntegration: attach node to DOM xmlElement for access from DOM.
710
669
  $.data (xmlElement, "node", node);
@@ -714,7 +673,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
714
673
  this .pushParent (node);
715
674
  this .childrenElements (xmlElement);
716
675
 
717
- if (! this .isInsideProtoDefinition ())
676
+ if (!this .isInsideProtoDefinition ())
718
677
  node .setup ();
719
678
 
720
679
  this .popParent ();
@@ -724,28 +683,28 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
724
683
  {
725
684
  console .warn ("XML Parser Error: ", error .message);
726
685
 
727
- if (DEBUG)
686
+ if (DEVELOPMENT)
728
687
  console .error (error);
729
688
  }
730
689
  },
731
- fieldValueElement: function (xmlElement)
690
+ fieldValueElement (xmlElement)
732
691
  {
733
692
  try
734
693
  {
735
694
  if (this .getParents () .length === 0)
736
695
  return;
737
696
 
738
- var
697
+ const
739
698
  node = this .getParent (),
740
699
  name = xmlElement .getAttribute ("name");
741
700
 
742
- if (! (node instanceof X3DPrototypeInstance))
701
+ if (!(node instanceof X3DPrototypeInstance))
743
702
  return;
744
703
 
745
- if (! this .id (name))
704
+ if (!this .id (name))
746
705
  return;
747
706
 
748
- var
707
+ const
749
708
  field = node .getField (name),
750
709
  accessType = field .getAccessType ();
751
710
 
@@ -765,20 +724,18 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
765
724
  }
766
725
  catch (error)
767
726
  {
768
- console .warn ("XML Parser Error: Couldn't assign field value. " + error .message);
727
+ console .warn (`XML Parser Error: Couldn't assign field value. ${error .message}`);
769
728
  }
770
729
  },
771
- nodeElement: function (xmlElement)
730
+ nodeElement (xmlElement)
772
731
  {
773
732
  try
774
733
  {
775
734
  if (this .useAttribute (xmlElement))
776
735
  return;
777
736
 
778
- var node = this .getExecutionContext () .createNode (this .nodeNameToCamelCase (xmlElement .nodeName), false);
779
-
780
- if (!node)
781
- node = this .getExecutionContext () .createProto (this .protoNameToCamelCase (xmlElement .nodeName), false);
737
+ const node = this .getExecutionContext () .createNode (this .nodeNameToCamelCase (xmlElement .nodeName), false)
738
+ ?? this .getExecutionContext () .createProto (this .protoNameToCamelCase (xmlElement .nodeName), false);
782
739
 
783
740
  if (!node)
784
741
  throw new Error (`Unknown node type '${xmlElement .nodeName}', you probably have insufficient component/profile statements and/or an inappropriate specification version.`);
@@ -796,7 +753,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
796
753
  this .nodeAttributes (xmlElement, node);
797
754
  this .childrenElements (xmlElement);
798
755
 
799
- if (! this .isInsideProtoDefinition ())
756
+ if (!this .isInsideProtoDefinition ())
800
757
  node .setup ();
801
758
 
802
759
  this .popParent ();
@@ -811,10 +768,10 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
811
768
  return;
812
769
  }
813
770
 
814
- if (DEBUG)
771
+ if (DEVELOPMENT)
815
772
  console .error (error);
816
773
  else
817
- console .error ("XML Parser Error: " + error .message);
774
+ console .error (`XML Parser Error: ${error .message}`);
818
775
  }
819
776
  },
820
777
  scriptElement (element)
@@ -833,11 +790,11 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
833
790
  element .appendChild (childNode);
834
791
  }
835
792
  },
836
- routeElement: function (xmlElement)
793
+ routeElement (xmlElement)
837
794
  {
838
795
  try
839
796
  {
840
- var
797
+ const
841
798
  sourceNodeName = xmlElement .getAttribute ("fromNode"),
842
799
  sourceField = xmlElement .getAttribute ("fromField"),
843
800
  destinationNodeName = xmlElement .getAttribute ("toNode"),
@@ -855,7 +812,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
855
812
  if (destinationField === null)
856
813
  throw new Error ("Bad ROUTE statement: Expected toField attribute.");
857
814
 
858
- var
815
+ const
859
816
  executionContext = this .getExecutionContext (),
860
817
  sourceNode = executionContext .getLocalNode (sourceNodeName),
861
818
  destinationNode = executionContext .getLocalNode (destinationNodeName),
@@ -866,20 +823,20 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
866
823
  }
867
824
  catch (error)
868
825
  {
869
- console .warn ("XML Parser Error: " + error .message);
826
+ console .warn (`XML Parser Error: ${error .message}`);
870
827
 
871
- if (DEBUG)
828
+ if (DEVELOPMENT)
872
829
  console .error (error);
873
830
  }
874
831
  },
875
- importElement: function (xmlElement)
832
+ importElement (xmlElement)
876
833
  {
877
834
  try
878
835
  {
879
- var
836
+ const
880
837
  inlineNodeName = xmlElement .getAttribute ("inlineDEF"),
881
838
  exportedNodeName = xmlElement .getAttribute ("importedDEF") || xmlElement .getAttribute ("exportedDEF"),
882
- localNodeName = xmlElement .getAttribute ("AS");
839
+ localNodeName = xmlElement .getAttribute ("AS") || exportedNodeName;
883
840
 
884
841
  if (inlineNodeName === null)
885
842
  throw new Error ("Bad IMPORT statement: Expected inlineDEF attribute.");
@@ -887,19 +844,16 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
887
844
  if (exportedNodeName === null)
888
845
  throw new Error ("Bad IMPORT statement: Expected importedDEF attribute.");
889
846
 
890
- if (! localNodeName)
891
- localNodeName = exportedNodeName;
892
-
893
- var inlineNode = this .getExecutionContext () .getNamedNode (inlineNodeName);
847
+ const inlineNode = this .getExecutionContext () .getNamedNode (inlineNodeName);
894
848
 
895
849
  this .getExecutionContext () .updateImportedNode (inlineNode, exportedNodeName, localNodeName);
896
850
  }
897
851
  catch (error)
898
852
  {
899
- console .warn ("XML Parser Error: " + error .message);
853
+ console .warn (`XML Parser Error: ${error .message}`);
900
854
  }
901
855
  },
902
- exportElement: function (xmlElement)
856
+ exportElement (xmlElement)
903
857
  {
904
858
  try
905
859
  {
@@ -909,26 +863,23 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
909
863
  return;
910
864
  }
911
865
 
912
- var
866
+ const
913
867
  localNodeName = xmlElement .getAttribute ("localDEF"),
914
- exportedNodeName = xmlElement .getAttribute ("AS");
868
+ exportedNodeName = xmlElement .getAttribute ("AS") || localNodeName;
915
869
 
916
870
  if (localNodeName === null)
917
871
  throw new Error ("Bad EXPORT statement: Expected localDEF attribute.");
918
872
 
919
- if (! exportedNodeName)
920
- exportedNodeName = localNodeName;
921
-
922
- var localNode = this .getExecutionContext () .getLocalNode (localNodeName);
873
+ const localNode = this .getExecutionContext () .getLocalNode (localNodeName);
923
874
 
924
875
  this .getScene () .updateExportedNode (exportedNodeName, localNode);
925
876
  }
926
877
  catch (error)
927
878
  {
928
- console .warn ("XML Parser Error: " + error .message);
879
+ console .warn (`XML Parser Error: ${error .message}`);
929
880
  }
930
881
  },
931
- cdataNode: function (xmlElement)
882
+ cdataNode (xmlElement)
932
883
  {
933
884
  if (this .getParents () .length === 0)
934
885
  return;
@@ -938,15 +889,15 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
938
889
  if (node instanceof X3DNode)
939
890
  node .getSourceText () ?.push (xmlElement .data);
940
891
  },
941
- useAttribute: function (xmlElement)
892
+ useAttribute (xmlElement)
942
893
  {
943
894
  try
944
895
  {
945
- var name = xmlElement .getAttribute ("USE");
896
+ const name = xmlElement .getAttribute ("USE");
946
897
 
947
898
  if (this .id (name))
948
899
  {
949
- var node = this .getExecutionContext () .getNamedNode (name);
900
+ const node = this .getExecutionContext () .getNamedNode (name);
950
901
 
951
902
  this .addNode (xmlElement, node .getValue ());
952
903
  return true;
@@ -954,26 +905,26 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
954
905
  }
955
906
  catch (error)
956
907
  {
957
- console .warn ("Invalid USE name: " + error .message);
908
+ console .warn (`Invalid USE name: ${error .message}`);
958
909
  }
959
910
 
960
911
  return false;
961
912
  },
962
- defAttribute: function (xmlElement, node)
913
+ defAttribute (xmlElement, node)
963
914
  {
964
915
  try
965
916
  {
966
- var name = xmlElement .getAttribute ("DEF");
917
+ const name = xmlElement .getAttribute ("DEF");
967
918
 
968
919
  if (name)
969
920
  {
970
921
  try
971
922
  {
972
- var namedNode = this .getExecutionContext () .getNamedNode (name);
923
+ const namedNode = this .getExecutionContext () .getNamedNode (name);
973
924
 
974
925
  this .getExecutionContext () .updateNamedNode (this .getExecutionContext () .getUniqueName (name), namedNode);
975
926
  }
976
- catch (error)
927
+ catch
977
928
  { }
978
929
 
979
930
  this .getExecutionContext () .updateNamedNode (name, node);
@@ -981,21 +932,19 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
981
932
  }
982
933
  catch (error)
983
934
  {
984
- console .warn ("Invalid DEF name: " + error .message);
935
+ console .warn (`Invalid DEF name: ${error .message}`);
985
936
  }
986
937
  },
987
- nodeAttributes: function (xmlElement, node)
938
+ nodeAttributes (xmlElement, node)
988
939
  {
989
- var xmlAttributes = xmlElement .attributes;
990
-
991
- for (var i = 0; i < xmlAttributes .length; ++ i)
992
- this .nodeAttribute (xmlAttributes [i], node);
940
+ for (const xmlAttribute of xmlElement .attributes)
941
+ this .nodeAttribute (xmlAttribute, node);
993
942
  },
994
- nodeAttribute: function (xmlAttribute, node)
943
+ nodeAttribute (xmlAttribute, node)
995
944
  {
996
945
  try
997
946
  {
998
- const field = node .getField (this .attributeToCamelCase (node, xmlAttribute .name));
947
+ const field = node .getPredefinedField (this .attributeToCamelCase (node, xmlAttribute .name));
999
948
 
1000
949
  if (field .isInitializable ())
1001
950
  this .fieldValue (field, xmlAttribute .value);
@@ -1005,7 +954,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
1005
954
  //console .error (error);
1006
955
  }
1007
956
  },
1008
- fieldValue: function (field, value)
957
+ fieldValue (field, value)
1009
958
  {
1010
959
  if (value === null)
1011
960
  return;
@@ -1013,11 +962,11 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
1013
962
  this .parser .pushExecutionContext (this .getExecutionContext ());
1014
963
 
1015
964
  this .parser .setInput (value);
1016
- this .fieldTypes [field .getType ()] .call (this .parser, field);
965
+ this [field .getType ()] .call (this .parser, field, field .getUnit ());
1017
966
 
1018
967
  this .parser .popExecutionContext ();
1019
968
  },
1020
- id: function (string)
969
+ id (string)
1021
970
  {
1022
971
  if (string === null)
1023
972
  return false;
@@ -1027,23 +976,23 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
1027
976
 
1028
977
  return true;
1029
978
  },
1030
- getParents: function ()
979
+ getParents ()
1031
980
  {
1032
981
  return this .parents;
1033
982
  },
1034
- getParent: function ()
983
+ getParent ()
1035
984
  {
1036
985
  return this .parents .at (-1);
1037
986
  },
1038
- pushParent: function (parent)
987
+ pushParent (parent)
1039
988
  {
1040
989
  return this .parents .push (parent);
1041
990
  },
1042
- popParent: function ()
991
+ popParent ()
1043
992
  {
1044
993
  this .parents .pop ();
1045
994
  },
1046
- addNode: function (xmlElement, node)
995
+ addNode (xmlElement, node)
1047
996
  {
1048
997
  if (this .parents .length === 0 || this .getParent () instanceof X3DProtoDeclaration)
1049
998
  {
@@ -1051,7 +1000,7 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
1051
1000
  return;
1052
1001
  }
1053
1002
 
1054
- var parent = this .getParent ();
1003
+ const parent = this .getParent ();
1055
1004
 
1056
1005
  if (parent instanceof X3DField)
1057
1006
  {
@@ -1073,17 +1022,12 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
1073
1022
 
1074
1023
  try
1075
1024
  {
1076
- var containerField = xmlElement .getAttribute ("containerField");
1025
+ const containerField = xmlElement .getAttribute ("containerField") || node ?.getContainerField ();
1077
1026
 
1078
- if (! containerField)
1079
- {
1080
- if (node)
1081
- containerField = node .getContainerField ();
1082
- else
1083
- throw new Error ("NULL node must have a container field attribute.");
1084
- }
1027
+ if (!containerField)
1028
+ throw new Error ("Node must have a container field attribute.");
1085
1029
 
1086
- var field = parent .getField (containerField);
1030
+ const field = parent .getField (containerField);
1087
1031
 
1088
1032
  switch (field .getType ())
1089
1033
  {
@@ -1098,78 +1042,80 @@ XMLParser .prototype = Object .assign (Object .create (X3DParser .prototype),
1098
1042
  }
1099
1043
  catch (error)
1100
1044
  {
1101
- //console .warn (error .message);
1045
+ // console .error (error);
1102
1046
  }
1103
1047
  },
1104
1048
  // Overloaded by HTMLParser.
1105
- addProtoName: function (name)
1049
+ addProtoName (name)
1106
1050
  { },
1107
- addProtoFieldNames: function (protoNode)
1051
+ addProtoFieldNames (protoNode)
1108
1052
  { },
1109
- protoNameToCamelCase: function (typeName)
1053
+ protoNameToCamelCase (typeName)
1110
1054
  {
1111
1055
  return typeName;
1112
1056
  },
1113
- nodeNameToCamelCase: function (typeName)
1057
+ nodeNameToCamelCase (typeName)
1114
1058
  {
1115
1059
  return typeName;
1116
1060
  },
1117
- attributeToCamelCase: function (node, name)
1061
+ attributeToCamelCase (node, name)
1118
1062
  {
1119
1063
  return name;
1120
1064
  },
1121
1065
  });
1122
1066
 
1123
- XMLParser .prototype .fieldTypes = [ ];
1124
- XMLParser .prototype .fieldTypes [X3DConstants .SFBool] = VRMLParser .prototype .sfboolValue;
1125
- XMLParser .prototype .fieldTypes [X3DConstants .SFColor] = VRMLParser .prototype .sfcolorValue;
1126
- XMLParser .prototype .fieldTypes [X3DConstants .SFColorRGBA] = VRMLParser .prototype .sfcolorrgbaValue;
1127
- XMLParser .prototype .fieldTypes [X3DConstants .SFDouble] = VRMLParser .prototype .sfdoubleValue;
1128
- XMLParser .prototype .fieldTypes [X3DConstants .SFFloat] = VRMLParser .prototype .sffloatValue;
1129
- XMLParser .prototype .fieldTypes [X3DConstants .SFImage] = VRMLParser .prototype .sfimageValue;
1130
- XMLParser .prototype .fieldTypes [X3DConstants .SFInt32] = VRMLParser .prototype .sfint32Value;
1131
- XMLParser .prototype .fieldTypes [X3DConstants .SFMatrix3f] = VRMLParser .prototype .sfmatrix3dValue;
1132
- XMLParser .prototype .fieldTypes [X3DConstants .SFMatrix3d] = VRMLParser .prototype .sfmatrix3fValue;
1133
- XMLParser .prototype .fieldTypes [X3DConstants .SFMatrix4f] = VRMLParser .prototype .sfmatrix4dValue;
1134
- XMLParser .prototype .fieldTypes [X3DConstants .SFMatrix4d] = VRMLParser .prototype .sfmatrix4fValue;
1135
- XMLParser .prototype .fieldTypes [X3DConstants .SFNode] = function (field) { field .setValue (null); };
1136
- XMLParser .prototype .fieldTypes [X3DConstants .SFRotation] = VRMLParser .prototype .sfrotationValue;
1137
- XMLParser .prototype .fieldTypes [X3DConstants .SFString] = function (field) { field .setValue (Fields .SFString .unescape (this .input)); };
1138
- XMLParser .prototype .fieldTypes [X3DConstants .SFTime] = VRMLParser .prototype .sftimeValue;
1139
- XMLParser .prototype .fieldTypes [X3DConstants .SFVec2d] = VRMLParser .prototype .sfvec2dValue;
1140
- XMLParser .prototype .fieldTypes [X3DConstants .SFVec2f] = VRMLParser .prototype .sfvec2fValue;
1141
- XMLParser .prototype .fieldTypes [X3DConstants .SFVec3d] = VRMLParser .prototype .sfvec3dValue;
1142
- XMLParser .prototype .fieldTypes [X3DConstants .SFVec3f] = VRMLParser .prototype .sfvec3fValue;
1143
- XMLParser .prototype .fieldTypes [X3DConstants .SFVec4d] = VRMLParser .prototype .sfvec4dValue;
1144
- XMLParser .prototype .fieldTypes [X3DConstants .SFVec4f] = VRMLParser .prototype .sfvec4fValue;
1145
-
1146
- XMLParser .prototype .fieldTypes [X3DConstants .MFBool] = VRMLParser .prototype .sfboolValues;
1147
- XMLParser .prototype .fieldTypes [X3DConstants .MFColor] = VRMLParser .prototype .sfcolorValues;
1148
- XMLParser .prototype .fieldTypes [X3DConstants .MFColorRGBA] = VRMLParser .prototype .sfcolorrgbaValues;
1149
- XMLParser .prototype .fieldTypes [X3DConstants .MFDouble] = VRMLParser .prototype .sfdoubleValues;
1150
- XMLParser .prototype .fieldTypes [X3DConstants .MFFloat] = VRMLParser .prototype .sffloatValues;
1151
- XMLParser .prototype .fieldTypes [X3DConstants .MFImage] = VRMLParser .prototype .sfimageValues;
1152
- XMLParser .prototype .fieldTypes [X3DConstants .MFInt32] = VRMLParser .prototype .sfint32Values;
1153
- XMLParser .prototype .fieldTypes [X3DConstants .MFMatrix3d] = VRMLParser .prototype .sfmatrix3dValues;
1154
- XMLParser .prototype .fieldTypes [X3DConstants .MFMatrix3f] = VRMLParser .prototype .sfmatrix3fValues;
1155
- XMLParser .prototype .fieldTypes [X3DConstants .MFMatrix4d] = VRMLParser .prototype .sfmatrix4dValues;
1156
- XMLParser .prototype .fieldTypes [X3DConstants .MFMatrix4f] = VRMLParser .prototype .sfmatrix4fValues;
1157
- XMLParser .prototype .fieldTypes [X3DConstants .MFNode] = function (field) { field .length = 0; };
1158
- XMLParser .prototype .fieldTypes [X3DConstants .MFRotation] = VRMLParser .prototype .sfrotationValues;
1159
- XMLParser .prototype .fieldTypes [X3DConstants .MFString] = VRMLParser .prototype .sfstringValues;
1160
- XMLParser .prototype .fieldTypes [X3DConstants .MFTime] = VRMLParser .prototype .sftimeValues;
1161
- XMLParser .prototype .fieldTypes [X3DConstants .MFVec2d] = VRMLParser .prototype .sfvec2dValues;
1162
- XMLParser .prototype .fieldTypes [X3DConstants .MFVec2f] = VRMLParser .prototype .sfvec2fValues;
1163
- XMLParser .prototype .fieldTypes [X3DConstants .MFVec3d] = VRMLParser .prototype .sfvec3dValues;
1164
- XMLParser .prototype .fieldTypes [X3DConstants .MFVec3f] = VRMLParser .prototype .sfvec3fValues;
1165
- XMLParser .prototype .fieldTypes [X3DConstants .MFVec4d] = VRMLParser .prototype .sfvec4dValues;
1166
- XMLParser .prototype .fieldTypes [X3DConstants .MFVec4f] = VRMLParser .prototype .sfvec4fValues;
1067
+ Object .assign (XMLParser .prototype,
1068
+ {
1069
+ [X3DConstants .SFBool]: VRMLParser .prototype .sfboolValue,
1070
+ [X3DConstants .SFColor]: VRMLParser .prototype .sfcolorValue,
1071
+ [X3DConstants .SFColorRGBA]: VRMLParser .prototype .sfcolorrgbaValue,
1072
+ [X3DConstants .SFDouble]: VRMLParser .prototype .sfdoubleValue,
1073
+ [X3DConstants .SFFloat]: VRMLParser .prototype .sfdoubleValue,
1074
+ [X3DConstants .SFImage]: VRMLParser .prototype .sfimageValue,
1075
+ [X3DConstants .SFInt32]: VRMLParser .prototype .sfint32Value,
1076
+ [X3DConstants .SFMatrix3f]: VRMLParser .prototype .sfmatrix3Value,
1077
+ [X3DConstants .SFMatrix3d]: VRMLParser .prototype .sfmatrix3Value,
1078
+ [X3DConstants .SFMatrix4f]: VRMLParser .prototype .sfmatrix4Value,
1079
+ [X3DConstants .SFMatrix4d]: VRMLParser .prototype .sfmatrix4Value,
1080
+ [X3DConstants .SFNode] (field) { field .setValue (null); },
1081
+ [X3DConstants .SFRotation]: VRMLParser .prototype .sfrotationValue,
1082
+ [X3DConstants .SFString] (field) { field .setValue (Fields .SFString .unescape (this .input)); },
1083
+ [X3DConstants .SFTime]: VRMLParser .prototype .sfdoubleValue,
1084
+ [X3DConstants .SFVec2d]: VRMLParser .prototype .sfvec2Value,
1085
+ [X3DConstants .SFVec2f]: VRMLParser .prototype .sfvec2Value,
1086
+ [X3DConstants .SFVec3d]: VRMLParser .prototype .sfvec3Value,
1087
+ [X3DConstants .SFVec3f]: VRMLParser .prototype .sfvec3Value,
1088
+ [X3DConstants .SFVec4d]: VRMLParser .prototype .sfvec4Value,
1089
+ [X3DConstants .SFVec4f]: VRMLParser .prototype .sfvec4Value,
1090
+
1091
+ [X3DConstants .MFBool]: VRMLParser .prototype .sfboolValues,
1092
+ [X3DConstants .MFColor]: VRMLParser .prototype .sfcolorValues,
1093
+ [X3DConstants .MFColorRGBA]: VRMLParser .prototype .sfcolorrgbaValues,
1094
+ [X3DConstants .MFDouble]: VRMLParser .prototype .sfdoubleValues,
1095
+ [X3DConstants .MFFloat]: VRMLParser .prototype .sfdoubleValues,
1096
+ [X3DConstants .MFImage]: VRMLParser .prototype .sfimageValues,
1097
+ [X3DConstants .MFInt32]: VRMLParser .prototype .sfint32Values,
1098
+ [X3DConstants .MFMatrix3d]: VRMLParser .prototype .sfmatrix3Values,
1099
+ [X3DConstants .MFMatrix3f]: VRMLParser .prototype .sfmatrix3Values,
1100
+ [X3DConstants .MFMatrix4d]: VRMLParser .prototype .sfmatrix4Values,
1101
+ [X3DConstants .MFMatrix4f]: VRMLParser .prototype .sfmatrix4Values,
1102
+ [X3DConstants .MFNode] (field) { field .length = 0; },
1103
+ [X3DConstants .MFRotation]: VRMLParser .prototype .sfrotationValues,
1104
+ [X3DConstants .MFString]: VRMLParser .prototype .sfstringValues,
1105
+ [X3DConstants .MFTime]: VRMLParser .prototype .sfdoubleValues,
1106
+ [X3DConstants .MFVec2d]: VRMLParser .prototype .sfvec2Values,
1107
+ [X3DConstants .MFVec2f]: VRMLParser .prototype .sfvec2Values,
1108
+ [X3DConstants .MFVec3d]: VRMLParser .prototype .sfvec3Values,
1109
+ [X3DConstants .MFVec3f]: VRMLParser .prototype .sfvec3Values,
1110
+ [X3DConstants .MFVec4d]: VRMLParser .prototype .sfvec4Values,
1111
+ [X3DConstants .MFVec4f]: VRMLParser .prototype .sfvec4Values,
1112
+ });
1167
1113
 
1168
1114
  // HTML Support
1169
1115
 
1170
1116
  const HTMLParser =
1171
1117
  {
1172
- addProtoName: function (name)
1118
+ addProtoName (name)
1173
1119
  {
1174
1120
  //DOMIntegration: add uppercase versions of proto name.
1175
1121
 
@@ -1209,17 +1155,17 @@ const HTMLParser =
1209
1155
  }
1210
1156
  };
1211
1157
  })(),
1212
- protoNameToCamelCase: function (typeName)
1158
+ protoNameToCamelCase (typeName)
1213
1159
  {
1214
1160
  //DOMIntegration: handle uppercase versions of node names.
1215
1161
  return this .protoNames .get (typeName);
1216
1162
  },
1217
- nodeNameToCamelCase: function (typeName)
1163
+ nodeNameToCamelCase (typeName)
1218
1164
  {
1219
1165
  //DOMIntegration: handle uppercase versions of node names.
1220
1166
  return HTMLSupport .getNodeTypeName (typeName);
1221
1167
  },
1222
- attributeToCamelCase: function (node, name)
1168
+ attributeToCamelCase (node, name)
1223
1169
  {
1224
1170
  //DOMIntegration: handle lowercase versions of field names.
1225
1171