x_ite 8.7.9 → 8.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. package/Makefile +3 -0
  2. package/build/bin/version.pl +1 -1
  3. package/dist/assets/components/Annotation.js +248 -169
  4. package/dist/assets/components/Annotation.min.js +1 -1
  5. package/dist/assets/components/CADGeometry.js +296 -233
  6. package/dist/assets/components/CADGeometry.min.js +1 -1
  7. package/dist/assets/components/CubeMapTexturing.js +217 -172
  8. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  9. package/dist/assets/components/DIS.js +451 -387
  10. package/dist/assets/components/DIS.min.js +1 -1
  11. package/dist/assets/components/EventUtilities.js +309 -208
  12. package/dist/assets/components/EventUtilities.min.js +1 -1
  13. package/dist/assets/components/Geometry2D.js +397 -333
  14. package/dist/assets/components/Geometry2D.min.js +1 -1
  15. package/dist/assets/components/Geospatial.js +705 -575
  16. package/dist/assets/components/Geospatial.min.js +1 -1
  17. package/dist/assets/components/HAnim.js +319 -259
  18. package/dist/assets/components/HAnim.min.js +1 -1
  19. package/dist/assets/components/KeyDeviceSensor.js +134 -99
  20. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  21. package/dist/assets/components/Layout.js +305 -240
  22. package/dist/assets/components/Layout.min.js +1 -1
  23. package/dist/assets/components/NURBS.js +781 -620
  24. package/dist/assets/components/NURBS.min.js +1 -1
  25. package/dist/assets/components/ParticleSystems.js +632 -460
  26. package/dist/assets/components/ParticleSystems.min.js +1 -1
  27. package/dist/assets/components/Picking.js +376 -295
  28. package/dist/assets/components/Picking.min.js +1 -1
  29. package/dist/assets/components/RigidBodyPhysics.js +936 -749
  30. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  31. package/dist/assets/components/Scripting.js +166 -96
  32. package/dist/assets/components/Scripting.min.js +1 -1
  33. package/dist/assets/components/Text.js +241 -207
  34. package/dist/assets/components/Text.min.js +1 -1
  35. package/dist/assets/components/TextureProjector.js +162 -129
  36. package/dist/assets/components/TextureProjector.min.js +1 -1
  37. package/dist/assets/components/Texturing3D.js +485 -384
  38. package/dist/assets/components/Texturing3D.min.js +1 -1
  39. package/dist/assets/components/VolumeRendering.js +741 -547
  40. package/dist/assets/components/VolumeRendering.min.js +1 -1
  41. package/dist/assets/components/X_ITE.js +66 -54
  42. package/dist/assets/components/X_ITE.min.js +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.js +61527 -59688
  45. package/dist/x_ite.min.js +1 -1
  46. package/dist/x_ite.zip +0 -0
  47. package/docs/_config.yml +2 -2
  48. package/package.json +4 -4
  49. package/src/assets/components/Annotation.js +14 -14
  50. package/src/assets/components/CADGeometry.js +14 -14
  51. package/src/assets/components/CubeMapTexturing.js +11 -11
  52. package/src/assets/components/DIS.js +13 -13
  53. package/src/assets/components/EventUtilities.js +16 -16
  54. package/src/assets/components/Geometry2D.js +15 -15
  55. package/src/assets/components/Geospatial.js +19 -19
  56. package/src/assets/components/HAnim.js +13 -13
  57. package/src/assets/components/KeyDeviceSensor.js +10 -10
  58. package/src/assets/components/Layout.js +13 -13
  59. package/src/assets/components/NURBS.js +24 -24
  60. package/src/assets/components/ParticleSystems.js +19 -19
  61. package/src/assets/components/Picking.js +14 -14
  62. package/src/assets/components/RigidBodyPhysics.js +24 -24
  63. package/src/assets/components/Scripting.js +9 -9
  64. package/src/assets/components/Text.js +10 -10
  65. package/src/assets/components/TextureProjector.js +10 -10
  66. package/src/assets/components/Texturing3D.js +16 -16
  67. package/src/assets/components/VolumeRendering.js +23 -23
  68. package/src/assets/components/X_ITE.js +8 -7
  69. package/src/bookmarks.js +2 -2
  70. package/src/lib/jquery.js +42 -30
  71. package/src/standard/Geospatial/Geodetic.js +8 -9
  72. package/src/standard/Geospatial/UniversalTransverseMercator.js +4 -5
  73. package/src/standard/Math/Algorithm.js +41 -56
  74. package/src/standard/Math/Algorithms/Bezier.js +2 -2
  75. package/src/standard/Math/Algorithms/MergeSort.js +6 -6
  76. package/src/standard/Math/Algorithms/PartialSort.js +5 -5
  77. package/src/standard/Math/Algorithms/QuickSort.js +5 -5
  78. package/src/standard/Math/Geometry/Box2.js +16 -17
  79. package/src/standard/Math/Geometry/Box3.js +18 -19
  80. package/src/standard/Math/Geometry/Camera.js +6 -5
  81. package/src/standard/Math/Geometry/Cylinder3.js +6 -7
  82. package/src/standard/Math/Geometry/Line2.js +20 -18
  83. package/src/standard/Math/Geometry/Line3.js +20 -18
  84. package/src/standard/Math/Geometry/Plane3.js +11 -12
  85. package/src/standard/Math/Geometry/Sphere3.js +6 -7
  86. package/src/standard/Math/Geometry/Spheroid3.js +6 -7
  87. package/src/standard/Math/Geometry/Triangle2.js +4 -3
  88. package/src/standard/Math/Geometry/Triangle3.js +5 -4
  89. package/src/standard/Math/Geometry/ViewVolume.js +6 -7
  90. package/src/standard/Math/Numbers/Color3.js +18 -19
  91. package/src/standard/Math/Numbers/Color4.js +20 -21
  92. package/src/standard/Math/Numbers/Complex.js +28 -29
  93. package/src/standard/Math/Numbers/Matrix2.js +22 -23
  94. package/src/standard/Math/Numbers/Matrix3.js +28 -29
  95. package/src/standard/Math/Numbers/Matrix4.js +29 -30
  96. package/src/standard/Math/Numbers/Quaternion.js +40 -41
  97. package/src/standard/Math/Numbers/Rotation4.js +34 -35
  98. package/src/standard/Math/Numbers/Vector2.js +29 -30
  99. package/src/standard/Math/Numbers/Vector3.js +32 -33
  100. package/src/standard/Math/Numbers/Vector4.js +34 -35
  101. package/src/standard/Math/Utility/BVH.js +14 -15
  102. package/src/standard/Math/Utility/MatrixStack.js +12 -12
  103. package/src/standard/Time/MicroTime.js +4 -3
  104. package/src/standard/Utility/BitSet.js +10 -11
  105. package/src/standard/Utility/DataStorage.js +10 -10
  106. package/src/standard/Utility/MapUtilities.js +2 -1
  107. package/src/standard/Utility/ObjectCache.js +3 -3
  108. package/src/tests.js +10 -0
  109. package/src/x_ite/Base/Events.js +3 -3
  110. package/src/x_ite/Base/FieldArray.js +11 -9
  111. package/src/x_ite/Base/FieldDefinitionArray.js +11 -9
  112. package/src/x_ite/Base/X3DArrayField.js +13 -14
  113. package/src/x_ite/Base/X3DBaseNode.js +218 -178
  114. package/src/x_ite/Base/X3DCast.js +1 -1
  115. package/src/x_ite/Base/X3DChildObject.js +162 -53
  116. package/src/x_ite/Base/X3DConstants.js +74 -60
  117. package/src/x_ite/Base/X3DEventObject.js +6 -12
  118. package/src/x_ite/Base/X3DField.js +45 -42
  119. package/src/x_ite/Base/X3DFieldDefinition.js +9 -7
  120. package/src/x_ite/Base/X3DInfoArray.js +75 -65
  121. package/src/x_ite/Base/X3DObject.js +60 -30
  122. package/src/x_ite/Base/X3DObjectArrayField.js +48 -83
  123. package/src/x_ite/Base/X3DTypedArrayField.js +46 -40
  124. package/src/x_ite/Browser/Core/BrowserOptions.js +55 -57
  125. package/src/x_ite/Browser/Core/BrowserProperties.js +18 -20
  126. package/src/x_ite/Browser/Core/BrowserTimings.js +29 -33
  127. package/src/x_ite/Browser/Core/Context.js +7 -7
  128. package/src/x_ite/Browser/Core/ContextMenu.js +61 -83
  129. package/src/x_ite/Browser/Core/Notification.js +12 -12
  130. package/src/x_ite/Browser/Core/RenderingProperties.js +28 -28
  131. package/src/x_ite/Browser/Core/X3DCoreContext.js +45 -37
  132. package/src/x_ite/Browser/DOMIntegration.js +4 -1
  133. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +3 -3
  134. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +1 -1
  135. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +12 -12
  136. package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +8 -14
  137. package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +8 -14
  138. package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +13 -17
  139. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +15 -19
  140. package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +12 -16
  141. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +9 -9
  142. package/src/x_ite/Browser/Geometry3D/BoxOptions.js +12 -16
  143. package/src/x_ite/Browser/Geometry3D/ConeOptions.js +6 -12
  144. package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +6 -12
  145. package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +13 -17
  146. package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +17 -21
  147. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -8
  148. package/src/x_ite/Browser/Geospatial/Geocentric.js +5 -6
  149. package/src/x_ite/Browser/Geospatial/Geospatial.js +10 -10
  150. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +3 -3
  151. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +2 -3
  152. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +8 -9
  153. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +7 -8
  154. package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +3 -4
  155. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +8 -8
  156. package/src/x_ite/Browser/Layering/X3DLayeringContext.js +4 -4
  157. package/src/x_ite/Browser/Layout/ScreenText.js +7 -8
  158. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +3 -3
  159. package/src/x_ite/Browser/Legacy.js +32 -12
  160. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +5 -5
  161. package/src/x_ite/Browser/NURBS/NURBS.js +10 -10
  162. package/src/x_ite/Browser/Navigation/ExamineViewer.js +32 -20
  163. package/src/x_ite/Browser/Navigation/FlyViewer.js +22 -10
  164. package/src/x_ite/Browser/Navigation/LookAtViewer.js +29 -17
  165. package/src/x_ite/Browser/Navigation/NoneViewer.js +15 -5
  166. package/src/x_ite/Browser/Navigation/PlaneViewer.js +24 -12
  167. package/src/x_ite/Browser/Navigation/WalkViewer.js +22 -10
  168. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +17 -18
  169. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +19 -19
  170. package/src/x_ite/Browser/Navigation/X3DViewer.js +13 -19
  171. package/src/x_ite/Browser/Networking/URLs.js +5 -5
  172. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +16 -16
  173. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +3 -3
  174. package/src/x_ite/Browser/Picking/VolumePicker.js +8 -8
  175. package/src/x_ite/Browser/Picking/X3DPickingContext.js +12 -12
  176. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +24 -20
  177. package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +6 -6
  178. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +21 -21
  179. package/src/x_ite/Browser/Rendering/GeometryContext.js +4 -5
  180. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +18 -18
  181. package/src/x_ite/Browser/Scripting/X3DScriptingContext.js +4 -4
  182. package/src/x_ite/Browser/Shaders/ShaderCompiler.js +4 -4
  183. package/src/x_ite/Browser/Shaders/ShaderSource.js +1 -1
  184. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +13 -13
  185. package/src/x_ite/Browser/Shape/X3DShapeContext.js +12 -12
  186. package/src/x_ite/Browser/Sound/X3DSoundContext.js +0 -2
  187. package/src/x_ite/Browser/Text/PolygonText.js +10 -11
  188. package/src/x_ite/Browser/Text/X3DTextContext.js +6 -6
  189. package/src/x_ite/Browser/Text/X3DTextGeometry.js +18 -19
  190. package/src/x_ite/Browser/Texturing/GifMedia.js +7 -7
  191. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +24 -24
  192. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +38 -38
  193. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +14 -14
  194. package/src/x_ite/Browser/Time/X3DTimeContext.js +5 -5
  195. package/src/x_ite/Browser/VERSION.js +1 -1
  196. package/src/x_ite/Browser/VolumeRendering/VolumeMaterial.js +39 -22
  197. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +6 -6
  198. package/src/x_ite/Browser/X3DBrowser.js +166 -140
  199. package/src/x_ite/Browser/X3DBrowserContext.js +23 -24
  200. package/src/x_ite/Components/Annotation/AnnotationLayer.js +30 -19
  201. package/src/x_ite/Components/Annotation/AnnotationTarget.js +30 -19
  202. package/src/x_ite/Components/Annotation/GroupAnnotation.js +40 -29
  203. package/src/x_ite/Components/Annotation/IconAnnotation.js +38 -27
  204. package/src/x_ite/Components/Annotation/TextAnnotation.js +31 -20
  205. package/src/x_ite/Components/Annotation/URLAnnotation.js +30 -19
  206. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +16 -3
  207. package/src/x_ite/Components/CADGeometry/CADAssembly.js +32 -21
  208. package/src/x_ite/Components/CADGeometry/CADFace.js +48 -37
  209. package/src/x_ite/Components/CADGeometry/CADLayer.js +30 -21
  210. package/src/x_ite/Components/CADGeometry/CADPart.js +37 -26
  211. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +51 -46
  212. package/src/x_ite/Components/CADGeometry/QuadSet.js +48 -43
  213. package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +13 -2
  214. package/src/x_ite/Components/Core/MetadataBoolean.js +33 -22
  215. package/src/x_ite/Components/Core/MetadataDouble.js +33 -22
  216. package/src/x_ite/Components/Core/MetadataFloat.js +33 -22
  217. package/src/x_ite/Components/Core/MetadataInteger.js +33 -22
  218. package/src/x_ite/Components/Core/MetadataSet.js +33 -22
  219. package/src/x_ite/Components/Core/MetadataString.js +33 -22
  220. package/src/x_ite/Components/Core/WorldInfo.js +34 -23
  221. package/src/x_ite/Components/Core/X3DBindableNode.js +17 -4
  222. package/src/x_ite/Components/Core/X3DChildNode.js +19 -6
  223. package/src/x_ite/Components/Core/X3DInfoNode.js +13 -2
  224. package/src/x_ite/Components/Core/X3DMetadataObject.js +18 -5
  225. package/src/x_ite/Components/Core/X3DNode.js +53 -21
  226. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +68 -77
  227. package/src/x_ite/Components/Core/X3DSensorNode.js +13 -2
  228. package/src/x_ite/Components/Core.js +22 -29
  229. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +46 -35
  230. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +39 -28
  231. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +47 -36
  232. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +21 -8
  233. package/src/x_ite/Components/DIS/DISEntityManager.js +29 -20
  234. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +41 -30
  235. package/src/x_ite/Components/DIS/EspduTransform.js +117 -106
  236. package/src/x_ite/Components/DIS/ReceiverPdu.js +60 -49
  237. package/src/x_ite/Components/DIS/SignalPdu.js +60 -49
  238. package/src/x_ite/Components/DIS/TransmitterPdu.js +76 -65
  239. package/src/x_ite/Components/EnvironmentalEffects/Background.js +47 -36
  240. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +42 -31
  241. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +39 -28
  242. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +40 -29
  243. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +48 -37
  244. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +28 -15
  245. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +30 -18
  246. package/src/x_ite/Components/EnvironmentalEffects.js +15 -22
  247. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +45 -34
  248. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +50 -39
  249. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +41 -30
  250. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +22 -9
  251. package/src/x_ite/Components/EnvironmentalSensor.js +12 -19
  252. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +38 -27
  253. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +38 -27
  254. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +33 -22
  255. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +32 -21
  256. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +38 -27
  257. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +33 -22
  258. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +32 -21
  259. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +20 -7
  260. package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +13 -2
  261. package/src/x_ite/Components/Followers/ColorChaser.js +47 -36
  262. package/src/x_ite/Components/Followers/ColorDamper.js +49 -38
  263. package/src/x_ite/Components/Followers/CoordinateChaser.js +33 -22
  264. package/src/x_ite/Components/Followers/CoordinateDamper.js +35 -24
  265. package/src/x_ite/Components/Followers/OrientationChaser.js +43 -32
  266. package/src/x_ite/Components/Followers/OrientationDamper.js +41 -30
  267. package/src/x_ite/Components/Followers/PositionChaser.js +33 -22
  268. package/src/x_ite/Components/Followers/PositionChaser2D.js +33 -22
  269. package/src/x_ite/Components/Followers/PositionDamper.js +35 -24
  270. package/src/x_ite/Components/Followers/PositionDamper2D.js +35 -24
  271. package/src/x_ite/Components/Followers/ScalarChaser.js +47 -36
  272. package/src/x_ite/Components/Followers/ScalarDamper.js +43 -32
  273. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +33 -22
  274. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +35 -24
  275. package/src/x_ite/Components/Followers/X3DChaserNode.js +27 -14
  276. package/src/x_ite/Components/Followers/X3DDamperNode.js +22 -9
  277. package/src/x_ite/Components/Followers/X3DFollowerNode.js +29 -16
  278. package/src/x_ite/Components/Followers.js +25 -32
  279. package/src/x_ite/Components/Geometry2D/Arc2D.js +38 -27
  280. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +39 -28
  281. package/src/x_ite/Components/Geometry2D/Circle2D.js +35 -24
  282. package/src/x_ite/Components/Geometry2D/Disk2D.js +40 -29
  283. package/src/x_ite/Components/Geometry2D/Polyline2D.js +34 -23
  284. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +34 -23
  285. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +34 -23
  286. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +36 -25
  287. package/src/x_ite/Components/Geometry3D/Box.js +34 -23
  288. package/src/x_ite/Components/Geometry3D/Cone.js +40 -29
  289. package/src/x_ite/Components/Geometry3D/Cylinder.js +41 -30
  290. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +63 -52
  291. package/src/x_ite/Components/Geometry3D/Extrusion.js +49 -38
  292. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +98 -95
  293. package/src/x_ite/Components/Geometry3D/Sphere.js +36 -25
  294. package/src/x_ite/Components/Geometry3D.js +15 -22
  295. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +37 -26
  296. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +63 -52
  297. package/src/x_ite/Components/Geospatial/GeoLOD.js +59 -48
  298. package/src/x_ite/Components/Geospatial/GeoLocation.js +45 -34
  299. package/src/x_ite/Components/Geospatial/GeoMetadata.js +38 -27
  300. package/src/x_ite/Components/Geospatial/GeoOrigin.js +37 -26
  301. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +43 -32
  302. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +48 -37
  303. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +45 -34
  304. package/src/x_ite/Components/Geospatial/GeoTransform.js +49 -38
  305. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +56 -45
  306. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +30 -17
  307. package/src/x_ite/Components/Grouping/Group.js +29 -20
  308. package/src/x_ite/Components/Grouping/StaticGroup.js +40 -48
  309. package/src/x_ite/Components/Grouping/Switch.js +51 -40
  310. package/src/x_ite/Components/Grouping/Transform.js +34 -25
  311. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +22 -9
  312. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +224 -219
  313. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +20 -7
  314. package/src/x_ite/Components/Grouping/X3DTransformNode.js +17 -4
  315. package/src/x_ite/Components/Grouping.js +16 -23
  316. package/src/x_ite/Components/HAnim/HAnimDisplacer.js +27 -18
  317. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +73 -62
  318. package/src/x_ite/Components/HAnim/HAnimJoint.js +61 -50
  319. package/src/x_ite/Components/HAnim/HAnimMotion.js +44 -33
  320. package/src/x_ite/Components/HAnim/HAnimSegment.js +36 -27
  321. package/src/x_ite/Components/HAnim/HAnimSite.js +36 -27
  322. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +38 -27
  323. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +38 -27
  324. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +38 -27
  325. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +39 -28
  326. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +38 -27
  327. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +38 -27
  328. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +38 -27
  329. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +38 -27
  330. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +39 -28
  331. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +44 -33
  332. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +44 -33
  333. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +44 -33
  334. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +40 -29
  335. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +21 -8
  336. package/src/x_ite/Components/Interpolation.js +22 -29
  337. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +44 -33
  338. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +38 -27
  339. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +23 -10
  340. package/src/x_ite/Components/Layering/Layer.js +40 -29
  341. package/src/x_ite/Components/Layering/LayerSet.js +44 -33
  342. package/src/x_ite/Components/Layering/Viewport.js +48 -37
  343. package/src/x_ite/Components/Layering/X3DLayerNode.js +45 -32
  344. package/src/x_ite/Components/Layering/X3DViewportNode.js +13 -2
  345. package/src/x_ite/Components/Layering.js +13 -20
  346. package/src/x_ite/Components/Layout/Layout.js +60 -49
  347. package/src/x_ite/Components/Layout/LayoutGroup.js +48 -37
  348. package/src/x_ite/Components/Layout/LayoutLayer.js +41 -30
  349. package/src/x_ite/Components/Layout/ScreenFontStyle.js +41 -30
  350. package/src/x_ite/Components/Layout/ScreenGroup.js +42 -31
  351. package/src/x_ite/Components/Layout/X3DLayoutNode.js +13 -2
  352. package/src/x_ite/Components/Lighting/DirectionalLight.js +45 -35
  353. package/src/x_ite/Components/Lighting/EnvironmentLight.js +51 -41
  354. package/src/x_ite/Components/Lighting/PointLight.js +53 -43
  355. package/src/x_ite/Components/Lighting/SpotLight.js +62 -52
  356. package/src/x_ite/Components/Lighting/X3DLightNode.js +29 -16
  357. package/src/x_ite/Components/Lighting.js +13 -20
  358. package/src/x_ite/Components/NURBS/Contour2D.js +45 -43
  359. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +34 -23
  360. package/src/x_ite/Components/NURBS/CoordinateDouble.js +23 -14
  361. package/src/x_ite/Components/NURBS/NurbsCurve.js +47 -36
  362. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +44 -33
  363. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +46 -35
  364. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +36 -27
  365. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +46 -35
  366. package/src/x_ite/Components/NURBS/NurbsSet.js +52 -50
  367. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +44 -33
  368. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +40 -29
  369. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +40 -29
  370. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +43 -32
  371. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +59 -57
  372. package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +13 -2
  373. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +30 -17
  374. package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +16 -3
  375. package/src/x_ite/Components/Navigation/Billboard.js +43 -32
  376. package/src/x_ite/Components/Navigation/Collision.js +49 -38
  377. package/src/x_ite/Components/Navigation/LOD.js +54 -43
  378. package/src/x_ite/Components/Navigation/NavigationInfo.js +58 -47
  379. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +69 -58
  380. package/src/x_ite/Components/Navigation/Viewpoint.js +53 -42
  381. package/src/x_ite/Components/Navigation/ViewpointGroup.js +44 -33
  382. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +48 -35
  383. package/src/x_ite/Components/Navigation.js +16 -23
  384. package/src/x_ite/Components/Networking/Anchor.js +51 -40
  385. package/src/x_ite/Components/Networking/Inline.js +54 -43
  386. package/src/x_ite/Components/Networking/LoadSensor.js +49 -38
  387. package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +13 -2
  388. package/src/x_ite/Components/Networking/X3DUrlObject.js +35 -22
  389. package/src/x_ite/Components/Networking.js +13 -20
  390. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +37 -26
  391. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +44 -33
  392. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +41 -30
  393. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +34 -23
  394. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +83 -72
  395. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +41 -30
  396. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +42 -31
  397. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +42 -31
  398. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +43 -32
  399. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +38 -27
  400. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +33 -20
  401. package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +16 -3
  402. package/src/x_ite/Components/Picking/LinePickSensor.js +49 -38
  403. package/src/x_ite/Components/Picking/PickableGroup.js +45 -34
  404. package/src/x_ite/Components/Picking/PointPickSensor.js +46 -35
  405. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +46 -35
  406. package/src/x_ite/Components/Picking/VolumePickSensor.js +45 -34
  407. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +31 -18
  408. package/src/x_ite/Components/Picking/X3DPickableObject.js +20 -7
  409. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +50 -39
  410. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +52 -45
  411. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +44 -33
  412. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +30 -21
  413. package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +13 -2
  414. package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +22 -11
  415. package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +16 -3
  416. package/src/x_ite/Components/PointingDeviceSensor.js +15 -22
  417. package/src/x_ite/Components/Rendering/ClipPlane.js +44 -34
  418. package/src/x_ite/Components/Rendering/Color.js +37 -26
  419. package/src/x_ite/Components/Rendering/ColorRGBA.js +37 -26
  420. package/src/x_ite/Components/Rendering/Coordinate.js +23 -14
  421. package/src/x_ite/Components/Rendering/IndexedLineSet.js +52 -41
  422. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +48 -37
  423. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +44 -33
  424. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +48 -37
  425. package/src/x_ite/Components/Rendering/LineSet.js +45 -34
  426. package/src/x_ite/Components/Rendering/Normal.js +39 -28
  427. package/src/x_ite/Components/Rendering/PointSet.js +45 -34
  428. package/src/x_ite/Components/Rendering/TriangleFanSet.js +47 -36
  429. package/src/x_ite/Components/Rendering/TriangleSet.js +41 -30
  430. package/src/x_ite/Components/Rendering/TriangleStripSet.js +47 -36
  431. package/src/x_ite/Components/Rendering/X3DColorNode.js +17 -4
  432. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +33 -20
  433. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +23 -10
  434. package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +13 -2
  435. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +96 -80
  436. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +21 -8
  437. package/src/x_ite/Components/Rendering/X3DNormalNode.js +13 -2
  438. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +20 -7
  439. package/src/x_ite/Components/Rendering.js +29 -36
  440. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +43 -32
  441. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +48 -37
  442. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +52 -41
  443. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +47 -36
  444. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +41 -30
  445. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +44 -33
  446. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +38 -29
  447. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +60 -49
  448. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +48 -39
  449. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +69 -58
  450. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +61 -50
  451. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +49 -38
  452. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +47 -36
  453. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +36 -27
  454. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +24 -11
  455. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +17 -4
  456. package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +34 -21
  457. package/src/x_ite/Components/Scripting/Script.js +76 -46
  458. package/src/x_ite/Components/Scripting/X3DScriptNode.js +17 -4
  459. package/src/x_ite/Components/Shaders/ComposedShader.js +46 -35
  460. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +40 -29
  461. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +38 -27
  462. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +38 -27
  463. package/src/x_ite/Components/Shaders/PackagedShader.js +45 -34
  464. package/src/x_ite/Components/Shaders/ProgramShader.js +27 -18
  465. package/src/x_ite/Components/Shaders/ShaderPart.js +47 -36
  466. package/src/x_ite/Components/Shaders/ShaderProgram.js +42 -31
  467. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +51 -38
  468. package/src/x_ite/Components/Shaders/X3DShaderNode.js +19 -6
  469. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +17 -4
  470. package/src/x_ite/Components/Shaders.js +19 -26
  471. package/src/x_ite/Components/Shape/AcousticProperties.js +28 -19
  472. package/src/x_ite/Components/Shape/Appearance.js +79 -68
  473. package/src/x_ite/Components/Shape/FillProperties.js +44 -33
  474. package/src/x_ite/Components/Shape/LineProperties.js +44 -33
  475. package/src/x_ite/Components/Shape/Material.js +75 -64
  476. package/src/x_ite/Components/Shape/PhysicalMaterial.js +65 -54
  477. package/src/x_ite/Components/Shape/PointProperties.js +43 -32
  478. package/src/x_ite/Components/Shape/Shape.js +48 -37
  479. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +60 -49
  480. package/src/x_ite/Components/Shape/UnlitMaterial.js +44 -33
  481. package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +13 -2
  482. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +17 -4
  483. package/src/x_ite/Components/Shape/X3DMaterialNode.js +41 -33
  484. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +29 -16
  485. package/src/x_ite/Components/Shape/X3DShapeNode.js +28 -15
  486. package/src/x_ite/Components/Shape.js +23 -30
  487. package/src/x_ite/Components/Sound/Analyser.js +46 -37
  488. package/src/x_ite/Components/Sound/AudioClip.js +61 -50
  489. package/src/x_ite/Components/Sound/AudioDestination.js +35 -26
  490. package/src/x_ite/Components/Sound/BiquadFilter.js +45 -36
  491. package/src/x_ite/Components/Sound/BufferAudioSource.js +61 -50
  492. package/src/x_ite/Components/Sound/ChannelMerger.js +32 -23
  493. package/src/x_ite/Components/Sound/ChannelSelector.js +33 -24
  494. package/src/x_ite/Components/Sound/ChannelSplitter.js +33 -24
  495. package/src/x_ite/Components/Sound/Convolver.js +43 -34
  496. package/src/x_ite/Components/Sound/Delay.js +43 -34
  497. package/src/x_ite/Components/Sound/DynamicsCompressor.js +47 -38
  498. package/src/x_ite/Components/Sound/Gain.js +41 -32
  499. package/src/x_ite/Components/Sound/ListenerPointSource.js +39 -30
  500. package/src/x_ite/Components/Sound/MicrophoneSource.js +35 -26
  501. package/src/x_ite/Components/Sound/OscillatorSource.js +37 -28
  502. package/src/x_ite/Components/Sound/PeriodicWave.js +27 -18
  503. package/src/x_ite/Components/Sound/Sound.js +51 -40
  504. package/src/x_ite/Components/Sound/SpatialSound.js +42 -33
  505. package/src/x_ite/Components/Sound/StreamAudioDestination.js +35 -26
  506. package/src/x_ite/Components/Sound/StreamAudioSource.js +35 -26
  507. package/src/x_ite/Components/Sound/WaveShaper.js +43 -34
  508. package/src/x_ite/Components/Sound/X3DSoundChannelNode.js +13 -2
  509. package/src/x_ite/Components/Sound/X3DSoundDestinationNode.js +13 -2
  510. package/src/x_ite/Components/Sound/X3DSoundNode.js +13 -2
  511. package/src/x_ite/Components/Sound/X3DSoundProcessingNode.js +17 -4
  512. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +30 -17
  513. package/src/x_ite/Components/Sound.js +34 -41
  514. package/src/x_ite/Components/Text/FontStyle.js +37 -26
  515. package/src/x_ite/Components/Text/Text.js +50 -39
  516. package/src/x_ite/Components/Text/X3DFontStyleNode.js +32 -18
  517. package/src/x_ite/Components/TextureProjector/TextureProjector.js +49 -39
  518. package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +58 -48
  519. package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +27 -14
  520. package/src/x_ite/Components/Texturing/ImageTexture.js +50 -39
  521. package/src/x_ite/Components/Texturing/MovieTexture.js +67 -56
  522. package/src/x_ite/Components/Texturing/MultiTexture.js +52 -41
  523. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +44 -33
  524. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +39 -28
  525. package/src/x_ite/Components/Texturing/PixelTexture.js +42 -31
  526. package/src/x_ite/Components/Texturing/TextureCoordinate.js +41 -30
  527. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +41 -30
  528. package/src/x_ite/Components/Texturing/TextureProperties.js +47 -36
  529. package/src/x_ite/Components/Texturing/TextureTransform.js +39 -28
  530. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +20 -7
  531. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +21 -8
  532. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +20 -7
  533. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +26 -13
  534. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +13 -2
  535. package/src/x_ite/Components/Texturing/X3DTextureNode.js +17 -4
  536. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +13 -2
  537. package/src/x_ite/Components/Texturing.js +25 -32
  538. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +44 -33
  539. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +46 -35
  540. package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +54 -43
  541. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +40 -29
  542. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +41 -30
  543. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +41 -30
  544. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +39 -28
  545. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +36 -25
  546. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +26 -13
  547. package/src/x_ite/Components/Time/TimeSensor.js +55 -44
  548. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +38 -25
  549. package/src/x_ite/Components/Time.js +10 -17
  550. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +51 -41
  551. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +39 -28
  552. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +42 -31
  553. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +41 -30
  554. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +41 -30
  555. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +50 -39
  556. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +39 -28
  557. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +38 -27
  558. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +49 -38
  559. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +44 -33
  560. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +42 -31
  561. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +41 -30
  562. package/src/x_ite/Components/VolumeRendering/VolumeData.js +45 -34
  563. package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +13 -2
  564. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +25 -12
  565. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +22 -9
  566. package/src/x_ite/Components/X_ITE/BlendMode.js +48 -37
  567. package/src/x_ite/Components.js +38 -14
  568. package/src/x_ite/Configuration/{NodeTypeArray.js → AbstractNodes.js} +2 -20
  569. package/src/x_ite/{Fallback.js → Configuration/AbstractNodesArray.js} +22 -29
  570. package/src/x_ite/Configuration/ComponentInfo.js +14 -10
  571. package/src/x_ite/Configuration/ComponentInfoArray.js +14 -10
  572. package/src/x_ite/Configuration/ConcreteNodes.js +50 -0
  573. package/src/x_ite/Configuration/{SupportedNodes.js → ConcreteNodesArray.js} +28 -35
  574. package/src/x_ite/Configuration/ProfileInfo.js +13 -9
  575. package/src/x_ite/Configuration/ProfileInfoArray.js +14 -13
  576. package/src/x_ite/Configuration/SupportedComponents.js +40 -78
  577. package/src/x_ite/Configuration/SupportedProfiles.js +16 -16
  578. package/src/x_ite/Configuration/UnitInfo.js +14 -10
  579. package/src/x_ite/Configuration/UnitInfoArray.js +10 -21
  580. package/src/x_ite/Execution/BindableList.js +14 -10
  581. package/src/x_ite/Execution/BindableStack.js +14 -10
  582. package/src/x_ite/Execution/ExportedNodesArray.js +11 -9
  583. package/src/x_ite/Execution/ImportedNodesArray.js +11 -9
  584. package/src/x_ite/Execution/NamedNodesArray.js +11 -22
  585. package/src/x_ite/Execution/X3DExecutionContext.js +121 -110
  586. package/src/x_ite/Execution/X3DExportedNode.js +18 -10
  587. package/src/x_ite/Execution/X3DImportedNode.js +35 -22
  588. package/src/x_ite/Execution/X3DScene.js +93 -64
  589. package/src/x_ite/Execution/X3DWorld.js +21 -17
  590. package/src/x_ite/Fields/ArrayFields.js +87 -153
  591. package/src/x_ite/Fields/SFBool.js +21 -25
  592. package/src/x_ite/Fields/SFColor.js +43 -39
  593. package/src/x_ite/Fields/SFColorRGBA.js +39 -35
  594. package/src/x_ite/Fields/SFDouble.js +20 -21
  595. package/src/x_ite/Fields/SFFloat.js +20 -21
  596. package/src/x_ite/Fields/SFImage.js +50 -48
  597. package/src/x_ite/Fields/SFInt32.js +20 -21
  598. package/src/x_ite/Fields/SFMatrix3.js +23 -16
  599. package/src/x_ite/Fields/SFMatrix4.js +24 -17
  600. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +31 -31
  601. package/src/x_ite/Fields/SFNode.js +57 -88
  602. package/src/x_ite/Fields/SFNodeCache.js +7 -11
  603. package/src/x_ite/Fields/SFRotation.js +73 -62
  604. package/src/x_ite/Fields/SFString.js +35 -36
  605. package/src/x_ite/Fields/SFTime.js +20 -21
  606. package/src/x_ite/Fields/SFVec2.js +17 -14
  607. package/src/x_ite/Fields/SFVec3.js +20 -17
  608. package/src/x_ite/Fields/SFVec4.js +21 -18
  609. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +36 -36
  610. package/src/x_ite/Fields.js +6 -13
  611. package/src/x_ite/InputOutput/FileLoader.js +37 -41
  612. package/src/x_ite/InputOutput/Generator.js +50 -51
  613. package/src/x_ite/Parser/GLB2Parser.js +12 -13
  614. package/src/x_ite/Parser/GLTF2Parser.js +111 -112
  615. package/src/x_ite/Parser/GoldenGate.js +11 -13
  616. package/src/x_ite/Parser/HTMLSupport.js +15 -5
  617. package/src/x_ite/Parser/JSONParser.js +21 -22
  618. package/src/x_ite/Parser/OBJParser.js +56 -57
  619. package/src/x_ite/Parser/STLAParser.js +22 -23
  620. package/src/x_ite/Parser/STLBParser.js +12 -13
  621. package/src/x_ite/Parser/SVGParser.js +85 -86
  622. package/src/x_ite/Parser/VRMLParser.js +495 -878
  623. package/src/x_ite/Parser/X3DOptimizer.js +7 -7
  624. package/src/x_ite/Parser/X3DParser.js +17 -17
  625. package/src/x_ite/Parser/XMLParser.js +215 -269
  626. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +11 -9
  627. package/src/x_ite/Prototype/ProtoDeclarationArray.js +11 -9
  628. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +35 -27
  629. package/src/x_ite/Prototype/X3DProtoDeclaration.js +28 -20
  630. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +18 -10
  631. package/src/x_ite/Rendering/DependentRenderer.js +11 -12
  632. package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +9 -10
  633. package/src/x_ite/Rendering/PointingBuffer.js +6 -7
  634. package/src/x_ite/Rendering/TextureBuffer.js +11 -12
  635. package/src/x_ite/Rendering/VertexArray.js +5 -5
  636. package/src/x_ite/Rendering/X3DRenderObject.js +51 -52
  637. package/src/x_ite/Routing/RouteArray.js +11 -9
  638. package/src/x_ite/Routing/X3DRoute.js +29 -21
  639. package/src/x_ite/Routing/X3DRoutingContext.js +8 -9
  640. package/src/x_ite/X3D.js +27 -26
  641. package/src/x_ite/X3DCanvasElement.js +18 -7
  642. package/src/x_ite.css +2 -1
  643. package/webpack.config.js +2 -2
  644. /package/src/x_ite/{DEBUG.js → DEVELOPMENT.js} +0 -0
