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 Matrix4 from "../../standard/Math/Numbers/Matrix4.js";
56
56
  import Color3 from "../../standard/Math/Numbers/Color3.js";
57
57
  import Color4 from "../../standard/Math/Numbers/Color4.js";
58
58
  import Algorithm from "../../standard/Math/Algorithm.js";
59
- import DEBUG from "../DEBUG.js"
59
+ import DEVELOPMENT from "../DEVELOPMENT.js"
60
60
 
61
61
  // https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html
62
62
  // https://github.com/KhronosGroup/glTF-Sample-Models
@@ -91,14 +91,27 @@ function GLTF2Parser (scene)
91
91
  this .animations = 0;
92
92
  }
93
93
 
94
- GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
94
+ Object .assign (Object .setPrototypeOf (GLTF2Parser .prototype, X3DParser .prototype),
95
95
  X3DOptimizer .prototype,
96
96
  {
97
- constructor: GLTF2Parser,
98
- getEncoding: function ()
97
+ getEncoding ()
99
98
  {
100
99
  return "JSON";
101
100
  },
101
+ setInput (json)
102
+ {
103
+ try
104
+ {
105
+ if (typeof json === "string")
106
+ json = JSON .parse (json);
107
+
108
+ this .input = json;
109
+ }
110
+ catch
111
+ {
112
+ this .input = undefined;
113
+ }
114
+ },
102
115
  isValid: (function ()
103
116
  {
104
117
  const keys = new Set ([
@@ -139,29 +152,15 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
139
152
  return true;
140
153
  };
141
154
  })(),
142
- setInput: function (json)
143
- {
144
- try
145
- {
146
- if (typeof json === "string")
147
- json = JSON .parse (json);
148
-
149
- this .input = json;
150
- }
151
- catch (error)
152
- {
153
- this .input = undefined;
154
- }
155
- },
156
- setBuffers: function (buffers)
155
+ setBuffers (buffers)
157
156
  {
158
157
  this .buffers = buffers;
159
158
  },
160
- parseIntoScene: function (success, error)
159
+ parseIntoScene (resolve, reject)
161
160
  {
162
161
  this .rootObject (this .input)
163
- .then (success)
164
- .catch (error);
162
+ .then (resolve)
163
+ .catch (reject);
165
164
  },
166
165
  rootObject: async function (glTF)
167
166
  {
@@ -209,7 +208,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
209
208
 
210
209
  return this .getScene ();
211
210
  },
212
- assetObject: function (asset)
211
+ assetObject (asset)
213
212
  {
214
213
  if (!(asset instanceof Object))
215
214
  return;
@@ -250,7 +249,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
250
249
 
251
250
  scene .getRootNodes () .push (worldInfoNode);
252
251
  },
253
- extensionsArray: function (extensions, set)
252
+ extensionsArray (extensions, set)
254
253
  {
255
254
  if (!(extensions instanceof Array))
256
255
  return;
@@ -271,7 +270,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
271
270
  }
272
271
  }
273
272
  },
274
- extensionsObject: function (extensions)
273
+ extensionsObject (extensions)
275
274
  {
276
275
  if (!(extensions instanceof Object))
277
276
  return;
@@ -285,21 +284,21 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
285
284
  }
286
285
  }
287
286
  },
288
- khrLightsPunctualObject: function (khrLightsPunctual)
287
+ khrLightsPunctualObject (khrLightsPunctual)
289
288
  {
290
289
  if (!(khrLightsPunctual instanceof Object))
291
290
  return;
292
291
 
293
292
  this .lightsArray (khrLightsPunctual .lights);
294
293
  },
295
- lightsArray: function (lights)
294
+ lightsArray (lights)
296
295
  {
297
296
  if (!(lights instanceof Array))
298
297
  return;
299
298
 
300
299
  this .lights = lights;
301
300
  },
302
- lightObject: function (light)
301
+ lightObject (light)
303
302
  {
304
303
  if (!(light instanceof Object))
305
304
  return null;
@@ -331,7 +330,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
331
330
 
332
331
  return lightNode;
333
332
  },
