x_ite 8.6.11 → 8.6.13

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 (414) hide show
  1. package/dist/LICENSE.md +4 -4
  2. package/dist/assets/components/Annotation.js +37 -13
  3. package/dist/assets/components/Annotation.min.js +1 -1
  4. package/dist/assets/components/CADGeometry.js +45 -45
  5. package/dist/assets/components/CADGeometry.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturing.js +37 -26
  7. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  8. package/dist/assets/components/DIS.js +37 -13
  9. package/dist/assets/components/DIS.min.js +1 -1
  10. package/dist/assets/components/EventUtilities.js +37 -9
  11. package/dist/assets/components/EventUtilities.min.js +1 -1
  12. package/dist/assets/components/Geometry2D.js +51 -19
  13. package/dist/assets/components/Geometry2D.min.js +1 -1
  14. package/dist/assets/components/Geospatial.js +77 -33
  15. package/dist/assets/components/Geospatial.min.js +1 -1
  16. package/dist/assets/components/HAnim.js +42 -18
  17. package/dist/assets/components/HAnim.min.js +1 -1
  18. package/dist/assets/components/KeyDeviceSensor.js +16 -8
  19. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  20. package/dist/assets/components/Layout.js +68 -42
  21. package/dist/assets/components/Layout.min.js +1 -1
  22. package/dist/assets/components/NURBS.js +80 -24
  23. package/dist/assets/components/NURBS.min.js +1 -1
  24. package/dist/assets/components/ParticleSystems.js +176 -26
  25. package/dist/assets/components/ParticleSystems.min.js +1 -1
  26. package/dist/assets/components/Picking.js +152 -22
  27. package/dist/assets/components/Picking.min.js +1 -1
  28. package/dist/assets/components/RigidBodyPhysics.js +88 -76
  29. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  30. package/dist/assets/components/Scripting.js +32 -28
  31. package/dist/assets/components/Scripting.min.js +1 -1
  32. package/dist/assets/components/Text.js +32 -24
  33. package/dist/assets/components/Text.min.js +1 -1
  34. package/dist/assets/components/TextureProjector.js +22 -14
  35. package/dist/assets/components/TextureProjector.min.js +1 -1
  36. package/dist/assets/components/Texturing3D.js +62 -30
  37. package/dist/assets/components/Texturing3D.min.js +1 -1
  38. package/dist/assets/components/VolumeRendering.js +71 -19
  39. package/dist/assets/components/VolumeRendering.min.js +1 -1
  40. package/dist/assets/components/X_ITE.js +13 -9
  41. package/dist/assets/components/X_ITE.min.js +1 -1
  42. package/dist/x_ite.css +1 -1
  43. package/dist/x_ite.js +1450 -971
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.zip +0 -0
  46. package/docs/_config.yml +1 -1
  47. package/docs/_posts/components/Core/WorldInfo.md +1 -1
  48. package/docs/_posts/components/EnvironmentalEffects/Background.md +1 -1
  49. package/docs/_posts/components/EnvironmentalEffects/Fog.md +1 -1
  50. package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +1 -1
  51. package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +1 -1
  52. package/docs/_posts/components/Geometry3D/Box.md +1 -1
  53. package/docs/_posts/components/Geometry3D/Cone.md +1 -1
  54. package/docs/_posts/components/Geometry3D/Cylinder.md +1 -1
  55. package/docs/_posts/components/Geometry3D/ElevationGrid.md +1 -1
  56. package/docs/_posts/components/Geometry3D/Extrusion.md +1 -1
  57. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +2 -2
  58. package/docs/_posts/components/Geometry3D/Sphere.md +1 -1
  59. package/docs/_posts/components/Grouping/Group.md +1 -1
  60. package/docs/_posts/components/Grouping/Switch.md +1 -1
  61. package/docs/_posts/components/Grouping/Transform.md +1 -1
  62. package/docs/_posts/components/Interpolation/ColorInterpolator.md +1 -1
  63. package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +1 -1
  64. package/docs/_posts/components/Interpolation/NormalInterpolator.md +1 -1
  65. package/docs/_posts/components/Interpolation/OrientationInterpolator.md +1 -1
  66. package/docs/_posts/components/Interpolation/PositionInterpolator.md +1 -1
  67. package/docs/_posts/components/Interpolation/ScalarInterpolator.md +1 -1
  68. package/docs/_posts/components/Lighting/DirectionalLight.md +5 -5
  69. package/docs/_posts/components/Lighting/EnvironmentLight.md +4 -4
  70. package/docs/_posts/components/Lighting/PointLight.md +5 -5
  71. package/docs/_posts/components/Lighting/SpotLight.md +5 -5
  72. package/docs/_posts/components/Navigation/Billboard.md +1 -1
  73. package/docs/_posts/components/Navigation/Collision.md +1 -1
  74. package/docs/_posts/components/Navigation/LOD.md +1 -1
  75. package/docs/_posts/components/Navigation/NavigationInfo.md +1 -1
  76. package/docs/_posts/components/Navigation/Viewpoint.md +1 -1
  77. package/docs/_posts/components/Networking/Anchor.md +1 -1
  78. package/docs/_posts/components/Networking/Inline.md +1 -1
  79. package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +1 -1
  80. package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +1 -1
  81. package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +1 -1
  82. package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +1 -1
  83. package/docs/_posts/components/Rendering/Color.md +1 -1
  84. package/docs/_posts/components/Rendering/Coordinate.md +1 -1
  85. package/docs/_posts/components/Rendering/IndexedLineSet.md +2 -2
  86. package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +1 -1
  87. package/docs/_posts/components/Rendering/Normal.md +1 -1
  88. package/docs/_posts/components/Rendering/PointSet.md +1 -1
  89. package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +1 -1
  90. package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +1 -1
  91. package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +1 -1
  92. package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +3 -3
  93. package/docs/_posts/components/Scripting/Script.md +1 -1
  94. package/docs/_posts/components/Shape/Appearance.md +1 -1
  95. package/docs/_posts/components/Shape/Material.md +1 -9
  96. package/docs/_posts/components/Shape/PhysicalMaterial.md +0 -8
  97. package/docs/_posts/components/Shape/Shape.md +1 -1
  98. package/docs/_posts/components/Shape/UnlitMaterial.md +0 -8
  99. package/docs/_posts/components/Sound/AudioClip.md +1 -1
  100. package/docs/_posts/components/Sound/Sound.md +1 -1
  101. package/docs/_posts/components/Text/FontStyle.md +1 -1
  102. package/docs/_posts/components/Text/Text.md +1 -1
  103. package/docs/_posts/components/Texturing/ImageTexture.md +1 -5
  104. package/docs/_posts/components/Texturing/MovieTexture.md +1 -5
  105. package/docs/_posts/components/Texturing/PixelTexture.md +1 -1
  106. package/docs/_posts/components/Texturing/TextureCoordinate.md +1 -1
  107. package/docs/_posts/components/Texturing/TextureTransform.md +1 -1
  108. package/docs/_posts/components/Time/TimeSensor.md +1 -1
  109. package/docs/_posts/components/X_ITE/BlendMode.md +1 -1
  110. package/docs/_posts/getting-started.md +8 -3
  111. package/docs/_posts/reference/browser-services.md +1 -1
  112. package/docs/_posts/reference/ecmascript-object-and-function-definitions.md +16 -99
  113. package/docs/_posts/what's-new.md +1 -1
  114. package/docs/laboratory/gltf-sample-viewer.html +1 -1
  115. package/package.json +3 -3
  116. package/src/lib/jquery.js +6 -1
  117. package/src/standard/Math/Geometry/Box3.js +2 -5
  118. package/src/tests.js +2 -0
  119. package/src/x_ite/Base/X3DBaseNode.js +8 -0
  120. package/src/x_ite/Base/X3DObject.js +14 -1
  121. package/src/x_ite/Browser/Core/BrowserOptions.js +27 -29
  122. package/src/x_ite/Browser/Core/BrowserTimings.js +2 -16
  123. package/src/x_ite/Browser/Core/X3DCoreContext.js +6 -3
  124. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +9 -15
  125. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +3 -3
  126. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +20 -15
  127. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +3 -3
  128. package/src/x_ite/Browser/VERSION.js +1 -1
  129. package/src/x_ite/Browser/X3DBrowser.js +2 -2
  130. package/src/x_ite/Browser/X3DBrowserContext.js +21 -12
  131. package/src/x_ite/Components/Annotation/AnnotationLayer.js +4 -0
  132. package/src/x_ite/Components/Annotation/AnnotationTarget.js +4 -0
  133. package/src/x_ite/Components/Annotation/GroupAnnotation.js +4 -0
  134. package/src/x_ite/Components/Annotation/IconAnnotation.js +4 -0
  135. package/src/x_ite/Components/Annotation/TextAnnotation.js +4 -0
  136. package/src/x_ite/Components/Annotation/URLAnnotation.js +4 -0
  137. package/src/x_ite/Components/CADGeometry/CADAssembly.js +4 -0
  138. package/src/x_ite/Components/CADGeometry/CADFace.js +12 -32
  139. package/src/x_ite/Components/CADGeometry/CADLayer.js +4 -0
  140. package/src/x_ite/Components/CADGeometry/CADPart.js +4 -0
  141. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +4 -0
  142. package/src/x_ite/Components/CADGeometry/QuadSet.js +4 -0
  143. package/src/x_ite/Components/Core/MetadataBoolean.js +4 -0
  144. package/src/x_ite/Components/Core/MetadataDouble.js +4 -0
  145. package/src/x_ite/Components/Core/MetadataFloat.js +4 -0
  146. package/src/x_ite/Components/Core/MetadataInteger.js +4 -0
  147. package/src/x_ite/Components/Core/MetadataSet.js +4 -0
  148. package/src/x_ite/Components/Core/MetadataString.js +4 -0
  149. package/src/x_ite/Components/Core/WorldInfo.js +4 -0
  150. package/src/x_ite/Components/Core/X3DNode.js +1 -1
  151. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +1 -1
  152. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +4 -1
  153. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +4 -0
  154. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +4 -0
  155. package/src/x_ite/Components/DIS/DISEntityManager.js +4 -0
  156. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +4 -0
  157. package/src/x_ite/Components/DIS/EspduTransform.js +4 -0
  158. package/src/x_ite/Components/DIS/ReceiverPdu.js +4 -0
  159. package/src/x_ite/Components/DIS/SignalPdu.js +4 -0
  160. package/src/x_ite/Components/DIS/TransmitterPdu.js +4 -0
  161. package/src/x_ite/Components/EnvironmentalEffects/Background.js +4 -0
  162. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +4 -0
  163. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +4 -0
  164. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +4 -0
  165. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +4 -0
  166. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +4 -0
  167. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +4 -0
  168. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +4 -0
  169. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +4 -0
  170. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +4 -0
  171. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +4 -0
  172. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +4 -0
  173. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +4 -0
  174. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +4 -0
  175. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +4 -0
  176. package/src/x_ite/Components/Followers/ColorChaser.js +4 -0
  177. package/src/x_ite/Components/Followers/ColorDamper.js +4 -0
  178. package/src/x_ite/Components/Followers/CoordinateChaser.js +4 -0
  179. package/src/x_ite/Components/Followers/CoordinateDamper.js +4 -0
  180. package/src/x_ite/Components/Followers/OrientationChaser.js +4 -0
  181. package/src/x_ite/Components/Followers/OrientationDamper.js +4 -0
  182. package/src/x_ite/Components/Followers/PositionChaser.js +4 -0
  183. package/src/x_ite/Components/Followers/PositionChaser2D.js +4 -0
  184. package/src/x_ite/Components/Followers/PositionDamper.js +4 -0
  185. package/src/x_ite/Components/Followers/PositionDamper2D.js +4 -0
  186. package/src/x_ite/Components/Followers/ScalarChaser.js +4 -0
  187. package/src/x_ite/Components/Followers/ScalarDamper.js +4 -0
  188. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +4 -0
  189. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +4 -0
  190. package/src/x_ite/Components/Geometry2D/Arc2D.js +4 -0
  191. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +4 -0
  192. package/src/x_ite/Components/Geometry2D/Circle2D.js +4 -0
  193. package/src/x_ite/Components/Geometry2D/Disk2D.js +4 -0
  194. package/src/x_ite/Components/Geometry2D/Polyline2D.js +4 -0
  195. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +4 -0
  196. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +4 -0
  197. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +4 -0
  198. package/src/x_ite/Components/Geometry3D/Box.js +4 -0
  199. package/src/x_ite/Components/Geometry3D/Cone.js +4 -0
  200. package/src/x_ite/Components/Geometry3D/Cylinder.js +4 -0
  201. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +4 -0
  202. package/src/x_ite/Components/Geometry3D/Extrusion.js +4 -0
  203. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +4 -0
  204. package/src/x_ite/Components/Geometry3D/Sphere.js +4 -0
  205. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +4 -0
  206. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +4 -0
  207. package/src/x_ite/Components/Geospatial/GeoLOD.js +4 -0
  208. package/src/x_ite/Components/Geospatial/GeoLocation.js +4 -0
  209. package/src/x_ite/Components/Geospatial/GeoMetadata.js +4 -0
  210. package/src/x_ite/Components/Geospatial/GeoOrigin.js +4 -0
  211. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +4 -0
  212. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +4 -0
  213. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +4 -0
  214. package/src/x_ite/Components/Geospatial/GeoTransform.js +4 -0
  215. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +4 -0
  216. package/src/x_ite/Components/Grouping/Group.js +4 -0
  217. package/src/x_ite/Components/Grouping/StaticGroup.js +23 -0
  218. package/src/x_ite/Components/Grouping/Switch.js +11 -25
  219. package/src/x_ite/Components/Grouping/Transform.js +4 -0
  220. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +0 -1
  221. package/src/x_ite/Components/HAnim/HAnimDisplacer.js +4 -0
  222. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +4 -0
  223. package/src/x_ite/Components/HAnim/HAnimJoint.js +4 -0
  224. package/src/x_ite/Components/HAnim/HAnimMotion.js +4 -0
  225. package/src/x_ite/Components/HAnim/HAnimSegment.js +4 -0
  226. package/src/x_ite/Components/HAnim/HAnimSite.js +4 -0
  227. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +4 -0
  228. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +4 -0
  229. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +4 -0
  230. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +4 -0
  231. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +4 -0
  232. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +4 -0
  233. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +4 -0
  234. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +4 -0
  235. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +4 -0
  236. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +4 -0
  237. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +4 -0
  238. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +4 -0
  239. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +4 -0
  240. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +4 -0
  241. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +4 -0
  242. package/src/x_ite/Components/Layering/Layer.js +4 -0
  243. package/src/x_ite/Components/Layering/LayerSet.js +4 -0
  244. package/src/x_ite/Components/Layering/Viewport.js +4 -0
  245. package/src/x_ite/Components/Layout/Layout.js +16 -10
  246. package/src/x_ite/Components/Layout/LayoutGroup.js +13 -5
  247. package/src/x_ite/Components/Layout/LayoutLayer.js +4 -0
  248. package/src/x_ite/Components/Layout/ScreenFontStyle.js +4 -0
  249. package/src/x_ite/Components/Layout/ScreenGroup.js +4 -0
  250. package/src/x_ite/Components/Lighting/DirectionalLight.js +4 -0
  251. package/src/x_ite/Components/Lighting/EnvironmentLight.js +4 -0
  252. package/src/x_ite/Components/Lighting/PointLight.js +4 -0
  253. package/src/x_ite/Components/Lighting/SpotLight.js +7 -9
  254. package/src/x_ite/Components/NURBS/Contour2D.js +4 -0
  255. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +4 -0
  256. package/src/x_ite/Components/NURBS/CoordinateDouble.js +4 -0
  257. package/src/x_ite/Components/NURBS/NurbsCurve.js +4 -0
  258. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +4 -0
  259. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +4 -0
  260. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +4 -0
  261. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +4 -0
  262. package/src/x_ite/Components/NURBS/NurbsSet.js +4 -0
  263. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +4 -0
  264. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +4 -0
  265. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +4 -0
  266. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +4 -0
  267. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +4 -0
  268. package/src/x_ite/Components/Navigation/Billboard.js +4 -0
  269. package/src/x_ite/Components/Navigation/Collision.js +4 -0
  270. package/src/x_ite/Components/Navigation/LOD.js +11 -25
  271. package/src/x_ite/Components/Navigation/NavigationInfo.js +4 -0
  272. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +4 -0
  273. package/src/x_ite/Components/Navigation/Viewpoint.js +4 -0
  274. package/src/x_ite/Components/Navigation/ViewpointGroup.js +4 -0
  275. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +9 -1
  276. package/src/x_ite/Components/Networking/Anchor.js +4 -0
  277. package/src/x_ite/Components/Networking/Inline.js +4 -0
  278. package/src/x_ite/Components/Networking/LoadSensor.js +42 -29
  279. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +4 -0
  280. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +4 -0
  281. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +4 -0
  282. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +4 -0
  283. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +4 -0
  284. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +4 -0
  285. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +4 -0
  286. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +4 -0
  287. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +4 -0
  288. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +4 -0
  289. package/src/x_ite/Components/Picking/LinePickSensor.js +4 -0
  290. package/src/x_ite/Components/Picking/PickableGroup.js +4 -0
  291. package/src/x_ite/Components/Picking/PointPickSensor.js +4 -0
  292. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +4 -0
  293. package/src/x_ite/Components/Picking/VolumePickSensor.js +4 -0
  294. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +4 -0
  295. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +4 -0
  296. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +4 -0
  297. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +4 -0
  298. package/src/x_ite/Components/Rendering/ClipPlane.js +4 -0
  299. package/src/x_ite/Components/Rendering/Color.js +4 -0
  300. package/src/x_ite/Components/Rendering/ColorRGBA.js +4 -0
  301. package/src/x_ite/Components/Rendering/Coordinate.js +4 -0
  302. package/src/x_ite/Components/Rendering/IndexedLineSet.js +4 -0
  303. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +4 -0
  304. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +4 -0
  305. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +4 -0
  306. package/src/x_ite/Components/Rendering/LineSet.js +4 -0
  307. package/src/x_ite/Components/Rendering/Normal.js +4 -0
  308. package/src/x_ite/Components/Rendering/PointSet.js +4 -0
  309. package/src/x_ite/Components/Rendering/TriangleFanSet.js +4 -0
  310. package/src/x_ite/Components/Rendering/TriangleSet.js +4 -0
  311. package/src/x_ite/Components/Rendering/TriangleStripSet.js +4 -0
  312. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +15 -8
  313. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +4 -0
  314. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +11 -29
  315. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +11 -29
  316. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +4 -0
  317. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +4 -0
  318. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +4 -0
  319. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +4 -0
  320. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +4 -0
  321. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +4 -0
  322. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +4 -0
  323. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +4 -0
  324. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +4 -0
  325. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +4 -0
  326. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +4 -0
  327. package/src/x_ite/Components/Scripting/Script.js +4 -0
  328. package/src/x_ite/Components/Shaders/ComposedShader.js +7 -3
  329. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +4 -0
  330. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +4 -0
  331. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +4 -0
  332. package/src/x_ite/Components/Shaders/PackagedShader.js +4 -0
  333. package/src/x_ite/Components/Shaders/ProgramShader.js +4 -0
  334. package/src/x_ite/Components/Shaders/ShaderPart.js +4 -0
  335. package/src/x_ite/Components/Shaders/ShaderProgram.js +4 -0
  336. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +3 -8
  337. package/src/x_ite/Components/Shape/AcousticProperties.js +4 -0
  338. package/src/x_ite/Components/Shape/Appearance.js +4 -0
  339. package/src/x_ite/Components/Shape/FillProperties.js +4 -0
  340. package/src/x_ite/Components/Shape/LineProperties.js +4 -0
  341. package/src/x_ite/Components/Shape/Material.js +4 -1
  342. package/src/x_ite/Components/Shape/PhysicalMaterial.js +4 -1
  343. package/src/x_ite/Components/Shape/PointProperties.js +4 -0
  344. package/src/x_ite/Components/Shape/Shape.js +4 -5
  345. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +4 -0
  346. package/src/x_ite/Components/Shape/UnlitMaterial.js +4 -1
  347. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +5 -7
  348. package/src/x_ite/Components/Shape/X3DShapeNode.js +21 -17
  349. package/src/x_ite/Components/Sound/Analyser.js +4 -0
  350. package/src/x_ite/Components/Sound/AudioClip.js +4 -0
  351. package/src/x_ite/Components/Sound/AudioDestination.js +4 -0
  352. package/src/x_ite/Components/Sound/BiquadFilter.js +4 -0
  353. package/src/x_ite/Components/Sound/BufferAudioSource.js +4 -0
  354. package/src/x_ite/Components/Sound/ChannelMerger.js +4 -0
  355. package/src/x_ite/Components/Sound/ChannelSelector.js +4 -0
  356. package/src/x_ite/Components/Sound/ChannelSplitter.js +4 -0
  357. package/src/x_ite/Components/Sound/Convolver.js +4 -0
  358. package/src/x_ite/Components/Sound/Delay.js +4 -0
  359. package/src/x_ite/Components/Sound/DynamicsCompressor.js +4 -0
  360. package/src/x_ite/Components/Sound/Gain.js +4 -0
  361. package/src/x_ite/Components/Sound/ListenerPointSource.js +4 -0
  362. package/src/x_ite/Components/Sound/MicrophoneSource.js +4 -0
  363. package/src/x_ite/Components/Sound/OscillatorSource.js +4 -0
  364. package/src/x_ite/Components/Sound/PeriodicWave.js +4 -0
  365. package/src/x_ite/Components/Sound/Sound.js +4 -0
  366. package/src/x_ite/Components/Sound/SpatialSound.js +4 -0
  367. package/src/x_ite/Components/Sound/StreamAudioDestination.js +4 -0
  368. package/src/x_ite/Components/Sound/StreamAudioSource.js +4 -0
  369. package/src/x_ite/Components/Sound/WaveShaper.js +4 -0
  370. package/src/x_ite/Components/Text/FontStyle.js +4 -0
  371. package/src/x_ite/Components/Text/Text.js +4 -0
  372. package/src/x_ite/Components/TextureProjector/TextureProjector.js +4 -0
  373. package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +4 -0
  374. package/src/x_ite/Components/Texturing/ImageTexture.js +11 -11
  375. package/src/x_ite/Components/Texturing/MovieTexture.js +8 -5
  376. package/src/x_ite/Components/Texturing/MultiTexture.js +4 -0
  377. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +4 -0
  378. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +4 -0
  379. package/src/x_ite/Components/Texturing/PixelTexture.js +4 -0
  380. package/src/x_ite/Components/Texturing/TextureCoordinate.js +4 -0
  381. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +4 -0
  382. package/src/x_ite/Components/Texturing/TextureProperties.js +4 -0
  383. package/src/x_ite/Components/Texturing/TextureTransform.js +4 -0
  384. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +4 -0
  385. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +4 -0
  386. package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +4 -0
  387. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +4 -0
  388. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +4 -0
  389. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +4 -0
  390. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +4 -0
  391. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +4 -0
  392. package/src/x_ite/Components/Time/TimeSensor.js +4 -0
  393. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +4 -0
  394. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +4 -0
  395. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +4 -0
  396. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +4 -0
  397. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +4 -0
  398. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +4 -0
  399. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +4 -0
  400. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +4 -0
  401. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +4 -0
  402. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +4 -0
  403. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +4 -0
  404. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +4 -0
  405. package/src/x_ite/Components/VolumeRendering/VolumeData.js +4 -0
  406. package/src/x_ite/Components/X_ITE/BlendMode.js +4 -0
  407. package/src/x_ite/Execution/X3DExecutionContext.js +16 -0
  408. package/src/x_ite/Fields/SFNode.js +8 -0
  409. package/src/x_ite/InputOutput/FileLoader.js +1 -1
  410. package/src/x_ite/Parser/GLTF2Parser.js +26 -5
  411. package/src/x_ite/Parser/VRMLParser.js +3 -3
  412. package/src/x_ite/Parser/XMLParser.js +3 -3
  413. package/src/x_ite/{X3DCanvas.js → X3DCanvasElement.js} +23 -4
  414. package/src/x_ite.js +4 -4