@@ -61,36 +61,35 @@ function EnvironmentLightContainer ()
61
61
  this .modelViewMatrix = new MatrixStack (Matrix4);
62
62
  }
63
63
 
64
- EnvironmentLightContainer .prototype =
64
+ Object .assign (EnvironmentLightContainer .prototype,
65
65
  {
66
- constructor: EnvironmentLightContainer,
67
- set: function (lightNode, groupNode, modelViewMatrix)
66
+ set (lightNode, groupNode, modelViewMatrix)
68
67
  {
69
68
  },
70
- setGroup: function (groupNode)
69
+ setGroup (groupNode)
71
70
  {
72
71
  this .groupNode = groupNode;
73
72
  },
74
- getModelViewMatrix: function ()
73
+ getModelViewMatrix ()
75
74
  {
76
75
  return this .modelViewMatrix;
77
76
  },
78
- renderShadowMap: function (renderObject)
77
+ renderShadowMap (renderObject)
79
78
  {
80
79
  },
81
- setGlobalVariables: function (renderObject)
80
+ setGlobalVariables (renderObject)
82
81
  {
83
82
  },
84
- setShaderUniforms: function (gl, shaderObject)
83
+ setShaderUniforms (gl, shaderObject)
85
84
  {
86
85
  },
87
- dispose: function ()
86
+ dispose ()
88
87
  {
89
88
  // Return container
90
89
 
91
90
  EnvironmentLights .push (this);
92
91
  },
93
- };
92
+ });
94
93
 