334
- lightType: function (light)
333
+ lightType (light)
335
334
  {
336
335
  switch (light .type)
337
336
  {
@@ -343,7 +342,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
343
342
  return this .pointLight (light);
344
343
  }
345
344
  },
346
- directionalLight: function (light)
345
+ directionalLight (light)
347
346
  {
348
347
  const
349
348
  scene = this .getExecutionContext (),
@@ -351,7 +350,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
351
350
 
352
351
  return lightNode;
353
352
  },
354
- spotLight: function (light)
353
+ spotLight (light)
355
354
  {
356
355
  const
357
356
  scene = this .getExecutionContext (),
@@ -364,7 +363,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
364
363
 
365
364
  return lightNode;
366
365
  },
367
- pointLight: function (light)
366
+ pointLight (light)
368
367
  {
369
368
  const
370
369
  scene = this .getExecutionContext (),
@@ -398,7 +397,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
398
397
 
399
398
  return $.ungzip (arrayBuffer);
400
399
  },
401
- bufferViewsArray: function (bufferViews)
400
+ bufferViewsArray (bufferViews)
402
401
  {
403
402
  if (!(bufferViews instanceof Array))
404
403
  return;
@@ -408,7 +407,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
408
407
  for (const bufferView of bufferViews)
409
408
  bufferView .buffer = this .bufferViewObject (bufferView);
410
409
  },
411
- bufferViewObject: function (bufferView)
410
+ bufferViewObject (bufferView)
412
411
  {
413
412
  if (!(bufferView instanceof Object))
414
413
  return;
@@ -424,7 +423,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
424
423
 
425
424
  return buffer .slice (byteOffset, byteOffset + byteLength);
426
425
  },
427
- accessorsArray: function (accessors)
426
+ accessorsArray (accessors)
428
427
  {
429
428
  if (!(accessors instanceof Array))
430
429
  return;
@@ -551,7 +550,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
551
550
  return array;
552
551
  };
553
552
  })(),
554
- samplersArray: function (samplers)
553
+ samplersArray (samplers)
555
554
  {
556
555
  if (!(samplers instanceof Array))
557
556
  return;
@@ -660,7 +659,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
660
659
 
661
660
  return image;
662
661
  },
663
- blobToDataUrl: function (blob)
662
+ blobToDataUrl (blob)
664
663
  {
665
664
  return new Promise ((resolve, reject) =>
666
665
  {
@@ -673,14 +672,14 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
673
672
  })
674
673
  .then (event => event .target .result);
675
674
  },
676
- texturesArray: function (textures)
675
+ texturesArray (textures)
677
676
  {
678
677
  if (!(textures instanceof Array))
679
678
  return;
680
679
 
681
680
  this .textures = textures;
682
681
  },
683
- textureObject: function (texture)
682
+ textureObject (texture)
684
683
  {
685
684
  if (!(texture instanceof Object))
686
685
  return;
@@ -715,14 +714,14 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
715
714
 
716
715
  return texture .textureNode = textureNode;
717
716
  },
718
- materialsArray: function (materials)
717
+ materialsArray (materials)
719
718
  {
720
719
  if (!(materials instanceof Array))
721
720
  return;
722
721
 
723
722
  this .materials = materials;
724
723
  },
725
- materialObject: function (material)
724
+ materialObject (material)
726
725
  {
727
726
  if (!(material instanceof Object))
728
727
  return this .getDefaultAppearance ();
@@ -793,7 +792,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
793
792
 
794
793
  return material .appearanceNode = appearanceNode;
795
794
  },
796
- texCoordIndices: function (key, object, indices = new Set ())
795
+ texCoordIndices (key, object, indices = new Set ())
797
796
  {
798
797
  if (!(object instanceof Object))
799
798
  return indices;
@@ -806,7 +805,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
806
805
 
807
806
  return indices;
808
807
  },
809
- createMaterial: function (material)
808
+ createMaterial (material)
810
809
  {
811
810
  const materials = [
812
811
  this .pbrMetallicRoughnessObject .bind (this, material .pbrMetallicRoughness),
@@ -822,7 +821,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
822
821
  return materialNode;
823
822
  }
824
823
  },