package/dist/x_ite.js CHANGED
@@ -1,4 +1,4 @@
1
- /* X_ITE v8.6.11 */(function webpackUniversalModuleDefinition(root, factory) {
1
+ /* X_ITE v8.6.13 */(function webpackUniversalModuleDefinition(root, factory) {
2
2
  if(typeof exports === 'object' && typeof module === 'object')
3
3
  module.exports = factory();
4
4
  else if(typeof define === 'function' && define.amd)
@@ -11,11 +11,11 @@
11
11
  return /******/ (() => { // webpackBootstrap
12
12
  /******/ var __webpack_modules__ = ({
13
13
 
14
- /***/ 382:
14
+ /***/ 179:
15
15
  /***/ (function(module, exports, __webpack_require__) {
16
16
 
17
17
  "use strict";
18
- /* provided dependency */ var jQuery = __webpack_require__(2);
18
+ /* provided dependency */ var jQuery = __webpack_require__(869);
19
19
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;
20
20
 
21
21
  /**
@@ -387,10 +387,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;
387
387
 
388
388
  /***/ }),
389
389
 
390
- /***/ 440:
390
+ /***/ 908:
391
391
  /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
392
392
 
393
- /* provided dependency */ var jQuery = __webpack_require__(2);
393
+ /* provided dependency */ var jQuery = __webpack_require__(869);
394
394
  /**
395
395
  * @preserve jquery.fullscreen 1.1.5
396
396
  * https://github.com/code-lts/jquery-fullscreen-plugin
@@ -586,7 +586,7 @@ installFullScreenHandlers();
586
586
 
587
587
  /***/ }),
588
588
 
589
- /***/ 11:
589
+ /***/ 945:
590
590
  /***/ ((module, exports, __webpack_require__) => {
591
591
 
592
592
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -600,7 +600,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
600
600
  (function (factory) {
601
601
  if ( true ) {
602
602
  // AMD. Register as an anonymous module.
603
- !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
603
+ !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(869)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
604
604
  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
605
605
  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
606
606
  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
@@ -811,11 +811,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
811
811
 
812
812
  /***/ }),
813
813
 
814
- /***/ 2:
814
+ /***/ 869:
815
815
  /***/ (function(module, exports) {
816
816
 
817
817
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
818
- * jQuery JavaScript Library v3.6.3
818
+ * jQuery JavaScript Library v3.6.4
819
819
  * https://jquery.com/
820
820
  *
821
821
  * Includes Sizzle.js
@@ -825,7 +825,7 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
825
825
  * Released under the MIT license
826
826
  * https://jquery.org/license
827
827
  *
828
- * Date: 2022-12-20T21:28Z
828
+ * Date: 2023-03-08T15:28Z
829
829
  */
830
830
  ( function( global, factory ) {
831
831
 
@@ -967,7 +967,7 @@ function toType( obj ) {
967
967
 
968
968
 
969
969
  var
970
- version = "3.6.3",
970
+ version = "3.6.4",
971
971
 
972
972
  // Define a local copy of jQuery
973
973
  jQuery = function( selector, context ) {
@@ -1338,14 +1338,14 @@ function isArrayLike( obj ) {
1338
1338
  }
1339
1339
  var Sizzle =
1340
1340
  /*!
1341
- * Sizzle CSS Selector Engine v2.3.9
1341
+ * Sizzle CSS Selector Engine v2.3.10
1342
1342
  * https://sizzlejs.com/
1343
1343
  *
1344
1344
  * Copyright JS Foundation and other contributors
1345
1345
  * Released under the MIT license
1346
1346
  * https://js.foundation/
1347
1347
  *
1348
- * Date: 2022-12-19
1348
+ * Date: 2023-02-14
1349
1349
  */
1350
1350
  ( function( window ) {
1351
1351
  var i,
@@ -1449,7 +1449,7 @@ var i,
1449
1449
  whitespace + "+$", "g" ),
1450
1450
 
1451
1451
  rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
1452
- rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
1452
+ rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
1453
1453
  "*" ),
1454
1454
  rdescend = new RegExp( whitespace + "|>" ),
1455
1455
 
@@ -1666,7 +1666,7 @@ function Sizzle( selector, context, results, seed ) {
1666
1666
  // as such selectors are not recognized by querySelectorAll.
1667
1667
  // Thanks to Andrew Dupont for this technique.
1668
1668
  if ( nodeType === 1 &&
1669
- ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
1669
+ ( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {
1670
1670
 
1671
1671
  // Expand context for sibling selectors
1672
1672
  newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
@@ -1695,27 +1695,6 @@ function Sizzle( selector, context, results, seed ) {
1695
1695
  }
1696
1696
 
1697
1697
  try {
1698
-
1699
- // `qSA` may not throw for unrecognized parts using forgiving parsing:
1700
- // https://drafts.csswg.org/selectors/#forgiving-selector
1701
- // like the `:has()` pseudo-class:
1702
- // https://drafts.csswg.org/selectors/#relational
1703
- // `CSS.supports` is still expected to return `false` then:
1704
- // https://drafts.csswg.org/css-conditional-4/#typedef-supports-selector-fn
1705
- // https://drafts.csswg.org/css-conditional-4/#dfn-support-selector
1706
- if ( support.cssSupportsSelector &&
1707
-
1708
- // eslint-disable-next-line no-undef
1709
- !CSS.supports( "selector(:is(" + newSelector + "))" ) ) {
1710
-
1711
- // Support: IE 11+
1712
- // Throw to get to the same code path as an error directly in qSA.
1713
- // Note: once we only support browser supporting
1714
- // `CSS.supports('selector(...)')`, we can most likely drop
1715
- // the `try-catch`. IE doesn't implement the API.
1716
- throw new Error();
1717
- }
1718
-
1719
1698
  push.apply( results,
1720
1699
  newContext.querySelectorAll( newSelector )
1721
1700
  );
@@ -2011,29 +1990,22 @@ setDocument = Sizzle.setDocument = function( node ) {
2011
1990
  !el.querySelectorAll( ":scope fieldset div" ).length;
2012
1991
  } );
2013
1992
 
2014
- // Support: Chrome 105+, Firefox 104+, Safari 15.4+
2015
- // Make sure forgiving mode is not used in `CSS.supports( "selector(...)" )`.
2016
- //
2017
- // `:is()` uses a forgiving selector list as an argument and is widely
2018
- // implemented, so it's a good one to test against.
2019
- support.cssSupportsSelector = assert( function() {
2020
- /* eslint-disable no-undef */
2021
-
2022
- return CSS.supports( "selector(*)" ) &&
2023
-
2024
- // Support: Firefox 78-81 only
2025
- // In old Firefox, `:is()` didn't use forgiving parsing. In that case,
2026
- // fail this test as there's no selector to test against that.
2027
- // `CSS.supports` uses unforgiving parsing
2028
- document.querySelectorAll( ":is(:jqfake)" ) &&
2029
-
2030
- // `*` is needed as Safari & newer Chrome implemented something in between
2031
- // for `:has()` - it throws in `qSA` if it only contains an unsupported
2032
- // argument but multiple ones, one of which is supported, are fine.
2033
- // We want to play safe in case `:is()` gets the same treatment.
2034
- !CSS.supports( "selector(:is(*,:jqfake))" );
2035
-
2036
- /* eslint-enable */
1993
+ // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+
1994
+ // Make sure the the `:has()` argument is parsed unforgivingly.
1995
+ // We include `*` in the test to detect buggy implementations that are
1996
+ // _selectively_ forgiving (specifically when the list includes at least
1997
+ // one valid selector).
1998
+ // Note that we treat complete lack of support for `:has()` as if it were
1999
+ // spec-compliant support, which is fine because use of `:has()` in such
2000
+ // environments will fail in the qSA path and fall back to jQuery traversal
2001
+ // anyway.
2002
+ support.cssHas = assert( function() {
2003
+ try {
2004
+ document.querySelector( ":has(*,:jqfake)" );
2005
+ return false;
2006
+ } catch ( e ) {
2007
+ return true;
2008
+ }
2037
2009
  } );
2038
2010
 
2039
2011
  /* Attributes
@@ -2302,14 +2274,14 @@ setDocument = Sizzle.setDocument = function( node ) {
2302
2274
  } );
2303
2275
  }
2304
2276
 
2305
- if ( !support.cssSupportsSelector ) {
2277
+ if ( !support.cssHas ) {
2306
2278
 
2307
- // Support: Chrome 105+, Safari 15.4+
2308
- // `:has()` uses a forgiving selector list as an argument so our regular
2309
- // `try-catch` mechanism fails to catch `:has()` with arguments not supported
2310
- // natively like `:has(:contains("Foo"))`. Where supported & spec-compliant,
2311
- // we now use `CSS.supports("selector(:is(SELECTOR_TO_BE_TESTED))")`, but
2312
- // outside that we mark `:has` as buggy.
2279
+ // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+
2280
+ // Our regular `try-catch` mechanism fails to detect natively-unsupported
2281
+ // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`)
2282
+ // in browsers that parse the `:has()` argument as a forgiving selector list.
2283
+ // https://drafts.csswg.org/selectors/#relational now requires the argument
2284
+ // to be parsed unforgivingly, but browsers have not yet fully adjusted.
2313
2285
  rbuggyQSA.push( ":has" );
2314
2286
  }
2315
2287
 
@@ -3222,7 +3194,7 @@ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
3222
3194
  matched = false;
3223
3195
 
3224
3196
  // Combinators
3225
- if ( ( match = rcombinators.exec( soFar ) ) ) {
3197
+ if ( ( match = rleadingCombinator.exec( soFar ) ) ) {
3226
3198
  matched = match.shift();
3227
3199
  tokens.push( {
3228
3200
  value: matched,
@@ -11812,7 +11784,7 @@ return jQuery;
11812
11784
 
11813
11785
  /***/ }),
11814
11786
 
11815
- /***/ 735:
11787
+ /***/ 23:
11816
11788
  /***/ ((module) => {
11817
11789
 
11818
11790
  /**
@@ -16591,7 +16563,7 @@ if (true) {
16591
16563
 
16592
16564
  /***/ }),
16593
16565
 
16594
- /***/ 250:
16566
+ /***/ 645:
16595
16567
  /***/ (function(__unused_webpack_module, exports) {
16596
16568
 
16597
16569
 
@@ -19836,7 +19808,7 @@ if (true) {
19836
19808
 
19837
19809
  /***/ }),
19838
19810
 
19839
- /***/ 423:
19811
+ /***/ 521:
19840
19812
  /***/ (function(module, exports) {
19841
19813
 
19842
19814
  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*
@@ -21849,7 +21821,8 @@ x_ite_Namespace.set ("standard/Utility/MapUtilities", MapUtilities_default_);
21849
21821
  const
21850
21822
  _name = Symbol (),
21851
21823
  _interests = Symbol (),
21852
- _values = Symbol ();
21824
+ _values = Symbol (),
21825
+ _userData = Symbol ();
21853
21826
 
21854
21827
  function X3DObject () { }
21855
21828
 
@@ -21859,6 +21832,7 @@ X3DObject .prototype =
21859
21832
  [_name]: "",
21860
21833
  [_interests]: new Map (),
21861
21834
  [_values]: [ ],
21835
+ [_userData]: new Map (),
21862
21836
  getId: function ()
21863
21837
  {
21864
21838
  return X3DObject .getId (this);
@@ -21920,6 +21894,17 @@ X3DObject .prototype =
21920
21894
  interest ();
21921
21895
  }
21922
21896
  },
21897
+ getUserData: function (key)
21898
+ {
21899
+ return this [_userData] .get (key);
21900
+ },
21901
+ setUserData: function (key, value)
21902
+ {
21903
+ if (this [_userData] === X3DObject .prototype [_userData])
21904
+ this [_userData] = new Map ();
21905
+
21906
+ this [_userData] .set (key, value);
21907
+ },
21923
21908
  toString: function (options = Object .prototype)
21924
21909
  {
21925
21910
  const generator = new InputOutput_Generator (options);
@@ -30544,6 +30529,14 @@ SFNode .prototype = Object .assign (Object .create (Base_X3DField.prototype),
30544
30529
  if (value)
30545
30530
  value .removeCloneCount (count);
30546
30531
  },
30532
+ getNodeUserData: function (key)
30533
+ {
30534
+ return this [_target] .getValue () .getUserData (key);
30535
+ },
30536
+ setNodeUserData: function (key, value)
30537
+ {
30538
+ this [_target] .getValue () .setUserData (key, value);
30539
+ },
30547
30540
  valueOf: function ()
30548
30541
  {
30549
30542
  const
@@ -34450,6 +34443,14 @@ X3DBaseNode .prototype = Object .assign (Object .create (Base_X3DEventObject.pro
34450
34443
  {
34451
34444
  return this;
34452
34445
  },
34446
+ beginUpdate: function ()
34447
+ {
34448
+ this .setLive (true);
34449
+ },
34450
+ endUpdate: function ()
34451
+ {
34452
+ this .setLive (false);
34453
+ },
34453
34454
  isLive: (function ()
34454
34455
  {
34455
34456
  function isLive ()
@@ -34956,7 +34957,7 @@ x_ite_Namespace.set ("x_ite/Base/X3DBaseNode", X3DBaseNode_default_);
34956
34957
  *
34957
34958
  ******************************************************************************/
34958
34959
 
34959
- const VERSION_default_ = "8.6.11";
34960
+ const VERSION_default_ = "8.6.13";
34960
34961
  ;
34961
34962
 
34962
34963
  x_ite_Namespace.set ("x_ite/Browser/VERSION", VERSION_default_);
@@ -35860,7 +35861,7 @@ const gettext_default_ = gettext;
35860
35861
  x_ite_Namespace.set ("locale/gettext", gettext_default_);
35861
35862
  /* harmony default export */ const locale_gettext = (gettext_default_);
35862
35863
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserTimings.js
35863
- /* provided dependency */ var $ = __webpack_require__(2);
35864
+ /* provided dependency */ var $ = __webpack_require__(869);
35864
35865
  /*******************************************************************************
35865
35866
  *
35866
35867
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -35917,7 +35918,6 @@ function BrowserTimings (executionContext)
35917
35918
  Base_X3DBaseNode.call (this, executionContext);
35918
35919
 
35919
35920
  this .localStorage = this .getBrowser () .getLocalStorage () .addNameSpace ("BrowserTimings.");
35920
- this .enabled = false;
35921
35921
  this .fps = new Time_StopWatch ();
35922
35922
  this .localeOptions = { minimumFractionDigits: 2, maximumFractionDigits: 2 };
35923
35923
  }
@@ -35941,7 +35941,7 @@ BrowserTimings .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
35941
35941
  {
35942
35942
  Base_X3DBaseNode.prototype.initialize.call (this);
35943
35943
 
35944
- this .getBrowser () .getBrowserOptions () ._ContextMenu .addInterest ("set_enabled__", this);
35944
+ this .getBrowser () .getBrowserOptions () ._Timings .addInterest ("set_enabled__", this);
35945
35945
 
35946
35946
  this .localStorage .addDefaultValues ({ type: "LESS" });
35947
35947
 
@@ -35957,22 +35957,9 @@ BrowserTimings .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
35957
35957
 
35958
35958
  this .set_button__ ();
35959
35959
  },
35960
- getEnabled: function ()
35961
- {
35962
- return this .enabled;
35963
- },
35964
- setEnabled: function (enabled)
35965
- {
35966
- if (this .enabled === enabled)
35967
- return;
35968
-
35969
- this .enabled = enabled;
35970
-
35971
- this .set_enabled__ ();
35972
- },
35973
35960
  set_enabled__: function ()
35974
35961
  {
35975
- if (this .enabled && this .getBrowser () .getBrowserOption ("ContextMenu"))
35962
+ if (this .getBrowser () .getBrowserOption ("Timings"))
35976
35963
  {
35977
35964
  this .element .stop (true, true) .fadeIn ();
35978
35965
  this .fps .reset ();
@@ -36292,6 +36279,7 @@ const TextureQuality_default_ = TextureQuality;
36292
36279
  x_ite_Namespace.set ("x_ite/Browser/Core/TextureQuality", TextureQuality_default_);
36293
36280
  /* harmony default export */ const Core_TextureQuality = (TextureQuality_default_);
36294
36281
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/BrowserOptions.js
36282
+ /* provided dependency */ var BrowserOptions_$ = __webpack_require__(869);
36295
36283
  /*******************************************************************************
36296
36284
  *
36297
36285
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36385,6 +36373,7 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36385
36373
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "LogarithmicDepthBuffer", new x_ite_Fields.SFBool ()),
36386
36374
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "Notifications", new x_ite_Fields.SFBool (true)),
36387
36375
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "Multisampling", new x_ite_Fields.SFInt32 (4)),
36376
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "OptimizeStaticGroup", new x_ite_Fields.SFBool (true)),
36388
36377
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "StraightenHorizon", new x_ite_Fields.SFBool (true)),
36389
36378
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "Timings", new x_ite_Fields.SFBool ()),
36390
36379
  ]),
@@ -36427,7 +36416,7 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36427
36416
  },
36428
36417
  configure: (function ()
36429
36418
  {
36430
- const globals = new Set ([
36419
+ const attributes = new Set ([
36431
36420
  "Antialiased",
36432
36421
  "Cache",
36433
36422
  "ContentScale",
@@ -36438,6 +36427,14 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36438
36427
  "SplashScreen",
36439
36428
  ]);
36440
36429
 
36430
+ const restorable = new Set ([
36431
+ "PrimitiveQuality",
36432
+ "Rubberband",
36433
+ "StraightenHorizon",
36434
+ "TextureQuality",
36435
+ "Timings",
36436
+ ]);
36437
+
36441
36438
  return function ()
36442
36439
  {
36443
36440
  const
@@ -36446,15 +36443,28 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36446
36443
 
36447
36444
  for (const { name, value } of this .getFieldDefinitions ())
36448
36445
  {
36449
- if (globals .has (name))
36446
+ if (attributes .has (name))
36450
36447
  {
36451
- const attribute = name [0] .toLowerCase () + name .slice (1);
36452
- browser .attributeChangedCallback (attribute, null, browser .getElement () .attr (name));
36448
+ const
36449
+ attribute = BrowserOptions_$.toLowerCaseFirst (name),
36450
+ value = browser .getElement () .attr (attribute);
36451
+
36452
+ browser .attributeChangedCallback (attribute, null, value);
36453
+
36453
36454
  continue;
36454
36455
  }
36455
36456
 
36456
- if (localStorage [name] !== undefined)
36457
+ if (restorable .has (name))
36458
+ {
36459
+ const
36460
+ value = localStorage [name],
36461
+ field = this .getField (name);
36462
+
36463
+ if (value !== field .getValue ())
36464
+ field .setValue (value);
36465
+
36457
36466
  continue;
36467
+ }
36458
36468
 
36459
36469
  const field = this .getField (name);
36460
36470
 
@@ -36463,28 +36473,6 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36463
36473
 
36464
36474
  field .assign (value);
36465
36475
  }
36466
-
36467
- const
36468
- rubberband = localStorage .Rubberband,
36469
- primitiveQuality = localStorage .PrimitiveQuality,
36470
- textureQuality = localStorage .TextureQuality,
36471
- straightenHorizon = localStorage .StraightenHorizon,
36472
- timings = localStorage .Timings;
36473
-
36474
- if (rubberband !== this ._Rubberband .getValue ())
36475
- this ._Rubberband = rubberband;
36476
-
36477
- if (primitiveQuality !== this ._PrimitiveQuality .getValue ())
36478
- this ._PrimitiveQuality = primitiveQuality;
36479
-
36480
- if (textureQuality !== this ._TextureQuality .getValue ())
36481
- this ._TextureQuality = textureQuality;
36482
-
36483
- if (straightenHorizon !== this ._StraightenHorizon .getValue ())
36484
- this ._StraightenHorizon = straightenHorizon;
36485
-
36486
- if (timings !== this ._Timings .getValue ())
36487
- this ._Timings = timings;
36488
36476
  };
36489
36477
  })(),
36490
36478
  getPrimitiveQuality: function ()
@@ -36617,8 +36605,6 @@ BrowserOptions .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
36617
36605
  set_timings__: function (timings)
36618
36606
  {
36619
36607
  this .localStorage .Timings = timings .getValue ();
36620
-
36621
- this .getBrowser () .getBrowserTimings () .setEnabled (timings .getValue ());
36622
36608
  },
36623
36609
  });
36624
36610
 
@@ -36828,7 +36814,7 @@ const RenderingProperties_default_ = RenderingProperties;
36828
36814
  x_ite_Namespace.set ("x_ite/Browser/Core/RenderingProperties", RenderingProperties_default_);
36829
36815
  /* harmony default export */ const Core_RenderingProperties = (RenderingProperties_default_);
36830
36816
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/Notification.js
36831
- /* provided dependency */ var Notification_$ = __webpack_require__(2);
36817
+ /* provided dependency */ var Notification_$ = __webpack_require__(869);
36832
36818
  /*******************************************************************************
36833
36819
  *
36834
36820
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -36950,8 +36936,8 @@ const Notification_default_ = Notification;
36950
36936
  x_ite_Namespace.set ("x_ite/Browser/Core/Notification", Notification_default_);
36951
36937
  /* harmony default export */ const Core_Notification = (Notification_default_);
36952
36938
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/ContextMenu.js
36953
- /* provided dependency */ var jquery_fullscreen = __webpack_require__(440);
36954
- /* provided dependency */ var ContextMenu_$ = __webpack_require__(2);
36939
+ /* provided dependency */ var jquery_fullscreen = __webpack_require__(908);
36940
+ /* provided dependency */ var ContextMenu_$ = __webpack_require__(869);
36955
36941
  /*******************************************************************************
36956
36942
  *
36957
36943
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -38539,7 +38525,7 @@ X3DNode .prototype = Object .assign (Object .create (Base_X3DBaseNode.prototype)
38539
38525
  case Base_X3DConstants.SFNode:
38540
38526
  case Base_X3DConstants.MFNode:
38541
38527
  {
38542
- generator .PushContainerField (field);
38528
+ generator .PushContainerField (null);
38543
38529
 
38544
38530
  generator .string += ">";
38545
38531
  generator .string += generator .TidyBreak ();
@@ -40523,7 +40509,7 @@ X3DPrototypeInstance .prototype = Object .assign (Object .create (Core_X3DNode.p
40523
40509
  {
40524
40510
  if (field .getValue () !== null)
40525
40511
  {
40526
- generator .PushContainerField (field);
40512
+ generator .PushContainerField (null);
40527
40513
 
40528
40514
  generator .string += generator .Indent ();
40529
40515
  generator .string += "<fieldValue";
@@ -41939,7 +41925,7 @@ const X3DUrlObject_default_ = X3DUrlObject;
41939
41925
  x_ite_Namespace.set ("x_ite/Components/Networking/X3DUrlObject", X3DUrlObject_default_);
41940
41926
  /* harmony default export */ const Networking_X3DUrlObject = (X3DUrlObject_default_);
41941
41927
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/X3DParser.js
41942
- /* provided dependency */ var X3DParser_$ = __webpack_require__(2);
41928
+ /* provided dependency */ var X3DParser_$ = __webpack_require__(869);
41943
41929
  /*******************************************************************************
41944
41930
  *
41945
41931
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -43449,14 +43435,14 @@ VRMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototy
43449
43435
  {
43450
43436
  var
43451
43437
  nodeTypeId = this .result [1],
43452
- baseNode = this .getExecutionContext () .createProto (nodeTypeId, false);
43438
+ baseNode = this .getExecutionContext () .createNode (nodeTypeId, false);
43453
43439
 
43454
43440
  if (! baseNode)
43455
43441
  {
43456
- baseNode = this .getExecutionContext () .createNode (nodeTypeId, false);
43442
+ baseNode = this .getExecutionContext () .createProto (nodeTypeId, false);
43457
43443
 
43458
43444
  if (! baseNode)
43459
- throw new Error ("Unknown node type or proto '" + nodeTypeId + "', you probably have insufficient component/profile statements.");
43445
+ throw new Error ("Unknown node type or proto '" + nodeTypeId + "', you probably have insufficient component/profile statements, and/or an inappropriate specification version.");
43460
43446
  }
43461
43447
 
43462
43448
  if (nodeNameId .length)
@@ -45116,7 +45102,7 @@ const VRMLParser_default_ = VRMLParser;
45116
45102
  x_ite_Namespace.set ("x_ite/Parser/VRMLParser", VRMLParser_default_);
45117
45103
  /* harmony default export */ const Parser_VRMLParser = (VRMLParser_default_);
45118
45104
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/XMLParser.js
45119
- /* provided dependency */ var XMLParser_$ = __webpack_require__(2);
45105
+ /* provided dependency */ var XMLParser_$ = __webpack_require__(869);
45120
45106
  /*******************************************************************************
45121
45107
  *
45122
45108
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -45899,13 +45885,13 @@ XMLParser .prototype = Object .assign (Object .create (Parser_X3DParser.prototyp
45899
45885
  if (this .useAttribute (xmlElement))
45900
45886
  return;
45901
45887
 
45902
- var node = this .getExecutionContext () .createProto (this .protoNameToCamelCase (xmlElement .nodeName), false);
45888
+ var node = this .getExecutionContext () .createNode (this .nodeNameToCamelCase (xmlElement .nodeName), false);
45903
45889
 
45904
45890
  if (! node)
45905
- node = this .getExecutionContext () .createNode (this .nodeNameToCamelCase (xmlElement .nodeName), false);
45891
+ node = this .getExecutionContext () .createProto (this .protoNameToCamelCase (xmlElement .nodeName), false);
45906
45892
 
45907
45893
  if (! node)
45908
- throw new Error ("Unknown node type '" + xmlElement .nodeName + "', you probably have insufficient component/profile statements.");
45894
+ throw new Error ("Unknown node type '" + xmlElement .nodeName + "', you probably have insufficient component/profile statements and/or an inappropriate specification version.");
45909
45895
 
45910
45896
  ///DOMIntegration: attach node to DOM xmlElement for access from DOM.
45911
45897
  XMLParser_$.data (xmlElement, "node", node);
@@ -47159,7 +47145,7 @@ const URLs_default_ = URLs;
47159
47145
  x_ite_Namespace.set ("x_ite/Browser/Networking/URLs", URLs_default_);
47160
47146
  /* harmony default export */ const Networking_URLs = (URLs_default_);
47161
47147
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLTF2Parser.js
47162
- /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(2);
47148
+ /* provided dependency */ var GLTF2Parser_$ = __webpack_require__(869);
47163
47149
  /*******************************************************************************
47164
47150
  *
47165
47151
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47866,8 +47852,7 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47866
47852
  scene .addExportedNode (scene .getUniqueExportName (name), textureNode);
47867
47853
  }
47868
47854
 
47869
- textureNode ._url = [image .uri];
47870
- textureNode ._flipVertically = true;
47855
+ textureNode ._url = [image .uri];
47871
47856
 
47872
47857
  const sampler = this .samplers [texture .sampler];
47873
47858
 
@@ -47929,7 +47914,10 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
47929
47914
  {
47930
47915
  const textureTransformNode = scene .createNode ("TextureTransform", false);
47931
47916
 
47932
- textureTransformNode ._mapping = mapping;
47917
+ textureTransformNode ._mapping = mapping;
47918
+ textureTransformNode ._translation .y = -1;
47919
+ textureTransformNode ._scale .y = -1;
47920
+
47933
47921
  textureTransformNode .setup ();
47934
47922
 
47935
47923
  this .textureTransformNodes .push (textureTransformNode);
@@ -48137,7 +48125,11 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48137
48125
  if (!(KHR_materials_emissive_strength instanceof Object))
48138
48126
  return;
48139
48127
 
48140
- materialNode ._emissiveStrength = this .numberValue (KHR_materials_emissive_strength .emissiveStrength, 1);
48128
+ const emissiveStrength = this .numberValue (KHR_materials_emissive_strength .emissiveStrength, 1);
48129
+
48130
+ materialNode ._emissiveColor .r *= emissiveStrength;
48131
+ materialNode ._emissiveColor .g *= emissiveStrength;
48132
+ materialNode ._emissiveColor .b *= emissiveStrength;
48141
48133
  },
48142
48134
  textureTransformObject: function (KHR_texture_transform, texCoord)
48143
48135
  {
@@ -48157,6 +48149,9 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48157
48149
  scale = new Numbers_Vector2 (1, 1),
48158
48150
  matrix = new Numbers_Matrix4 ();
48159
48151
 
48152
+ matrix .translate (new Numbers_Vector3 (0, 1, 0));
48153
+ matrix .scale (new Numbers_Vector3 (1, -1, 1));
48154
+
48160
48155
  if (this .vectorValue (KHR_texture_transform .offset, translation))
48161
48156
  matrix .translate (new Numbers_Vector3 (... translation, 0));
48162
48157
 
@@ -48917,7 +48912,19 @@ GLTF2Parser .prototype = Object .assign (Object .create (Parser_X3DParser.protot
48917
48912
  {
48918
48913
  case 0:
48919
48914
  {
48920
- return null;
48915
+ if (this .textureTransformNode)
48916
+ return this .textureTransformNode;
48917
+
48918
+ const
48919
+ scene = this .getExecutionContext (),
48920
+ textureTransformNode = scene .createNode ("TextureTransform", false);
48921
+
48922
+ textureTransformNode ._translation .y = -1;
48923
+ textureTransformNode ._scale .y = -1;
48924
+
48925
+ textureTransformNode .setup ();
48926
+
48927
+ return this .textureTransformNode = textureTransformNode;
48921
48928
  }
48922
48929
  case 1:
48923
48930
  {
@@ -49604,7 +49611,7 @@ const GLTF2Parser_default_ = GLTF2Parser;
49604
49611
  x_ite_Namespace.set ("x_ite/Parser/GLTF2Parser", GLTF2Parser_default_);
49605
49612
  /* harmony default export */ const Parser_GLTF2Parser = (GLTF2Parser_default_);
49606
49613
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GLB2Parser.js
49607
- /* provided dependency */ var GLB2Parser_$ = __webpack_require__(2);
49614
+ /* provided dependency */ var GLB2Parser_$ = __webpack_require__(869);
49608
49615
  /*******************************************************************************
49609
49616
  *
49610
49617
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -49757,7 +49764,7 @@ const GLB2Parser_default_ = GLB2Parser;
49757
49764
  x_ite_Namespace.set ("x_ite/Parser/GLB2Parser", GLB2Parser_default_);
49758
49765
  /* harmony default export */ const Parser_GLB2Parser = (GLB2Parser_default_);
49759
49766
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/OBJParser.js
49760
- /* provided dependency */ var OBJParser_$ = __webpack_require__(2);
49767
+ /* provided dependency */ var OBJParser_$ = __webpack_require__(869);
49761
49768
  /*******************************************************************************
49762
49769
  *
49763
49770
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -52210,8 +52217,8 @@ const MatrixStack_default_ = MatrixStack;
52210
52217
  x_ite_Namespace.set ("standard/Math/Utility/MatrixStack", MatrixStack_default_);
52211
52218
  /* harmony default export */ const Utility_MatrixStack = (MatrixStack_default_);
52212
52219
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/SVGParser.js
52213
- /* provided dependency */ var SVGParser_$ = __webpack_require__(2);
52214
- /* provided dependency */ var libtess = __webpack_require__(735);
52220
+ /* provided dependency */ var SVGParser_$ = __webpack_require__(869);
52221
+ /* provided dependency */ var libtess = __webpack_require__(23);
52215
52222
  /*******************************************************************************
52216
52223
  *
52217
52224
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -54980,7 +54987,7 @@ const SVGParser_default_ = SVGParser;
54980
54987
  x_ite_Namespace.set ("x_ite/Parser/SVGParser", SVGParser_default_);
54981
54988
  /* harmony default export */ const Parser_SVGParser = (SVGParser_default_);
54982
54989
  ;// CONCATENATED MODULE: ./src/x_ite/Parser/GoldenGate.js
54983
- /* provided dependency */ var GoldenGate_$ = __webpack_require__(2);
54990
+ /* provided dependency */ var GoldenGate_$ = __webpack_require__(869);
54984
54991
  /*******************************************************************************
54985
54992
  *
54986
54993
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -55309,7 +55316,7 @@ const Plane3_default_ = Plane3;
55309
55316
  x_ite_Namespace.set ("standard/Math/Geometry/Plane3", Plane3_default_);
55310
55317
  /* harmony default export */ const Geometry_Plane3 = (Plane3_default_);
55311
55318
  ;// CONCATENATED MODULE: ./src/standard/Math/Geometry/Triangle3.js
55312
- /* provided dependency */ var Triangle3_libtess = __webpack_require__(735);
55319
+ /* provided dependency */ var Triangle3_libtess = __webpack_require__(23);
55313
55320
  /*******************************************************************************
55314
55321
  *
55315
55322
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -56703,11 +56710,8 @@ Box3 .prototype =
56703
56710
  p2 = r1 .subtract (x),
56704
56711
  p3 = r2 .subtract (x);
56705
56712
 
56706
- min .assign (p1);
56707
- max .assign (p1);
56708
-
56709
- min .min (p2, p3, p4);
56710
- max .max (p2, p3, p4);
56713
+ min .assign (p1) .min (p2, p3, p4);
56714
+ max .assign (p1) .max (p2, p3, p4);
56711
56715
 
56712
56716
  p1 .negate ();
56713
56717
  p2 .negate ();
@@ -59221,6 +59225,10 @@ NavigationInfo .prototype = Object .assign (Object .create (Core_X3DBindableNode
59221
59225
  {
59222
59226
  return "children";
59223
59227
  },
59228
+ getSpecificationRange: function ()
59229
+ {
59230
+ return ["2.0", "Infinity"];
59231
+ },
59224
59232
  initialize: function ()
59225
59233
  {
59226
59234
  Core_X3DBindableNode.prototype.initialize.call (this);
@@ -59786,6 +59794,10 @@ Fog .prototype = Object .assign (Object .create (Core_X3DBindableNode.prototype)
59786
59794
  {
59787
59795
  return "children";
59788
59796
  },
59797
+ getSpecificationRange: function ()
59798
+ {
59799
+ return ["2.0", "Infinity"];
59800
+ },
59789
59801
  initialize: function ()
59790
59802
  {
59791
59803
  Core_X3DBindableNode.prototype.initialize.call (this);
@@ -62611,7 +62623,7 @@ const X3DTexture2DNode_default_ = X3DTexture2DNode;
62611
62623
  x_ite_Namespace.set ("x_ite/Components/Texturing/X3DTexture2DNode", X3DTexture2DNode_default_);
62612
62624
  /* harmony default export */ const Texturing_X3DTexture2DNode = (X3DTexture2DNode_default_);
62613
62625
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/ImageTexture.js
62614
- /* provided dependency */ var ImageTexture_$ = __webpack_require__(2);
62626
+ /* provided dependency */ var ImageTexture_$ = __webpack_require__(869);
62615
62627
  /*******************************************************************************
62616
62628
  *
62617
62629
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -62690,7 +62702,6 @@ ImageTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
62690
62702
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "url", new x_ite_Fields.MFString ()),
62691
62703
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "autoRefresh", new x_ite_Fields.SFTime ()),
62692
62704
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "autoRefreshTimeLimit", new x_ite_Fields.SFTime (3600)),
62693
- new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "flipVertically", new x_ite_Fields.SFBool ()),
62694
62705
  new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "repeatS", new x_ite_Fields.SFBool (true)),
62695
62706
  new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "repeatT", new x_ite_Fields.SFBool (true)),
62696
62707
  new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "textureProperties", new x_ite_Fields.SFNode ()),
@@ -62707,13 +62718,15 @@ ImageTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
62707
62718
  {
62708
62719
  return "texture";
62709
62720
  },
62721
+ getSpecificationRange: function ()
62722
+ {
62723
+ return ["2.0", "Infinity"];
62724
+ },
62710
62725
  initialize: function ()
62711
62726
  {
62712
62727
  Texturing_X3DTexture2DNode.prototype.initialize.call (this);
62713
62728
  Networking_X3DUrlObject.prototype.initialize.call (this);
62714
62729
 
62715
- this ._flipVertically .addInterest ("set_url__", this);
62716
-
62717
62730
  this .image .on ("load", this .setImage .bind (this));
62718
62731
  this .image .on ("abort error", this .setError .bind (this));
62719
62732
  this .image .prop ("crossOrigin", "Anonymous");
@@ -62794,11 +62807,9 @@ ImageTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
62794
62807
  cx .clearRect (0, 0, width, height);
62795
62808
  cx .save ();
62796
62809
 
62797
- if (!this ._flipVertically .getValue ())
62798
- {
62799
- cx .translate (0, height);
62800
- cx .scale (1, -1);
62801
- }
62810
+ // Flip vertically.
62811
+ cx .translate (0, height);
62812
+ cx .scale (1, -1);
62802
62813
 
62803
62814
  cx .drawImage (image, 0, 0, image .width, image .height, 0, 0, width, height);
62804
62815
  cx .restore ();
@@ -62822,10 +62833,9 @@ ImageTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
62822
62833
  width = image .width,
62823
62834
  height = image .height;
62824
62835
 
62825
- // Flip Y if needed.
62836
+ // Flip vertically.
62826
62837
 
62827
- if (!this ._flipVertically .getValue ())
62828
- this .flipImage (data, width, height, 4);
62838
+ this .flipImage (data, width, height, 4);
62829
62839
 
62830
62840
  // Upload image to GPU.
62831
62841
 
@@ -62850,7 +62860,9 @@ ImageTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
62850
62860
  gl .bindFramebuffer (gl.FRAMEBUFFER, framebuffer);
62851
62861
  gl .bindTexture (gl.TEXTURE_2D, texture);
62852
62862
  gl .framebufferTexture2D (gl.FRAMEBUFFER, gl .COLOR_ATTACHMENT0, gl .TEXTURE_2D, texture, 0);
62863
+ //gl .pixelStorei (gl .UNPACK_COLORSPACE_CONVERSION_WEBGL, colorspace ? gl .BROWSER_DEFAULT_WEBGL : gl .NONE);
62853
62864
  gl .texImage2D (gl .TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
62865
+ //gl .pixelStorei (gl .UNPACK_COLORSPACE_CONVERSION_WEBGL, gl .BROWSER_DEFAULT_WEBGL);
62854
62866
  await gl .readPixelsAsync (0, 0, image .width, image .height, gl.RGBA, gl.UNSIGNED_BYTE, data);
62855
62867
  gl .deleteFramebuffer (framebuffer);
62856
62868
  gl .deleteTexture (texture);
@@ -62993,6 +63005,10 @@ Background .prototype = Object .assign (Object .create (EnvironmentalEffects_X3D
62993
63005
  {
62994
63006
  return "children";
62995
63007
  },
63008
+ getSpecificationRange: function ()
63009
+ {
63010
+ return ["2.0", "Infinity"];
63011
+ },
62996
63012
  initialize: function ()
62997
63013
  {
62998
63014
  EnvironmentalEffects_X3DBackgroundNode.prototype.initialize.call (this);
@@ -63985,6 +64001,10 @@ TimeSensor .prototype = Object .assign (Object .create (Core_X3DSensorNode.proto
63985
64001
  {
63986
64002
  return "children";
63987
64003
  },
64004
+ getSpecificationRange: function ()
64005
+ {
64006
+ return ["2.0", "Infinity"];
64007
+ },
63988
64008
  initialize: function ()
63989
64009
  {
63990
64010
  Core_X3DSensorNode.prototype.initialize.call (this);
@@ -64303,6 +64323,10 @@ EaseInEaseOut .prototype = Object .assign (Object .create (Interpolation_X3DInte
64303
64323
  {
64304
64324
  return "children";
64305
64325
  },
64326
+ getSpecificationRange: function ()
64327
+ {
64328
+ return ["3.2", "Infinity"];
64329
+ },
64306
64330
  initialize: function ()
64307
64331
  {
64308
64332
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -64443,6 +64467,10 @@ PositionInterpolator .prototype = Object .assign (Object .create (Interpolation_
64443
64467
  {
64444
64468
  return "children";
64445
64469
  },
64470
+ getSpecificationRange: function ()
64471
+ {
64472
+ return ["2.0", "Infinity"];
64473
+ },
64446
64474
  initialize: function ()
64447
64475
  {
64448
64476
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -64561,6 +64589,10 @@ OrientationInterpolator .prototype = Object .assign (Object .create (Interpolati
64561
64589
  {
64562
64590
  return "children";
64563
64591
  },
64592
+ getSpecificationRange: function ()
64593
+ {
64594
+ return ["2.0", "Infinity"];
64595
+ },
64564
64596
  initialize: function ()
64565
64597
  {
64566
64598
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -64682,6 +64714,10 @@ ScalarInterpolator .prototype = Object .assign (Object .create (Interpolation_X3
64682
64714
  {
64683
64715
  return "children";
64684
64716
  },
64717
+ getSpecificationRange: function ()
64718
+ {
64719
+ return ["2.0", "Infinity"];
64720
+ },
64685
64721
  initialize: function ()
64686
64722
  {
64687
64723
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -65153,7 +65189,7 @@ X3DViewpointNode .prototype = Object .assign (Object .create (Core_X3DBindableNo
65153
65189
  {
65154
65190
  bbox = bbox .copy () .multRight (Numbers_Matrix4.inverse (this .getModelMatrix ()));
65155
65191
 
65156
- const minDistance = layerNode .getNavigationInfo () .getNearValue () * 2;
65192
+ const minDistance = Math .max (layerNode .getNavigationInfo () .getNearValue () * 2, this .getLookAtDistance (bbox));
65157
65193
 
65158
65194
  this .lookAt (layerNode, bbox .center, minDistance, factor, straighten);
65159
65195
  },
@@ -65162,10 +65198,14 @@ X3DViewpointNode .prototype = Object .assign (Object .create (Core_X3DBindableNo
65162
65198
  const
65163
65199
  offset = point .copy () .add (this .getUserOrientation () .multVecRot (new Numbers_Vector3 (0, 0, distance))) .subtract (this .getPosition ());
65164
65200
 
65201
+ layerNode .getNavigationInfo () ._transitionStart = true;
65202
+
65165
65203
  this .timeSensor ._cycleInterval = 1;
65166
65204
  this .timeSensor ._stopTime = this .getBrowser () .getCurrentTime ();
65167
65205
  this .timeSensor ._startTime = this .getBrowser () .getCurrentTime ();
65168
65206
 
65207
+ this .timeSensor ._isActive .addInterest ("set_active__", this, layerNode .getNavigationInfo ());
65208
+
65169
65209
  this .easeInEaseOut ._easeInEaseOut = new x_ite_Fields.MFVec2f (new x_ite_Fields.SFVec2f (0, 1), new x_ite_Fields.SFVec2f (1, 0));
65170
65210
 
65171
65211
  const
@@ -65195,10 +65235,14 @@ X3DViewpointNode .prototype = Object .assign (Object .create (Core_X3DBindableNo
65195
65235
  },
65196
65236
  straightenView: function (layerNode)
65197
65237
  {
65238
+ layerNode .getNavigationInfo () ._transitionStart = true;
65239
+
65198
65240
  this .timeSensor ._cycleInterval = 1;
65199
65241
  this .timeSensor ._stopTime = this .getBrowser () .getCurrentTime ();
65200
65242
  this .timeSensor ._startTime = this .getBrowser () .getCurrentTime ();
65201
65243
 
65244
+ this .timeSensor ._isActive .addInterest ("set_active__", this, layerNode .getNavigationInfo ());
65245
+
65202
65246
  this .easeInEaseOut ._easeInEaseOut = new x_ite_Fields.MFVec2f (new x_ite_Fields.SFVec2f (0, 1), new x_ite_Fields.SFVec2f (1, 0));
65203
65247
 
65204
65248
  const rotation = Numbers_Rotation4.multRight (Numbers_Rotation4.inverse (this .getOrientation ()), this .straightenHorizon (this .getUserOrientation ()));
@@ -65389,6 +65433,10 @@ Viewpoint .prototype = Object .assign (Object .create (Navigation_X3DViewpointNo
65389
65433
  {
65390
65434
  return "children";
65391
65435
  },
65436
+ getSpecificationRange: function ()
65437
+ {
65438
+ return ["2.0", "Infinity"];
65439
+ },
65392
65440
  getRelativeTransformation: function (fromViewpointNode)
65393
65441
  {
65394
65442
  const relative = Navigation_X3DViewpointNode.prototype.getRelativeTransformation.call (this, fromViewpointNode);
@@ -65586,7 +65634,6 @@ X3DBoundedObject .prototype =
65586
65634
  const modelViewMatrix = renderObject .getModelViewMatrix ();
65587
65635
 
65588
65636
  this .getBBox (bbox);
65589
-
65590
65637
  matrix .set (bbox .center, null, bbox .size);
65591
65638
 
65592
65639
  modelViewMatrix .push ();
@@ -66429,6 +66476,10 @@ Group .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.prot
66429
66476
  {
66430
66477
  return "children";
66431
66478
  },
66479
+ getSpecificationRange: function ()
66480
+ {
66481
+ return ["2.0", "Infinity"];
66482
+ },
66432
66483
  });
66433
66484
 
66434
66485
  const Group_default_ = Group;
@@ -66527,6 +66578,10 @@ Layer .prototype = Object .assign (Object .create (Layering_X3DLayerNode.prototy
66527
66578
  {
66528
66579
  return "layers";
66529
66580
  },
66581
+ getSpecificationRange: function ()
66582
+ {
66583
+ return ["3.2", "Infinity"];
66584
+ },
66530
66585
  initialize: function ()
66531
66586
  {
66532
66587
  Layering_X3DLayerNode.prototype.initialize.call (this);
@@ -66635,6 +66690,10 @@ LayerSet .prototype = Object .assign (Object .create (Core_X3DNode.prototype),
66635
66690
  {
66636
66691
  return "children";
66637
66692
  },
66693
+ getSpecificationRange: function ()
66694
+ {
66695
+ return ["3.2", "Infinity"];
66696
+ },
66638
66697
  initialize: function ()
66639
66698
  {
66640
66699
  Core_X3DNode.prototype.initialize.call (this);
@@ -66907,7 +66966,7 @@ const X3DWorld_default_ = X3DWorld;
66907
66966
  x_ite_Namespace.set ("x_ite/Execution/X3DWorld", X3DWorld_default_);
66908
66967
  /* harmony default export */ const Execution_X3DWorld = (X3DWorld_default_);
66909
66968
  ;// CONCATENATED MODULE: ./src/x_ite/InputOutput/FileLoader.js
66910
- /* provided dependency */ var FileLoader_$ = __webpack_require__(2);
66969
+ /* provided dependency */ var FileLoader_$ = __webpack_require__(869);
66911
66970
  /*******************************************************************************
66912
66971
  *
66913
66972
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -67193,7 +67252,7 @@ FileLoader .prototype = Object .assign (Object .create (Base_X3DObject.prototype
67193
67252
  const
67194
67253
  options = { cache: this .node .getCache () ? "default" : "reload" },
67195
67254
  response = this .handleErrors (await fetch (this .URL .href, options)),
67196
- contentType = response .headers .get ("content-type") .replace (/;.*$/, "");
67255
+ contentType = response .headers .get ("content-type")?.replace (/;.*$/, "");
67197
67256
 
67198
67257
  if (this .foreign)
67199
67258
  {
@@ -68256,6 +68315,14 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68256
68315
  if (! Type)
68257
68316
  return null;
68258
68317
 
68318
+ const specificationRange = Type .prototype .getSpecificationRange ();
68319
+
68320
+ if (this .getSpecificationVersion () < specificationRange [0])
68321
+ return null;
68322
+
68323
+ if (this .getSpecificationVersion () > specificationRange [1])
68324
+ return null;
68325
+
68259
68326
  return new Type (this);
68260
68327
  }
68261
68328
  else
@@ -68265,6 +68332,14 @@ X3DExecutionContext .prototype = Object .assign (Object .create (Base_X3DBaseNod
68265
68332
  if (! Type)
68266
68333
  throw new Error ("Unknown node type '" + typeName + "'.");
68267
68334
 
68335
+ const specificationRange = Type .prototype .getSpecificationRange ();
68336
+
68337
+ if (this .getSpecificationVersion () < specificationRange [0])
68338
+ throw new Error ("Node type '" + typeName + "' does not match specification version.");
68339
+
68340
+ if (this .getSpecificationVersion () > specificationRange [1])
68341
+ throw new Error ("Node type '" + typeName + "' does not match specification version.");
68342
+
68268
68343
  const baseNode = new Type (this);
68269
68344
 
68270
68345
  baseNode .setup ();
@@ -69081,7 +69156,7 @@ const X3DExecutionContext_default_ = X3DExecutionContext;
69081
69156
  x_ite_Namespace.set ("x_ite/Execution/X3DExecutionContext", X3DExecutionContext_default_);
69082
69157
  /* harmony default export */ const Execution_X3DExecutionContext = (X3DExecutionContext_default_);
69083
69158
  ;// CONCATENATED MODULE: ./src/x_ite/Configuration/ComponentInfo.js
69084
- /* provided dependency */ var ComponentInfo_$ = __webpack_require__(2);
69159
+ /* provided dependency */ var ComponentInfo_$ = __webpack_require__(869);
69085
69160
  /*******************************************************************************
69086
69161
  *
69087
69162
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -71052,7 +71127,7 @@ const DataStorage_default_ = DataStorage;
71052
71127
  x_ite_Namespace.set ("standard/Utility/DataStorage", DataStorage_default_);
71053
71128
  /* harmony default export */ const Utility_DataStorage = (DataStorage_default_);
71054
71129
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Core/X3DCoreContext.js
71055
- /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(2);
71130
+ /* provided dependency */ var X3DCoreContext_$ = __webpack_require__(869);
71056
71131
  /*******************************************************************************
71057
71132
  *
71058
71133
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -71380,6 +71455,11 @@ X3DCoreContext .prototype =
71380
71455
  this .loadURL (new x_ite_Fields.MFString (newValue), new x_ite_Fields.MFString ());
71381
71456
  break;
71382
71457
  }
71458
+ case "timings":
71459
+ {
71460
+ this .setBrowserOption ("Timings", this .parseBooleanAttribute (newValue, false));
71461
+ break;
71462
+ }
71383
71463
  case "url":
71384
71464
  {
71385
71465
  this .loadURL (this .parseUrlAttribute (newValue), new x_ite_Fields.MFString ());
@@ -71407,9 +71487,7 @@ X3DCoreContext .prototype =
71407
71487
  },
71408
71488
  callBrowserEventHandler: function (events)
71409
71489
  {
71410
- const element = window .jQuery
71411
- ? window .jQuery (this .getElement () .get (0))
71412
- : this .getElement ();
71490
+ const element = this .getElement ();
71413
71491
 
71414
71492
  for (const event of events .split (" "))
71415
71493
  element .trigger (event);
@@ -71801,6 +71879,10 @@ TextureProperties .prototype = Object .assign (Object .create (Core_X3DNode.prot
71801
71879
  {
71802
71880
  return "textureProperties";
71803
71881
  },
71882
+ getSpecificationRange: function ()
71883
+ {
71884
+ return ["3.0", "Infinity"];
71885
+ },
71804
71886
  getBorderWidth: function ()
71805
71887
  {
71806
71888
  // https://stackoverflow.com/questions/27760277/webgl-border-color-shader?lq=1
@@ -72459,6 +72541,10 @@ IndexedFaceSet .prototype = Object .assign (Object .create (Rendering_X3DCompose
72459
72541
  {
72460
72542
  return "geometry";
72461
72543
  },
72544
+ getSpecificationRange: function ()
72545
+ {
72546
+ return ["2.0", "Infinity"];
72547
+ },
72462
72548
  initialize: function ()
72463
72549
  {
72464
72550
  Rendering_X3DComposedGeometryNode.prototype.initialize.call (this);
@@ -73168,6 +73254,10 @@ Coordinate .prototype = Object .assign (Object .create (Rendering_X3DCoordinateN
73168
73254
  {
73169
73255
  return "coord";
73170
73256
  },
73257
+ getSpecificationRange: function ()
73258
+ {
73259
+ return ["2.0", "Infinity"];
73260
+ },
73171
73261
  });
73172
73262
 
73173
73263
  const Coordinate_default_ = Coordinate;
@@ -73418,6 +73508,10 @@ TextureCoordinate .prototype = Object .assign (Object .create (Texturing_X3DSing
73418
73508
  {
73419
73509
  return "texCoord";
73420
73510
  },
73511
+ getSpecificationRange: function ()
73512
+ {
73513
+ return ["2.0", "Infinity"];
73514
+ },
73421
73515
  initialize: function ()
73422
73516
  {
73423
73517
  Texturing_X3DSingleTextureCoordinateNode.prototype.initialize.call (this);
@@ -74304,15 +74398,15 @@ X3DShapeNode .prototype = Object .assign (Object .create (Core_X3DChildNode.prot
74304
74398
  Core_X3DChildNode.prototype.initialize.call (this);
74305
74399
  Grouping_X3DBoundedObject.prototype.initialize.call (this);
74306
74400
 
74307
- this ._bboxSize .addInterest ("set_bbox__", this);
74308
- this ._bboxCenter .addInterest ("set_bbox__", this);
74309
- this ._appearance .addInterest ("set_apparance__", this);
74310
- this ._geometry .addInterest ("set_geometry__", this);
74401
+ this ._bboxSize .addInterest ("set_bbox__", this);
74402
+ this ._bboxCenter .addInterest ("set_bbox__", this);
74403
+ this ._appearance .addInterest ("set_appearance__", this);
74404
+ this ._geometry .addInterest ("set_geometry__", this);
74311
74405
 
74312
74406
  this ._appearance .addInterest ("set_transparent__", this);
74313
74407
  this ._geometry .addInterest ("set_transparent__", this);
74314
74408
 
74315
- this .set_apparance__ ();
74409
+ this .set_appearance__ ();
74316
74410
  this .set_geometry__ ();
74317
74411
  this .set_transparent__ ();
74318
74412
  },
@@ -74340,7 +74434,7 @@ X3DShapeNode .prototype = Object .assign (Object .create (Core_X3DChildNode.prot
74340
74434
  },
74341
74435
  getAppearance: function ()
74342
74436
  {
74343
- return this .apparanceNode;
74437
+ return this .appearanceNode;
74344
74438
  },
74345
74439
  getGeometry: function ()
74346
74440
  {
@@ -74365,25 +74459,29 @@ X3DShapeNode .prototype = Object .assign (Object .create (Core_X3DChildNode.prot
74365
74459
  this .bbox .set ();
74366
74460
  }
74367
74461
  else
74462
+ {
74368
74463
  this .bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
74464
+ }
74369
74465
 
74370
74466
  this .bboxSize .assign (this .bbox .size);
74371
74467
  this .bboxCenter .assign (this .bbox .center);
74372
74468
  },
74373
- set_apparance__: function ()
74469
+ set_appearance__: function ()
74374
74470
  {
74375
- if (this .apparanceNode)
74376
- this .apparanceNode ._transparent .removeInterest ("set_transparent__", this);
74471
+ if (this .appearanceNode)
74472
+ this .appearanceNode ._transparent .removeInterest ("set_transparent__", this);
74377
74473
 
74378
- this .apparanceNode = Base_X3DCast (Base_X3DConstants.X3DAppearanceNode, this ._appearance);
74474
+ this .appearanceNode = Base_X3DCast (Base_X3DConstants.X3DAppearanceNode, this ._appearance);
74379
74475
 
74380
- if (this .apparanceNode)
74476
+ if (this .appearanceNode)
74381
74477
  {
74382
- this .apparanceNode ._alphaMode .addInterest ("set_transparent__", this);
74383
- this .apparanceNode ._transparent .addInterest ("set_transparent__", this);
74478
+ this .appearanceNode ._alphaMode .addInterest ("set_transparent__", this);
74479
+ this .appearanceNode ._transparent .addInterest ("set_transparent__", this);
74384
74480
  }
74385
74481
  else
74386
- this .apparanceNode = this .getBrowser () .getDefaultAppearance ();
74482
+ {
74483
+ this .appearanceNode = this .getBrowser () .getDefaultAppearance ();
74484
+ }
74387
74485
  },
74388
74486
  set_geometry__: function ()
74389
74487
  {
@@ -74405,13 +74503,13 @@ X3DShapeNode .prototype = Object .assign (Object .create (Core_X3DChildNode.prot
74405
74503
  },
74406
74504
  set_transparent__: function ()
74407
74505
  {
74408
- if (this .apparanceNode .getAlphaMode () === Shape_AlphaMode.AUTO)
74506
+ if (this .appearanceNode .getAlphaMode () === Shape_AlphaMode.AUTO)
74409
74507
  {
74410
- this .transparent = !!(this .apparanceNode .isTransparent () || this .geometryNode?.isTransparent ());
74508
+ this .transparent = !!(this .appearanceNode .isTransparent () || this .geometryNode?.isTransparent ());
74411
74509
  }
74412
74510
  else
74413
74511
  {
74414
- this .transparent = this .apparanceNode .isTransparent ();
74512
+ this .transparent = this .appearanceNode .isTransparent ();
74415
74513
  }
74416
74514
  },
74417
74515
  dispose: function ()
@@ -74426,7 +74524,7 @@ const X3DShapeNode_default_ = X3DShapeNode;
74426
74524
 
74427
74525
  x_ite_Namespace.set ("x_ite/Components/Shape/X3DShapeNode", X3DShapeNode_default_);
74428
74526
  /* harmony default export */ const Shape_X3DShapeNode = (X3DShapeNode_default_);
74429
- ;// CONCATENATED MODULE: ./src/standard/Math/Algorithms/QuickSort.js
74527
+ ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Shape.js
74430
74528
  /*******************************************************************************
74431
74529
  *
74432
74530
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -74474,72 +74572,158 @@ x_ite_Namespace.set ("x_ite/Components/Shape/X3DShapeNode", X3DShapeNode_default
74474
74572
  *
74475
74573
  ******************************************************************************/
74476
74574
 
74477
- function QuickSort (array, compare)
74575
+
74576
+
74577
+
74578
+
74579
+
74580
+
74581
+
74582
+ function Shape (executionContext)
74478
74583
  {
74479
- this .array = array;
74584
+ Shape_X3DShapeNode.call (this, executionContext);
74480
74585
 
74481
- if (compare)
74482
- this .compare = compare;
74586
+ this .addType (Base_X3DConstants.Shape);
74483
74587
  }
74484
74588
 
74485
- QuickSort .prototype =
74589
+ Shape .prototype = Object .assign (Object .create (Shape_X3DShapeNode.prototype),
74486
74590
  {
74487
- compare: function (lhs, rhs)
74591
+ constructor: Shape,
74592
+ [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new Base_FieldDefinitionArray ([
74593
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metadata", new x_ite_Fields.SFNode ()),
74594
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "visible", new x_ite_Fields.SFBool (true)),
74595
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "castShadow", new x_ite_Fields.SFBool (true)),
74596
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "bboxDisplay", new x_ite_Fields.SFBool ()),
74597
+ new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "bboxSize", new x_ite_Fields.SFVec3f (-1, -1, -1)),
74598
+ new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "bboxCenter", new x_ite_Fields.SFVec3f ()),
74599
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "appearance", new x_ite_Fields.SFNode ()),
74600
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "geometry", new x_ite_Fields.SFNode ()),
74601
+ ]),
74602
+ getTypeName: function ()
74488
74603
  {
74489
- return lhs < rhs;
74604
+ return "Shape";
74490
74605
  },
74491
- sort: function (first, last)
74606
+ getComponentName: function ()
74492
74607
  {
74493
- if (last - first > 1)
74494
- this .quicksort (first, last - 1);
74608
+ return "Shape";
74495
74609
  },
74496
- quicksort: function (lo, hi)
74610
+ getContainerField: function ()
74497
74611
  {
74498
- let
74499
- i = lo,
74500
- j = hi;
74612
+ return "children";
74613
+ },
74614
+ getSpecificationRange: function ()
74615
+ {
74616
+ return ["2.0", "Infinity"];
74617
+ },
74618
+ initialize: function ()
74619
+ {
74620
+ Shape_X3DShapeNode.prototype.initialize.call (this);
74501
74621
 
74502
- const
74503
- array = this .array,
74504
- compare = this .compare;
74622
+ this ._transformSensors_changed .addInterest ("set_transformSensors__", this);
74505
74623
 
74506
- // Vergleichs­element x
74507
- const x = array [(lo + hi) >>> 1];
74624
+ this .set_transformSensors__ ();
74625
+ },
74626
+ getShapeKey: function ()
74627
+ {
74628
+ return 0;
74629
+ },
74630
+ getGeometryContext: Shape_X3DShapeNode.prototype.getGeometry,
74631
+ set_geometry__: function ()
74632
+ {
74633
+ Shape_X3DShapeNode.prototype.set_geometry__.call (this);
74508
74634
 
74509
- for (;;)
74510
- {
74511
- while (compare (array [i], x)) ++ i;
74512
- while (compare (x, array [j])) -- j;
74635
+ if (this .getGeometry ())
74636
+ delete this .traverse;
74637
+ else
74638
+ this .traverse = Function .prototype;
74639
+ },
74640
+ set_transformSensors__: function ()
74641
+ {
74642
+ this .setPickableObject (this .getTransformSensors () .size);
74643
+ },
74644
+ intersectsBox: function (box, clipPlanes, modelViewMatrix)
74645
+ {
74646
+ return this .getGeometry () .intersectsBox (box, clipPlanes, modelViewMatrix);
74647
+ },
74648
+ traverse: function (type, renderObject)
74649
+ {
74650
+ // Always look at ParticleSystem if you do modify something here and there.
74513
74651
 
74514
- if (i < j)
74652
+ switch (type)
74653
+ {
74654
+ case Rendering_TraverseType.POINTER:
74515
74655
  {
74516
- // Exchange
74517
-
74518
- const t = array [i];
74519
- array [i] = array [j];
74520
- array [j] = t;
74656
+ renderObject .addPointingShape (this);
74657
+ break;
74658
+ }
74659
+ case Rendering_TraverseType.PICKING:
74660
+ {
74661
+ this .picking (renderObject);
74662
+ break;
74663
+ }
74664
+ case Rendering_TraverseType.COLLISION:
74665
+ {
74666
+ renderObject .addCollisionShape (this);
74667
+ break;
74668
+ }
74669
+ case Rendering_TraverseType.SHADOW:
74670
+ {
74671
+ if (this ._castShadow .getValue ())
74672
+ renderObject .addShadowShape (this);
74521
74673
 
74522
- i ++; j --;
74674
+ break;
74523
74675
  }
74524
- else
74676
+ case Rendering_TraverseType.DISPLAY:
74525
74677
  {
74526
- if (i === j) ++ i, -- j;
74678
+ if (renderObject .addDisplayShape (this))
74679
+ this .getAppearance () .traverse (type, renderObject); // Currently used for GeneratedCubeMapTexture.
74680
+
74527
74681
  break;
74528
74682
  }
74529
74683
  }
74530
74684
 
74531
- // Rekursion
74532
- if (lo < j) this .quicksort (lo, j);
74533
- if (i < hi) this .quicksort (i, hi);
74685
+ this .getGeometry () .traverse (type, renderObject); // Currently used for ScreenText.
74534
74686
  },
74535
- };
74687
+ picking: function (renderObject)
74688
+ {
74689
+ const modelMatrix = renderObject .getModelViewMatrix () .get ();
74690
+
74691
+ if (this .getTransformSensors () .size)
74692
+ {
74693
+ for (const transformSensorNode of this .getTransformSensors ())
74694
+ transformSensorNode .collect (modelMatrix);
74695
+ }
74696
+
74697
+ const
74698
+ browser = this .getBrowser (),
74699
+ pickSensorStack = browser .getPickSensors (),
74700
+ pickingHierarchy = browser .getPickingHierarchy ();
74536
74701
 
74537
- const QuickSort_default_ = QuickSort;
74702
+ pickingHierarchy .push (this);
74703
+
74704
+ for (const pickSensor of pickSensorStack .at (-1))
74705
+ {
74706
+ pickSensor .collect (this .getGeometry (), modelMatrix, pickingHierarchy);
74707
+ }
74708
+
74709
+ pickingHierarchy .pop ();
74710
+ },
74711
+ displaySimple: function (gl, renderContext, shaderNode)
74712
+ {
74713
+ this .getGeometry () .displaySimple (gl, renderContext, shaderNode);
74714
+ },
74715
+ display: function (gl, renderContext)
74716
+ {
74717
+ this .getGeometry () .display (gl, renderContext);
74718
+ },
74719
+ });
74720
+
74721
+ const Shape_default_ = Shape;
74538
74722
  ;
74539
74723
 
74540
- x_ite_Namespace.set ("standard/Math/Algorithms/QuickSort", QuickSort_default_);
74541
- /* harmony default export */ const Algorithms_QuickSort = ((/* unused pure expression or super */ null && (QuickSort_default_)));
74542
- ;// CONCATENATED MODULE: ./src/x_ite/Components/Shape/Shape.js
74724
+ x_ite_Namespace.set ("x_ite/Components/Shape/Shape", Shape_default_);
74725
+ /* harmony default export */ const Shape_Shape = (Shape_default_);
74726
+ ;// CONCATENATED MODULE: ./src/x_ite/Components/Rendering/X3DLineGeometryNode.js
74543
74727
  /*******************************************************************************
74544
74728
  *
74545
74729
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -74594,205 +74778,6 @@ x_ite_Namespace.set ("standard/Math/Algorithms/QuickSort", QuickSort_default_);
74594
74778
 
74595
74779
 
74596
74780
 
74597
-
74598
-
74599
-
74600
-
74601
-
74602
- function Shape (executionContext)
74603
- {
74604
- Shape_X3DShapeNode.call (this, executionContext);
74605
-
74606
- this .addType (Base_X3DConstants.Shape);
74607
- }
74608
-
74609
- Shape .prototype = Object .assign (Object .create (Shape_X3DShapeNode.prototype),
74610
- {
74611
- constructor: Shape,
74612
- [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new Base_FieldDefinitionArray ([
74613
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metadata", new x_ite_Fields.SFNode ()),
74614
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "visible", new x_ite_Fields.SFBool (true)),
74615
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "castShadow", new x_ite_Fields.SFBool (true)),
74616
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "bboxDisplay", new x_ite_Fields.SFBool ()),
74617
- new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "bboxSize", new x_ite_Fields.SFVec3f (-1, -1, -1)),
74618
- new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "bboxCenter", new x_ite_Fields.SFVec3f ()),
74619
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "appearance", new x_ite_Fields.SFNode ()),
74620
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "geometry", new x_ite_Fields.SFNode ()),
74621
- ]),
74622
- getTypeName: function ()
74623
- {
74624
- return "Shape";
74625
- },
74626
- getComponentName: function ()
74627
- {
74628
- return "Shape";
74629
- },
74630
- getContainerField: function ()
74631
- {
74632
- return "children";
74633
- },
74634
- initialize: function ()
74635
- {
74636
- Shape_X3DShapeNode.prototype.initialize.call (this);
74637
-
74638
- this ._transformSensors_changed .addInterest ("set_transformSensors__", this);
74639
-
74640
- this .set_transformSensors__ ();
74641
- },
74642
- getShapeKey: function ()
74643
- {
74644
- return 0;
74645
- },
74646
- getGeometryContext: Shape_X3DShapeNode.prototype.getGeometry,
74647
- set_geometry__: function ()
74648
- {
74649
- Shape_X3DShapeNode.prototype.set_geometry__.call (this);
74650
-
74651
- if (this .getGeometry ())
74652
- delete this .traverse;
74653
- else
74654
- this .traverse = Function .prototype;
74655
- },
74656
- set_transformSensors__: function ()
74657
- {
74658
- this .setPickableObject (this .getTransformSensors () .size);
74659
- },
74660
- intersectsBox: function (box, clipPlanes, modelViewMatrix)
74661
- {
74662
- return this .getGeometry () .intersectsBox (box, clipPlanes, modelViewMatrix);
74663
- },
74664
- traverse: function (type, renderObject)
74665
- {
74666
- // Always look at ParticleSystem if you do modify something here and there.
74667
-
74668
- switch (type)
74669
- {
74670
- case Rendering_TraverseType.POINTER:
74671
- {
74672
- renderObject .addPointingShape (this);
74673
- break;
74674
- }
74675
- case Rendering_TraverseType.PICKING:
74676
- {
74677
- this .picking (renderObject);
74678
- break;
74679
- }
74680
- case Rendering_TraverseType.COLLISION:
74681
- {
74682
- renderObject .addCollisionShape (this);
74683
- break;
74684
- }
74685
- case Rendering_TraverseType.SHADOW:
74686
- {
74687
- if (this ._castShadow .getValue ())
74688
- renderObject .addShadowShape (this);
74689
-
74690
- break;
74691
- }
74692
- case Rendering_TraverseType.DISPLAY:
74693
- {
74694
- if (renderObject .addDisplayShape (this))
74695
- this .getAppearance () .traverse (type, renderObject); // Currently used for GeneratedCubeMapTexture.
74696
-
74697
- break;
74698
- }
74699
- }
74700
-
74701
- this .getGeometry () .traverse (type, renderObject); // Currently used for ScreenText.
74702
- },
74703
- picking: function (renderObject)
74704
- {
74705
- const modelMatrix = renderObject .getModelViewMatrix () .get ();
74706
-
74707
- if (this .getTransformSensors () .size)
74708
- {
74709
- for (const transformSensorNode of this .getTransformSensors ())
74710
- transformSensorNode .collect (modelMatrix);
74711
- }
74712
-
74713
- const
74714
- browser = this .getBrowser (),
74715
- pickSensorStack = browser .getPickSensors (),
74716
- pickingHierarchy = browser .getPickingHierarchy ();
74717
-
74718
- pickingHierarchy .push (this);
74719
-
74720
- for (const pickSensor of pickSensorStack .at (-1))
74721
- {
74722
- pickSensor .collect (this .getGeometry (), modelMatrix, pickingHierarchy);
74723
- }
74724
-
74725
- pickingHierarchy .pop ();
74726
- },
74727
- displaySimple: function (gl, renderContext, shaderNode)
74728
- {
74729
- this .getGeometry () .displaySimple (gl, renderContext, shaderNode);
74730
- },
74731
- display: function (gl, renderContext)
74732
- {
74733
- this .getGeometry () .display (gl, renderContext);
74734
- },
74735
- });
74736
-
74737
- const Shape_default_ = Shape;
74738
- ;
74739
-
74740
- x_ite_Namespace.set ("x_ite/Components/Shape/Shape", Shape_default_);
74741
- /* harmony default export */ const Shape_Shape = (Shape_default_);
74742
- ;// CONCATENATED MODULE: ./src/x_ite/Components/Rendering/X3DLineGeometryNode.js
74743
- /*******************************************************************************
74744
- *
74745
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
74746
- *
74747
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
74748
- *
74749
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
74750
- *
74751
- * The copyright notice above does not evidence any actual of intended
74752
- * publication of such source code, and is an unpublished work by create3000.
74753
- * This material contains CONFIDENTIAL INFORMATION that is the property of
74754
- * create3000.
74755
- *
74756
- * No permission is granted to copy, distribute, or create derivative works from
74757
- * the contents of this software, in whole or in part, without the prior written
74758
- * permission of create3000.
74759
- *
74760
- * NON-MILITARY USE ONLY
74761
- *
74762
- * All create3000 software are effectively free software with a non-military use
74763
- * restriction. It is free. Well commented source is provided. You may reuse the
74764
- * source in any way you please with the exception anything that uses it must be
74765
- * marked to indicate is contains 'non-military use only' components.
74766
- *
74767
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
74768
- *
74769
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
74770
- *
74771
- * This file is part of the X_ITE Project.
74772
- *
74773
- * X_ITE is free software: you can redistribute it and/or modify it under the
74774
- * terms of the GNU General Public License version 3 only, as published by the
74775
- * Free Software Foundation.
74776
- *
74777
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
74778
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
74779
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
74780
- * details (a copy is included in the LICENSE file that accompanied this code).
74781
- *
74782
- * You should have received a copy of the GNU General Public License version 3
74783
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
74784
- * copy of the GPLv3 License.
74785
- *
74786
- * For Silvio, Joy and Adi.
74787
- *
74788
- ******************************************************************************/
74789
-
74790
-
74791
-
74792
-
74793
-
74794
-
74795
-
74796
74781
  function X3DLineGeometryNode (executionContext)
74797
74782
  {
74798
74783
  if (!this .getExecutionContext ())
@@ -74802,9 +74787,10 @@ function X3DLineGeometryNode (executionContext)
74802
74787
  browser = this .getBrowser (),
74803
74788
  gl = browser .getContext ();
74804
74789
 
74805
- this .lineStipples = new Float32Array ();
74806
- this .lineStippleBuffer = gl .createBuffer ();
74807
- this .trianglesBuffer = gl .createBuffer ();
74790
+ this .lineStipples = new Float32Array ();
74791
+ this .lineStippleBuffer = gl .createBuffer ();
74792
+ this .trianglesBuffer = gl .createBuffer ();
74793
+ this .thickVertexArrayObject = new Rendering_VertexArray (gl);
74808
74794
 
74809
74795
  this .setGeometryType (1);
74810
74796
  this .setPrimitiveMode (gl .LINES);
@@ -74822,6 +74808,12 @@ X3DLineGeometryNode .prototype = Object .assign (Object .create (Rendering_X3DGe
74822
74808
  {
74823
74809
  return false;
74824
74810
  },
74811
+ updateVertexArrays: function ()
74812
+ {
74813
+ Rendering_X3DGeometryNode.prototype.updateVertexArrays.call (this);
74814
+
74815
+ this .thickVertexArrayObject .update ();
74816
+ },
74825
74817
  buildTexCoords: function ()
74826
74818
  {
74827
74819
  // Line stipple support.
@@ -74833,8 +74825,7 @@ X3DLineGeometryNode .prototype = Object .assign (Object .create (Rendering_X3DGe
74833
74825
  gl = this .getBrowser () .getContext (),
74834
74826
  numLines = this .getVertices () .length / 8;
74835
74827
 
74836
- if (this .lineStipples .length !== numLines * 6)
74837
- this .lineStipples = new Float32Array (numLines * 6);
74828
+ this .lineStipples = new Float32Array (numLines * 6);
74838
74829
 
74839
74830
  gl .bindBuffer (gl .ARRAY_BUFFER, this .lineStippleBuffer);
74840
74831
  gl .bufferData (gl .ARRAY_BUFFER, this .lineStipples, gl .DYNAMIC_DRAW);
@@ -74896,7 +74887,7 @@ X3DLineGeometryNode .prototype = Object .assign (Object .create (Rendering_X3DGe
74896
74887
  {
74897
74888
  // Setup vertex attributes.
74898
74889
 
74899
- if (this .vertexArrayObject .enable (shaderNode))
74890
+ if (this .thickVertexArrayObject .enable (shaderNode))
74900
74891
  {
74901
74892
  const
74902
74893
  stride = 15 * Float32Array .BYTES_PER_ELEMENT,
@@ -74981,7 +74972,7 @@ X3DLineGeometryNode .prototype = Object .assign (Object .create (Rendering_X3DGe
74981
74972
 
74982
74973
  // Setup vertex attributes.
74983
74974
 
74984
- if (this .vertexArrayObject .enable (transformShaderNode))
74975
+ if (this .thickVertexArrayObject .enable (transformShaderNode))
74985
74976
  {
74986
74977
  const
74987
74978
  lineStippleStride = 6 * Float32Array .BYTES_PER_ELEMENT,
@@ -75057,7 +75048,7 @@ X3DLineGeometryNode .prototype = Object .assign (Object .create (Rendering_X3DGe
75057
75048
 
75058
75049
  // Setup vertex attributes.
75059
75050
 
75060
- if (this .vertexArrayObject .enable (shaderNode))
75051
+ if (this .thickVertexArrayObject .enable (shaderNode))
75061
75052
  {
75062
75053
  const
75063
75054
  stride = 15 * Float32Array .BYTES_PER_ELEMENT,
@@ -75289,6 +75280,10 @@ IndexedLineSet .prototype = Object .assign (Object .create (Rendering_X3DLineGeo
75289
75280
  {
75290
75281
  return "geometry";
75291
75282
  },
75283
+ getSpecificationRange: function ()
75284
+ {
75285
+ return ["2.0", "Infinity"];
75286
+ },
75292
75287
  initialize: function ()
75293
75288
  {
75294
75289
  Rendering_X3DLineGeometryNode.prototype.initialize.call (this);
@@ -75488,241 +75483,6 @@ const IndexedLineSet_default_ = IndexedLineSet;
75488
75483
 
75489
75484
  x_ite_Namespace.set ("x_ite/Components/Rendering/IndexedLineSet", IndexedLineSet_default_);
75490
75485
  /* harmony default export */ const Rendering_IndexedLineSet = (IndexedLineSet_default_);
75491
- ;// CONCATENATED MODULE: ./src/x_ite/Components/Rendering/X3DColorNode.js
75492
- /*******************************************************************************
75493
- *
75494
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
75495
- *
75496
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
75497
- *
75498
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
75499
- *
75500
- * The copyright notice above does not evidence any actual of intended
75501
- * publication of such source code, and is an unpublished work by create3000.
75502
- * This material contains CONFIDENTIAL INFORMATION that is the property of
75503
- * create3000.
75504
- *
75505
- * No permission is granted to copy, distribute, or create derivative works from
75506
- * the contents of this software, in whole or in part, without the prior written
75507
- * permission of create3000.
75508
- *
75509
- * NON-MILITARY USE ONLY
75510
- *
75511
- * All create3000 software are effectively free software with a non-military use
75512
- * restriction. It is free. Well commented source is provided. You may reuse the
75513
- * source in any way you please with the exception anything that uses it must be
75514
- * marked to indicate is contains 'non-military use only' components.
75515
- *
75516
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
75517
- *
75518
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
75519
- *
75520
- * This file is part of the X_ITE Project.
75521
- *
75522
- * X_ITE is free software: you can redistribute it and/or modify it under the
75523
- * terms of the GNU General Public License version 3 only, as published by the
75524
- * Free Software Foundation.
75525
- *
75526
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
75527
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
75528
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
75529
- * details (a copy is included in the LICENSE file that accompanied this code).
75530
- *
75531
- * You should have received a copy of the GNU General Public License version 3
75532
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
75533
- * copy of the GPLv3 License.
75534
- *
75535
- * For Silvio, Joy and Adi.
75536
- *
75537
- ******************************************************************************/
75538
-
75539
-
75540
-
75541
-
75542
-
75543
- function X3DColorNode (executionContext)
75544
- {
75545
- Rendering_X3DGeometricPropertyNode.call (this, executionContext);
75546
-
75547
- this .addType (Base_X3DConstants.X3DColorNode);
75548
-
75549
- this .addChildObjects ("transparent", new x_ite_Fields.SFBool ());
75550
-
75551
- this ._transparent .setAccessType (Base_X3DConstants.outputOnly);
75552
- }
75553
-
75554
- X3DColorNode .prototype = Object .assign (Object .create (Rendering_X3DGeometricPropertyNode.prototype),
75555
- {
75556
- constructor: X3DColorNode,
75557
- setTransparent: function (value)
75558
- {
75559
- if (value !== this ._transparent .getValue ())
75560
- this ._transparent = value;
75561
- },
75562
- isTransparent: function ()
75563
- {
75564
- return this ._transparent .getValue ();
75565
- },
75566
- });
75567
-
75568
- const X3DColorNode_default_ = X3DColorNode;
75569
- ;
75570
-
75571
- x_ite_Namespace.set ("x_ite/Components/Rendering/X3DColorNode", X3DColorNode_default_);
75572
- /* harmony default export */ const Rendering_X3DColorNode = (X3DColorNode_default_);
75573
- ;// CONCATENATED MODULE: ./src/x_ite/Components/Rendering/Color.js
75574
- /*******************************************************************************
75575
- *
75576
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
75577
- *
75578
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
75579
- *
75580
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
75581
- *
75582
- * The copyright notice above does not evidence any actual of intended
75583
- * publication of such source code, and is an unpublished work by create3000.
75584
- * This material contains CONFIDENTIAL INFORMATION that is the property of
75585
- * create3000.
75586
- *
75587
- * No permission is granted to copy, distribute, or create derivative works from
75588
- * the contents of this software, in whole or in part, without the prior written
75589
- * permission of create3000.
75590
- *
75591
- * NON-MILITARY USE ONLY
75592
- *
75593
- * All create3000 software are effectively free software with a non-military use
75594
- * restriction. It is free. Well commented source is provided. You may reuse the
75595
- * source in any way you please with the exception anything that uses it must be
75596
- * marked to indicate is contains 'non-military use only' components.
75597
- *
75598
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
75599
- *
75600
- * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
75601
- *
75602
- * This file is part of the X_ITE Project.
75603
- *
75604
- * X_ITE is free software: you can redistribute it and/or modify it under the
75605
- * terms of the GNU General Public License version 3 only, as published by the
75606
- * Free Software Foundation.
75607
- *
75608
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
75609
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
75610
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
75611
- * details (a copy is included in the LICENSE file that accompanied this code).
75612
- *
75613
- * You should have received a copy of the GNU General Public License version 3
75614
- * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
75615
- * copy of the GPLv3 License.
75616
- *
75617
- * For Silvio, Joy and Adi.
75618
- *
75619
- ******************************************************************************/
75620
-
75621
-
75622
-
75623
-
75624
-
75625
-
75626
-
75627
- function Color (executionContext)
75628
- {
75629
- Rendering_X3DColorNode.call (this, executionContext);
75630
-
75631
- this .addType (Base_X3DConstants.Color);
75632
- }
75633
-
75634
- Color .prototype = Object .assign (Object .create (Rendering_X3DColorNode.prototype),
75635
- {
75636
- constructor: Color,
75637
- [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new Base_FieldDefinitionArray ([
75638
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metadata", new x_ite_Fields.SFNode ()),
75639
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "color", new x_ite_Fields.MFColor ()),
75640
- ]),
75641
- getTypeName: function ()
75642
- {
75643
- return "Color";
75644
- },
75645
- getComponentName: function ()
75646
- {
75647
- return "Rendering";
75648
- },
75649
- getContainerField: function ()
75650
- {
75651
- return "color";
75652
- },
75653
- initialize: function ()
75654
- {
75655
- Rendering_X3DColorNode.prototype.initialize.call (this);
75656
-
75657
- this ._color .addInterest ("set_color__", this);
75658
-
75659
- this .set_color__ ();
75660
- },
75661
- set_color__: function ()
75662
- {
75663
- this .color = this ._color .getValue ();
75664
- this .length = this ._color .length;
75665
- },
75666
- addColor: function (index, array)
75667
- {
75668
- if (index >= 0 && index < this .length)
75669
- {
75670
- const color = this .color;
75671
-
75672
- index *= 3;
75673
-
75674
- array .push (color [index], color [index + 1], color [index + 2], 1);
75675
- }
75676
- else if (this .length)
75677
- {
75678
- const color = this .color;
75679
-
75680
- index = (this .length - 1) * 3;
75681
-
75682
- array .push (color [index], color [index + 1], color [index + 2], 1);
75683
- }
75684
- else
75685
- {
75686
- array .push (1, 1, 1, 1);
75687
- }
75688
- },
75689
- addColors: function (array, min)
75690
- {
75691
- if (this .length)
75692
- {
75693
- const color = this .color;
75694
-
75695
- for (var index = 0, length = Math .min (min, this .length) * 3; index < length; index += 3)
75696
- array .push (color [index], color [index + 1], color [index + 2], 1);
75697
-
75698
- if (this .length < min)
75699
- {
75700
- var index = (this .length - 1) * 3;
75701
-
75702
- const
75703
- r = color [index],
75704
- g = color [index + 1],
75705
- b = color [index + 2];
75706
-
75707
- for (var index = length, length = min * 3; index < length; index += 3)
75708
- array .push (r, g, b, 1);
75709
- }
75710
- }
75711
- else
75712
- {
75713
- for (let index = 0; index < min; ++ index)
75714
- array .push (1, 1, 1, 1);
75715
- }
75716
-
75717
- return array;
75718
- },
75719
- });
75720
-
75721
- const Color_default_ = Color;
75722
- ;
75723
-
75724
- x_ite_Namespace.set ("x_ite/Components/Rendering/Color", Color_default_);
75725
- /* harmony default export */ const Rendering_Color = (Color_default_);
75726
75486
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Grouping/X3DGroupingContext.js
75727
75487
  /*******************************************************************************
75728
75488
  *
@@ -75775,9 +75535,7 @@ x_ite_Namespace.set ("x_ite/Components/Rendering/Color", Color_default_);
75775
75535
 
75776
75536
 
75777
75537
 
75778
-
75779
-
75780
- const _bboxNode = Symbol ();
75538
+ const _bboxShape = Symbol ();
75781
75539
 
75782
75540
  function X3DGroupingContext () { }
75783
75541
 
@@ -75787,30 +75545,26 @@ X3DGroupingContext .prototype =
75787
75545
  getBBoxNode: function ()
75788
75546
  {
75789
75547
  const
75790
- bboxNode = new Shape_Shape (this .getPrivateScene ()),
75548
+ bboxShape = new Shape_Shape (this .getPrivateScene ()),
75791
75549
  bboxGeometry = new Rendering_IndexedLineSet (this .getPrivateScene ()),
75792
- bboxColor = new Rendering_Color (this .getPrivateScene ()),
75793
75550
  bboxCoordinate = new Rendering_Coordinate (this .getPrivateScene ());
75794
75551
 
75795
- bboxNode ._geometry = bboxGeometry;
75796
- bboxGeometry ._coordIndex = new x_ite_Fields.MFFloat (0, 1, 2, 3, 0, -1, 4, 5, 6, 7, 4, -1, 0, 4, -1, 1, 5, -1, 2, 6, -1, 3, 7, -1);
75797
- bboxGeometry ._color = bboxColor;
75552
+ bboxShape ._geometry = bboxGeometry;
75553
+ bboxGeometry ._coordIndex = [0, 1, 2, 3, 0, -1, 4, 5, 6, 7, 4, -1, 0, 4, -1, 1, 5, -1, 2, 6, -1, 3, 7, -1];
75798
75554
  bboxGeometry ._coord = bboxCoordinate;
75799
- bboxColor ._color = new x_ite_Fields.MFColor (new x_ite_Fields.SFColor (1, 1, 1));
75800
- bboxCoordinate ._point = new x_ite_Fields.MFVec3f (new x_ite_Fields.SFVec3f (0.5, 0.5, 0.5), new x_ite_Fields.SFVec3f (-0.5, 0.5, 0.5), new x_ite_Fields.SFVec3f (-0.5, -0.5, 0.5), new x_ite_Fields.SFVec3f (0.5, -0.5, 0.5), new x_ite_Fields.SFVec3f (0.5, 0.5, -0.5), new x_ite_Fields.SFVec3f (-0.5, 0.5, -0.5), new x_ite_Fields.SFVec3f (-0.5, -0.5, -0.5), new x_ite_Fields.SFVec3f (0.5, -0.5, -0.5));
75555
+ bboxCoordinate ._point = [0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5];
75801
75556
 
75802
75557
  bboxCoordinate .setup ();
75803
- bboxColor .setup ();
75804
75558
  bboxGeometry .setup ();
75805
- bboxNode .setup ();
75559
+ bboxShape .setup ();
75806
75560
 
75807
- this [_bboxNode] = bboxNode;
75561
+ this [_bboxShape] = bboxShape;
75808
75562
 
75809
- this .getBBoxNode = function () { return this [_bboxNode]; };
75563
+ this .getBBoxNode = function () { return this [_bboxShape]; };
75810
75564
 
75811
75565
  Object .defineProperty (this, "getBBoxNode", { enumerable: false });
75812
75566
 
75813
- return bboxNode;
75567
+ return bboxShape;
75814
75568
  }
75815
75569
  };
75816
75570
 
@@ -75982,6 +75736,10 @@ Viewport .prototype = Object .assign (Object .create (Layering_X3DViewportNode.p
75982
75736
  {
75983
75737
  return "viewport";
75984
75738
  },
75739
+ getSpecificationRange: function ()
75740
+ {
75741
+ return ["3.2", "Infinity"];
75742
+ },
75985
75743
  getRectangle: function ()
75986
75744
  {
75987
75745
  const
@@ -76353,6 +76111,10 @@ OrthoViewpoint .prototype = Object .assign (Object .create (Navigation_X3DViewpo
76353
76111
  {
76354
76112
  return "children";
76355
76113
  },
76114
+ getSpecificationRange: function ()
76115
+ {
76116
+ return ["3.0", "Infinity"];
76117
+ },
76356
76118
  initialize: function ()
76357
76119
  {
76358
76120
  Navigation_X3DViewpointNode.prototype.initialize.call (this);
@@ -77280,6 +77042,10 @@ PositionChaser .prototype = Object .assign (Object .create (Followers_X3DChaserN
77280
77042
  {
77281
77043
  return "children";
77282
77044
  },
77045
+ getSpecificationRange: function ()
77046
+ {
77047
+ return ["3.2", "Infinity"];
77048
+ },
77283
77049
  getVector: function ()
77284
77050
  {
77285
77051
  return new Numbers_Vector3 (0, 0, 0);
@@ -77388,6 +77154,10 @@ OrientationChaser .prototype = Object .assign (Object .create (Followers_X3DChas
77388
77154
  {
77389
77155
  return "children";
77390
77156
  },
77157
+ getSpecificationRange: function ()
77158
+ {
77159
+ return ["3.2", "Infinity"];
77160
+ },
77391
77161
  getVector: function ()
77392
77162
  {
77393
77163
  return new Numbers_Rotation4 (0, 0, 1, 0);
@@ -77416,8 +77186,8 @@ const OrientationChaser_default_ = OrientationChaser;
77416
77186
  x_ite_Namespace.set ("x_ite/Components/Followers/OrientationChaser", OrientationChaser_default_);
77417
77187
  /* harmony default export */ const Followers_OrientationChaser = (OrientationChaser_default_);
77418
77188
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/ExamineViewer.js
77419
- /* provided dependency */ var jquery_mousewheel = __webpack_require__(11);
77420
- /* provided dependency */ var ExamineViewer_$ = __webpack_require__(2);
77189
+ /* provided dependency */ var jquery_mousewheel = __webpack_require__(945);
77190
+ /* provided dependency */ var ExamineViewer_$ = __webpack_require__(869);
77421
77191
  /*******************************************************************************
77422
77192
  *
77423
77193
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -78281,8 +78051,8 @@ const ExamineViewer_default_ = ExamineViewer;
78281
78051
  x_ite_Namespace.set ("x_ite/Browser/Navigation/ExamineViewer", ExamineViewer_default_);
78282
78052
  /* harmony default export */ const Navigation_ExamineViewer = (ExamineViewer_default_);
78283
78053
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/X3DFlyViewer.js
78284
- /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(11);
78285
- /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(2);
78054
+ /* provided dependency */ var X3DFlyViewer_jquery_mousewheel = __webpack_require__(945);
78055
+ /* provided dependency */ var X3DFlyViewer_$ = __webpack_require__(869);
78286
78056
  /*******************************************************************************
78287
78057
  *
78288
78058
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -78469,7 +78239,7 @@ X3DFlyViewer .prototype = Object .assign (Object .create (Navigation_X3DViewer.p
78469
78239
  this .addFly ();
78470
78240
 
78471
78241
  if (this .getBrowser () .getBrowserOption ("Rubberband"))
78472
- this .getBrowser () .finished () .addInterest ("display", this, MOVE);
78242
+ this .getBrowser () .finishedEvents () .addInterest ("display", this, MOVE);
78473
78243
  }
78474
78244
 
78475
78245
  this ._isActive = true;
@@ -78500,7 +78270,7 @@ X3DFlyViewer .prototype = Object .assign (Object .create (Navigation_X3DViewer.p
78500
78270
  this .addPan ();
78501
78271
 
78502
78272
  if (this .getBrowser () .getBrowserOption ("Rubberband"))
78503
- this .getBrowser () .finished () .addInterest ("display", this, PAN);
78273
+ this .getBrowser () .finishedEvents () .addInterest ("display", this, PAN);
78504
78274
 
78505
78275
  this ._isActive = true;
78506
78276
  break;
@@ -78989,7 +78759,7 @@ X3DFlyViewer .prototype = Object .assign (Object .create (Navigation_X3DViewer.p
78989
78759
 
78990
78760
  browser .prepareEvents () .removeInterest ("fly", this);
78991
78761
  browser .prepareEvents () .removeInterest ("pan", this);
78992
- browser .finished () .removeInterest ("display", this);
78762
+ browser .finishedEvents () .removeInterest ("display", this);
78993
78763
 
78994
78764
  this .orientationChaser ._value_changed .removeInterest ("set_orientationOffset__", this);
78995
78765
 
@@ -79232,8 +79002,8 @@ const FlyViewer_default_ = FlyViewer;
79232
79002
  x_ite_Namespace.set ("x_ite/Browser/Navigation/FlyViewer", FlyViewer_default_);
79233
79003
  /* harmony default export */ const Navigation_FlyViewer = (FlyViewer_default_);
79234
79004
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/PlaneViewer.js
79235
- /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(11);
79236
- /* provided dependency */ var PlaneViewer_$ = __webpack_require__(2);
79005
+ /* provided dependency */ var PlaneViewer_jquery_mousewheel = __webpack_require__(945);
79006
+ /* provided dependency */ var PlaneViewer_$ = __webpack_require__(869);
79237
79007
  /*******************************************************************************
79238
79008
  *
79239
79009
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -79542,8 +79312,8 @@ const NoneViewer_default_ = NoneViewer;
79542
79312
  x_ite_Namespace.set ("x_ite/Browser/Navigation/NoneViewer", NoneViewer_default_);
79543
79313
  /* harmony default export */ const Navigation_NoneViewer = (NoneViewer_default_);
79544
79314
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Navigation/LookAtViewer.js
79545
- /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(11);
79546
- /* provided dependency */ var LookAtViewer_$ = __webpack_require__(2);
79315
+ /* provided dependency */ var LookAtViewer_jquery_mousewheel = __webpack_require__(945);
79316
+ /* provided dependency */ var LookAtViewer_$ = __webpack_require__(869);
79547
79317
  /*******************************************************************************
79548
79318
  *
79549
79319
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -80538,6 +80308,10 @@ DirectionalLight .prototype = Object .assign (Object .create (Lighting_X3DLightN
80538
80308
  {
80539
80309
  return "children";
80540
80310
  },
80311
+ getSpecificationRange: function ()
80312
+ {
80313
+ return ["2.0", "Infinity"];
80314
+ },
80541
80315
  getLights: function ()
80542
80316
  {
80543
80317
  return DirectionalLights;
@@ -80849,7 +80623,8 @@ const
80849
80623
  X3DNetworkingContext_loadingObjects = Symbol (),
80850
80624
  _loading = Symbol (),
80851
80625
  _location = Symbol (),
80852
- _defaultScene = Symbol ();
80626
+ _defaultScene = Symbol (),
80627
+ _set_loadCount = Symbol ();
80853
80628
 
80854
80629
  function getBaseURI (element)
80855
80630
  {
@@ -80876,7 +80651,9 @@ function X3DNetworkingContext ()
80876
80651
  X3DNetworkingContext .prototype =
80877
80652
  {
80878
80653
  initialize: function ()
80879
- { },
80654
+ {
80655
+ this ._loadCount .addInterest (_set_loadCount, this);
80656
+ },
80880
80657
  getProviderUrl: function ()
80881
80658
  {
80882
80659
  return Networking_URLs.getProviderUrl ();
@@ -80957,12 +80734,25 @@ X3DNetworkingContext .prototype =
80957
80734
  setLoadCount: function (value)
80958
80735
  {
80959
80736
  this ._loadCount = value;
80737
+ },
80738
+ resetLoadCount: function ()
80739
+ {
80740
+ this ._loadCount = 0;
80741
+ this [_loadingDisplay] = 0;
80742
+ this [_loadingTotal] = 0;
80743
+
80744
+ this [X3DNetworkingContext_loadingObjects] .clear ();
80960
80745
 
80746
+ for (const object of this .getPrivateScene () .getLoadingObjects ())
80747
+ this .addLoadingObject (object);
80748
+ },
80749
+ [_set_loadCount]: function ()
80750
+ {
80961
80751
  const loadingDisplay = [... this [X3DNetworkingContext_loadingObjects]]
80962
80752
  .filter (o => o .isPrivate)
80963
80753
  .reduce ((v, o) => v + !o .isPrivate (), 0);
80964
80754
 
80965
- if (value || this [_loading])
80755
+ if (this ._loadCount .getValue () || this [_loading])
80966
80756
  {
80967
80757
  var string = ((loadingDisplay || 1) === 1
80968
80758
  ? locale_gettext ("Loading %1 file")
@@ -80978,7 +80768,7 @@ X3DNetworkingContext .prototype =
80978
80768
  {
80979
80769
  this .getSplashScreen () .find (".x_ite-private-spinner-text") .text (string);
80980
80770
  this .getSplashScreen () .find (".x_ite-private-progressbar div")
80981
- .css ("width", (100 - 100 * value / this [_loadingTotal]) + "%");
80771
+ .css ("width", (100 - 100 * this ._loadCount .getValue () / this [_loadingTotal]) + "%");
80982
80772
  }
80983
80773
  else
80984
80774
  {
@@ -80988,17 +80778,6 @@ X3DNetworkingContext .prototype =
80988
80778
 
80989
80779
  this [_loadingDisplay] = loadingDisplay;
80990
80780
  },
80991
- resetLoadCount: function ()
80992
- {
80993
- this ._loadCount = 0;
80994
- this [_loadingDisplay] = 0;
80995
- this [_loadingTotal] = 0;
80996
-
80997
- this [X3DNetworkingContext_loadingObjects] .clear ();
80998
-
80999
- for (const object of this .getPrivateScene () .getLoadingObjects ())
81000
- this .addLoadingObject (object);
81001
- },
81002
80781
  };
81003
80782
 
81004
80783
  const X3DNetworkingContext_default_ = X3DNetworkingContext;
@@ -81146,8 +80925,8 @@ const X3DPickingContext_default_ = X3DPickingContext;
81146
80925
  x_ite_Namespace.set ("x_ite/Browser/Picking/X3DPickingContext", X3DPickingContext_default_);
81147
80926
  /* harmony default export */ const Picking_X3DPickingContext = (X3DPickingContext_default_);
81148
80927
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js
81149
- /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(11);
81150
- /* provided dependency */ var PointingDevice_$ = __webpack_require__(2);
80928
+ /* provided dependency */ var PointingDevice_jquery_mousewheel = __webpack_require__(945);
80929
+ /* provided dependency */ var PointingDevice_$ = __webpack_require__(869);
81151
80930
  /*******************************************************************************
81152
80931
  *
81153
80932
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -81274,7 +81053,7 @@ PointingDevice .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
81274
81053
  event .stopImmediatePropagation (); // Keeps the rest of the handlers from being executed
81275
81054
 
81276
81055
  browser .setCursor ("HAND");
81277
- browser .finished () .addInterest ("onverifymotion", this, x, y);
81056
+ browser .finishedEvents () .addInterest ("onverifymotion", this, x, y);
81278
81057
  }
81279
81058
  }
81280
81059
  },
@@ -81295,7 +81074,7 @@ PointingDevice .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
81295
81074
 
81296
81075
  browser .buttonReleaseEvent ();
81297
81076
  browser .setCursor (this .isOver ? "HAND" : "DEFAULT");
81298
- browser .finished () .addInterest ("onverifymotion", this, x, y);
81077
+ browser .finishedEvents () .addInterest ("onverifymotion", this, x, y);
81299
81078
  browser .addBrowserEvent ();
81300
81079
 
81301
81080
  this .cursor = "DEFAULT";
@@ -81422,7 +81201,7 @@ PointingDevice .prototype = Object .assign (Object .create (Base_X3DBaseNode.pro
81422
81201
  // and the new child has a sensor node inside. This sensor node must be update to
81423
81202
  // reflect the correct isOver state.
81424
81203
 
81425
- this .getBrowser () .finished () .removeInterest ("onverifymotion", this);
81204
+ this .getBrowser () .finishedEvents () .removeInterest ("onverifymotion", this);
81426
81205
 
81427
81206
  this .onmotion (x, y);
81428
81207
  },
@@ -82169,8 +81948,8 @@ const MultiSampleFrameBuffer_default_ = MultiSampleFrameBuffer;
82169
81948
  x_ite_Namespace.set ("x_ite/Rendering/MultiSampleFrameBuffer", MultiSampleFrameBuffer_default_);
82170
81949
  /* harmony default export */ const Rendering_MultiSampleFrameBuffer = (MultiSampleFrameBuffer_default_);
82171
81950
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Rendering/X3DRenderingContext.js
82172
- /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(2);
82173
- /* provided dependency */ var ResizeSensor = __webpack_require__(382);
81951
+ /* provided dependency */ var X3DRenderingContext_$ = __webpack_require__(869);
81952
+ /* provided dependency */ var ResizeSensor = __webpack_require__(179);
82174
81953
  /*******************************************************************************
82175
81954
  *
82176
81955
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -88055,6 +87834,7 @@ const X3DShaderNode_default_ = X3DShaderNode;
88055
87834
  x_ite_Namespace.set ("x_ite/Components/Shaders/X3DShaderNode", X3DShaderNode_default_);
88056
87835
  /* harmony default export */ const Shaders_X3DShaderNode = (X3DShaderNode_default_);
88057
87836
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js
87837
+ /* provided dependency */ var X3DProgrammableShaderObject_$ = __webpack_require__(869);
88058
87838
  /*******************************************************************************
88059
87839
  *
88060
87840
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -88363,13 +88143,13 @@ X3DProgrammableShaderObject .prototype =
88363
88143
 
88364
88144
  if (attribute < 0)
88365
88145
  {
88366
- this [`enable${name}Attribute`] = Function .prototype;
88367
- this [`${lcfirst (name)}AttributeDivisor`] = Function .prototype;
88146
+ this [`enable${name}Attribute`] = Function .prototype;
88147
+ this [`${X3DProgrammableShaderObject_$.toLowerCaseFirst (name)}AttributeDivisor`] = Function .prototype;
88368
88148
  }
88369
88149
  else
88370
88150
  {
88371
88151
  delete this [`enable${name}Attribute`];
88372
- delete this [`${lcfirst (name)}AttributeDivisor`];
88152
+ delete this [`${X3DProgrammableShaderObject_$.toLowerCaseFirst (name)}AttributeDivisor`];
88373
88153
  }
88374
88154
  }
88375
88155
 
@@ -89379,11 +89159,6 @@ X3DProgrammableShaderObject .prototype =
89379
89159
  dispose: function () { },
89380
89160
  };
89381
89161
 
89382
- function lcfirst (string)
89383
- {
89384
- return string [0] .toLowerCase () + string .slice (1);
89385
- }
89386
-
89387
89162
  const X3DProgrammableShaderObject_default_ = X3DProgrammableShaderObject;
89388
89163
  ;
89389
89164
 
@@ -89520,7 +89295,7 @@ function LoadSensor (executionContext)
89520
89295
 
89521
89296
  if (executionContext .getSpecificationVersion () < 4)
89522
89297
  this .addAlias ("watchList", this ._children);
89523
-
89298
+
89524
89299
  this .urlObjects = [ ];
89525
89300
  this .aborted = false;
89526
89301
  this .timeOutId = undefined;
@@ -89551,6 +89326,10 @@ LoadSensor .prototype = Object .assign (Object .create (Networking_X3DNetworkSen
89551
89326
  {
89552
89327
  return "children";
89553
89328
  },
89329
+ getSpecificationRange: function ()
89330
+ {
89331
+ return ["3.0", "Infinity"];
89332
+ },
89554
89333
  initialize: function ()
89555
89334
  {
89556
89335
  Networking_X3DNetworkSensorNode.prototype.initialize.call (this);
@@ -89607,45 +89386,54 @@ LoadSensor .prototype = Object .assign (Object .create (Networking_X3DNetworkSen
89607
89386
  {
89608
89387
  const urlObjects = this .urlObjects;
89609
89388
 
89610
- let
89611
- complete = 0,
89612
- failed = 0;
89613
-
89614
- for (const urlObject of urlObjects)
89389
+ if (urlObjects .length)
89615
89390
  {
89616
- complete += urlObject .checkLoadState () == Base_X3DConstants.COMPLETE_STATE;
89617
- failed += urlObject .checkLoadState () == Base_X3DConstants.FAILED_STATE;
89618
- }
89619
-
89620
- const
89621
- loaded = complete == urlObjects .length,
89622
- progress = complete / urlObjects .length;
89391
+ let
89392
+ complete = 0,
89393
+ failed = 0;
89623
89394
 
89624
- if (this .aborted || failed || loaded)
89625
- {
89626
- this .clearTimeout ();
89395
+ for (const urlObject of urlObjects)
89396
+ {
89397
+ complete += urlObject .checkLoadState () == Base_X3DConstants.COMPLETE_STATE;
89398
+ failed += urlObject .checkLoadState () == Base_X3DConstants.FAILED_STATE;
89399
+ }
89627
89400
 
89628
- this ._isActive = false;
89629
- this ._isLoaded = loaded;
89630
- this ._progress = progress;
89401
+ const
89402
+ loaded = complete === urlObjects .length,
89403
+ progress = complete / urlObjects .length;
89631
89404
 
89632
- if (loaded)
89633
- this ._loadTime = this .getBrowser () .getCurrentTime ();
89634
- }
89635
- else
89636
- {
89637
- if (this ._isActive .getValue ())
89405
+ if (this .aborted || failed || loaded)
89638
89406
  {
89407
+ this .clearTimeout ();
89408
+
89409
+ this ._isActive = false;
89410
+ this ._isLoaded = loaded;
89639
89411
  this ._progress = progress;
89412
+
89413
+ if (loaded)
89414
+ this ._loadTime = this .getBrowser () .getCurrentTime ();
89640
89415
  }
89641
89416
  else
89642
89417
  {
89643
- this ._isActive = true;
89644
- this ._progress = progress;
89418
+ if (this ._isActive .getValue ())
89419
+ {
89420
+ this ._progress = progress;
89421
+ }
89422
+ else
89423
+ {
89424
+ this ._isActive = true;
89425
+ this ._progress = progress;
89645
89426
 
89646
- this .set_timeOut__ ();
89427
+ this .set_timeOut__ ();
89428
+ }
89647
89429
  }
89648
89430
  }
89431
+ else
89432
+ {
89433
+ this ._isActive = false;
89434
+ this ._isLoaded = false;
89435
+ this ._progress = 0;
89436
+ }
89649
89437
  },
89650
89438
  abort: function ()
89651
89439
  {
@@ -89796,6 +89584,10 @@ ComposedShader .prototype = Object .assign (Object .create (Shaders_X3DShaderNod
89796
89584
  {
89797
89585
  return "shaders";
89798
89586
  },
89587
+ getSpecificationRange: function ()
89588
+ {
89589
+ return ["3.0", "Infinity"];
89590
+ },
89799
89591
  initialize: function ()
89800
89592
  {
89801
89593
  Shaders_X3DShaderNode.prototype.initialize.call (this);
@@ -89806,10 +89598,10 @@ ComposedShader .prototype = Object .assign (Object .create (Shaders_X3DShaderNod
89806
89598
  // https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/shaders_glsl.html#relinkingprograms
89807
89599
  this ._activate .addInterest ("set_activate__", this);
89808
89600
 
89809
- this ._parts .addFieldInterest (this .loadSensor ._watchList);
89601
+ this ._parts .addFieldInterest (this .loadSensor ._children);
89810
89602
 
89811
89603
  this .loadSensor ._isLoaded .addInterest ("connectLoaded", this);
89812
- this .loadSensor ._watchList = this ._parts;
89604
+ this .loadSensor ._children = this ._parts;
89813
89605
  this .loadSensor .setPrivate (true);
89814
89606
  this .loadSensor .setup ();
89815
89607
 
@@ -89894,7 +89686,7 @@ ComposedShader .prototype = Object .assign (Object .create (Shaders_X3DShaderNod
89894
89686
  {
89895
89687
  const partNode = Base_X3DCast (Base_X3DConstants.ShaderPart, node);
89896
89688
 
89897
- if (partNode)
89689
+ if (partNode?.getShader ())
89898
89690
  gl .attachShader (program, partNode .getShader ());
89899
89691
  }
89900
89692
 
@@ -90837,7 +90629,7 @@ const ShaderCompiler_default_ = ShaderCompiler;
90837
90629
  x_ite_Namespace.set ("x_ite/Browser/Shaders/ShaderCompiler", ShaderCompiler_default_);
90838
90630
  /* harmony default export */ const Shaders_ShaderCompiler = (ShaderCompiler_default_);
90839
90631
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Shaders/ShaderPart.js
90840
- /* provided dependency */ var ShaderPart_$ = __webpack_require__(2);
90632
+ /* provided dependency */ var ShaderPart_$ = __webpack_require__(869);
90841
90633
  /*******************************************************************************
90842
90634
  *
90843
90635
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -90944,6 +90736,10 @@ ShaderPart .prototype = Object .assign (Object .create (Core_X3DNode.prototype),
90944
90736
  {
90945
90737
  return "parts";
90946
90738
  },
90739
+ getSpecificationRange: function ()
90740
+ {
90741
+ return ["3.0", "Infinity"];
90742
+ },
90947
90743
  initialize: function ()
90948
90744
  {
90949
90745
  Core_X3DNode.prototype.initialize.call (this);
@@ -91444,6 +91240,10 @@ Appearance .prototype = Object .assign (Object .create (Shape_X3DAppearanceNode.
91444
91240
  {
91445
91241
  return "appearance";
91446
91242
  },
91243
+ getSpecificationRange: function ()
91244
+ {
91245
+ return ["2.0", "Infinity"];
91246
+ },
91447
91247
  initialize: function ()
91448
91248
  {
91449
91249
  Shape_X3DAppearanceNode.prototype.initialize.call (this);
@@ -91880,6 +91680,10 @@ PointProperties .prototype = Object .assign (Object .create (Shape_X3DAppearance
91880
91680
  {
91881
91681
  return "pointProperties";
91882
91682
  },
91683
+ getSpecificationRange: function ()
91684
+ {
91685
+ return ["4.0", "Infinity"];
91686
+ },
91883
91687
  initialize: function ()
91884
91688
  {
91885
91689
  Shape_X3DAppearanceChildNode.prototype.initialize.call (this);
@@ -92030,6 +91834,10 @@ LineProperties .prototype = Object .assign (Object .create (Shape_X3DAppearanceC
92030
91834
  {
92031
91835
  return "lineProperties";
92032
91836
  },
91837
+ getSpecificationRange: function ()
91838
+ {
91839
+ return ["3.0", "Infinity"];
91840
+ },
92033
91841
  initialize: function ()
92034
91842
  {
92035
91843
  Shape_X3DAppearanceChildNode.prototype.initialize.call (this);
@@ -92512,7 +92320,6 @@ X3DOneSidedMaterialNode .prototype = Object .assign (Object .create (Shape_X3DMa
92512
92320
  Shape_X3DMaterialNode.prototype.initialize.call (this);
92513
92321
 
92514
92322
  this ._emissiveColor .addInterest ("set_emissiveColor__", this);
92515
- this ._emissiveStrength .addInterest ("set_emissiveColor__", this);
92516
92323
  this ._emissiveTexture .addInterest ("set_emissiveTexture__", this);
92517
92324
  this ._normalTexture .addInterest ("set_normalTexture__", this);
92518
92325
  this ._transparency .addInterest ("set_transparency__", this);
@@ -92529,13 +92336,12 @@ X3DOneSidedMaterialNode .prototype = Object .assign (Object .create (Shape_X3DMa
92529
92336
  //this .emissiveColor .set (this ._emissiveColor .getValue ());
92530
92337
 
92531
92338
  const
92532
- emissiveColor = this .emissiveColor,
92533
- emissiveColor_ = this ._emissiveColor .getValue (),
92534
- emissiveStrength = this ._emissiveStrength .getValue ();
92339
+ emissiveColor = this .emissiveColor,
92340
+ emissiveColor_ = this ._emissiveColor .getValue ();
92535
92341
 
92536
- emissiveColor [0] = emissiveColor_ .r * emissiveStrength;
92537
- emissiveColor [1] = emissiveColor_ .g * emissiveStrength;
92538
- emissiveColor [2] = emissiveColor_ .b * emissiveStrength;
92342
+ emissiveColor [0] = emissiveColor_ .r;
92343
+ emissiveColor [1] = emissiveColor_ .g;
92344
+ emissiveColor [2] = emissiveColor_ .b;
92539
92345
  },
92540
92346
  set_emissiveTexture__: function ()
92541
92347
  {
@@ -92714,7 +92520,6 @@ UnlitMaterial .prototype = Object .assign (Object .create (Shape_X3DOneSidedMate
92714
92520
  [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new Base_FieldDefinitionArray ([
92715
92521
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metadata", new x_ite_Fields.SFNode ()),
92716
92522
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveColor", new x_ite_Fields.SFColor (1, 1, 1)),
92717
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveStrength", new x_ite_Fields.SFFloat (1)),
92718
92523
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveTextureMapping", new x_ite_Fields.SFString ()),
92719
92524
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveTexture", new x_ite_Fields.SFNode ()),
92720
92525
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "normalScale", new x_ite_Fields.SFFloat (1)),
@@ -92734,6 +92539,10 @@ UnlitMaterial .prototype = Object .assign (Object .create (Shape_X3DOneSidedMate
92734
92539
  {
92735
92540
  return "material";
92736
92541
  },
92542
+ getSpecificationRange: function ()
92543
+ {
92544
+ return ["4.0", "Infinity"];
92545
+ },
92737
92546
  initialize: function ()
92738
92547
  {
92739
92548
  Shape_X3DOneSidedMaterialNode.prototype.initialize.call (this);
@@ -93312,6 +93121,10 @@ TextureTransform .prototype = Object .assign (Object .create (Texturing_X3DSingl
93312
93121
  {
93313
93122
  return "textureTransform";
93314
93123
  },
93124
+ getSpecificationRange: function ()
93125
+ {
93126
+ return ["2.0", "Infinity"];
93127
+ },
93315
93128
  initialize: function ()
93316
93129
  {
93317
93130
  Texturing_X3DSingleTextureTransformNode.prototype.initialize.call (this);
@@ -94074,12 +93887,13 @@ function X3DBrowserContext (element)
94074
93887
  for (const browserContext of browserContexts)
94075
93888
  browserContext .call (this);
94076
93889
 
94077
- this .addChildObjects ("initialized", new Fields_SFTime (),
94078
- "shutdown", new Fields_SFTime (),
94079
- "prepareEvents", new Fields_SFTime (),
94080
- "timeEvents", new Fields_SFTime (),
94081
- "sensorEvents", new Fields_SFTime (),
94082
- "finished", new Fields_SFTime ());
93890
+ this .addChildObjects ("initialized", new Fields_SFTime (),
93891
+ "shutdown", new Fields_SFTime (),
93892
+ "prepareEvents", new Fields_SFTime (),
93893
+ "timeEvents", new Fields_SFTime (),
93894
+ "sensorEvents", new Fields_SFTime (),
93895
+ "displayEvents", new Fields_SFTime (),
93896
+ "finishedEvents", new Fields_SFTime ());
94083
93897
 
94084
93898
  this [_changedTime] = 0;
94085
93899
  this [_previousTime] = 0;
@@ -94164,9 +93978,13 @@ X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.
94164
93978
  {
94165
93979
  return this ._sensorEvents;
94166
93980
  },
94167
- finished: function ()
93981
+ displayEvents: function ()
93982
+ {
93983
+ return this ._displayEvents;
93984
+ },
93985
+ finishedEvents: function ()
94168
93986
  {
94169
- return this ._finished;
93987
+ return this ._finishedEvents;
94170
93988
  },
94171
93989
  getBrowser: function ()
94172
93990
  {
@@ -94227,10 +94045,10 @@ X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.
94227
94045
 
94228
94046
  // Events
94229
94047
 
94230
- this ._prepareEvents .processInterests ();
94048
+ this .addTaintedField (this ._prepareEvents);
94231
94049
  this [_processEvents] ();
94232
94050
 
94233
- this ._timeEvents .processInterests ();
94051
+ this .addTaintedField (this ._timeEvents);
94234
94052
  this [_processEvents] ();
94235
94053
 
94236
94054
  // Camera
@@ -94250,13 +94068,16 @@ X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.
94250
94068
 
94251
94069
  // Events
94252
94070
 
94253
- this ._sensorEvents .processInterests ();
94071
+ this .addTaintedField (this ._sensorEvents);
94254
94072
  this [_processEvents] ();
94255
94073
 
94256
94074
  // Display
94257
94075
 
94258
94076
  this [_displayTime] .start ()
94259
94077
 
94078
+ this .addTaintedField (this ._displayEvents);
94079
+ this [_processEvents] ();
94080
+
94260
94081
  const gl = this .getContext ();
94261
94082
 
94262
94083
  this .getFrameBuffer () .bind ();
@@ -94272,7 +94093,8 @@ X3DBrowserContext .prototype = Object .assign (Object .create (Base_X3DBaseNode.
94272
94093
 
94273
94094
  // Finish
94274
94095
 
94275
- this ._finished .processInterests ();
94096
+ this .addTaintedField (this ._finishedEvents);
94097
+ this [_processEvents] ();
94276
94098
 
94277
94099
  this [_browserTime] .stop ();
94278
94100
  this [_systemTime] .start ();
@@ -94499,6 +94321,10 @@ MetadataBoolean .prototype = Object .assign (Object .create (Core_X3DNode.protot
94499
94321
  {
94500
94322
  return "metadata";
94501
94323
  },
94324
+ getSpecificationRange: function ()
94325
+ {
94326
+ return ["3.3", "Infinity"];
94327
+ },
94502
94328
  initialize: function ()
94503
94329
  {
94504
94330
  Core_X3DNode.prototype.initialize.call ();
@@ -94601,6 +94427,10 @@ MetadataDouble .prototype = Object .assign (Object .create (Core_X3DNode.prototy
94601
94427
  {
94602
94428
  return "metadata";
94603
94429
  },
94430
+ getSpecificationRange: function ()
94431
+ {
94432
+ return ["3.0", "Infinity"];
94433
+ },
94604
94434
  initialize: function ()
94605
94435
  {
94606
94436
  Core_X3DNode.prototype.initialize.call ();
@@ -94703,6 +94533,10 @@ MetadataFloat .prototype = Object .assign (Object .create (Core_X3DNode.prototyp
94703
94533
  {
94704
94534
  return "metadata";
94705
94535
  },
94536
+ getSpecificationRange: function ()
94537
+ {
94538
+ return ["3.0", "Infinity"];
94539
+ },
94706
94540
  initialize: function ()
94707
94541
  {
94708
94542
  Core_X3DNode.prototype.initialize.call ();
@@ -94805,6 +94639,10 @@ MetadataInteger .prototype = Object .assign (Object .create (Core_X3DNode.protot
94805
94639
  {
94806
94640
  return "metadata";
94807
94641
  },
94642
+ getSpecificationRange: function ()
94643
+ {
94644
+ return ["3.0", "Infinity"];
94645
+ },
94808
94646
  initialize: function ()
94809
94647
  {
94810
94648
  Core_X3DNode.prototype.initialize.call ();
@@ -94907,6 +94745,10 @@ MetadataSet .prototype = Object .assign (Object .create (Core_X3DNode.prototype)
94907
94745
  {
94908
94746
  return "metadata";
94909
94747
  },
94748
+ getSpecificationRange: function ()
94749
+ {
94750
+ return ["3.0", "Infinity"];
94751
+ },
94910
94752
  initialize: function ()
94911
94753
  {
94912
94754
  Core_X3DNode.prototype.initialize.call ();
@@ -95009,6 +94851,10 @@ MetadataString .prototype = Object .assign (Object .create (Core_X3DNode.prototy
95009
94851
  {
95010
94852
  return "metadata";
95011
94853
  },
94854
+ getSpecificationRange: function ()
94855
+ {
94856
+ return ["3.0", "Infinity"];
94857
+ },
95012
94858
  initialize: function ()
95013
94859
  {
95014
94860
  Core_X3DNode.prototype.initialize.call ();
@@ -95175,6 +95021,10 @@ WorldInfo .prototype = Object .assign (Object .create (Core_X3DInfoNode.prototyp
95175
95021
  {
95176
95022
  return "children";
95177
95023
  },
95024
+ getSpecificationRange: function ()
95025
+ {
95026
+ return ["2.0", "Infinity"];
95027
+ },
95178
95028
  initialize: function ()
95179
95029
  {
95180
95030
  Core_X3DInfoNode.prototype.initialize.call (this);
@@ -95373,6 +95223,10 @@ FogCoordinate .prototype = Object .assign (Object .create (Rendering_X3DGeometri
95373
95223
  {
95374
95224
  return "fogCoord";
95375
95225
  },
95226
+ getSpecificationRange: function ()
95227
+ {
95228
+ return ["3.0", "Infinity"];
95229
+ },
95376
95230
  initialize: function ()
95377
95231
  {
95378
95232
  Rendering_X3DGeometricPropertyNode.prototype.initialize.call (this);
@@ -95520,6 +95374,10 @@ LocalFog .prototype = Object .assign (Object .create (Core_X3DChildNode.prototyp
95520
95374
  {
95521
95375
  return "children";
95522
95376
  },
95377
+ getSpecificationRange: function ()
95378
+ {
95379
+ return ["3.0", "Infinity"];
95380
+ },
95523
95381
  initialize: function ()
95524
95382
  {
95525
95383
  Core_X3DChildNode.prototype.initialize.call (this);
@@ -95647,6 +95505,10 @@ TextureBackground .prototype = Object .assign (Object .create (EnvironmentalEffe
95647
95505
  {
95648
95506
  return "children";
95649
95507
  },
95508
+ getSpecificationRange: function ()
95509
+ {
95510
+ return ["3.0", "Infinity"];
95511
+ },
95650
95512
  initialize: function ()
95651
95513
  {
95652
95514
  EnvironmentalEffects_X3DBackgroundNode.prototype.initialize.call (this);
@@ -96019,6 +95881,10 @@ ProximitySensor .prototype = Object .assign (Object .create (EnvironmentalSensor
96019
95881
  {
96020
95882
  return "children";
96021
95883
  },
95884
+ getSpecificationRange: function ()
95885
+ {
95886
+ return ["2.0", "Infinity"];
95887
+ },
96022
95888
  initialize: function ()
96023
95889
  {
96024
95890
  EnvironmentalSensor_X3DEnvironmentalSensorNode.prototype.initialize.call (this);
@@ -96289,6 +96155,10 @@ TransformSensor .prototype = Object .assign (Object .create (EnvironmentalSensor
96289
96155
  {
96290
96156
  return "children";
96291
96157
  },
96158
+ getSpecificationRange: function ()
96159
+ {
96160
+ return ["3.2", "Infinity"];
96161
+ },
96292
96162
  initialize: function ()
96293
96163
  {
96294
96164
  EnvironmentalSensor_X3DEnvironmentalSensorNode.prototype.initialize.call (this);
@@ -96583,6 +96453,10 @@ VisibilitySensor .prototype = Object .assign (Object .create (EnvironmentalSenso
96583
96453
  {
96584
96454
  return "children";
96585
96455
  },
96456
+ getSpecificationRange: function ()
96457
+ {
96458
+ return ["2.0", "Infinity"];
96459
+ },
96586
96460
  initialize: function ()
96587
96461
  {
96588
96462
  EnvironmentalSensor_X3DEnvironmentalSensorNode.prototype.initialize.call (this);
@@ -96829,6 +96703,10 @@ ColorChaser .prototype = Object .assign (Object .create (Followers_X3DChaserNode
96829
96703
  {
96830
96704
  return "children";
96831
96705
  },
96706
+ getSpecificationRange: function ()
96707
+ {
96708
+ return ["3.3", "Infinity"];
96709
+ },
96832
96710
  getVector: function ()
96833
96711
  {
96834
96712
  return new Numbers_Vector3 (0, 0, 0);
@@ -97136,6 +97014,10 @@ ColorDamper .prototype = Object .assign (Object .create (Followers_X3DDamperNode
97136
97014
  {
97137
97015
  return "children";
97138
97016
  },
97017
+ getSpecificationRange: function ()
97018
+ {
97019
+ return ["3.2", "Infinity"];
97020
+ },
97139
97021
  getVector: function ()
97140
97022
  {
97141
97023
  return new Numbers_Vector3 (0, 0, 0);
@@ -97531,6 +97413,10 @@ CoordinateChaser .prototype = Object .assign (Object .create (Followers_X3DChase
97531
97413
  {
97532
97414
  return "children";
97533
97415
  },
97416
+ getSpecificationRange: function ()
97417
+ {
97418
+ return ["3.3", "Infinity"];
97419
+ },
97534
97420
  getVector: function ()
97535
97421
  {
97536
97422
  return new Numbers_Vector3 (0, 0, 0);
@@ -97636,6 +97522,10 @@ CoordinateDamper .prototype = Object .assign (Object .create (Followers_X3DDampe
97636
97522
  {
97637
97523
  return "children";
97638
97524
  },
97525
+ getSpecificationRange: function ()
97526
+ {
97527
+ return ["3.2", "Infinity"];
97528
+ },
97639
97529
  getVector: function ()
97640
97530
  {
97641
97531
  return new Numbers_Vector3 (0, 0, 0);
@@ -97746,6 +97636,10 @@ OrientationDamper .prototype = Object .assign (Object .create (Followers_X3DDamp
97746
97636
  {
97747
97637
  return "children";
97748
97638
  },
97639
+ getSpecificationRange: function ()
97640
+ {
97641
+ return ["3.2", "Infinity"];
97642
+ },
97749
97643
  getVector: function ()
97750
97644
  {
97751
97645
  return new Numbers_Rotation4 (0, 0, 1, 0);
@@ -97854,6 +97748,10 @@ PositionChaser2D .prototype = Object .assign (Object .create (Followers_X3DChase
97854
97748
  {
97855
97749
  return "children";
97856
97750
  },
97751
+ getSpecificationRange: function ()
97752
+ {
97753
+ return ["3.2", "Infinity"];
97754
+ },
97857
97755
  getVector: function ()
97858
97756
  {
97859
97757
  return new Numbers_Vector2 (0, 0);
@@ -97954,6 +97852,10 @@ PositionDamper .prototype = Object .assign (Object .create (Followers_X3DDamperN
97954
97852
  {
97955
97853
  return "children";
97956
97854
  },
97855
+ getSpecificationRange: function ()
97856
+ {
97857
+ return ["3.2", "Infinity"];
97858
+ },
97957
97859
  getVector: function ()
97958
97860
  {
97959
97861
  return new Numbers_Vector3 (0, 0, 0);
@@ -98054,6 +97956,10 @@ PositionDamper2D .prototype = Object .assign (Object .create (Followers_X3DDampe
98054
97956
  {
98055
97957
  return "children";
98056
97958
  },
97959
+ getSpecificationRange: function ()
97960
+ {
97961
+ return ["3.2", "Infinity"];
97962
+ },
98057
97963
  getVector: function ()
98058
97964
  {
98059
97965
  return new Numbers_Vector2 (0, 0);
@@ -98152,6 +98058,10 @@ ScalarChaser .prototype = Object .assign (Object .create (Followers_X3DChaserNod
98152
98058
  {
98153
98059
  return "children";
98154
98060
  },
98061
+ getSpecificationRange: function ()
98062
+ {
98063
+ return ["3.2", "Infinity"];
98064
+ },
98155
98065
  getVector: function ()
98156
98066
  {
98157
98067
  return 0;
@@ -98280,6 +98190,10 @@ ScalarDamper .prototype = Object .assign (Object .create (Followers_X3DDamperNod
98280
98190
  {
98281
98191
  return "children";
98282
98192
  },
98193
+ getSpecificationRange: function ()
98194
+ {
98195
+ return ["3.3", "Infinity"];
98196
+ },
98283
98197
  getVector: function ()
98284
98198
  {
98285
98199
  return 0;
@@ -98399,6 +98313,10 @@ TexCoordChaser2D .prototype = Object .assign (Object .create (Followers_X3DChase
98399
98313
  {
98400
98314
  return "children";
98401
98315
  },
98316
+ getSpecificationRange: function ()
98317
+ {
98318
+ return ["3.3", "Infinity"];
98319
+ },
98402
98320
  getVector: function ()
98403
98321
  {
98404
98322
  return new Numbers_Vector2 (0, 0);
@@ -98504,6 +98422,10 @@ TexCoordDamper2D .prototype = Object .assign (Object .create (Followers_X3DDampe
98504
98422
  {
98505
98423
  return "children";
98506
98424
  },
98425
+ getSpecificationRange: function ()
98426
+ {
98427
+ return ["3.2", "Infinity"];
98428
+ },
98507
98429
  getVector: function ()
98508
98430
  {
98509
98431
  return new Numbers_Vector2 (0, 0, 0);
@@ -98702,6 +98624,10 @@ Box .prototype = Object .assign (Object .create (Rendering_X3DGeometryNode.proto
98702
98624
  {
98703
98625
  return "geometry";
98704
98626
  },
98627
+ getSpecificationRange: function ()
98628
+ {
98629
+ return ["2.0", "Infinity"];
98630
+ },
98705
98631
  build: (function ()
98706
98632
  {
98707
98633
  const defaultSize = new Numbers_Vector3 (2, 2, 2);
@@ -98851,6 +98777,10 @@ Cone .prototype = Object .assign (Object .create (Rendering_X3DGeometryNode.prot
98851
98777
  {
98852
98778
  return "geometry";
98853
98779
  },
98780
+ getSpecificationRange: function ()
98781
+ {
98782
+ return ["2.0", "Infinity"];
98783
+ },
98854
98784
  set_live__: function ()
98855
98785
  {
98856
98786
  Rendering_X3DGeometryNode.prototype.set_live__.call (this);
@@ -99090,6 +99020,10 @@ Cylinder .prototype = Object .assign (Object .create (Rendering_X3DGeometryNode.
99090
99020
  {
99091
99021
  return "geometry";
99092
99022
  },
99023
+ getSpecificationRange: function ()
99024
+ {
99025
+ return ["2.0", "Infinity"];
99026
+ },
99093
99027
  set_live__: function ()
99094
99028
  {
99095
99029
  Rendering_X3DGeometryNode.prototype.set_live__.call (this);
@@ -99408,6 +99342,10 @@ ElevationGrid .prototype = Object .assign (Object .create (Rendering_X3DGeometry
99408
99342
  {
99409
99343
  return "geometry";
99410
99344
  },
99345
+ getSpecificationRange: function ()
99346
+ {
99347
+ return ["2.0", "Infinity"];
99348
+ },
99411
99349
  initialize: function ()
99412
99350
  {
99413
99351
  Rendering_X3DGeometryNode.prototype.initialize.call (this);
@@ -99823,6 +99761,10 @@ Extrusion .prototype = Object .assign (Object .create (Rendering_X3DGeometryNode
99823
99761
  {
99824
99762
  return "geometry";
99825
99763
  },
99764
+ getSpecificationRange: function ()
99765
+ {
99766
+ return ["2.0", "Infinity"];
99767
+ },
99826
99768
  initialize: function ()
99827
99769
  {
99828
99770
  Rendering_X3DGeometryNode.prototype.initialize.call (this);
@@ -100514,6 +100456,10 @@ Sphere .prototype = Object .assign (Object .create (Rendering_X3DGeometryNode.pr
100514
100456
  {
100515
100457
  return "geometry";
100516
100458
  },
100459
+ getSpecificationRange: function ()
100460
+ {
100461
+ return ["2.0", "Infinity"];
100462
+ },
100517
100463
  set_live__: function ()
100518
100464
  {
100519
100465
  Rendering_X3DGeometryNode.prototype.set_live__.call (this);
@@ -100754,11 +100700,17 @@ StaticGroup .prototype = Object .assign (Object .create (Core_X3DChildNode.proto
100754
100700
  {
100755
100701
  return "children";
100756
100702
  },
100703
+ getSpecificationRange: function ()
100704
+ {
100705
+ return ["3.0", "Infinity"];
100706
+ },
100757
100707
  initialize: function ()
100758
100708
  {
100759
100709
  Core_X3DChildNode.prototype.initialize.call (this);
100760
100710
  Grouping_X3DBoundedObject.prototype.initialize.call (this);
100761
100711
 
100712
+ this .getBrowser () .getBrowserOptions () ._OptimizeStaticGroup .addInterest ("set_optimize__", this);
100713
+
100762
100714
  this ._bboxSize .addFieldInterest (this .groupNode ._bboxSize);
100763
100715
  this ._bboxCenter .addFieldInterest (this .groupNode ._bboxCenter);
100764
100716
  this ._children .addFieldInterest (this .groupNode ._children);
@@ -100777,12 +100729,24 @@ StaticGroup .prototype = Object .assign (Object .create (Core_X3DChildNode.proto
100777
100729
  this .setCameraObject (this .groupNode .isCameraObject ());
100778
100730
  this .setPickableObject (this .groupNode .isPickableObject ());
100779
100731
 
100732
+ this .set_optimize__ ();
100780
100733
  this .set_children__ ();
100781
100734
  },
100782
100735
  getBBox: function (bbox, shadows)
100783
100736
  {
100784
100737
  return bbox .assign (shadows ? this .shadowBBox : this .bbox);
100785
100738
  },
100739
+ set_optimize__: function ()
100740
+ {
100741
+ if (this .getBrowser () .getBrowserOption ("OptimizeStaticGroup"))
100742
+ {
100743
+ delete this .traverse;
100744
+ }
100745
+ else
100746
+ {
100747
+ this .traverse = traverse;
100748
+ }
100749
+ },
100786
100750
  set_children__: function ()
100787
100751
  {
100788
100752
  this .groupNode .getBBox (this .bbox);
@@ -100879,6 +100843,11 @@ StaticGroup .prototype = Object .assign (Object .create (Core_X3DChildNode.proto
100879
100843
  },
100880
100844
  });
100881
100845
 
100846
+ function traverse (type, renderObject)
100847
+ {
100848
+ this .groupNode .traverse (type, renderObject);
100849
+ }
100850
+
100882
100851
  const StaticGroup_default_ = StaticGroup;
100883
100852
  ;
100884
100853
 
@@ -100980,6 +100949,10 @@ Switch .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
100980
100949
  {
100981
100950
  return "children";
100982
100951
  },
100952
+ getSpecificationRange: function ()
100953
+ {
100954
+ return ["2.0", "Infinity"];
100955
+ },
100983
100956
  initialize: function ()
100984
100957
  {
100985
100958
  Grouping_X3DGroupingNode.prototype.initialize.call (this);
@@ -100995,10 +100968,7 @@ Switch .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
100995
100968
  {
100996
100969
  const boundedObject = Base_X3DCast (Base_X3DConstants.X3DBoundedObject, this .visibleNode);
100997
100970
 
100998
- if (boundedObject)
100999
- return boundedObject .getBBox (bbox, shadows);
101000
-
101001
- return bbox .set ();
100971
+ return boundedObject?.getBBox (bbox, shadows) ?? bbox .set ();
101002
100972
  }
101003
100973
 
101004
100974
  return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
@@ -101052,11 +101022,11 @@ Switch .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
101052
101022
  },
101053
101023
  set_cameraObject__: function ()
101054
101024
  {
101055
- this .setCameraObject (!!(this .visibleNode && this .visibleNode .isCameraObject ()));
101025
+ this .setCameraObject (!!this .visibleNode?.isCameraObject ());
101056
101026
  },
101057
101027
  set_transformSensors__: function ()
101058
101028
  {
101059
- this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode && this .visibleNode .isPickableObject ()));
101029
+ this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode?.isPickableObject ()));
101060
101030
  },
101061
101031
  set_visible__: function ()
101062
101032
  {
@@ -101083,11 +101053,7 @@ Switch .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
101083
101053
  case Rendering_TraverseType.CAMERA:
101084
101054
  case Rendering_TraverseType.SHADOW:
101085
101055
  {
101086
- const visibleNode = this .visibleNode;
101087
-
101088
- if (visibleNode)
101089
- visibleNode .traverse (type, renderObject);
101090
-
101056
+ this .visibleNode?.traverse (type, renderObject);
101091
101057
  return;
101092
101058
  }
101093
101059
  case Rendering_TraverseType.PICKING:
@@ -101119,25 +101085,14 @@ Switch .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
101119
101085
  }
101120
101086
  case Rendering_TraverseType.COLLISION:
101121
101087
  {
101122
- const visibleNode = this .visibleNode;
101123
-
101124
- if (visibleNode)
101125
- visibleNode .traverse (type, renderObject);
101126
-
101088
+ this .visibleNode?.traverse (type, renderObject);
101127
101089
  return;
101128
101090
  }
101129
101091
  case Rendering_TraverseType.DISPLAY:
101130
101092
  {
101131
- const visibleNode = this .visibleNode;
101132
-
101133
- if (visibleNode)
101134
- visibleNode .traverse (type, renderObject);
101135
-
101136
- const boundedObject = this .boundedObject;
101137
-
101138
- if (boundedObject)
101139
- boundedObject .displayBBox (type, renderObject);
101093
+ this .visibleNode?.traverse (type, renderObject);
101140
101094
 
101095
+ this .boundedObject?.displayBBox (type, renderObject);
101141
101096
  return;
101142
101097
  }
101143
101098
  }
@@ -101454,6 +101409,10 @@ Transform .prototype = Object .assign (Object .create (Grouping_X3DTransformNode
101454
101409
  {
101455
101410
  return "children";
101456
101411
  },
101412
+ getSpecificationRange: function ()
101413
+ {
101414
+ return ["2.0", "Infinity"];
101415
+ },
101457
101416
  });
101458
101417
 
101459
101418
  const Transform_default_ = Transform;
@@ -101632,6 +101591,10 @@ ColorInterpolator .prototype = Object .assign (Object .create (Interpolation_X3D
101632
101591
  {
101633
101592
  return "children";
101634
101593
  },
101594
+ getSpecificationRange: function ()
101595
+ {
101596
+ return ["2.0", "Infinity"];
101597
+ },
101635
101598
  initialize: function ()
101636
101599
  {
101637
101600
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -101752,6 +101715,10 @@ CoordinateInterpolator .prototype = Object .assign (Object .create (Interpolatio
101752
101715
  {
101753
101716
  return "children";
101754
101717
  },
101718
+ getSpecificationRange: function ()
101719
+ {
101720
+ return ["2.0", "Infinity"];
101721
+ },
101755
101722
  set_keyValue__: function () { },
101756
101723
  interpolate: function (index0, index1, weight)
101757
101724
  {
@@ -101874,6 +101841,10 @@ CoordinateInterpolator2D .prototype = Object .assign (Object .create (Interpolat
101874
101841
  {
101875
101842
  return "children";
101876
101843
  },
101844
+ getSpecificationRange: function ()
101845
+ {
101846
+ return ["3.0", "Infinity"];
101847
+ },
101877
101848
  set_keyValue__: function () { },
101878
101849
  interpolate: function (index0, index1, weight)
101879
101850
  {
@@ -101994,6 +101965,10 @@ NormalInterpolator .prototype = Object .assign (Object .create (Interpolation_X3
101994
101965
  {
101995
101966
  return "children";
101996
101967
  },
101968
+ getSpecificationRange: function ()
101969
+ {
101970
+ return ["2.0", "Infinity"];
101971
+ },
101997
101972
  initialize: function ()
101998
101973
  {
101999
101974
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -102141,6 +102116,10 @@ PositionInterpolator2D .prototype = Object .assign (Object .create (Interpolatio
102141
102116
  {
102142
102117
  return "children";
102143
102118
  },
102119
+ getSpecificationRange: function ()
102120
+ {
102121
+ return ["3.0", "Infinity"];
102122
+ },
102144
102123
  initialize: function ()
102145
102124
  {
102146
102125
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -102624,6 +102603,10 @@ SplinePositionInterpolator .prototype = Object .assign (Object .create (Interpol
102624
102603
  {
102625
102604
  return "children";
102626
102605
  },
102606
+ getSpecificationRange: function ()
102607
+ {
102608
+ return ["3.2", "Infinity"];
102609
+ },
102627
102610
  initialize: function ()
102628
102611
  {
102629
102612
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -102819,6 +102802,10 @@ SplinePositionInterpolator2D .prototype = Object .assign (Object .create (Interp
102819
102802
  {
102820
102803
  return "children";
102821
102804
  },
102805
+ getSpecificationRange: function ()
102806
+ {
102807
+ return ["3.2", "Infinity"];
102808
+ },
102822
102809
  initialize: function ()
102823
102810
  {
102824
102811
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -103049,6 +103036,10 @@ SplineScalarInterpolator .prototype = Object .assign (Object .create (Interpolat
103049
103036
  {
103050
103037
  return "children";
103051
103038
  },
103039
+ getSpecificationRange: function ()
103040
+ {
103041
+ return ["3.2", "Infinity"];
103042
+ },
103052
103043
  initialize: function ()
103053
103044
  {
103054
103045
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -103300,6 +103291,10 @@ SquadOrientationInterpolator .prototype = Object .assign (Object .create (Interp
103300
103291
  {
103301
103292
  return "children";
103302
103293
  },
103294
+ getSpecificationRange: function ()
103295
+ {
103296
+ return ["3.2", "Infinity"];
103297
+ },
103303
103298
  initialize: function ()
103304
103299
  {
103305
103300
  Interpolation_X3DInterpolatorNode.prototype.initialize.call (this);
@@ -103650,6 +103645,10 @@ EnvironmentLight .prototype = Object .assign (Object .create (Lighting_X3DLightN
103650
103645
  {
103651
103646
  return "children";
103652
103647
  },
103648
+ getSpecificationRange: function ()
103649
+ {
103650
+ return ["4.0", "Infinity"];
103651
+ },
103653
103652
  getLights: function ()
103654
103653
  {
103655
103654
  return EnvironmentLights;
@@ -103968,6 +103967,10 @@ PointLight .prototype = Object .assign (Object .create (Lighting_X3DLightNode.pr
103968
103967
  {
103969
103968
  return "children";
103970
103969
  },
103970
+ getSpecificationRange: function ()
103971
+ {
103972
+ return ["2.0", "Infinity"];
103973
+ },
103971
103974
  getAttenuation: function ()
103972
103975
  {
103973
103976
  return this ._attenuation .getValue ();
@@ -104253,16 +104256,10 @@ function SpotLight (executionContext)
104253
104256
 
104254
104257
  this .addType (Base_X3DConstants.SpotLight);
104255
104258
 
104256
- switch (executionContext .getSpecificationVersion ())
104259
+ if (executionContext .getSpecificationVersion () <= 3.2)
104257
104260
  {
104258
- case "2.0":
104259
- case "3.0":
104260
- case "3.1":
104261
- case "3.2":
104262
- {
104263
- this ._beamWidth = 1.5708;
104264
- this ._cutOffAngle = 0.785398;
104265
- }
104261
+ this ._beamWidth = 1.5708;
104262
+ this ._cutOffAngle = 0.785398;
104266
104263
  }
104267
104264
 
104268
104265
  this ._location .setUnit ("length");
@@ -104306,6 +104303,10 @@ SpotLight .prototype = Object .assign (Object .create (Lighting_X3DLightNode.pro
104306
104303
  {
104307
104304
  return "children";
104308
104305
  },
104306
+ getSpecificationRange: function ()
104307
+ {
104308
+ return ["2.0", "Infinity"];
104309
+ },
104309
104310
  getAttenuation: function ()
104310
104311
  {
104311
104312
  return this ._attenuation .getValue ();
@@ -104518,6 +104519,10 @@ Billboard .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.
104518
104519
  {
104519
104520
  return "children";
104520
104521
  },
104522
+ getSpecificationRange: function ()
104523
+ {
104524
+ return ["2.0", "Infinity"];
104525
+ },
104521
104526
  getBBox: function (bbox, shadows)
104522
104527
  {
104523
104528
  return Grouping_X3DGroupingNode.prototype.getBBox.call (this, bbox, shadows) .multRight (this .matrix);
@@ -104701,6 +104706,10 @@ Collision .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.
104701
104706
  {
104702
104707
  return "children";
104703
104708
  },
104709
+ getSpecificationRange: function ()
104710
+ {
104711
+ return ["2.0", "Infinity"];
104712
+ },
104704
104713
  initialize: function ()
104705
104714
  {
104706
104715
  Grouping_X3DGroupingNode.prototype.initialize.call (this);
@@ -104883,6 +104892,10 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
104883
104892
  {
104884
104893
  return "children";
104885
104894
  },
104895
+ getSpecificationRange: function ()
104896
+ {
104897
+ return ["2.0", "Infinity"];
104898
+ },
104886
104899
  initialize: function ()
104887
104900
  {
104888
104901
  Grouping_X3DGroupingNode.prototype.initialize.call (this);
@@ -104895,10 +104908,7 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
104895
104908
  {
104896
104909
  const boundedObject = Base_X3DCast (Base_X3DConstants.X3DBoundedObject, this .visibleNode);
104897
104910
 
104898
- if (boundedObject)
104899
- return boundedObject .getBBox (bbox, shadows);
104900
-
104901
- return bbox .set ();
104911
+ return boundedObject?.getBBox (bbox, shadows) ?? bbox .set ();
104902
104912
  }
104903
104913
 
104904
104914
  return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
@@ -104954,11 +104964,11 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
104954
104964
  },
104955
104965
  set_cameraObject__: function ()
104956
104966
  {
104957
- this .setCameraObject (!!(this .visibleNode && this .visibleNode .isCameraObject ()));
104967
+ this .setCameraObject (!!this .visibleNode?.isCameraObject ());
104958
104968
  },
104959
104969
  set_transformSensors__: function ()
104960
104970
  {
104961
- this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode && this .visibleNode .isPickableObject ()));
104971
+ this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode?.isPickableObject ()));
104962
104972
  },
104963
104973
  set_visible__: function ()
104964
104974
  {
@@ -105030,11 +105040,7 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
105030
105040
  case Rendering_TraverseType.CAMERA:
105031
105041
  case Rendering_TraverseType.SHADOW:
105032
105042
  {
105033
- const visibleNode = this .visibleNode;
105034
-
105035
- if (visibleNode)
105036
- visibleNode .traverse (type, renderObject);
105037
-
105043
+ this .visibleNode?.traverse (type, renderObject);
105038
105044
  return;
105039
105045
  }
105040
105046
  case Rendering_TraverseType.PICKING:
@@ -105066,11 +105072,7 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
105066
105072
  }
105067
105073
  case Rendering_TraverseType.COLLISION:
105068
105074
  {
105069
- const visibleNode = this .visibleNode;
105070
-
105071
- if (visibleNode)
105072
- visibleNode .traverse (type, renderObject);
105073
-
105075
+ this .visibleNode?.traverse (type, renderObject);
105074
105076
  return;
105075
105077
  }
105076
105078
  case Rendering_TraverseType.DISPLAY:
@@ -105098,16 +105100,9 @@ LOD .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.protot
105098
105100
  }
105099
105101
  }
105100
105102
 
105101
- const visibleNode = this .visibleNode;
105102
-
105103
- if (visibleNode)
105104
- visibleNode .traverse (type, renderObject);
105105
-
105106
- const boundedObject = this .boundedObject;
105107
-
105108
- if (boundedObject)
105109
- boundedObject .displayBBox (type, renderObject);
105103
+ this .visibleNode?.traverse (type, renderObject);
105110
105104
 
105105
+ this .boundedObject?.displayBBox (type, renderObject);
105111
105106
  return;
105112
105107
  }
105113
105108
  }
@@ -105215,6 +105210,10 @@ ViewpointGroup .prototype = Object .assign (Object .create (Core_X3DChildNode.pr
105215
105210
  {
105216
105211
  return "children";
105217
105212
  },
105213
+ getSpecificationRange: function ()
105214
+ {
105215
+ return ["3.2", "Infinity"];
105216
+ },
105218
105217
  initialize: function ()
105219
105218
  {
105220
105219
  Core_X3DChildNode.prototype.initialize.call (this);
@@ -105265,7 +105264,7 @@ ViewpointGroup .prototype = Object .assign (Object .create (Core_X3DChildNode.pr
105265
105264
  this .setPickableObject (false);
105266
105265
 
105267
105266
  if (displayed)
105268
- this .traverse = traverse;
105267
+ this .traverse = ViewpointGroup_traverse;
105269
105268
  else
105270
105269
  delete this .traverse;
105271
105270
  }
@@ -105341,7 +105340,7 @@ function traverseWithProximitySensor (type, renderObject)
105341
105340
  }
105342
105341
  }
105343
105342
 
105344
- function traverse (type, renderObject)
105343
+ function ViewpointGroup_traverse (type, renderObject)
105345
105344
  {
105346
105345
  switch (type)
105347
105346
  {
@@ -105846,6 +105845,10 @@ TouchSensor .prototype = Object .assign (Object .create (PointingDeviceSensor_X3
105846
105845
  {
105847
105846
  return "children";
105848
105847
  },
105848
+ getSpecificationRange: function ()
105849
+ {
105850
+ return ["2.0", "Infinity"];
105851
+ },
105849
105852
  });
105850
105853
 
105851
105854
  const TouchSensor_default_ = TouchSensor;
@@ -105954,6 +105957,10 @@ Anchor .prototype = Object .assign (Object .create (Grouping_X3DGroupingNode.pro
105954
105957
  {
105955
105958
  return "children";
105956
105959
  },
105960
+ getSpecificationRange: function ()
105961
+ {
105962
+ return ["2.0", "Infinity"];
105963
+ },
105957
105964
  initialize: function ()
105958
105965
  {
105959
105966
  Grouping_X3DGroupingNode.prototype.initialize.call (this);
@@ -106166,6 +106173,10 @@ Inline .prototype = Object .assign (Object .create (Core_X3DChildNode.prototype)
106166
106173
  {
106167
106174
  return "children";
106168
106175
  },
106176
+ getSpecificationRange: function ()
106177
+ {
106178
+ return ["2.0", "Infinity"];
106179
+ },
106169
106180
  initialize: function ()
106170
106181
  {
106171
106182
  Core_X3DChildNode.prototype.initialize.call (this);
@@ -106785,6 +106796,10 @@ CylinderSensor .prototype = Object .assign (Object .create (PointingDeviceSensor
106785
106796
  {
106786
106797
  return "children";
106787
106798
  },
106799
+ getSpecificationRange: function ()
106800
+ {
106801
+ return ["2.0", "Infinity"];
106802
+ },
106788
106803
  initialize: function ()
106789
106804
  {
106790
106805
  PointingDeviceSensor_X3DDragSensorNode.prototype.initialize.call (this);
@@ -107243,6 +107258,10 @@ PlaneSensor .prototype = Object .assign (Object .create (PointingDeviceSensor_X3
107243
107258
  {
107244
107259
  return "children";
107245
107260
  },
107261
+ getSpecificationRange: function ()
107262
+ {
107263
+ return ["2.0", "Infinity"];
107264
+ },
107246
107265
  initialize: function ()
107247
107266
  {
107248
107267
  PointingDeviceSensor_X3DDragSensorNode.prototype.initialize.call (this);
@@ -107718,6 +107737,10 @@ SphereSensor .prototype = Object .assign (Object .create (PointingDeviceSensor_X
107718
107737
  {
107719
107738
  return "children";
107720
107739
  },
107740
+ getSpecificationRange: function ()
107741
+ {
107742
+ return ["2.0", "Infinity"];
107743
+ },
107721
107744
  initialize: function ()
107722
107745
  {
107723
107746
  PointingDeviceSensor_X3DDragSensorNode.prototype.initialize.call (this);
@@ -107890,34 +107913,291 @@ x_ite_Namespace.set ("x_ite/Components/PointingDeviceSensor/SphereSensor", Spher
107890
107913
 
107891
107914
 
107892
107915
 
107893
-
107894
- const PointingDeviceSensor_Types =
107895
- {
107896
- CylinderSensor: PointingDeviceSensor_CylinderSensor,
107897
- PlaneSensor: PointingDeviceSensor_PlaneSensor,
107898
- SphereSensor: PointingDeviceSensor_SphereSensor,
107899
- TouchSensor: PointingDeviceSensor_TouchSensor,
107900
- };
107901
-
107902
- const PointingDeviceSensor_AbstractTypes =
107916
+
107917
+ const PointingDeviceSensor_Types =
107918
+ {
107919
+ CylinderSensor: PointingDeviceSensor_CylinderSensor,
107920
+ PlaneSensor: PointingDeviceSensor_PlaneSensor,
107921
+ SphereSensor: PointingDeviceSensor_SphereSensor,
107922
+ TouchSensor: PointingDeviceSensor_TouchSensor,
107923
+ };
107924
+
107925
+ const PointingDeviceSensor_AbstractTypes =
107926
+ {
107927
+ X3DDragSensorNode: PointingDeviceSensor_X3DDragSensorNode,
107928
+ X3DPointingDeviceSensorNode: PointingDeviceSensor_X3DPointingDeviceSensorNode,
107929
+ X3DTouchSensorNode: PointingDeviceSensor_X3DTouchSensorNode,
107930
+ };
107931
+
107932
+ for (const typeName in PointingDeviceSensor_Types)
107933
+ Configuration_SupportedNodes.addType (typeName, PointingDeviceSensor_Types [typeName]);
107934
+
107935
+ for (const typeName in PointingDeviceSensor_AbstractTypes)
107936
+ Configuration_SupportedNodes.addAbstractType (typeName, PointingDeviceSensor_AbstractTypes [typeName]);
107937
+
107938
+ const PointingDeviceSensor_default_ = undefined;
107939
+ ;
107940
+
107941
+ x_ite_Namespace.set ("x_ite/Components/PointingDeviceSensor", PointingDeviceSensor_default_);
107942
+ /* harmony default export */ const PointingDeviceSensor = ((/* unused pure expression or super */ null && (PointingDeviceSensor_default_)));
107943
+ ;// CONCATENATED MODULE: ./src/x_ite/Components/Rendering/ClipPlane.js
107944
+ /*******************************************************************************
107945
+ *
107946
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
107947
+ *
107948
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
107949
+ *
107950
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
107951
+ *
107952
+ * The copyright notice above does not evidence any actual of intended
107953
+ * publication of such source code, and is an unpublished work by create3000.
107954
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
107955
+ * create3000.
107956
+ *
107957
+ * No permission is granted to copy, distribute, or create derivative works from
107958
+ * the contents of this software, in whole or in part, without the prior written
107959
+ * permission of create3000.
107960
+ *
107961
+ * NON-MILITARY USE ONLY
107962
+ *
107963
+ * All create3000 software are effectively free software with a non-military use
107964
+ * restriction. It is free. Well commented source is provided. You may reuse the
107965
+ * source in any way you please with the exception anything that uses it must be
107966
+ * marked to indicate is contains 'non-military use only' components.
107967
+ *
107968
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
107969
+ *
107970
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
107971
+ *
107972
+ * This file is part of the X_ITE Project.
107973
+ *
107974
+ * X_ITE is free software: you can redistribute it and/or modify it under the
107975
+ * terms of the GNU General Public License version 3 only, as published by the
107976
+ * Free Software Foundation.
107977
+ *
107978
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
107979
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
107980
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
107981
+ * details (a copy is included in the LICENSE file that accompanied this code).
107982
+ *
107983
+ * You should have received a copy of the GNU General Public License version 3
107984
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
107985
+ * copy of the GPLv3 License.
107986
+ *
107987
+ * For Silvio, Joy and Adi.
107988
+ *
107989
+ ******************************************************************************/
107990
+
107991
+
107992
+
107993
+
107994
+
107995
+
107996
+
107997
+
107998
+
107999
+
108000
+
108001
+ const ClipPlanes = Utility_ObjectCache (ClipPlaneContainer);
108002
+
108003
+ function ClipPlaneContainer ()
108004
+ {
108005
+ this .plane = new Geometry_Plane3 (Numbers_Vector3.Zero, Numbers_Vector3.Zero);
108006
+ }
108007
+
108008
+ ClipPlaneContainer .prototype =
108009
+ {
108010
+ constructor: ClipPlaneContainer,
108011
+ isClipped: function (point)
108012
+ {
108013
+ return this .plane .getDistanceToPoint (point) < 0;
108014
+ },
108015
+ set: function (clipPlane, modelViewMatrix)
108016
+ {
108017
+ const
108018
+ plane = this .plane,
108019
+ localPlane = clipPlane .plane;
108020
+
108021
+ plane .normal .assign (localPlane);
108022
+ plane .distanceFromOrigin = -localPlane .w;
108023
+
108024
+ plane .multRight (modelViewMatrix);
108025
+ },
108026
+ setShaderUniforms: function (gl, shaderObject)
108027
+ {
108028
+ const
108029
+ plane = this .plane,
108030
+ normal = plane .normal;
108031
+
108032
+ gl .uniform4f (shaderObject .x3d_ClipPlane [shaderObject .numClipPlanes ++], normal .x, normal .y, normal .z, plane .distanceFromOrigin);
108033
+ },
108034
+ dispose: function ()
108035
+ {
108036
+ ClipPlanes .push (this);
108037
+ },
108038
+ };
108039
+
108040
+ function ClipPlane (executionContext)
108041
+ {
108042
+ Core_X3DChildNode.call (this, executionContext);
108043
+
108044
+ this .addType (Base_X3DConstants.ClipPlane);
108045
+
108046
+ this .enabled = false;
108047
+ this .plane = new Numbers_Vector4 (0, 0, 0, 0);
108048
+ }
108049
+
108050
+ ClipPlane .prototype = Object .assign (Object .create (Core_X3DChildNode.prototype),
108051
+ {
108052
+ constructor: ClipPlane,
108053
+ [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new Base_FieldDefinitionArray ([
108054
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metadata", new x_ite_Fields.SFNode ()),
108055
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "enabled", new x_ite_Fields.SFBool (true)),
108056
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "plane", new x_ite_Fields.SFVec4f (0, 1, 0, 0)),
108057
+ ]),
108058
+ getTypeName: function ()
108059
+ {
108060
+ return "ClipPlane";
108061
+ },
108062
+ getComponentName: function ()
108063
+ {
108064
+ return "Rendering";
108065
+ },
108066
+ getContainerField: function ()
108067
+ {
108068
+ return "children";
108069
+ },
108070
+ getSpecificationRange: function ()
108071
+ {
108072
+ return ["3.2", "Infinity"];
108073
+ },
108074
+ initialize: function ()
108075
+ {
108076
+ Core_X3DChildNode.prototype.initialize.call (this);
108077
+
108078
+ this ._enabled .addInterest ("set_enabled__", this);
108079
+ this ._plane .addInterest ("set_enabled__", this);
108080
+
108081
+ this .set_enabled__ ();
108082
+ },
108083
+ set_enabled__: function ()
108084
+ {
108085
+ this .plane .assign (this ._plane .getValue ());
108086
+
108087
+ this .enabled = this ._enabled .getValue () && ! this .plane .equals (Numbers_Vector4.Zero);
108088
+ },
108089
+ push: function (renderObject)
108090
+ {
108091
+ if (this .enabled)
108092
+ {
108093
+ const clipPlaneContainer = ClipPlanes .pop ();
108094
+
108095
+ clipPlaneContainer .set (this, renderObject .getModelViewMatrix () .get ());
108096
+
108097
+ renderObject .getLocalObjects () .push (clipPlaneContainer);
108098
+
108099
+ ++ renderObject .getLocalObjectsCount () [0];
108100
+ }
108101
+ },
108102
+ pop: function (renderObject)
108103
+ {
108104
+ if (this .enabled)
108105
+ {
108106
+ this .getBrowser () .getLocalObjects () .push (renderObject .getLocalObjects () .pop ());
108107
+
108108
+ -- renderObject .getLocalObjectsCount () [0];
108109
+ }
108110
+ },
108111
+ });
108112
+
108113
+ const ClipPlane_default_ = ClipPlane;
108114
+ ;
108115
+
108116
+ x_ite_Namespace.set ("x_ite/Components/Rendering/ClipPlane", ClipPlane_default_);
108117
+ /* harmony default export */ const Rendering_ClipPlane = (ClipPlane_default_);
108118
+ ;// CONCATENATED MODULE: ./src/x_ite/Components/Rendering/X3DColorNode.js
108119
+ /*******************************************************************************
108120
+ *
108121
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
108122
+ *
108123
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
108124
+ *
108125
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
108126
+ *
108127
+ * The copyright notice above does not evidence any actual of intended
108128
+ * publication of such source code, and is an unpublished work by create3000.
108129
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
108130
+ * create3000.
108131
+ *
108132
+ * No permission is granted to copy, distribute, or create derivative works from
108133
+ * the contents of this software, in whole or in part, without the prior written
108134
+ * permission of create3000.
108135
+ *
108136
+ * NON-MILITARY USE ONLY
108137
+ *
108138
+ * All create3000 software are effectively free software with a non-military use
108139
+ * restriction. It is free. Well commented source is provided. You may reuse the
108140
+ * source in any way you please with the exception anything that uses it must be
108141
+ * marked to indicate is contains 'non-military use only' components.
108142
+ *
108143
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
108144
+ *
108145
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
108146
+ *
108147
+ * This file is part of the X_ITE Project.
108148
+ *
108149
+ * X_ITE is free software: you can redistribute it and/or modify it under the
108150
+ * terms of the GNU General Public License version 3 only, as published by the
108151
+ * Free Software Foundation.
108152
+ *
108153
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
108154
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
108155
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
108156
+ * details (a copy is included in the LICENSE file that accompanied this code).
108157
+ *
108158
+ * You should have received a copy of the GNU General Public License version 3
108159
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
108160
+ * copy of the GPLv3 License.
108161
+ *
108162
+ * For Silvio, Joy and Adi.
108163
+ *
108164
+ ******************************************************************************/
108165
+
108166
+
108167
+
108168
+
108169
+
108170
+ function X3DColorNode (executionContext)
108171
+ {
108172
+ Rendering_X3DGeometricPropertyNode.call (this, executionContext);
108173
+
108174
+ this .addType (Base_X3DConstants.X3DColorNode);
108175
+
108176
+ this .addChildObjects ("transparent", new x_ite_Fields.SFBool ());
108177
+
108178
+ this ._transparent .setAccessType (Base_X3DConstants.outputOnly);
108179
+ }
108180
+
108181
+ X3DColorNode .prototype = Object .assign (Object .create (Rendering_X3DGeometricPropertyNode.prototype),
107903
108182
  {
107904
- X3DDragSensorNode: PointingDeviceSensor_X3DDragSensorNode,
107905
- X3DPointingDeviceSensorNode: PointingDeviceSensor_X3DPointingDeviceSensorNode,
107906
- X3DTouchSensorNode: PointingDeviceSensor_X3DTouchSensorNode,
107907
- };
107908
-
107909
- for (const typeName in PointingDeviceSensor_Types)
107910
- Configuration_SupportedNodes.addType (typeName, PointingDeviceSensor_Types [typeName]);
107911
-
107912
- for (const typeName in PointingDeviceSensor_AbstractTypes)
107913
- Configuration_SupportedNodes.addAbstractType (typeName, PointingDeviceSensor_AbstractTypes [typeName]);
108183
+ constructor: X3DColorNode,
108184
+ setTransparent: function (value)
108185
+ {
108186
+ if (value !== this ._transparent .getValue ())
108187
+ this ._transparent = value;
108188
+ },
108189
+ isTransparent: function ()
108190
+ {
108191
+ return this ._transparent .getValue ();
108192
+ },
108193
+ });
107914
108194
 
107915
- const PointingDeviceSensor_default_ = undefined;
108195
+ const X3DColorNode_default_ = X3DColorNode;
107916
108196
  ;
107917
108197
 
107918
- x_ite_Namespace.set ("x_ite/Components/PointingDeviceSensor", PointingDeviceSensor_default_);
107919
- /* harmony default export */ const PointingDeviceSensor = ((/* unused pure expression or super */ null && (PointingDeviceSensor_default_)));
107920
- ;// CONCATENATED MODULE: ./src/x_ite/Components/Rendering/ClipPlane.js
108198
+ x_ite_Namespace.set ("x_ite/Components/Rendering/X3DColorNode", X3DColorNode_default_);
108199
+ /* harmony default export */ const Rendering_X3DColorNode = (X3DColorNode_default_);
108200
+ ;// CONCATENATED MODULE: ./src/x_ite/Components/Rendering/Color.js
107921
108201
  /*******************************************************************************
107922
108202
  *
107923
108203
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -107971,70 +108251,23 @@ x_ite_Namespace.set ("x_ite/Components/PointingDeviceSensor", PointingDeviceSens
107971
108251
 
107972
108252
 
107973
108253
 
107974
-
107975
-
107976
-
107977
-
107978
- const ClipPlanes = Utility_ObjectCache (ClipPlaneContainer);
107979
-
107980
- function ClipPlaneContainer ()
107981
- {
107982
- this .plane = new Geometry_Plane3 (Numbers_Vector3.Zero, Numbers_Vector3.Zero);
107983
- }
107984
-
107985
- ClipPlaneContainer .prototype =
107986
- {
107987
- constructor: ClipPlaneContainer,
107988
- isClipped: function (point)
107989
- {
107990
- return this .plane .getDistanceToPoint (point) < 0;
107991
- },
107992
- set: function (clipPlane, modelViewMatrix)
107993
- {
107994
- const
107995
- plane = this .plane,
107996
- localPlane = clipPlane .plane;
107997
-
107998
- plane .normal .assign (localPlane);
107999
- plane .distanceFromOrigin = -localPlane .w;
108000
-
108001
- plane .multRight (modelViewMatrix);
108002
- },
108003
- setShaderUniforms: function (gl, shaderObject)
108004
- {
108005
- const
108006
- plane = this .plane,
108007
- normal = plane .normal;
108008
-
108009
- gl .uniform4f (shaderObject .x3d_ClipPlane [shaderObject .numClipPlanes ++], normal .x, normal .y, normal .z, plane .distanceFromOrigin);
108010
- },
108011
- dispose: function ()
108012
- {
108013
- ClipPlanes .push (this);
108014
- },
108015
- };
108016
-
108017
- function ClipPlane (executionContext)
108254
+ function Color (executionContext)
108018
108255
  {
108019
- Core_X3DChildNode.call (this, executionContext);
108020
-
108021
- this .addType (Base_X3DConstants.ClipPlane);
108256
+ Rendering_X3DColorNode.call (this, executionContext);
108022
108257
 
108023
- this .enabled = false;
108024
- this .plane = new Numbers_Vector4 (0, 0, 0, 0);
108258
+ this .addType (Base_X3DConstants.Color);
108025
108259
  }
108026
108260
 
108027
- ClipPlane .prototype = Object .assign (Object .create (Core_X3DChildNode.prototype),
108261
+ Color .prototype = Object .assign (Object .create (Rendering_X3DColorNode.prototype),
108028
108262
  {
108029
- constructor: ClipPlane,
108263
+ constructor: Color,
108030
108264
  [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new Base_FieldDefinitionArray ([
108031
108265
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metadata", new x_ite_Fields.SFNode ()),
108032
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "enabled", new x_ite_Fields.SFBool (true)),
108033
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "plane", new x_ite_Fields.SFVec4f (0, 1, 0, 0)),
108266
+ new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "color", new x_ite_Fields.MFColor ()),
108034
108267
  ]),
108035
108268
  getTypeName: function ()
108036
108269
  {
108037
- return "ClipPlane";
108270
+ return "Color";
108038
108271
  },
108039
108272
  getComponentName: function ()
108040
108273
  {
@@ -108042,52 +108275,85 @@ ClipPlane .prototype = Object .assign (Object .create (Core_X3DChildNode.prototy
108042
108275
  },
108043
108276
  getContainerField: function ()
108044
108277
  {
108045
- return "children";
108278
+ return "color";
108279
+ },
108280
+ getSpecificationRange: function ()
108281
+ {
108282
+ return ["2.0", "Infinity"];
108046
108283
  },
108047
108284
  initialize: function ()
108048
108285
  {
108049
- Core_X3DChildNode.prototype.initialize.call (this);
108286
+ Rendering_X3DColorNode.prototype.initialize.call (this);
108050
108287
 
108051
- this ._enabled .addInterest ("set_enabled__", this);
108052
- this ._plane .addInterest ("set_enabled__", this);
108288
+ this ._color .addInterest ("set_color__", this);
108053
108289
 
108054
- this .set_enabled__ ();
108290
+ this .set_color__ ();
108055
108291
  },
108056
- set_enabled__: function ()
108292
+ set_color__: function ()
108057
108293
  {
108058
- this .plane .assign (this ._plane .getValue ());
108059
-
108060
- this .enabled = this ._enabled .getValue () && ! this .plane .equals (Numbers_Vector4.Zero);
108294
+ this .color = this ._color .getValue ();
108295
+ this .length = this ._color .length;
108061
108296
  },
108062
- push: function (renderObject)
108297
+ addColor: function (index, array)
108063
108298
  {
108064
- if (this .enabled)
108299
+ if (index >= 0 && index < this .length)
108065
108300
  {
108066
- const clipPlaneContainer = ClipPlanes .pop ();
108301
+ const color = this .color;
108067
108302
 
108068
- clipPlaneContainer .set (this, renderObject .getModelViewMatrix () .get ());
108303
+ index *= 3;
108069
108304
 
108070
- renderObject .getLocalObjects () .push (clipPlaneContainer);
108305
+ array .push (color [index], color [index + 1], color [index + 2], 1);
108306
+ }
108307
+ else if (this .length)
108308
+ {
108309
+ const color = this .color;
108071
108310
 
108072
- ++ renderObject .getLocalObjectsCount () [0];
108311
+ index = (this .length - 1) * 3;
108312
+
108313
+ array .push (color [index], color [index + 1], color [index + 2], 1);
108314
+ }
108315
+ else
108316
+ {
108317
+ array .push (1, 1, 1, 1);
108073
108318
  }
108074
108319
  },
108075
- pop: function (renderObject)
108320
+ addColors: function (array, min)
108076
108321
  {
108077
- if (this .enabled)
108322
+ if (this .length)
108078
108323
  {
108079
- this .getBrowser () .getLocalObjects () .push (renderObject .getLocalObjects () .pop ());
108324
+ const color = this .color;
108080
108325
 
108081
- -- renderObject .getLocalObjectsCount () [0];
108326
+ for (var index = 0, length = Math .min (min, this .length) * 3; index < length; index += 3)
108327
+ array .push (color [index], color [index + 1], color [index + 2], 1);
108328
+
108329
+ if (this .length < min)
108330
+ {
108331
+ var index = (this .length - 1) * 3;
108332
+
108333
+ const
108334
+ r = color [index],
108335
+ g = color [index + 1],
108336
+ b = color [index + 2];
108337
+
108338
+ for (var index = length, length = min * 3; index < length; index += 3)
108339
+ array .push (r, g, b, 1);
108340
+ }
108082
108341
  }
108342
+ else
108343
+ {
108344
+ for (let index = 0; index < min; ++ index)
108345
+ array .push (1, 1, 1, 1);
108346
+ }
108347
+
108348
+ return array;
108083
108349
  },
108084
108350
  });
108085
108351
 
108086
- const ClipPlane_default_ = ClipPlane;
108352
+ const Color_default_ = Color;
108087
108353
  ;
108088
108354
 
108089
- x_ite_Namespace.set ("x_ite/Components/Rendering/ClipPlane", ClipPlane_default_);
108090
- /* harmony default export */ const Rendering_ClipPlane = (ClipPlane_default_);
108355
+ x_ite_Namespace.set ("x_ite/Components/Rendering/Color", Color_default_);
108356
+ /* harmony default export */ const Rendering_Color = (Color_default_);
108091
108357
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Rendering/ColorRGBA.js
108092
108358
  /*******************************************************************************
108093
108359
  *
@@ -108170,6 +108436,10 @@ ColorRGBA .prototype = Object .assign (Object .create (Rendering_X3DColorNode.pr
108170
108436
  {
108171
108437
  return "color";
108172
108438
  },
108439
+ getSpecificationRange: function ()
108440
+ {
108441
+ return ["3.0", "Infinity"];
108442
+ },
108173
108443
  initialize: function ()
108174
108444
  {
108175
108445
  Rendering_X3DColorNode.prototype.initialize.call (this);
@@ -108337,6 +108607,10 @@ IndexedTriangleFanSet .prototype = Object .assign (Object .create (Rendering_X3D
108337
108607
  {
108338
108608
  return "geometry";
108339
108609
  },
108610
+ getSpecificationRange: function ()
108611
+ {
108612
+ return ["3.0", "Infinity"];
108613
+ },
108340
108614
  initialize: function ()
108341
108615
  {
108342
108616
  Rendering_X3DComposedGeometryNode.prototype.initialize.call (this);
@@ -108490,6 +108764,10 @@ IndexedTriangleSet .prototype = Object .assign (Object .create (Rendering_X3DCom
108490
108764
  {
108491
108765
  return "geometry";
108492
108766
  },
108767
+ getSpecificationRange: function ()
108768
+ {
108769
+ return ["3.0", "Infinity"];
108770
+ },
108493
108771
  getPolygonIndex: function (i)
108494
108772
  {
108495
108773
  return this ._index [i];
@@ -108604,6 +108882,10 @@ IndexedTriangleStripSet .prototype = Object .assign (Object .create (Rendering_X
108604
108882
  {
108605
108883
  return "geometry";
108606
108884
  },
108885
+ getSpecificationRange: function ()
108886
+ {
108887
+ return ["3.0", "Infinity"];
108888
+ },
108607
108889
  initialize: function ()
108608
108890
  {
108609
108891
  Rendering_X3DComposedGeometryNode.prototype.initialize.call (this);
@@ -108765,6 +109047,10 @@ LineSet .prototype = Object .assign (Object .create (Rendering_X3DLineGeometryNo
108765
109047
  {
108766
109048
  return "geometry";
108767
109049
  },
109050
+ getSpecificationRange: function ()
109051
+ {
109052
+ return ["3.0", "Infinity"];
109053
+ },
108768
109054
  initialize: function ()
108769
109055
  {
108770
109056
  Rendering_X3DLineGeometryNode.prototype.initialize.call (this);
@@ -109050,6 +109336,10 @@ Normal .prototype = Object .assign (Object .create (Rendering_X3DNormalNode.prot
109050
109336
  {
109051
109337
  return "normal";
109052
109338
  },
109339
+ getSpecificationRange: function ()
109340
+ {
109341
+ return ["2.0", "Infinity"];
109342
+ },
109053
109343
  initialize: function ()
109054
109344
  {
109055
109345
  Rendering_X3DNormalNode.prototype.initialize.call (this);
@@ -109413,6 +109703,10 @@ PointSet .prototype = Object .assign (Object .create (Rendering_X3DPointGeometry
109413
109703
  {
109414
109704
  return "geometry";
109415
109705
  },
109706
+ getSpecificationRange: function ()
109707
+ {
109708
+ return ["2.0", "Infinity"];
109709
+ },
109416
109710
  initialize: function ()
109417
109711
  {
109418
109712
  Rendering_X3DPointGeometryNode.prototype.initialize.call (this);
@@ -109623,6 +109917,10 @@ TriangleFanSet .prototype = Object .assign (Object .create (Rendering_X3DCompose
109623
109917
  {
109624
109918
  return "geometry";
109625
109919
  },
109920
+ getSpecificationRange: function ()
109921
+ {
109922
+ return ["3.0", "Infinity"];
109923
+ },
109626
109924
  initialize: function ()
109627
109925
  {
109628
109926
  Rendering_X3DComposedGeometryNode.prototype.initialize.call (this);
@@ -109757,6 +110055,10 @@ TriangleSet .prototype = Object .assign (Object .create (Rendering_X3DComposedGe
109757
110055
  {
109758
110056
  return "geometry";
109759
110057
  },
110058
+ getSpecificationRange: function ()
110059
+ {
110060
+ return ["3.0", "Infinity"];
110061
+ },
109760
110062
  build: function ()
109761
110063
  {
109762
110064
  if (! this .getCoord ())
@@ -109867,6 +110169,10 @@ TriangleStripSet .prototype = Object .assign (Object .create (Rendering_X3DCompo
109867
110169
  {
109868
110170
  return "geometry";
109869
110171
  },
110172
+ getSpecificationRange: function ()
110173
+ {
110174
+ return ["3.0", "Infinity"];
110175
+ },
109870
110176
  initialize: function ()
109871
110177
  {
109872
110178
  Rendering_X3DComposedGeometryNode.prototype.initialize.call (this);
@@ -110191,6 +110497,10 @@ FloatVertexAttribute .prototype = Object .assign (Object .create (Shaders_X3DVer
110191
110497
  {
110192
110498
  return "attrib";
110193
110499
  },
110500
+ getSpecificationRange: function ()
110501
+ {
110502
+ return ["3.0", "Infinity"];
110503
+ },
110194
110504
  initialize: function ()
110195
110505
  {
110196
110506
  Shaders_X3DVertexAttributeNode.prototype.initialize.call (this);
@@ -110331,6 +110641,10 @@ Matrix3VertexAttribute .prototype = Object .assign (Object .create (Shaders_X3DV
110331
110641
  {
110332
110642
  return "attrib";
110333
110643
  },
110644
+ getSpecificationRange: function ()
110645
+ {
110646
+ return ["3.0", "Infinity"];
110647
+ },
110334
110648
  initialize: function ()
110335
110649
  {
110336
110650
  Shaders_X3DVertexAttributeNode.prototype.initialize.call (this);
@@ -110462,6 +110776,10 @@ Matrix4VertexAttribute .prototype = Object .assign (Object .create (Shaders_X3DV
110462
110776
  {
110463
110777
  return "attrib";
110464
110778
  },
110779
+ getSpecificationRange: function ()
110780
+ {
110781
+ return ["3.0", "Infinity"];
110782
+ },
110465
110783
  initialize: function ()
110466
110784
  {
110467
110785
  Shaders_X3DVertexAttributeNode.prototype.initialize.call (this);
@@ -110606,6 +110924,10 @@ PackagedShader .prototype = Object .assign (Object .create (Shaders_X3DShaderNod
110606
110924
  {
110607
110925
  return "shaders";
110608
110926
  },
110927
+ getSpecificationRange: function ()
110928
+ {
110929
+ return ["3.0", "Infinity"];
110930
+ },
110609
110931
  getSourceText: function ()
110610
110932
  {
110611
110933
  return this ._url;
@@ -110717,6 +111039,10 @@ ProgramShader .prototype = Object .assign (Object .create (Shaders_X3DShaderNode
110717
111039
  {
110718
111040
  return "shaders";
110719
111041
  },
111042
+ getSpecificationRange: function ()
111043
+ {
111044
+ return ["3.0", "Infinity"];
111045
+ },
110720
111046
  });
110721
111047
 
110722
111048
  const ProgramShader_default_ = ProgramShader;
@@ -110815,6 +111141,10 @@ ShaderProgram .prototype = Object .assign (Object .create (Core_X3DNode.prototyp
110815
111141
  {
110816
111142
  return "programs";
110817
111143
  },
111144
+ getSpecificationRange: function ()
111145
+ {
111146
+ return ["3.0", "Infinity"];
111147
+ },
110818
111148
  getSourceText: function ()
110819
111149
  {
110820
111150
  return this ._url;
@@ -111018,6 +111348,10 @@ AcousticProperties .prototype = Object .assign (Object .create (Shape_X3DAppeara
111018
111348
  {
111019
111349
  return "AcousticProperties";
111020
111350
  },
111351
+ getSpecificationRange: function ()
111352
+ {
111353
+ return ["4.0", "Infinity"];
111354
+ },
111021
111355
  });
111022
111356
 
111023
111357
  const AcousticProperties_default_ = AcousticProperties;
@@ -111114,6 +111448,10 @@ FillProperties .prototype = Object .assign (Object .create (Shape_X3DAppearanceC
111114
111448
  {
111115
111449
  return "fillProperties";
111116
111450
  },
111451
+ getSpecificationRange: function ()
111452
+ {
111453
+ return ["3.0", "Infinity"];
111454
+ },
111117
111455
  initialize: function ()
111118
111456
  {
111119
111457
  Shape_X3DAppearanceChildNode.prototype.initialize.call (this);
@@ -111279,7 +111617,6 @@ Material .prototype = Object .assign (Object .create (Shape_X3DOneSidedMaterialN
111279
111617
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "specularTextureMapping", new x_ite_Fields.SFString ()),
111280
111618
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "specularTexture", new x_ite_Fields.SFNode ()),
111281
111619
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveColor", new x_ite_Fields.SFColor ()),
111282
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveStrength", new x_ite_Fields.SFFloat (1)),
111283
111620
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveTextureMapping", new x_ite_Fields.SFString ()),
111284
111621
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveTexture", new x_ite_Fields.SFNode ()),
111285
111622
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "shininess", new x_ite_Fields.SFFloat (0.2)),
@@ -111305,6 +111642,10 @@ Material .prototype = Object .assign (Object .create (Shape_X3DOneSidedMaterialN
111305
111642
  {
111306
111643
  return "material";
111307
111644
  },
111645
+ getSpecificationRange: function ()
111646
+ {
111647
+ return ["2.0", "Infinity"];
111648
+ },
111308
111649
  initialize: function ()
111309
111650
  {
111310
111651
  Shape_X3DOneSidedMaterialNode.prototype.initialize.call (this);
@@ -111671,7 +112012,6 @@ PhysicalMaterial .prototype = Object .assign (Object .create (Shape_X3DOneSidedM
111671
112012
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "baseTextureMapping", new x_ite_Fields.SFString ()),
111672
112013
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "baseTexture", new x_ite_Fields.SFNode ()),
111673
112014
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveColor", new x_ite_Fields.SFColor (0, 0, 0)),
111674
- new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveStrength", new x_ite_Fields.SFFloat (1)),
111675
112015
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveTextureMapping", new x_ite_Fields.SFString ()),
111676
112016
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "emissiveTexture", new x_ite_Fields.SFNode ()),
111677
112017
  new Base_X3DFieldDefinition (Base_X3DConstants.inputOutput, "metallic", new x_ite_Fields.SFFloat (1)),
@@ -111698,6 +112038,10 @@ PhysicalMaterial .prototype = Object .assign (Object .create (Shape_X3DOneSidedM
111698
112038
  {
111699
112039
  return "material";
111700
112040
  },
112041
+ getSpecificationRange: function ()
112042
+ {
112043
+ return ["4.0", "Infinity"];
112044
+ },
111701
112045
  initialize: function ()
111702
112046
  {
111703
112047
  Shape_X3DOneSidedMaterialNode.prototype.initialize.call (this);
@@ -112000,6 +112344,10 @@ TwoSidedMaterial .prototype = Object .assign (Object .create (Shape_X3DMaterialN
112000
112344
  {
112001
112345
  return "material";
112002
112346
  },
112347
+ getSpecificationRange: function ()
112348
+ {
112349
+ return ["3.2", "Infinity"];
112350
+ },
112003
112351
  initialize: function ()
112004
112352
  {
112005
112353
  Shape_X3DMaterialNode.prototype.initialize.call (this);
@@ -112461,6 +112809,10 @@ Analyser .prototype = Object .assign (Object .create (Sound_X3DSoundProcessingNo
112461
112809
  {
112462
112810
  return "children";
112463
112811
  },
112812
+ getSpecificationRange: function ()
112813
+ {
112814
+ return ["4.0", "Infinity"];
112815
+ },
112464
112816
  });
112465
112817
 
112466
112818
  const Analyser_default_ = Analyser;
@@ -112688,7 +113040,7 @@ const X3DSoundSourceNode_default_ = X3DSoundSourceNode;
112688
113040
  x_ite_Namespace.set ("x_ite/Components/Sound/X3DSoundSourceNode", X3DSoundSourceNode_default_);
112689
113041
  /* harmony default export */ const Sound_X3DSoundSourceNode = (X3DSoundSourceNode_default_);
112690
113042
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Sound/AudioClip.js
112691
- /* provided dependency */ var AudioClip_$ = __webpack_require__(2);
113043
+ /* provided dependency */ var AudioClip_$ = __webpack_require__(869);
112692
113044
  /*******************************************************************************
112693
113045
  *
112694
113046
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -112793,6 +113145,10 @@ AudioClip .prototype = Object .assign (Object .create (Sound_X3DSoundSourceNode.
112793
113145
  {
112794
113146
  return "source";
112795
113147
  },
113148
+ getSpecificationRange: function ()
113149
+ {
113150
+ return ["2.0", "Infinity"];
113151
+ },
112796
113152
  initialize: function ()
112797
113153
  {
112798
113154
  Sound_X3DSoundSourceNode.prototype.initialize.call (this);
@@ -113118,6 +113474,10 @@ AudioDestination .prototype = Object .assign (Object .create (Sound_X3DSoundDest
113118
113474
  {
113119
113475
  return "children";
113120
113476
  },
113477
+ getSpecificationRange: function ()
113478
+ {
113479
+ return ["4.0", "Infinity"];
113480
+ },
113121
113481
  });
113122
113482
 
113123
113483
  const AudioDestination_default_ = AudioDestination;
@@ -113227,6 +113587,10 @@ BiquadFilter .prototype = Object .assign (Object .create (Sound_X3DSoundProcessi
113227
113587
  {
113228
113588
  return "children";
113229
113589
  },
113590
+ getSpecificationRange: function ()
113591
+ {
113592
+ return ["4.0", "Infinity"];
113593
+ },
113230
113594
  });
113231
113595
 
113232
113596
  const BiquadFilter_default_ = BiquadFilter;
@@ -113349,6 +113713,10 @@ BufferAudioSource .prototype = Object .assign (Object .create (Sound_X3DSoundSou
113349
113713
  {
113350
113714
  return "children";
113351
113715
  },
113716
+ getSpecificationRange: function ()
113717
+ {
113718
+ return ["4.0", "Infinity"];
113719
+ },
113352
113720
  initialize: function ()
113353
113721
  {
113354
113722
  Sound_X3DSoundSourceNode.prototype.initialize.call (this);
@@ -113523,6 +113891,10 @@ ChannelMerger .prototype = Object .assign (Object .create (Sound_X3DSoundChannel
113523
113891
  {
113524
113892
  return "children";
113525
113893
  },
113894
+ getSpecificationRange: function ()
113895
+ {
113896
+ return ["4.0", "Infinity"];
113897
+ },
113526
113898
  });
113527
113899
 
113528
113900
  const ChannelMerger_default_ = ChannelMerger;
@@ -113620,6 +113992,10 @@ ChannelSelector .prototype = Object .assign (Object .create (Sound_X3DSoundChann
113620
113992
  {
113621
113993
  return "children";
113622
113994
  },
113995
+ getSpecificationRange: function ()
113996
+ {
113997
+ return ["4.0", "Infinity"];
113998
+ },
113623
113999
  });
113624
114000
 
113625
114001
  const ChannelSelector_default_ = ChannelSelector;
@@ -113717,6 +114093,10 @@ ChannelSplitter .prototype = Object .assign (Object .create (Sound_X3DSoundChann
113717
114093
  {
113718
114094
  return "children";
113719
114095
  },
114096
+ getSpecificationRange: function ()
114097
+ {
114098
+ return ["4.0", "Infinity"];
114099
+ },
113720
114100
  });
113721
114101
 
113722
114102
  const ChannelSplitter_default_ = ChannelSplitter;
@@ -113824,6 +114204,10 @@ Convolver .prototype = Object .assign (Object .create (Sound_X3DSoundProcessingN
113824
114204
  {
113825
114205
  return "children";
113826
114206
  },
114207
+ getSpecificationRange: function ()
114208
+ {
114209
+ return ["4.0", "Infinity"];
114210
+ },
113827
114211
  });
113828
114212
 
113829
114213
  const Convolver_default_ = Convolver;
@@ -113931,6 +114315,10 @@ Delay .prototype = Object .assign (Object .create (Sound_X3DSoundProcessingNode.
113931
114315
  {
113932
114316
  return "children";
113933
114317
  },
114318
+ getSpecificationRange: function ()
114319
+ {
114320
+ return ["4.0", "Infinity"];
114321
+ },
113934
114322
  });
113935
114323
 
113936
114324
  const Delay_default_ = Delay;
@@ -114042,6 +114430,10 @@ DynamicsCompressor .prototype = Object .assign (Object .create (Sound_X3DSoundPr
114042
114430
  {
114043
114431
  return "children";
114044
114432
  },
114433
+ getSpecificationRange: function ()
114434
+ {
114435
+ return ["4.0", "Infinity"];
114436
+ },
114045
114437
  });
114046
114438
 
114047
114439
  const DynamicsCompressor_default_ = DynamicsCompressor;
@@ -114147,6 +114539,10 @@ Gain .prototype = Object .assign (Object .create (Sound_X3DSoundProcessingNode.p
114147
114539
  {
114148
114540
  return "children";
114149
114541
  },
114542
+ getSpecificationRange: function ()
114543
+ {
114544
+ return ["4.0", "Infinity"];
114545
+ },
114150
114546
  });
114151
114547
 
114152
114548
  const Gain_default_ = Gain;
@@ -114254,6 +114650,10 @@ ListenerPointSource .prototype = Object .assign (Object .create (Sound_X3DSoundS
114254
114650
  {
114255
114651
  return "children";
114256
114652
  },
114653
+ getSpecificationRange: function ()
114654
+ {
114655
+ return ["4.0", "Infinity"];
114656
+ },
114257
114657
  });
114258
114658
 
114259
114659
  const ListenerPointSource_default_ = ListenerPointSource;
@@ -114355,6 +114755,10 @@ MicrophoneSource .prototype = Object .assign (Object .create (Sound_X3DSoundSour
114355
114755
  {
114356
114756
  return "children";
114357
114757
  },
114758
+ getSpecificationRange: function ()
114759
+ {
114760
+ return ["4.0", "Infinity"];
114761
+ },
114358
114762
  });
114359
114763
 
114360
114764
  const MicrophoneSource_default_ = MicrophoneSource;
@@ -114458,6 +114862,10 @@ OscillatorSource .prototype = Object .assign (Object .create (Sound_X3DSoundSour
114458
114862
  {
114459
114863
  return "children";
114460
114864
  },
114865
+ getSpecificationRange: function ()
114866
+ {
114867
+ return ["4.0", "Infinity"];
114868
+ },
114461
114869
  });
114462
114870
 
114463
114871
  const OscillatorSource_default_ = OscillatorSource;
@@ -114549,6 +114957,10 @@ PeriodicWave .prototype = Object .assign (Object .create (Sound_X3DSoundNode.pro
114549
114957
  {
114550
114958
  return "periodicWave";
114551
114959
  },
114960
+ getSpecificationRange: function ()
114961
+ {
114962
+ return ["4.0", "Infinity"];
114963
+ },
114552
114964
  });
114553
114965
 
114554
114966
  const PeriodicWave_default_ = PeriodicWave;
@@ -114666,6 +115078,10 @@ Sound .prototype = Object .assign (Object .create (Sound_X3DSoundNode.prototype)
114666
115078
  {
114667
115079
  return "children";
114668
115080
  },
115081
+ getSpecificationRange: function ()
115082
+ {
115083
+ return ["2.0", "Infinity"];
115084
+ },
114669
115085
  initialize: function ()
114670
115086
  {
114671
115087
  Sound_X3DSoundNode.prototype.initialize.call (this);
@@ -114949,6 +115365,10 @@ SpatialSound .prototype = Object .assign (Object .create (Sound_X3DSoundNode.pro
114949
115365
  {
114950
115366
  return "children";
114951
115367
  },
115368
+ getSpecificationRange: function ()
115369
+ {
115370
+ return ["4.0", "Infinity"];
115371
+ },
114952
115372
  });
114953
115373
 
114954
115374
  const SpatialSound_default_ = SpatialSound;
@@ -115048,6 +115468,10 @@ StreamAudioDestination .prototype = Object .assign (Object .create (Sound_X3DSou
115048
115468
  {
115049
115469
  return "children";
115050
115470
  },
115471
+ getSpecificationRange: function ()
115472
+ {
115473
+ return ["4.0", "Infinity"];
115474
+ },
115051
115475
  });
115052
115476
 
115053
115477
  const StreamAudioDestination_default_ = StreamAudioDestination;
@@ -115149,6 +115573,10 @@ StreamAudioSource .prototype = Object .assign (Object .create (Sound_X3DSoundSou
115149
115573
  {
115150
115574
  return "children";
115151
115575
  },
115576
+ getSpecificationRange: function ()
115577
+ {
115578
+ return ["4.0", "Infinity"];
115579
+ },
115152
115580
  });
115153
115581
 
115154
115582
  const StreamAudioSource_default_ = StreamAudioSource;
@@ -115256,6 +115684,10 @@ WaveShaper .prototype = Object .assign (Object .create (Sound_X3DSoundProcessing
115256
115684
  {
115257
115685
  return "children";
115258
115686
  },
115687
+ getSpecificationRange: function ()
115688
+ {
115689
+ return ["4.0", "Infinity"];
115690
+ },
115259
115691
  });
115260
115692
 
115261
115693
  const WaveShaper_default_ = WaveShaper;
@@ -115503,8 +115935,8 @@ const GIFMedia_default_ = GifMedia;
115503
115935
  x_ite_Namespace.set ("x_ite/Browser/Texturing/GIFMedia", GIFMedia_default_);
115504
115936
  /* harmony default export */ const GIFMedia = (GIFMedia_default_);
115505
115937
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/MovieTexture.js
115506
- /* provided dependency */ var MovieTexture_$ = __webpack_require__(2);
115507
- /* provided dependency */ var SuperGif = __webpack_require__(423);
115938
+ /* provided dependency */ var MovieTexture_$ = __webpack_require__(869);
115939
+ /* provided dependency */ var SuperGif = __webpack_require__(521);
115508
115940
  /*******************************************************************************
115509
115941
  *
115510
115942
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -115600,7 +116032,6 @@ MovieTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
115600
116032
  new Base_X3DFieldDefinition (Base_X3DConstants.outputOnly, "isActive", new x_ite_Fields.SFBool ()),
115601
116033
  new Base_X3DFieldDefinition (Base_X3DConstants.outputOnly, "elapsedTime", new x_ite_Fields.SFTime ()),
115602
116034
  new Base_X3DFieldDefinition (Base_X3DConstants.outputOnly, "duration_changed", new x_ite_Fields.SFTime (-1)),
115603
- new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "flipVertically", new x_ite_Fields.SFBool ()),
115604
116035
  new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "repeatS", new x_ite_Fields.SFBool (true)),
115605
116036
  new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "repeatT", new x_ite_Fields.SFBool (true)),
115606
116037
  new Base_X3DFieldDefinition (Base_X3DConstants.initializeOnly, "textureProperties", new x_ite_Fields.SFNode ()),
@@ -115617,6 +116048,10 @@ MovieTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
115617
116048
  {
115618
116049
  return "texture";
115619
116050
  },
116051
+ getSpecificationRange: function ()
116052
+ {
116053
+ return ["2.0", "Infinity"];
116054
+ },
115620
116055
  initialize: function ()
115621
116056
  {
115622
116057
  Texturing_X3DTexture2DNode.prototype.initialize.call (this);
@@ -115727,7 +116162,7 @@ MovieTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
115727
116162
  throw new Error ("The movie texture is a non power-of-two texture.");
115728
116163
 
115729
116164
  this .setMedia (this .video [0]);
115730
- this .setTexture (width, height, false, video, !this ._flipVertically .getValue ());
116165
+ this .setTexture (width, height, false, video, true);
115731
116166
  this .setLoadState (Base_X3DConstants.COMPLETE_STATE);
115732
116167
  }
115733
116168
  catch (error)
@@ -115747,7 +116182,7 @@ MovieTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
115747
116182
  gif .pause ();
115748
116183
 
115749
116184
  this .setMedia (gif);
115750
- this .setTexture (gif .get_canvas () .width, gif .get_canvas () .height, false, gif .get_frames () [0] .data, !this ._flipVertically .getValue ());
116185
+ this .setTexture (gif .get_canvas () .width, gif .get_canvas () .height, false, gif .get_frames () [0] .data, true);
115751
116186
  this .setLoadState (Base_X3DConstants.COMPLETE_STATE);
115752
116187
  }
115753
116188
  catch (error)
@@ -115764,9 +116199,9 @@ MovieTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
115764
116199
  return;
115765
116200
 
115766
116201
  if (this .gif)
115767
- this .updateTexture (this .gif .currentFrame .data, !this ._flipVertically .getValue ());
116202
+ this .updateTexture (this .gif .currentFrame .data, true);
115768
116203
  else
115769
- this .updateTexture (this .video [0], !this ._flipVertically .getValue ());
116204
+ this .updateTexture (this .video [0], true);
115770
116205
  },
115771
116206
  traverse: Texturing_X3DTexture2DNode.prototype.traverse,
115772
116207
  dispose: function ()
@@ -115884,6 +116319,10 @@ MultiTexture .prototype = Object .assign (Object .create (Texturing_X3DTextureNo
115884
116319
  {
115885
116320
  return "texture";
115886
116321
  },
116322
+ getSpecificationRange: function ()
116323
+ {
116324
+ return ["3.0", "Infinity"];
116325
+ },
115887
116326
  initialize: function ()
115888
116327
  {
115889
116328
  Texturing_X3DTextureNode.prototype.initialize.call (this);
@@ -116203,6 +116642,10 @@ MultiTextureCoordinate .prototype = Object .assign (Object .create (Texturing_X3
116203
116642
  {
116204
116643
  return "texCoord";
116205
116644
  },
116645
+ getSpecificationRange: function ()
116646
+ {
116647
+ return ["3.0", "Infinity"];
116648
+ },
116206
116649
  initialize: function ()
116207
116650
  {
116208
116651
  Texturing_X3DTextureCoordinateNode.prototype.initialize.call (this);
@@ -116393,6 +116836,10 @@ MultiTextureTransform .prototype = Object .assign (Object .create (Texturing_X3D
116393
116836
  {
116394
116837
  return "textureTransform";
116395
116838
  },
116839
+ getSpecificationRange: function ()
116840
+ {
116841
+ return ["3.0", "Infinity"];
116842
+ },
116396
116843
  initialize: function ()
116397
116844
  {
116398
116845
  Texturing_X3DTextureTransformNode.prototype.initialize.call (this);
@@ -116452,7 +116899,7 @@ const MultiTextureTransform_default_ = MultiTextureTransform;
116452
116899
  x_ite_Namespace.set ("x_ite/Components/Texturing/MultiTextureTransform", MultiTextureTransform_default_);
116453
116900
  /* harmony default export */ const Texturing_MultiTextureTransform = (MultiTextureTransform_default_);
116454
116901
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Texturing/PixelTexture.js
116455
- /* provided dependency */ var PixelTexture_$ = __webpack_require__(2);
116902
+ /* provided dependency */ var PixelTexture_$ = __webpack_require__(869);
116456
116903
  /*******************************************************************************
116457
116904
  *
116458
116905
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -116541,6 +116988,10 @@ PixelTexture .prototype = Object .assign (Object .create (Texturing_X3DTexture2D
116541
116988
  {
116542
116989
  return "texture";
116543
116990
  },
116991
+ getSpecificationRange: function ()
116992
+ {
116993
+ return ["2.0", "Infinity"];
116994
+ },
116544
116995
  initialize: function ()
116545
116996
  {
116546
116997
  Texturing_X3DTexture2DNode.prototype.initialize.call (this);
@@ -116812,6 +117263,10 @@ TextureCoordinateGenerator .prototype = Object .assign (Object .create (Texturin
116812
117263
  {
116813
117264
  return "texCoord";
116814
117265
  },
117266
+ getSpecificationRange: function ()
117267
+ {
117268
+ return ["3.0", "Infinity"];
117269
+ },
116815
117270
  initialize: function ()
116816
117271
  {
116817
117272
  Texturing_X3DSingleTextureCoordinateNode.prototype.initialize.call (this);
@@ -117155,7 +117610,7 @@ const Components_default_ = Components;
117155
117610
  x_ite_Namespace.set ("x_ite/Components", Components_default_);
117156
117611
  /* harmony default export */ const x_ite_Components = ((/* unused pure expression or super */ null && (Components_default_)));
117157
117612
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/DOMIntegration.js
117158
- /* provided dependency */ var DOMIntegration_$ = __webpack_require__(2);
117613
+ /* provided dependency */ var DOMIntegration_$ = __webpack_require__(869);
117159
117614
  /*******************************************************************************
117160
117615
  * MIT License
117161
117616
  *
@@ -118392,7 +118847,7 @@ const SupportedProfiles_default_ = SupportedProfiles;
118392
118847
  x_ite_Namespace.set ("x_ite/Configuration/SupportedProfiles", SupportedProfiles_default_);
118393
118848
  /* harmony default export */ const Configuration_SupportedProfiles = (SupportedProfiles_default_);
118394
118849
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/X3DBrowser.js
118395
- /* provided dependency */ var X3DBrowser_$ = __webpack_require__(2);
118850
+ /* provided dependency */ var X3DBrowser_$ = __webpack_require__(869);
118396
118851
  /*******************************************************************************
118397
118852
  *
118398
118853
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119208,14 +119663,14 @@ X3DBrowser .prototype = Object .assign (Object .create (Browser_X3DBrowserContex
119208
119663
  beginUpdate: function ()
119209
119664
  {
119210
119665
  this .setLive (true);
119211
- this .getExecutionContext () .setLive (true);
119666
+ this .getExecutionContext () .beginUpdate ();
119212
119667
  this .advanceTime ();
119213
119668
  this .addBrowserEvent ();
119214
119669
  },
119215
119670
  endUpdate: function ()
119216
119671
  {
119217
119672
  this .setLive (false);
119218
- this .getExecutionContext () .setLive (false);
119673
+ this .getExecutionContext () .endUpdate ();
119219
119674
  },
119220
119675
  print: function ()
119221
119676
  {
@@ -119337,7 +119792,7 @@ const X3DBrowser_default_ = X3DBrowser;
119337
119792
  x_ite_Namespace.set ("x_ite/Browser/X3DBrowser", X3DBrowser_default_);
119338
119793
  /* harmony default export */ const Browser_X3DBrowser = (X3DBrowser_default_);
119339
119794
  ;// CONCATENATED MODULE: ./src/x_ite/Fallback.js
119340
- /* provided dependency */ var Fallback_$ = __webpack_require__(2);
119795
+ /* provided dependency */ var Fallback_$ = __webpack_require__(869);
119341
119796
  /*******************************************************************************
119342
119797
  *
119343
119798
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119516,8 +119971,8 @@ const MicroTime_default_ = undefined;
119516
119971
  x_ite_Namespace.set ("standard/Time/MicroTime", MicroTime_default_);
119517
119972
  /* harmony default export */ const MicroTime = ((/* unused pure expression or super */ null && (MicroTime_default_)));
119518
119973
  ;// CONCATENATED MODULE: ./src/lib/jquery.js
119519
- /* provided dependency */ var jquery_$ = __webpack_require__(2);
119520
- /* provided dependency */ var pako = __webpack_require__(250);
119974
+ /* provided dependency */ var jquery_$ = __webpack_require__(869);
119975
+ /* provided dependency */ var pako = __webpack_require__(645);
119521
119976
  jquery_$.decodeText = function (input)
119522
119977
  {
119523
119978
  if (typeof input === "string")
@@ -119536,7 +119991,12 @@ jquery_$.ungzip = function (arrayBuffer)
119536
119991
  {
119537
119992
  return arrayBuffer;
119538
119993
  }
119539
- }
119994
+ };
119995
+
119996
+ jquery_$.toLowerCaseFirst = function (string)
119997
+ {
119998
+ return string [0] .toLowerCase () + string .slice (1);
119999
+ };
119540
120000
 
119541
120001
  const jquery_default_ = jquery_$;
119542
120002
  ;
@@ -119544,14 +120004,14 @@ const jquery_default_ = jquery_$;
119544
120004
  x_ite_Namespace.set ("lib/jquery", jquery_default_);
119545
120005
  /* harmony default export */ const jquery = ((/* unused pure expression or super */ null && (jquery_default_)));
119546
120006
  ;// CONCATENATED MODULE: ./src/lib/libtess.js
119547
- /* provided dependency */ var libtess_libtess = __webpack_require__(735);
120007
+ /* provided dependency */ var libtess_libtess = __webpack_require__(23);
119548
120008
  const libtess_default_ = libtess_libtess;
119549
120009
  ;
119550
120010
 
119551
120011
  x_ite_Namespace.set ("lib/libtess", libtess_default_);
119552
120012
  /* harmony default export */ const lib_libtess = ((/* unused pure expression or super */ null && (libtess_default_)));
119553
120013
  ;// CONCATENATED MODULE: ./src/x_ite/X3D.js
119554
- /* provided dependency */ var X3D_$ = __webpack_require__(2);
120014
+ /* provided dependency */ var X3D_$ = __webpack_require__(869);
119555
120015
  /*******************************************************************************
119556
120016
  *
119557
120017
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119806,8 +120266,8 @@ const X3D_default_ = X3D;
119806
120266
 
119807
120267
  x_ite_Namespace.set ("x_ite/X3D", X3D_default_);
119808
120268
  /* harmony default export */ const x_ite_X3D = (X3D_default_);
119809
- ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvas.js
119810
- /* provided dependency */ var X3DCanvas_$ = __webpack_require__(2);
120269
+ ;// CONCATENATED MODULE: ./src/x_ite/X3DCanvasElement.js
120270
+ /* provided dependency */ var X3DCanvasElement_$ = __webpack_require__(869);
119811
120271
  /*******************************************************************************
119812
120272
  *
119813
120273
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -119858,11 +120318,11 @@ x_ite_Namespace.set ("x_ite/X3D", X3D_default_);
119858
120318
 
119859
120319
 
119860
120320
 
119861
- class X3DCanvas extends HTMLElement
120321
+ class X3DCanvasElement extends HTMLElement
119862
120322
  {
119863
120323
  static define ()
119864
120324
  {
119865
- customElements .define ("x3d-canvas", X3DCanvas);
120325
+ customElements .define ("x3d-canvas", X3DCanvasElement);
119866
120326
  }
119867
120327
 
119868
120328
  constructor ()
@@ -119873,8 +120333,8 @@ class X3DCanvas extends HTMLElement
119873
120333
  shadow = this .attachShadow ({ mode: "open", delegatesFocus: true }),
119874
120334
  link = document .createElement ("link");
119875
120335
 
119876
- X3DCanvas_$(this) .data ("shadow", X3DCanvas_$(shadow));
119877
- X3DCanvas_$(this) .data ("loaded", new Promise (function (resolve, reject)
120336
+ X3DCanvasElement_$(this) .data ("shadow", X3DCanvasElement_$(shadow));
120337
+ X3DCanvasElement_$(this) .data ("loaded", new Promise (function (resolve, reject)
119878
120338
  {
119879
120339
  link .onload = resolve;
119880
120340
  link .onerror = reject;
@@ -119886,7 +120346,10 @@ class X3DCanvas extends HTMLElement
119886
120346
 
119887
120347
  shadow .appendChild (link);
119888
120348
 
119889
- this .browser = new Browser_X3DBrowser (this);
120349
+ Object .defineProperty (this, "browser",
120350
+ {
120351
+ value: new Browser_X3DBrowser (this),
120352
+ })
119890
120353
  }
119891
120354
 
119892
120355
  connectedCallback ()
@@ -119909,6 +120372,7 @@ class X3DCanvas extends HTMLElement
119909
120372
  "splashScreen",
119910
120373
  "splashscreen",
119911
120374
  "src",
120375
+ "timings",
119912
120376
  "url",
119913
120377
  ];
119914
120378
  }
@@ -119917,16 +120381,31 @@ class X3DCanvas extends HTMLElement
119917
120381
  {
119918
120382
  this .browser .attributeChangedCallback (name, oldValue, newValue);
119919
120383
  }
120384
+
120385
+ captureStream (... args)
120386
+ {
120387
+ return this .browser .getCanvas () [0] .captureStream (... args);
120388
+ }
120389
+
120390
+ toBlob (... args)
120391
+ {
120392
+ return this .browser .getCanvas () [0] .toBlob (... args);
120393
+ }
120394
+
120395
+ toDataURL (... args)
120396
+ {
120397
+ return this .browser .getCanvas () [0] .toDataURL (... args);
120398
+ }
119920
120399
  }
119921
120400
 
119922
120401
  // IE fix.
119923
120402
  document .createElement ("X3DCanvas");
119924
120403
 
119925
- const X3DCanvas_default_ = X3DCanvas;
120404
+ const X3DCanvasElement_default_ = X3DCanvasElement;
119926
120405
  ;
119927
120406
 
119928
- x_ite_Namespace.set ("x_ite/X3DCanvas", X3DCanvas_default_);
119929
- /* harmony default export */ const x_ite_X3DCanvas = (X3DCanvas_default_);
120407
+ x_ite_Namespace.set ("x_ite/X3DCanvasElement", X3DCanvasElement_default_);
120408
+ /* harmony default export */ const x_ite_X3DCanvasElement = (X3DCanvasElement_default_);
119930
120409
  ;// CONCATENATED MODULE: ./src/shim.js
119931
120410
  /*******************************************************************************
119932
120411
  *
@@ -120067,9 +120546,9 @@ x_ite_Namespace.set ("shim", shim_default_);
120067
120546
 
120068
120547
  // Assign X3D to global namespace.
120069
120548
 
120070
- window [Symbol .for ("X_ITE.X3D-8.6.11")] = x_ite_X3D;
120549
+ window [Symbol .for ("X_ITE.X3D-8.6.13")] = x_ite_X3D;
120071
120550
 
120072
- x_ite_X3DCanvas.define ();
120551
+ x_ite_X3DCanvasElement.define ();
120073
120552
 
120074
120553
  x_ite_X3D ();
120075
120554