95
94
  function EnvironmentLight (executionContext)
96
95
  {
@@ -99,48 +98,59 @@ function EnvironmentLight (executionContext)
99
98
  this .addType (X3DConstants .EnvironmentLight);
100
99
  }
101
100
 
102
- EnvironmentLight .prototype = Object .assign (Object .create (X3DLightNode .prototype),
101
+ Object .assign (Object .setPrototypeOf (EnvironmentLight .prototype, X3DLightNode .prototype),
103
102
  {
104
- constructor: EnvironmentLight,
105
- [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new FieldDefinitionArray ([
106
- new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
107
- new X3DFieldDefinition (X3DConstants .inputOutput, "global", new Fields .SFBool ()),
108
- new X3DFieldDefinition (X3DConstants .inputOutput, "on", new Fields .SFBool (true)),
109
- new X3DFieldDefinition (X3DConstants .inputOutput, "rotation", new Fields .SFRotation ()),
110
- new X3DFieldDefinition (X3DConstants .inputOutput, "color", new Fields .SFColor (1, 1, 1)),
111
- new X3DFieldDefinition (X3DConstants .inputOutput, "intensity", new Fields .SFFloat (1)),
112
- new X3DFieldDefinition (X3DConstants .inputOutput, "ambientIntensity", new Fields .SFFloat ()),
113
-
114
- new X3DFieldDefinition (X3DConstants .inputOutput, "diffuseCoefficients", new Fields .MFFloat ()),
115
- new X3DFieldDefinition (X3DConstants .inputOutput, "diffuse", new Fields .SFNode ()),
116
- new X3DFieldDefinition (X3DConstants .inputOutput, "diffuseTexture", new Fields .SFNode ()),
117
- new X3DFieldDefinition (X3DConstants .inputOutput, "specularTexture", new Fields .SFNode ()),
103
+ getLights ()
104
+ {
105
+ return EnvironmentLights;
106
+ },
107
+ });
118
108
 
119
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadows", new Fields .SFBool ()),
120
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadowColor", new Fields .SFColor ()),
121
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadowIntensity", new Fields .SFFloat (1)),
122
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadowBias", new Fields .SFFloat (0.005)),
123
- new X3DFieldDefinition (X3DConstants .initializeOnly, "shadowMapSize", new Fields .SFInt32 (1024)),
124
- ]),
125
- getTypeName: function ()
109
+ Object .defineProperties (EnvironmentLight,
110
+ {
111
+ typeName:
126
112
  {
127
- return "EnvironmentLight";
113
+ value: "EnvironmentLight",
114
+ enumerable: true,
128
115
  },
129
- getComponentName: function ()
116
+ componentName:
130
117
  {
131
- return "Lighting";
118
+ value: "Lighting",
119
+ enumerable: true,
132
120
  },
133
- getContainerField: function ()
121
+ containerField:
134
122
  {
135
- return "children";
123
+ value: "children",
124
+ enumerable: true,
136
125
  },
137
- getSpecificationRange: function ()
126
+ specificationRange:
138
127
  {
139
- return ["4.0", "Infinity"];
128
+ value: Object .freeze (["4.0", "Infinity"]),
129
+ enumerable: true,
140
130
  },
141
- getLights: function ()
131
+ fieldDefinitions:
142
132
  {
143
- return EnvironmentLights;
133
+ value: new FieldDefinitionArray ([
134
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
135
+ new X3DFieldDefinition (X3DConstants .inputOutput, "global", new Fields .SFBool ()),
136
+ new X3DFieldDefinition (X3DConstants .inputOutput, "on", new Fields .SFBool (true)),
137
+ new X3DFieldDefinition (X3DConstants .inputOutput, "rotation", new Fields .SFRotation ()),
138
+ new X3DFieldDefinition (X3DConstants .inputOutput, "color", new Fields .SFColor (1, 1, 1)),
139
+ new X3DFieldDefinition (X3DConstants .inputOutput, "intensity", new Fields .SFFloat (1)),
140
+ new X3DFieldDefinition (X3DConstants .inputOutput, "ambientIntensity", new Fields .SFFloat ()),
141
+
142
+ new X3DFieldDefinition (X3DConstants .inputOutput, "diffuseCoefficients", new Fields .MFFloat ()),
143
+ new X3DFieldDefinition (X3DConstants .inputOutput, "diffuse", new Fields .SFNode ()),
144
+ new X3DFieldDefinition (X3DConstants .inputOutput, "diffuseTexture", new Fields .SFNode ()),
145
+ new X3DFieldDefinition (X3DConstants .inputOutput, "specularTexture", new Fields .SFNode ()),
146
+
147
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadows", new Fields .SFBool ()),
148
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadowColor", new Fields .SFColor ()),
149
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadowIntensity", new Fields .SFFloat (1)),
150
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadowBias", new Fields .SFFloat (0.005)),
151
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "shadowMapSize", new Fields .SFInt32 (1024)),
152
+ ]),
153
+ enumerable: true,
144
154
  },
145
155
  });
146
156
 
@@ -108,10 +108,9 @@ function PointLightContainer ()
108
108
  this .textureUnit = undefined;
109
109
  }