825
- pbrMetallicRoughnessObject: function (pbrMetallicRoughness)
824
+ pbrMetallicRoughnessObject (pbrMetallicRoughness)
826
825
  {
827
826
  if (!(pbrMetallicRoughness instanceof Object))
828
827
  return null;
@@ -851,7 +850,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
851
850
 
852
851
  return materialNode;
853
852
  },
854
- pbrSpecularGlossinessObject: function (pbrSpecularGlossiness)
853
+ pbrSpecularGlossinessObject (pbrSpecularGlossiness)
855
854
  {
856
855
  if (!(pbrSpecularGlossiness instanceof Object))
857
856
  return null;
@@ -891,7 +890,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
891
890
 
892
891
  return materialNode;
893
892
  },
894
- occlusionTextureInfo: function (occlusionTexture, materialNode)
893
+ occlusionTextureInfo (occlusionTexture, materialNode)
895
894
  {
896
895
  if (!(occlusionTexture instanceof Object))
897
896
  return null;
@@ -900,7 +899,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
900
899
  materialNode ._occlusionTexture = this .textureInfo (occlusionTexture);
901
900
  materialNode ._occlusionTextureMapping = this .textureMapping (occlusionTexture);
902
901
  },
903
- normalTextureInfo: function (normalTexture, materialNode)
902
+ normalTextureInfo (normalTexture, materialNode)
904
903
  {
905
904
  if (!(normalTexture instanceof Object))
906
905
  return null;
@@ -909,7 +908,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
909
908
  materialNode ._normalTexture = this .textureInfo (normalTexture);
910
909
  materialNode ._normalTextureMapping = this .textureMapping (normalTexture);
911
910
  },
912
- textureInfo: function (texture)
911
+ textureInfo (texture)
913
912
  {
914
913
  if (!(texture instanceof Object))
915
914
  return null;
@@ -921,14 +920,14 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
921
920
 
922
921
  return this .textureObject (this .textures [texture .index]);
923
922
  },
924
- textureMapping: function (texture)
923
+ textureMapping (texture)
925
924
  {
926
925
  if (!(texture instanceof Object))
927
926
  return "";
928
927
 
929
928
  return texture .mapping;
930
929
  },
931
- materialExtensions: function (extensions, materialNode)
930
+ materialExtensions (extensions, materialNode)
932
931
  {
933
932
  if (!(extensions instanceof Object))
934
933
  return;
@@ -946,7 +945,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
946
945
  }
947
946
  }
948
947
  },
949
- khrMaterialsUnlitObject: function (materialNode)
948
+ khrMaterialsUnlitObject (materialNode)
950
949
  {
951
950
  switch (materialNode .getTypeName ())
952
951
  {
@@ -972,7 +971,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
972
971
  }
973
972
  }
974
973
  },
975
- khrMaterialsEmissiveStrengthObject: function (KHR_materials_emissive_strength, materialNode)
974
+ khrMaterialsEmissiveStrengthObject (KHR_materials_emissive_strength, materialNode)
976
975
  {
977
976
  if (!(KHR_materials_emissive_strength instanceof Object))
978
977
  return;
@@ -983,7 +982,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
983
982
  materialNode ._emissiveColor .g *= emissiveStrength;
984
983
  materialNode ._emissiveColor .b *= emissiveStrength;
985
984
  },
986
- textureTransformObject: function (KHR_texture_transform, texCoord)
985
+ textureTransformObject (KHR_texture_transform, texCoord)
987
986
  {
988
987
  if (!(KHR_texture_transform instanceof Object))
989
988
  return;
@@ -1022,14 +1021,14 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1022
1021
 
1023
1022
  return mapping;
1024
1023
  },
1025
- meshesArray: function (meshes)
1024
+ meshesArray (meshes)
1026
1025
  {
1027
1026
  if (!(meshes instanceof Array))
1028
1027
  return;
1029
1028
 
1030
1029
  this .meshes = meshes;
1031
1030
  },