110
110
 
111
- PointLightContainer .prototype =
111
+ Object .assign (PointLightContainer .prototype,
112
112
  {
113
- constructor: PointLightContainer,
114
- set: function (lightNode, groupNode, modelViewMatrix)
113
+ set (lightNode, groupNode, modelViewMatrix)
115
114
  {
116
115
  const shadowMapSize = lightNode .getShadowMapSize ();
117
116
 
@@ -134,7 +133,7 @@ PointLightContainer .prototype =
134
133
  console .warn ("Couldn't create shadow buffer.");
135
134
  }
136
135
  },
137
- renderShadowMap: function (renderObject)
136
+ renderShadowMap (renderObject)
138
137
  {
139
138
  if (! this .shadowBuffer)
140
139
  return;
@@ -178,7 +177,7 @@ PointLightContainer .prototype =
178
177
 
179
178
  this .invLightSpaceProjectionMatrix .assign (invLightSpaceMatrix);
180
179
  },
181
- setGlobalVariables: function (renderObject)
180
+ setGlobalVariables (renderObject)
182
181
  {
183
182
  this .modelViewMatrix .get () .multVecMatrix (this .location .assign (this .lightNode ._location .getValue ()));
184
183
 
@@ -188,7 +187,7 @@ PointLightContainer .prototype =
188
187
  this .shadowMatrix .assign (renderObject .getCameraSpaceMatrix () .get ()) .multRight (this .invLightSpaceProjectionMatrix);
189
188
  this .shadowMatrixArray .set (this .shadowMatrix);
190
189
  },
191
- setShaderUniforms: function (gl, shaderObject)
190
+ setShaderUniforms (gl, shaderObject)
192
191
  {
193
192
  const i = shaderObject .numLights ++;
194
193
 
@@ -250,7 +249,7 @@ PointLightContainer .prototype =
250
249
  gl .uniform1f (shaderObject .x3d_ShadowIntensity [i], 0);
251
250
  }
252
251
  },