1032
- meshObject: function (mesh)
1031
+ meshObject (mesh)
1033
1032
  {
1034
1033
  if (!(mesh instanceof Object))
1035
1034
  return;
@@ -1056,7 +1055,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1056
1055
 
1057
1056
  return mesh .shapeNodes = shapeNodes;
1058
1057
  },
1059
- primitivesArray: function (primitives)
1058
+ primitivesArray (primitives)
1060
1059
  {
1061
1060
  if (!(primitives instanceof Array))
1062
1061
  return [ ];
@@ -1068,7 +1067,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1068
1067
 
1069
1068
  return shapeNodes;
1070
1069
  },
1071
- primitiveObject: function (primitive, shapeNodes)
1070
+ primitiveObject (primitive, shapeNodes)
1072
1071
  {
1073
1072
  if (!(primitive instanceof Object))
1074
1073
  return;
@@ -1083,7 +1082,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1083
1082
 
1084
1083
  shapeNodes .push (this .createShape (primitive));
1085
1084
  },
1086
- attributesObject: function (attributes)
1085
+ attributesObject (attributes)
1087
1086
  {
1088
1087
  if (!(attributes instanceof Object))
1089
1088
  return;
@@ -1108,12 +1107,12 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1108
1107
  for (let i = 0; attributes ["WEIGHTS_" + i]; ++ i)
1109
1108
  attributes .WEIGHTS .push (attributes ["WEIGHTS_" + i]);
1110
1109
  },
1111
- targetsArray: function (targets)
1110
+ targetsArray (targets)
1112
1111
  {
1113
1112
  if (!(targets instanceof Array))
1114
1113
  return;
1115
1114
  },
1116
- primitiveExtensionsObject: function (extensions, primitive)
1115
+ primitiveExtensionsObject (extensions, primitive)
1117
1116
  {
1118
1117
  if (!(extensions instanceof Object))
1119
1118
  return;
@@ -1127,7 +1126,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1127
1126
  }
1128
1127
  }
1129
1128
  },
1130
- khrDracoMeshCompressionObject: function (draco, primitive)
1129
+ khrDracoMeshCompressionObject (draco, primitive)
1131
1130
  {
1132
1131
  if (!(draco instanceof Object))
1133
1132
  return;
@@ -1152,7 +1151,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1152
1151
 
1153
1152
  this .dracoDecodeMesh (this .draco, dataView, draco .attributes, indicesCallback, attributeCallback);
1154
1153
  },
1155
- dracoDecodeMesh: function (draco, dataView, attributes, indicesCallback, attributeCallback)
1154
+ dracoDecodeMesh (draco, dataView, attributes, indicesCallback, attributeCallback)
1156
1155
  {
1157
1156
  const
1158
1157
  buffer = new draco .DecoderBuffer (),
@@ -1258,14 +1257,14 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1258
1257
  return this .constructor .draco = draco;
1259
1258
  }
1260
1259
  },
1261
- camerasArray: function (cameras)
1260
+ camerasArray (cameras)
1262
1261
  {
1263
1262
  if (!(cameras instanceof Array))
1264
1263
  return;
1265
1264
 
1266
1265
  this .cameras = cameras;
1267
1266
  },
1268
- cameraObject: function (camera)
1267
+ cameraObject (camera)
1269
1268
  {
1270
1269
  if (!(camera instanceof Object))
1271
1270
  return null;
@@ -1300,7 +1299,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1300
1299
 
1301
1300
  return camera .viewpointNode = viewpointNode;
1302
1301
  },
1303
- cameraType: function (camera)
1302
+ cameraType (camera)
1304
1303
  {
1305
1304
  switch (camera .type)
1306
1305
  {
@@ -1312,7 +1311,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1312
1311
  return null;
1313
1312
  }
1314
1313
  },
1315
- orthographicCamera: function (camera)
1314
+ orthographicCamera (camera)
1316
1315
  {
1317
1316
  const
1318
1317
  scene = this .getExecutionContext (),
@@ -1340,7 +1339,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1340
1339
 
1341
1340
  return viewpointNode;
1342
1341
  },