253
- dispose: function ()
252
+ dispose ()
254
253
  {
255
254
  this .browser .pushShadowBuffer (this .shadowBuffer);
256
255
  this .browser .pushTexture2DUnit (this .textureUnit);
@@ -264,7 +263,7 @@ PointLightContainer .prototype =
264
263
 
265
264
  PointLights .push (this);
266
265
  },
267
- };
266
+ });
268
267
 
269
268
  function PointLight (executionContext)
270
269
  {
@@ -276,57 +275,68 @@ function PointLight (executionContext)
276
275
  this ._radius .setUnit ("length");
277
276
  }
278
277
 
279
- PointLight .prototype = Object .assign (Object .create (X3DLightNode .prototype),
278
+ Object .assign (Object .setPrototypeOf (PointLight .prototype, X3DLightNode .prototype),
280
279
  {
281
- constructor: PointLight,
282
- [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new FieldDefinitionArray ([
283
- new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
284
- new X3DFieldDefinition (X3DConstants .inputOutput, "global", new Fields .SFBool (true)),
285
- new X3DFieldDefinition (X3DConstants .inputOutput, "on", new Fields .SFBool (true)),
286
- new X3DFieldDefinition (X3DConstants .inputOutput, "color", new Fields .SFColor (1, 1, 1)),
287
- new X3DFieldDefinition (X3DConstants .inputOutput, "intensity", new Fields .SFFloat (1)),
288
- new X3DFieldDefinition (X3DConstants .inputOutput, "ambientIntensity", new Fields .SFFloat ()),
289
- new X3DFieldDefinition (X3DConstants .inputOutput, "attenuation", new Fields .SFVec3f (1, 0, 0)),
290
- new X3DFieldDefinition (X3DConstants .inputOutput, "location", new Fields .SFVec3f ()),
291
- new X3DFieldDefinition (X3DConstants .inputOutput, "radius", new Fields .SFFloat (100)),
292
-
293
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadows", new Fields .SFBool ()),
294
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadowColor", new Fields .SFColor ()), // Color of shadows.
295
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadowIntensity", new Fields .SFFloat (1)), // Intensity of shadow color in the range (0, 1).
296
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadowBias", new Fields .SFFloat (0.005)), // Bias of the shadow.
297
- new X3DFieldDefinition (X3DConstants .initializeOnly, "shadowMapSize", new Fields .SFInt32 (1024)), // Size of the shadow map in pixels in the range (0, inf).
298
- ]),
299
- getTypeName: function ()
280
+ getAttenuation ()
300
281
  {
301
- return "PointLight";
282
+ return this ._attenuation .getValue ();
302
283
  },
303
- getComponentName: function ()
284
+ getLocation ()
304
285
  {
305
- return "Lighting";
286
+ return this ._location .getValue ();
306
287
  },
307
- getContainerField: function ()
288
+ getRadius ()
308
289
  {
309
- return "children";
290
+ return Math .max (0, this ._radius .getValue ());
291
+ },
292
+ getLights ()
293
+ {
294
+ return PointLights;
310
295
  },
311
- getSpecificationRange: function ()
296
+ });
297
+
298
+ Object .defineProperties (PointLight,
299
+ {
300
+ typeName:
312
301
  {
313
- return ["2.0", "Infinity"];
302
+ value: "PointLight",
303
+ enumerable: true,
314
304
  },
315
- getAttenuation: function ()
305
+ componentName:
316
306
  {
317
- return this ._attenuation .getValue ();
307
+ value: "Lighting",
308
+ enumerable: true,
318
309
  },
319
- getLocation: function ()
310
+ containerField:
320
311
  {
321
- return this ._location .getValue ();
312
+ value: "children",
313
+ enumerable: true,
322
314
  },
323
- getRadius: function ()
315
+ specificationRange:
324
316
  {
325
- return Math .max (0, this ._radius .getValue ());
317
+ value: Object .freeze (["2.0", "Infinity"]),
318
+ enumerable: true,
326
319
  },
327
- getLights: function ()
320
+ fieldDefinitions:
328
321
  {
329
- return PointLights;
322
+ value: new FieldDefinitionArray ([
323
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
324
+ new X3DFieldDefinition (X3DConstants .inputOutput, "global", new Fields .SFBool (true)),
325
+ new X3DFieldDefinition (X3DConstants .inputOutput, "on", new Fields .SFBool (true)),
326
+ new X3DFieldDefinition (X3DConstants .inputOutput, "color", new Fields .SFColor (1, 1, 1)),
327
+ new X3DFieldDefinition (X3DConstants .inputOutput, "intensity", new Fields .SFFloat (1)),
328
+ new X3DFieldDefinition (X3DConstants .inputOutput, "ambientIntensity", new Fields .SFFloat ()),
329
+ new X3DFieldDefinition (X3DConstants .inputOutput, "attenuation", new Fields .SFVec3f (1, 0, 0)),
330
+ new X3DFieldDefinition (X3DConstants .inputOutput, "location", new Fields .SFVec3f ()),
331
+ new X3DFieldDefinition (X3DConstants .inputOutput, "radius", new Fields .SFFloat (100)),
332
+
333
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadows", new Fields .SFBool ()),
334
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadowColor", new Fields .SFColor ()), // Color of shadows.
335
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadowIntensity", new Fields .SFFloat (1)), // Intensity of shadow color in the range (0, 1).
336
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadowBias", new Fields .SFFloat (0.005)), // Bias of the shadow.
337
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "shadowMapSize", new Fields .SFInt32 (1024)), // Size of the shadow map in pixels in the range (0, inf).
338
+ ]),
339
+ enumerable: true,
330
340
  },
331
341
  });
332
342
 
@@ -89,10 +89,9 @@ function SpotLightContainer ()
89
89
  this .textureUnit = undefined;
90
90
  }