1343
- perspectiveCamera: function (camera)
1342
+ perspectiveCamera (camera)
1344
1343
  {
1345
1344
  const
1346
1345
  scene = this .getExecutionContext (),
@@ -1359,14 +1358,14 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1359
1358
 
1360
1359
  return viewpointNode;
1361
1360
  },
1362
- nodesArray: function (nodes)
1361
+ nodesArray (nodes)
1363
1362
  {
1364
1363
  if (!(nodes instanceof Array))
1365
1364
  return;
1366
1365
 
1367
1366
  this .nodes = nodes;
1368
1367
  },
1369
- nodeObject: function (node)
1368
+ nodeObject (node)
1370
1369
  {
1371
1370
  if (!(node instanceof Object))
1372
1371
  return;
@@ -1451,14 +1450,14 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1451
1450
 
1452
1451
  return node .childNode = transformNode;
1453
1452
  },
1454
- nodeExtensions: function (extensions, transformNode)
1453
+ nodeExtensions (extensions, transformNode)
1455
1454
  {
1456
1455
  if (!(extensions instanceof Object))
1457
1456
  return;
1458
1457
 
1459
1458
  this .nodeLight (extensions .KHR_lights_punctual, transformNode);
1460
1459
  },
1461
- nodeLight: function (khrLightsPunctual, transformNode)
1460
+ nodeLight (khrLightsPunctual, transformNode)
1462
1461
  {
1463
1462
  if (!(khrLightsPunctual instanceof Object))
1464
1463
  return;
@@ -1472,7 +1471,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1472
1471
 
1473
1472
  transformNode ._children .push (lightNode);
1474
1473
  },
1475
- nodeChildrenArray: function (children)
1474
+ nodeChildrenArray (children)
1476
1475
  {
1477
1476
  if (!(children instanceof Array))
1478
1477
  return [ ];
@@ -1481,7 +1480,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1481
1480
  .map (index => this .nodeObject (this .nodes [index], index))
1482
1481
  .filter (node => node);
1483
1482
  },
1484
- scenesArray: function (scenes, sceneNumber)
1483
+ scenesArray (scenes, sceneNumber)
1485
1484
  {
1486
1485
  if (!(scenes instanceof Array))
1487
1486
  return;
@@ -1533,7 +1532,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1533
1532
  }
1534
1533
  }
1535
1534
  },
1536
- sceneObject: function (sceneObject)
1535
+ sceneObject (sceneObject)
1537
1536
  {
1538
1537
  if (!(sceneObject instanceof Object))
1539
1538
  return null;
@@ -1571,11 +1570,11 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1571
1570
  }
1572
1571
  }
1573
1572
  },
1574
- sceneNodesArray: function (nodes)
1573
+ sceneNodesArray (nodes)
1575
1574
  {
1576
1575
  return this .nodeChildrenArray (nodes);
1577
1576
  },
1578
- animationsArray: function (animations)
1577
+ animationsArray (animations)
1579
1578
  {
1580
1579
  if (!(animations instanceof Array))
1581
1580
  return;
@@ -1600,7 +1599,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1600
1599
 
1601
1600
  scene .getRootNodes () .push (groupNode);
1602
1601
  },
1603
- animationObject: function (animation)
1602
+ animationObject (animation)
1604
1603
  {
1605
1604
  if (!(animation instanceof Object))
1606
1605
  return null;
@@ -1632,7 +1631,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1632
1631
 
1633
1632
  return groupNode;
1634
1633
  },
1635
- animationChannelsArray: function (channels, samplers, timeSensorNode)
1634
+ animationChannelsArray (channels, samplers, timeSensorNode)
1636
1635
  {
1637
1636
  if (!(channels instanceof Array))
1638
1637
  return [ ];
@@ -1645,14 +1644,14 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1645
1644
  .filter (input => input && input .array .length)
1646
1645
  .reduce ((value, input) => Math .max (value, input .array .at (-1)), 0);
1647
1646
 
1648
- timeSensorNode ._loop = DEBUG;
1647
+ timeSensorNode ._loop = DEVELOPMENT;
1649
1648
  timeSensorNode ._cycleInterval = cycleInterval;
1650
1649
 
1651
1650
  return channels
1652
1651
  .map (channel => this .animationChannelObject (channel, samplers, timeSensorNode))
1653
1652
  .filter (node => node);
1654
1653
  },