91
91
 
92
- SpotLightContainer .prototype =
92
+ Object .assign (SpotLightContainer .prototype,
93
93
  {
94
- constructor: SpotLightContainer,
95
- set: function (lightNode, groupNode, modelViewMatrix)
94
+ set (lightNode, groupNode, modelViewMatrix)
96
95
  {
97
96
  const shadowMapSize = lightNode .getShadowMapSize ();
98
97
 
@@ -115,7 +114,7 @@ SpotLightContainer .prototype =
115
114
  console .warn ("Couldn't create shadow buffer.");
116
115
  }
117
116
  },
118
- renderShadowMap: function (renderObject)
117
+ renderShadowMap (renderObject)
119
118
  {
120
119
  if (! this .shadowBuffer)
121
120
  return;
@@ -160,7 +159,7 @@ SpotLightContainer .prototype =
160
159
 
161
160
  this .invLightSpaceProjectionMatrix .assign (invLightSpaceMatrix) .multRight (projectionMatrix) .multRight (lightNode .getBiasMatrix ());
162
161
  },
163
- setGlobalVariables: function (renderObject)
162
+ setGlobalVariables (renderObject)
164
163
  {
165
164
  const
166
165
  lightNode = this .lightNode,
@@ -175,7 +174,7 @@ SpotLightContainer .prototype =
175
174
  this .shadowMatrix .assign (renderObject .getCameraSpaceMatrix () .get ()) .multRight (this .invLightSpaceProjectionMatrix);
176
175
  this .shadowMatrixArray .set (this .shadowMatrix);
177
176
  },
178
- setShaderUniforms: function (gl, shaderObject)
177
+ setShaderUniforms (gl, shaderObject)
179
178
  {
180
179
  const i = shaderObject .numLights ++;
181
180
 
@@ -241,7 +240,7 @@ SpotLightContainer .prototype =
241
240
  gl .uniform1f (shaderObject .x3d_ShadowIntensity [i], 0);
242
241
  }
243
242
  },