1655
- animationChannelObject: function (channel, samplers, timeSensorNode)
1654
+ animationChannelObject (channel, samplers, timeSensorNode)
1656
1655
  {
1657
1656
  if (!(channel instanceof Object))
1658
1657
  return null;
@@ -1700,12 +1699,12 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1700
1699
 
1701
1700
  return interpolatorNode;
1702
1701
  },
1703
- skinsArray: function (skins)
1702
+ skinsArray (skins)
1704
1703
  {
1705
1704
  if (!(skins instanceof Array))
1706
1705
  return;
1707
1706
  },
1708
- createNavigationInfo: function ()
1707
+ createNavigationInfo ()
1709
1708
  {
1710
1709
  const
1711
1710
  scene = this .getExecutionContext (),
@@ -1717,7 +1716,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1717
1716
 
1718
1717
  return navigationInfoNode;
1719
1718
  },
1720
- createShape: function (primitive)
1719
+ createShape (primitive)
1721
1720
  {
1722
1721
  const
1723
1722
  scene = this .getExecutionContext (),
@@ -1732,7 +1731,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1732
1731
 
1733
1732
  return shapeNode;
1734
1733
  },
1735
- getDefaultAppearance: function ()
1734
+ getDefaultAppearance ()
1736
1735
  {
1737
1736
  if (this .defaultAppearance)
1738
1737
  return this .defaultAppearance;
@@ -1752,7 +1751,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1752
1751
 
1753
1752
  return appearanceNode;
1754
1753
  },
1755
- createMultiTextureTransform: function (materialNode)
1754
+ createMultiTextureTransform (materialNode)
1756
1755
  {
1757
1756
  if (!+materialNode .getTextureBits ())
1758
1757
  return null;
@@ -1796,7 +1795,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1796
1795
  }
1797
1796
  }
1798
1797
  },
1799
- createGeometry: function (primitive)
1798
+ createGeometry (primitive)
1800
1799
  {
1801
1800
  switch (primitive .mode)
1802
1801
  {
@@ -1843,7 +1842,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1843
1842
  }
1844
1843
  }
1845
1844
  },
1846
- createPointSet: function ({ attributes, material })
1845
+ createPointSet ({ attributes, material })
1847
1846
  {
1848
1847
  const
1849
1848
  scene = this .getExecutionContext (),
@@ -1857,7 +1856,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1857
1856
 
1858
1857
  return geometryNode;
1859
1858
  },
1860
- createIndexedLineSet: function ({ attributes, indices, material }, mode)
1859
+ createIndexedLineSet ({ attributes, indices, material }, mode)
1861
1860
  {
1862
1861
  const
1863
1862
  scene = this .getExecutionContext (),
@@ -1928,7 +1927,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1928
1927
 
1929
1928
  return geometryNode;
1930
1929
  },
1931
- createLineSet: function ({ attributes, material })
1930
+ createLineSet ({ attributes, material })
1932
1931
  {
1933
1932
  const
1934
1933
  scene = this .getExecutionContext (),
@@ -1942,13 +1941,13 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1942
1941
 
1943
1942
  return geometryNode;
1944
1943
  },
1945
- createIndexedTriangleSet: function ({ attributes, indices, material })
1944
+ createIndexedTriangleSet ({ attributes, indices, material })
1946
1945
  {
1947
1946
  const
1948
1947
  scene = this .getExecutionContext (),
1949
1948
  geometryNode = scene .createNode ("IndexedTriangleSet", false);
1950
1949
 
1951
- geometryNode ._solid = material ? ! material .doubleSided : true;
1950
+ geometryNode ._solid = material ? !material .doubleSided : true;
1952
1951
  geometryNode ._index = indices .array;
1953
1952
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
1954
1953
  geometryNode ._texCoord = this .createMultiTextureCoordinate (attributes .TEXCOORD, material);
@@ -1960,13 +1959,13 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1960
1959
 
1961
1960
  return geometryNode;
1962
1961
  },