244
- dispose: function ()
243
+ dispose ()
245
244
  {
246
245
  this .browser .pushShadowBuffer (this .shadowBuffer);
247
246
  this .browser .pushTexture2DUnit (this .textureUnit);
@@ -255,7 +254,7 @@ SpotLightContainer .prototype =
255
254
 
256
255
  SpotLights .push (this);
257
256
  },
258
- };
257
+ });
259
258
 
260
259
  function SpotLight (executionContext)
261
260
  {
@@ -275,58 +274,21 @@ function SpotLight (executionContext)
275
274
  this ._cutOffAngle .setUnit ("angle");
276
275
  }
277
276
 
278
- SpotLight .prototype = Object .assign (Object .create (X3DLightNode .prototype),
277
+ Object .assign (Object .setPrototypeOf (SpotLight .prototype, X3DLightNode .prototype),
279
278
  {
280
- constructor: SpotLight,
281
- [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new FieldDefinitionArray ([
282
- new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
283
- new X3DFieldDefinition (X3DConstants .inputOutput, "global", new Fields .SFBool (true)),
284
- new X3DFieldDefinition (X3DConstants .inputOutput, "on", new Fields .SFBool (true)),
285
- new X3DFieldDefinition (X3DConstants .inputOutput, "color", new Fields .SFColor (1, 1, 1)),
286
- new X3DFieldDefinition (X3DConstants .inputOutput, "intensity", new Fields .SFFloat (1)),
287
- new X3DFieldDefinition (X3DConstants .inputOutput, "ambientIntensity", new Fields .SFFloat ()),
288
- new X3DFieldDefinition (X3DConstants .inputOutput, "attenuation", new Fields .SFVec3f (1, 0, 0)),
289
- new X3DFieldDefinition (X3DConstants .inputOutput, "location", new Fields .SFVec3f ()),
290
- new X3DFieldDefinition (X3DConstants .inputOutput, "direction", new Fields .SFVec3f (0, 0, -1)),
291
- new X3DFieldDefinition (X3DConstants .inputOutput, "radius", new Fields .SFFloat (100)),
292
- new X3DFieldDefinition (X3DConstants .inputOutput, "beamWidth", new Fields .SFFloat (0.785398)),
293
- new X3DFieldDefinition (X3DConstants .inputOutput, "cutOffAngle", new Fields .SFFloat (1.5708)),
294
-
295
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadows", new Fields .SFBool ()),
296
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadowColor", new Fields .SFColor ()), // Color of shadows.
297
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadowIntensity", new Fields .SFFloat (1)), // Intensity of shadow color in the range (0, 1).
298
- new X3DFieldDefinition (X3DConstants .inputOutput, "shadowBias", new Fields .SFFloat (0.005)), // Bias of the shadow.
299
- new X3DFieldDefinition (X3DConstants .initializeOnly, "shadowMapSize", new Fields .SFInt32 (1024)), // Size of the shadow map in pixels in the range (0, inf).
300
- ]),
301
- getTypeName: function ()
302
- {
303
- return "SpotLight";
304
- },
305
- getComponentName: function ()
306
- {
307
- return "Lighting";
308
- },
309
- getContainerField: function ()
310
- {
311
- return "children";
312
- },
313
- getSpecificationRange: function ()
314
- {
315
- return ["2.0", "Infinity"];
316
- },
317
- getAttenuation: function ()
279
+ getAttenuation ()
318
280
  {
319
281
  return this ._attenuation .getValue ();
320
282
  },
321
- getLocation: function ()
283
+ getLocation ()
322
284
  {
323
285
  return this ._location .getValue ();
324
286
  },
325
- getRadius: function ()
287
+ getRadius ()
326
288
  {
327
289
  return Math .max (0, this ._radius .getValue ());
328
290
  },
329
- getBeamWidth: function ()
291
+ getBeamWidth ()
330
292
  {
331
293
  // If the beamWidth is greater than the cutOffAngle, beamWidth is defined to be equal to the cutOffAngle.
332
294
 
@@ -339,14 +301,62 @@ SpotLight .prototype = Object .assign (Object .create (X3DLightNode .prototype),
339
301
 
340
302
  return Algorithm .clamp (beamWidth, 0, Math .PI / 2);
341
303
  },
342
- getCutOffAngle: function ()
304
+ getCutOffAngle ()
343
305
  {
344
306
  return Algorithm .clamp (this ._cutOffAngle .getValue (), 0, Math .PI / 2);
345
307
  },
346
- getLights: function ()
308
+ getLights ()
347
309
  {
348
310
  return SpotLights;
349
311
  },
350
312
  });
351
313
 
314
+ Object .defineProperties (SpotLight,
315
+ {
316
+ typeName:
317
+ {
318
+ value: "SpotLight",
319
+ enumerable: true,
320
+ },
321
+ componentName:
322
+ {
323
+ value: "Lighting",
324
+ enumerable: true,
325
+ },
326
+ containerField:
327
+ {
328
+ value: "children",
329
+ enumerable: true,
330
+ },
331
+ specificationRange:
332
+ {
333
+ value: Object .freeze (["2.0", "Infinity"]),
334
+ enumerable: true,
335
+ },
336
+ fieldDefinitions:
337
+ {
338
+ value: new FieldDefinitionArray ([
339
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
340
+ new X3DFieldDefinition (X3DConstants .inputOutput, "global", new Fields .SFBool (true)),
341
+ new X3DFieldDefinition (X3DConstants .inputOutput, "on", new Fields .SFBool (true)),
342
+ new X3DFieldDefinition (X3DConstants .inputOutput, "color", new Fields .SFColor (1, 1, 1)),
343
+ new X3DFieldDefinition (X3DConstants .inputOutput, "intensity", new Fields .SFFloat (1)),
344
+ new X3DFieldDefinition (X3DConstants .inputOutput, "ambientIntensity", new Fields .SFFloat ()),
345
+ new X3DFieldDefinition (X3DConstants .inputOutput, "attenuation", new Fields .SFVec3f (1, 0, 0)),
346
+ new X3DFieldDefinition (X3DConstants .inputOutput, "location", new Fields .SFVec3f ()),
347
+ new X3DFieldDefinition (X3DConstants .inputOutput, "direction", new Fields .SFVec3f (0, 0, -1)),
348
+ new X3DFieldDefinition (X3DConstants .inputOutput, "radius", new Fields .SFFloat (100)),
349
+ new X3DFieldDefinition (X3DConstants .inputOutput, "beamWidth", new Fields .SFFloat (0.785398)),
350
+ new X3DFieldDefinition (X3DConstants .inputOutput, "cutOffAngle", new Fields .SFFloat (1.5708)),
351
+
352
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadows", new Fields .SFBool ()),
353
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadowColor", new Fields .SFColor ()), // Color of shadows.
354
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadowIntensity", new Fields .SFFloat (1)), // Intensity of shadow color in the range (0, 1).
355
+ new X3DFieldDefinition (X3DConstants .inputOutput, "shadowBias", new Fields .SFFloat (0.005)), // Bias of the shadow.
356
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "shadowMapSize", new Fields .SFInt32 (1024)), // Size of the shadow map in pixels in the range (0, inf).
357
+ ]),
358
+ enumerable: true,
359
+ },
360
+ });
361
+
352
362
  export default SpotLight;
@@ -57,10 +57,9 @@ function X3DLightNode (executionContext)
57
57
  this .addType (X3DConstants .X3DLightNode);
58
58
  }
59
59
 
60
- X3DLightNode .prototype = Object .assign (Object .create (X3DChildNode .prototype),
60
+ Object .assign (Object .setPrototypeOf (X3DLightNode .prototype, X3DChildNode .prototype),
61
61
  {
62
- constructor: X3DLightNode,
63
- initialize: function ()
62
+ initialize ()
64
63
  {
65
64
  X3DChildNode .prototype .initialize .call (this);
66
65
 
@@ -69,7 +68,7 @@ X3DLightNode .prototype = Object .assign (Object .create (X3DChildNode .prototyp
69
68
 
70
69
  this .set_on__ ();
71
70
  },
72
- set_on__: function ()
71
+ set_on__ ()
73
72
  {
74
73
  if (this ._on .getValue () && this .getIntensity () > 0)
75
74
  {
@@ -82,43 +81,43 @@ X3DLightNode .prototype = Object .assign (Object .create (X3DChildNode .prototyp
82
81
  this .pop = Function .prototype;
83
82
  }
84
83
  },
85
- getGlobal: function ()
84
+ getGlobal ()
86
85
  {
87
86
  return this ._global .getValue ();
88
87
  },
89
- getColor: function ()
88
+ getColor ()
90
89
  {
91
90
  return this ._color .getValue ();
92
91
  },
93
- getIntensity: function ()
92
+ getIntensity ()
94
93
  {
95
94
  return Math .max (this ._intensity .getValue (), 0);
96
95
  },
97
- getAmbientIntensity: function ()
96
+ getAmbientIntensity ()
98
97
  {
99
98
  return Algorithm .clamp (this ._ambientIntensity .getValue (), 0, 1);
100
99
  },
101
- getDirection: function ()
100
+ getDirection ()
102
101
  {
103
102
  return this ._direction .getValue ();
104
103
  },
105
- getShadows: function ()
104
+ getShadows ()
106
105
  {
107
106
  return this ._shadows .getValue ();
108
107
  },
109
- getShadowColor: function ()
108
+ getShadowColor ()
110
109
  {
111
110
  return this ._shadowColor .getValue ();
112
111
  },
113
- getShadowIntensity: function ()
112
+ getShadowIntensity ()
114
113
  {
115
114
  return this .getShadows () ? Algorithm .clamp (this ._shadowIntensity .getValue (), 0, 1) : 0;
116
115
  },
117
- getShadowBias: function ()
116
+ getShadowBias ()
118
117
  {
119
118
  return Algorithm .clamp (this ._shadowBias .getValue (), 0, 1);
120
119
  },
121
- getShadowMapSize: function ()
120
+ getShadowMapSize ()
122
121
  {
123
122
  return Math .min (this ._shadowMapSize .getValue (), this .getBrowser () .getMaxTextureSize ());
124
123
  },
@@ -135,7 +134,7 @@ X3DLightNode .prototype = Object .assign (Object .create (X3DChildNode .prototyp
135
134
  return biasMatrix;
136
135
  };
137
136
  })(),
138
- push: function (renderObject, groupNode)
137
+ push (renderObject, groupNode)
139
138
  {
140
139
  if (renderObject .isIndependent ())
141
140
  {
@@ -190,7 +189,7 @@ X3DLightNode .prototype = Object .assign (Object .create (X3DChildNode .prototyp
190
189
  }
191
190
  }
192
191
  },
193
- pop: function (renderObject)
192
+ pop (renderObject)
194
193
  {
195
194
  if (this ._global .getValue ())
196
195
  return;
@@ -206,4 +205,18 @@ X3DLightNode .prototype = Object .assign (Object .create (X3DChildNode .prototyp
206
205
  },
207
206
  });
208
207
 
208
+ Object .defineProperties (X3DLightNode,
209
+ {
210
+ typeName:
211
+ {
212
+ value: "X3DLightNode",
213
+ enumerable: true,
214
+ },
215
+ componentName:
216
+ {
217
+ value: "Lighting",
218
+ enumerable: true,
219
+ },
220
+ });
221
+
209
222
  export default X3DLightNode;
@@ -45,30 +45,23 @@
45
45
  *
46
46
  ******************************************************************************/
47
47
 
48
- import SupportedNodes from "../Configuration/SupportedNodes.js";
49
48
  import DirectionalLight from "./Lighting/DirectionalLight.js";
50
49
  import EnvironmentLight from "./Lighting/EnvironmentLight.js";
51
50
  import PointLight from "./Lighting/PointLight.js";
52
51
  import SpotLight from "./Lighting/SpotLight.js";
53
52
  import X3DLightNode from "./Lighting/X3DLightNode.js";
54
53
 
55
- const Types =
56
- {
57
- DirectionalLight: DirectionalLight,
58
- EnvironmentLight: EnvironmentLight,
59
- PointLight: PointLight,
60
- SpotLight: SpotLight,
54
+ export default {
55
+ name: "Lighting",
56
+ concreteNodes:
57
+ [
58
+ DirectionalLight,
59
+ EnvironmentLight,
60
+ PointLight,
61
+ SpotLight,
62
+ ],
63
+ abstractNodes:
64
+ [
65
+ X3DLightNode,
66
+ ],
61
67
  };
62
-
63
- const AbstractTypes =
64
- {
65
- X3DLightNode: X3DLightNode,
66
- };
67
-
68
- for (const typeName in Types)
69
- SupportedNodes .addNodeType (typeName, Types [typeName]);
70
-
71
- for (const typeName in AbstractTypes)
72
- SupportedNodes .addAbstractNodeType (typeName, AbstractTypes [typeName]);
73
-
74
- export default undefined;