1963
- createTriangleSet: function ({ attributes, material })
1962
+ createTriangleSet ({ attributes, material })
1964
1963
  {
1965
1964
  const
1966
1965
  scene = this .getExecutionContext (),
1967
1966
  geometryNode = scene .createNode ("TriangleSet", false);
1968
1967
 
1969
- geometryNode ._solid = material ? ! material .doubleSided : true;
1968
+ geometryNode ._solid = material ? !material .doubleSided : true;
1970
1969
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
1971
1970
  geometryNode ._texCoord = this .createMultiTextureCoordinate (attributes .TEXCOORD, material);
1972
1971
  geometryNode ._normal = this .createNormal (attributes .NORMAL);
@@ -1977,13 +1976,13 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1977
1976
 
1978
1977
  return geometryNode;
1979
1978
  },
1980
- createIndexedTriangleStripSet: function ({ attributes, indices, material })
1979
+ createIndexedTriangleStripSet ({ attributes, indices, material })
1981
1980
  {
1982
1981
  const
1983
1982
  scene = this .getExecutionContext (),
1984
1983
  geometryNode = scene .createNode ("IndexedTriangleStripSet", false);
1985
1984
 
1986
- geometryNode ._solid = material ? ! material .doubleSided : true;
1985
+ geometryNode ._solid = material ? !material .doubleSided : true;
1987
1986
  geometryNode ._index = indices .array;
1988
1987
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
1989
1988
  geometryNode ._texCoord = this .createMultiTextureCoordinate (attributes .TEXCOORD, material);
@@ -1995,13 +1994,13 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
1995
1994
 
1996
1995
  return geometryNode;
1997
1996
  },
1998
- createTriangleStripSet: function ({ attributes, material })
1997
+ createTriangleStripSet ({ attributes, material })
1999
1998
  {
2000
1999
  const
2001
2000
  scene = this .getExecutionContext (),
2002
2001
  geometryNode = scene .createNode ("TriangleStripSet", false);
2003
2002
 
2004
- geometryNode ._solid = material ? ! material .doubleSided : true;
2003
+ geometryNode ._solid = material ? !material .doubleSided : true;
2005
2004
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
2006
2005
  geometryNode ._texCoord = this .createMultiTextureCoordinate (attributes .TEXCOORD, material);
2007
2006
  geometryNode ._normal = this .createNormal (attributes .NORMAL);
@@ -2020,13 +2019,13 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2020
2019
 
2021
2020
  return geometryNode;
2022
2021
  },
2023
- createIndexedTriangleFanSet: function ({ attributes, indices, material })
2022
+ createIndexedTriangleFanSet ({ attributes, indices, material })
2024
2023
  {
2025
2024
  const
2026
2025
  scene = this .getExecutionContext (),
2027
2026
  geometryNode = scene .createNode ("IndexedTriangleFanSet", false);
2028
2027
 
2029
- geometryNode ._solid = material ? ! material .doubleSided : true;
2028
+ geometryNode ._solid = material ? !material .doubleSided : true;
2030
2029
  geometryNode ._index = indices .array;
2031
2030
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
2032
2031
  geometryNode ._texCoord = this .createMultiTextureCoordinate (attributes .TEXCOORD, material);
@@ -2038,13 +2037,13 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2038
2037
 
2039
2038
  return geometryNode;
2040
2039
  },
2041
- createTriangleFanSet: function ({ attributes, material })
2040
+ createTriangleFanSet ({ attributes, material })
2042
2041
  {
2043
2042
  const
2044
2043
  scene = this .getExecutionContext (),
2045
2044
  geometryNode = scene .createNode ("TriangleFanSet", false);
2046
2045
 
2047
- geometryNode ._solid = material ? ! material .doubleSided : true;
2046
+ geometryNode ._solid = material ? !material .doubleSided : true;
2048
2047
  geometryNode ._color = this .createColor (attributes .COLOR [0], material);
2049
2048
  geometryNode ._texCoord = this .createMultiTextureCoordinate (attributes .TEXCOORD, material);
2050
2049
  geometryNode ._normal = this .createNormal (attributes .NORMAL);
@@ -2098,7 +2097,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2098
2097
  return color .colorNode = colorNode;
2099
2098
  };
2100
2099
  })(),
2101
- createMultiTextureCoordinate: function (texCoords, material)
2100
+ createMultiTextureCoordinate (texCoords, material)
2102
2101
  {
2103
2102
  const appearanceNode = this .materialObject (material);
2104
2103
 
@@ -2141,7 +2140,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2141
2140
  }
2142
2141
  }
2143
2142
  },
2144
- createTextureCoordinate: function (texCoord, mapping)
2143
+ createTextureCoordinate (texCoord, mapping)
2145
2144
  {
2146
2145
  if (!(texCoord instanceof Object))
2147
2146
  return null;
@@ -2163,7 +2162,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2163
2162
 
2164
2163
  return texCoord [mapping] = textureCoordinateNode;
2165
2164
  },
2166
- createNormal: function (normal)
2165
+ createNormal (normal)
2167
2166
  {
2168
2167
  if (!(normal instanceof Object))
2169
2168
  return null;
@@ -2184,7 +2183,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2184
2183
 
2185
2184
  return normal .normalNode = normalNode;
2186
2185
  },
2187
- createCoordinate: function (position)
2186
+ createCoordinate (position)
2188
2187
  {
2189
2188
  if (!(position instanceof Object))
2190
2189
  return null;
@@ -2205,7 +2204,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2205
2204
 
2206
2205
  return position .coordinateNode = coordinateNode;
2207
2206
  },
2208
- createInterpolator: function (path, interpolation, times, keyValues, cycleInterval)
2207
+ createInterpolator (path, interpolation, times, keyValues, cycleInterval)
2209
2208
  {
2210
2209
  const scene = this .getExecutionContext ();
2211
2210
 
@@ -2242,7 +2241,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2242
2241
  }
2243
2242
  }
2244
2243
  },
2245
- createPositionInterpolator: function (interpolation, times, keyValues, cycleInterval)
2244
+ createPositionInterpolator (interpolation, times, keyValues, cycleInterval)
2246
2245
  {
2247
2246
  const scene = this .getExecutionContext ();
2248
2247
 
@@ -2316,7 +2315,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2316
2315
 
2317
2316
  }
2318
2317
  },
2319
- createOrientationInterpolator: function (interpolation, times, keyValues, cycleInterval)
2318
+ createOrientationInterpolator (interpolation, times, keyValues, cycleInterval)
2320
2319
  {
2321
2320
  const scene = this .getExecutionContext ();
2322
2321
 
@@ -2408,7 +2407,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2408
2407
  }
2409
2408
  }
2410
2409
  },
2411
- cubicSpline: function (time, times, values)
2410
+ cubicSpline (time, times, values)
2412
2411
  {
2413
2412
  const
2414
2413
  index1 = Algorithm .clamp (Algorithm .upperBound (times, 0, times .length, time), 1, times .length - 1),
@@ -2429,7 +2428,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2429
2428
 
2430
2429
  return v0 .add (b0) .add (v1) .add (a1);
2431
2430
  },
2432
- vectorValue: function (array, vector)
2431
+ vectorValue (array, vector)
2433
2432
  {
2434
2433
  if (!(array instanceof Array))
2435
2434
  return false;
@@ -2441,14 +2440,14 @@ GLTF2Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
2441
2440
 
2442
2441
  return true;
2443
2442
  },
2444
- numberValue: function (value, defaultValue)
2443
+ numberValue (value, defaultValue)
2445
2444
  {
2446
2445
  if (typeof value !== "number")
2447
2446
  return defaultValue;
2448
2447
 
2449
2448
  return value;
2450
2449
  },
2451
- stringValue: function (value, defaultValue)
2450
+ stringValue (value, defaultValue)
2452
2451
  {
2453
2452
  if (typeof value !== "string")
2454
2453
  return defaultValue;