x_ite 8.6.12 → 8.6.14

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 (423) 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 -21
  5. package/dist/assets/components/CADGeometry.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturing.js +39 -28
  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 +55 -23
  13. package/dist/assets/components/Geometry2D.min.js +1 -1
  14. package/dist/assets/components/Geospatial.js +84 -40
  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 +18 -10
  19. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  20. package/dist/assets/components/Layout.js +47 -27
  21. package/dist/assets/components/Layout.min.js +1 -1
  22. package/dist/assets/components/NURBS.js +84 -28
  23. package/dist/assets/components/NURBS.min.js +1 -1
  24. package/dist/assets/components/ParticleSystems.js +70 -30
  25. package/dist/assets/components/ParticleSystems.min.js +1 -1
  26. package/dist/assets/components/Picking.js +42 -22
  27. package/dist/assets/components/Picking.min.js +1 -1
  28. package/dist/assets/components/RigidBodyPhysics.js +93 -37
  29. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  30. package/dist/assets/components/Scripting.js +35 -31
  31. package/dist/assets/components/Scripting.min.js +1 -1
  32. package/dist/assets/components/Text.js +33 -25
  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 +64 -32
  37. package/dist/assets/components/Texturing3D.min.js +1 -1
  38. package/dist/assets/components/VolumeRendering.js +80 -28
  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 +1697 -1080
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.zip +0 -0
  46. package/docs/_config.yml +2 -2
  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 +1 -1
  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 +1 -1
  69. package/docs/_posts/components/Lighting/PointLight.md +1 -1
  70. package/docs/_posts/components/Lighting/SpotLight.md +1 -1
  71. package/docs/_posts/components/Navigation/Billboard.md +1 -1
  72. package/docs/_posts/components/Navigation/Collision.md +1 -1
  73. package/docs/_posts/components/Navigation/LOD.md +1 -1
  74. package/docs/_posts/components/Navigation/NavigationInfo.md +1 -1
  75. package/docs/_posts/components/Navigation/Viewpoint.md +1 -1
  76. package/docs/_posts/components/Networking/Anchor.md +1 -1
  77. package/docs/_posts/components/Networking/Inline.md +1 -1
  78. package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +1 -1
  79. package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +1 -1
  80. package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +1 -1
  81. package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +1 -1
  82. package/docs/_posts/components/Rendering/Color.md +1 -1
  83. package/docs/_posts/components/Rendering/Coordinate.md +1 -1
  84. package/docs/_posts/components/Rendering/IndexedLineSet.md +1 -1
  85. package/docs/_posts/components/Rendering/Normal.md +1 -1
  86. package/docs/_posts/components/Rendering/PointSet.md +1 -1
  87. package/docs/_posts/components/Scripting/Script.md +1 -1
  88. package/docs/_posts/components/Shape/Appearance.md +1 -1
  89. package/docs/_posts/components/Shape/Material.md +1 -9
  90. package/docs/_posts/components/Shape/PhysicalMaterial.md +0 -8
  91. package/docs/_posts/components/Shape/Shape.md +1 -1
  92. package/docs/_posts/components/Shape/UnlitMaterial.md +0 -8
  93. package/docs/_posts/components/Sound/AudioClip.md +1 -1
  94. package/docs/_posts/components/Sound/Sound.md +1 -1
  95. package/docs/_posts/components/Text/FontStyle.md +1 -1
  96. package/docs/_posts/components/Text/Text.md +1 -1
  97. package/docs/_posts/components/Texturing/ImageTexture.md +1 -5
  98. package/docs/_posts/components/Texturing/MovieTexture.md +1 -5
  99. package/docs/_posts/components/Texturing/PixelTexture.md +1 -1
  100. package/docs/_posts/components/Texturing/TextureCoordinate.md +1 -1
  101. package/docs/_posts/components/Texturing/TextureTransform.md +1 -1
  102. package/docs/_posts/components/Time/TimeSensor.md +1 -1
  103. package/docs/laboratory/gltf-sample-viewer.html +1 -1
  104. package/package.json +1 -1
  105. package/src/standard/Math/Numbers/Matrix2.js +3 -3
  106. package/src/standard/Math/Numbers/Vector4.js +1 -0
  107. package/src/tests.js +2 -0
  108. package/src/x_ite/Base/X3DBaseNode.js +58 -53
  109. package/src/x_ite/Browser/Core/BrowserOptions.js +2 -1
  110. package/src/x_ite/Browser/Core/X3DCoreContext.js +3 -6
  111. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +9 -15
  112. package/src/x_ite/Browser/Navigation/ExamineViewer.js +0 -3
  113. package/src/x_ite/Browser/Navigation/FlyViewer.js +0 -2
  114. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +10 -12
  115. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +40 -21
  116. package/src/x_ite/Browser/VERSION.js +1 -1
  117. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +1 -1
  118. package/src/x_ite/Browser/X3DBrowser.js +19 -19
  119. package/src/x_ite/Components/Annotation/AnnotationLayer.js +4 -0
  120. package/src/x_ite/Components/Annotation/AnnotationTarget.js +4 -0
  121. package/src/x_ite/Components/Annotation/GroupAnnotation.js +4 -0
  122. package/src/x_ite/Components/Annotation/IconAnnotation.js +4 -0
  123. package/src/x_ite/Components/Annotation/TextAnnotation.js +4 -0
  124. package/src/x_ite/Components/Annotation/URLAnnotation.js +4 -0
  125. package/src/x_ite/Components/CADGeometry/CADAssembly.js +4 -0
  126. package/src/x_ite/Components/CADGeometry/CADFace.js +12 -8
  127. package/src/x_ite/Components/CADGeometry/CADLayer.js +4 -0
  128. package/src/x_ite/Components/CADGeometry/CADPart.js +4 -0
  129. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +4 -0
  130. package/src/x_ite/Components/CADGeometry/QuadSet.js +4 -0
  131. package/src/x_ite/Components/Core/MetadataBoolean.js +8 -4
  132. package/src/x_ite/Components/Core/MetadataDouble.js +8 -4
  133. package/src/x_ite/Components/Core/MetadataFloat.js +8 -4
  134. package/src/x_ite/Components/Core/MetadataInteger.js +8 -4
  135. package/src/x_ite/Components/Core/MetadataSet.js +8 -4
  136. package/src/x_ite/Components/Core/MetadataString.js +8 -4
  137. package/src/x_ite/Components/Core/WorldInfo.js +4 -0
  138. package/src/x_ite/Components/Core/X3DNode.js +17 -16
  139. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +11 -14
  140. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +4 -1
  141. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +4 -0
  142. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +6 -2
  143. package/src/x_ite/Components/DIS/DISEntityManager.js +4 -0
  144. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +4 -0
  145. package/src/x_ite/Components/DIS/EspduTransform.js +4 -0
  146. package/src/x_ite/Components/DIS/ReceiverPdu.js +4 -0
  147. package/src/x_ite/Components/DIS/SignalPdu.js +4 -0
  148. package/src/x_ite/Components/DIS/TransmitterPdu.js +4 -0
  149. package/src/x_ite/Components/EnvironmentalEffects/Background.js +4 -0
  150. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +4 -0
  151. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +4 -0
  152. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +4 -0
  153. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +4 -0
  154. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +1 -1
  155. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +4 -0
  156. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +6 -2
  157. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +4 -0
  158. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +2 -2
  159. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +4 -0
  160. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +4 -0
  161. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +4 -0
  162. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +4 -0
  163. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +4 -0
  164. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +4 -0
  165. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +4 -0
  166. package/src/x_ite/Components/Followers/ColorChaser.js +4 -0
  167. package/src/x_ite/Components/Followers/ColorDamper.js +4 -0
  168. package/src/x_ite/Components/Followers/CoordinateChaser.js +4 -0
  169. package/src/x_ite/Components/Followers/CoordinateDamper.js +4 -0
  170. package/src/x_ite/Components/Followers/OrientationChaser.js +4 -0
  171. package/src/x_ite/Components/Followers/OrientationDamper.js +4 -0
  172. package/src/x_ite/Components/Followers/PositionChaser.js +4 -0
  173. package/src/x_ite/Components/Followers/PositionChaser2D.js +4 -0
  174. package/src/x_ite/Components/Followers/PositionDamper.js +4 -0
  175. package/src/x_ite/Components/Followers/PositionDamper2D.js +4 -0
  176. package/src/x_ite/Components/Followers/ScalarChaser.js +4 -0
  177. package/src/x_ite/Components/Followers/ScalarDamper.js +4 -0
  178. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +4 -0
  179. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +4 -0
  180. package/src/x_ite/Components/Followers/X3DFollowerNode.js +2 -2
  181. package/src/x_ite/Components/Geometry2D/Arc2D.js +5 -1
  182. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +5 -1
  183. package/src/x_ite/Components/Geometry2D/Circle2D.js +5 -1
  184. package/src/x_ite/Components/Geometry2D/Disk2D.js +5 -1
  185. package/src/x_ite/Components/Geometry2D/Polyline2D.js +4 -0
  186. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +4 -0
  187. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +4 -0
  188. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +4 -0
  189. package/src/x_ite/Components/Geometry3D/Box.js +4 -0
  190. package/src/x_ite/Components/Geometry3D/Cone.js +5 -1
  191. package/src/x_ite/Components/Geometry3D/Cylinder.js +5 -1
  192. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +14 -10
  193. package/src/x_ite/Components/Geometry3D/Extrusion.js +4 -0
  194. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +7 -3
  195. package/src/x_ite/Components/Geometry3D/Sphere.js +5 -1
  196. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +4 -0
  197. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +11 -7
  198. package/src/x_ite/Components/Geospatial/GeoLOD.js +4 -0
  199. package/src/x_ite/Components/Geospatial/GeoLocation.js +4 -0
  200. package/src/x_ite/Components/Geospatial/GeoMetadata.js +4 -0
  201. package/src/x_ite/Components/Geospatial/GeoOrigin.js +4 -0
  202. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +4 -0
  203. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +4 -0
  204. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +4 -0
  205. package/src/x_ite/Components/Geospatial/GeoTransform.js +4 -0
  206. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +4 -0
  207. package/src/x_ite/Components/Grouping/Group.js +4 -0
  208. package/src/x_ite/Components/Grouping/StaticGroup.js +4 -0
  209. package/src/x_ite/Components/Grouping/Switch.js +11 -7
  210. package/src/x_ite/Components/Grouping/Transform.js +4 -0
  211. package/src/x_ite/Components/HAnim/HAnimDisplacer.js +4 -0
  212. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +4 -0
  213. package/src/x_ite/Components/HAnim/HAnimJoint.js +4 -0
  214. package/src/x_ite/Components/HAnim/HAnimMotion.js +4 -0
  215. package/src/x_ite/Components/HAnim/HAnimSegment.js +4 -0
  216. package/src/x_ite/Components/HAnim/HAnimSite.js +4 -0
  217. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +4 -0
  218. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +4 -0
  219. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +4 -0
  220. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +4 -0
  221. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +4 -0
  222. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +4 -0
  223. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +4 -0
  224. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +4 -0
  225. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +4 -0
  226. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +4 -0
  227. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +4 -0
  228. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +4 -0
  229. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +4 -0
  230. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +4 -0
  231. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +4 -0
  232. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +2 -2
  233. package/src/x_ite/Components/Layering/Layer.js +4 -0
  234. package/src/x_ite/Components/Layering/LayerSet.js +4 -0
  235. package/src/x_ite/Components/Layering/Viewport.js +4 -0
  236. package/src/x_ite/Components/Layering/X3DLayerNode.js +40 -49
  237. package/src/x_ite/Components/Layout/Layout.js +4 -0
  238. package/src/x_ite/Components/Layout/LayoutGroup.js +4 -0
  239. package/src/x_ite/Components/Layout/LayoutLayer.js +4 -0
  240. package/src/x_ite/Components/Layout/ScreenFontStyle.js +4 -0
  241. package/src/x_ite/Components/Layout/ScreenGroup.js +4 -0
  242. package/src/x_ite/Components/Lighting/DirectionalLight.js +4 -0
  243. package/src/x_ite/Components/Lighting/EnvironmentLight.js +4 -0
  244. package/src/x_ite/Components/Lighting/PointLight.js +4 -0
  245. package/src/x_ite/Components/Lighting/SpotLight.js +7 -9
  246. package/src/x_ite/Components/NURBS/Contour2D.js +4 -0
  247. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +4 -0
  248. package/src/x_ite/Components/NURBS/CoordinateDouble.js +4 -0
  249. package/src/x_ite/Components/NURBS/NurbsCurve.js +4 -0
  250. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +4 -0
  251. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +4 -0
  252. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +4 -0
  253. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +4 -0
  254. package/src/x_ite/Components/NURBS/NurbsSet.js +4 -0
  255. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +4 -0
  256. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +4 -0
  257. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +4 -0
  258. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +4 -0
  259. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +4 -0
  260. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +4 -4
  261. package/src/x_ite/Components/Navigation/Billboard.js +4 -0
  262. package/src/x_ite/Components/Navigation/Collision.js +8 -4
  263. package/src/x_ite/Components/Navigation/LOD.js +11 -7
  264. package/src/x_ite/Components/Navigation/NavigationInfo.js +4 -0
  265. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +4 -0
  266. package/src/x_ite/Components/Navigation/Viewpoint.js +4 -0
  267. package/src/x_ite/Components/Navigation/ViewpointGroup.js +4 -0
  268. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +8 -0
  269. package/src/x_ite/Components/Networking/Anchor.js +4 -0
  270. package/src/x_ite/Components/Networking/Inline.js +6 -2
  271. package/src/x_ite/Components/Networking/LoadSensor.js +42 -29
  272. package/src/x_ite/Components/Networking/X3DUrlObject.js +2 -2
  273. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +4 -0
  274. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +4 -0
  275. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +4 -0
  276. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +4 -0
  277. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +12 -8
  278. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +4 -0
  279. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +4 -0
  280. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +4 -0
  281. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +4 -0
  282. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +4 -0
  283. package/src/x_ite/Components/Picking/LinePickSensor.js +4 -0
  284. package/src/x_ite/Components/Picking/PickableGroup.js +4 -0
  285. package/src/x_ite/Components/Picking/PointPickSensor.js +4 -0
  286. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +4 -0
  287. package/src/x_ite/Components/Picking/VolumePickSensor.js +4 -0
  288. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +4 -4
  289. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +4 -0
  290. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +4 -0
  291. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +4 -0
  292. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +4 -0
  293. package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +28 -19
  294. package/src/x_ite/Components/Rendering/ClipPlane.js +4 -0
  295. package/src/x_ite/Components/Rendering/Color.js +4 -0
  296. package/src/x_ite/Components/Rendering/ColorRGBA.js +4 -0
  297. package/src/x_ite/Components/Rendering/Coordinate.js +4 -0
  298. package/src/x_ite/Components/Rendering/IndexedLineSet.js +15 -11
  299. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +4 -0
  300. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +4 -0
  301. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +4 -0
  302. package/src/x_ite/Components/Rendering/LineSet.js +16 -12
  303. package/src/x_ite/Components/Rendering/Normal.js +4 -0
  304. package/src/x_ite/Components/Rendering/PointSet.js +15 -11
  305. package/src/x_ite/Components/Rendering/TriangleFanSet.js +4 -0
  306. package/src/x_ite/Components/Rendering/TriangleSet.js +4 -0
  307. package/src/x_ite/Components/Rendering/TriangleStripSet.js +4 -0
  308. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +14 -14
  309. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +6 -6
  310. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +6 -6
  311. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +4 -4
  312. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +4 -0
  313. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +11 -7
  314. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +11 -7
  315. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +4 -0
  316. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +7 -3
  317. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +4 -0
  318. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +4 -0
  319. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +4 -0
  320. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +4 -0
  321. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +4 -0
  322. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +6 -2
  323. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +4 -0
  324. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +4 -0
  325. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +4 -0
  326. package/src/x_ite/Components/Scripting/Script.js +7 -3
  327. package/src/x_ite/Components/Shaders/ComposedShader.js +11 -9
  328. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +4 -0
  329. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +4 -0
  330. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +4 -0
  331. package/src/x_ite/Components/Shaders/PackagedShader.js +4 -0
  332. package/src/x_ite/Components/Shaders/ProgramShader.js +4 -0
  333. package/src/x_ite/Components/Shaders/ShaderPart.js +4 -2
  334. package/src/x_ite/Components/Shaders/ShaderProgram.js +4 -0
  335. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +3 -3
  336. package/src/x_ite/Components/Shape/AcousticProperties.js +4 -0
  337. package/src/x_ite/Components/Shape/Appearance.js +8 -4
  338. package/src/x_ite/Components/Shape/FillProperties.js +4 -0
  339. package/src/x_ite/Components/Shape/LineProperties.js +4 -0
  340. package/src/x_ite/Components/Shape/Material.js +5 -2
  341. package/src/x_ite/Components/Shape/PhysicalMaterial.js +5 -2
  342. package/src/x_ite/Components/Shape/PointProperties.js +4 -0
  343. package/src/x_ite/Components/Shape/Shape.js +4 -0
  344. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +4 -0
  345. package/src/x_ite/Components/Shape/UnlitMaterial.js +5 -2
  346. package/src/x_ite/Components/Shape/X3DMaterialNode.js +1 -1
  347. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +5 -7
  348. package/src/x_ite/Components/Shape/X3DShapeNode.js +1 -1
  349. package/src/x_ite/Components/Sound/Analyser.js +4 -0
  350. package/src/x_ite/Components/Sound/AudioClip.js +6 -2
  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 +6 -2
  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 +5 -1
  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 +13 -13
  375. package/src/x_ite/Components/Texturing/MovieTexture.js +10 -7
  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 +6 -2
  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 +5 -1
  393. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +6 -6
  394. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +4 -0
  395. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +4 -0
  396. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +4 -0
  397. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +4 -0
  398. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +4 -0
  399. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +4 -0
  400. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +4 -0
  401. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +4 -0
  402. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +4 -0
  403. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +4 -0
  404. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +4 -0
  405. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +4 -0
  406. package/src/x_ite/Components/VolumeRendering/VolumeData.js +4 -0
  407. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +8 -8
  408. package/src/x_ite/Components/X_ITE/BlendMode.js +4 -0
  409. package/src/x_ite/Execution/BindableList.js +16 -19
  410. package/src/x_ite/Execution/X3DExecutionContext.js +33 -11
  411. package/src/x_ite/Execution/X3DScene.js +4 -0
  412. package/src/x_ite/Fields/ArrayFields.js +42 -22
  413. package/src/x_ite/Fields/SFNode.js +3 -6
  414. package/src/x_ite/Fields/SFNodeCache.js +34 -19
  415. package/src/x_ite/InputOutput/FileLoader.js +22 -14
  416. package/src/x_ite/Parser/GLTF2Parser.js +72 -51
  417. package/src/x_ite/Parser/VRMLParser.js +66 -34
  418. package/src/x_ite/Parser/X3DParser.js +9 -36
  419. package/src/x_ite/Parser/XMLParser.js +8 -8
  420. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +2 -2
  421. package/src/x_ite/Prototype/X3DProtoDeclaration.js +1 -2
  422. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +1 -1
  423. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
@@ -15,7 +15,7 @@ tags: [TextureCoordinate, Texturing]
15
15
 
16
16
  TextureCoordinate specifies 2D (s,t) texture-coordinate points, used by vertex-based geometry nodes (such as IndexedFaceSet or ElevationGrid) to map textures to vertices (and patches to polygons).
17
17
 
18
- The TextureCoordinate node belongs to the **Texturing** component and its default container field is *texCoord.* It is available since X3D version 3.0 or later.
18
+ The TextureCoordinate node belongs to the **Texturing** component and its default container field is *texCoord.* It is available since X3D version 2.0 or later.
19
19
 
20
20
  ## Hierarchy
21
21
 
@@ -15,7 +15,7 @@ tags: [TextureTransform, Texturing]
15
15
 
16
16
  TextureTransform shifts 2D texture coordinates for positioning, orienting and scaling image textures on geometry.
17
17
 
18
- The TextureTransform node belongs to the **Texturing** component and its default container field is *textureTransform.* It is available since X3D version 3.0 or later.
18
+ The TextureTransform node belongs to the **Texturing** component and its default container field is *textureTransform.* It is available since X3D version 2.0 or later.
19
19
 
20
20
  ## Hierarchy
21
21
 
@@ -15,7 +15,7 @@ tags: [TimeSensor, Time]
15
15
 
16
16
  TimeSensor continuously generates events as time passes. Typical use: ROUTE thisTimeSensor.fraction_changed TO someInterpolator.set_fraction. Interchange profile hint: TimeSensor may be ignored if cycleInterval < 0.01 second.
17
17
 
18
- The TimeSensor node belongs to the **Time** component and its default container field is *children.* It is available since X3D version 3.0 or later.
18
+ The TimeSensor node belongs to the **Time** component and its default container field is *children.* It is available since X3D version 2.0 or later.
19
19
 
20
20
  ## Hierarchy
21
21
 
@@ -82,7 +82,7 @@ tags: [glTF, Sample, Viewer]
82
82
  </Text>
83
83
  </Shape>
84
84
  </Scene>
85
- </X3D>
85
+ </X3D>
86
86
  </x3d-canvas>
87
87
  </div>
88
88
  <div class="viewer-column2"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "x_ite",
3
- "version": "8.6.12",
3
+ "version": "8.6.14",
4
4
  "description": "X_ITE X3D Browser, view and manipulate X3D and VRML scenes in HTML.",
5
5
  "homepage": "https://create3000.github.io/x_ite/",
6
6
  "author": "Holger Seelig <holger.seelig@gmail.com>",
@@ -145,7 +145,7 @@ Matrix2 .prototype =
145
145
  inverse: function ()
146
146
  {
147
147
  const
148
- { 0: A, 1: B, 2: C, 3: D } = this [3],
148
+ { 0: A, 1: B, 2: C, 3: D } = this,
149
149
  d = A * D - B * C;
150
150
 
151
151
  // if (d === 0) ... determinant is zero.
@@ -189,9 +189,9 @@ Matrix2 .prototype =
189
189
  {
190
190
  const
191
191
  x = vector,
192
- w = x * this [2] + this [3];
192
+ w = x * this [1] + this [3];
193
193
 
194
- return (x * this [0] + this [1]) / w;
194
+ return (x * this [0] + this [2]) / w;
195
195
  }
196
196
  else
197
197
  {
@@ -101,6 +101,7 @@ Vector4 .prototype =
101
101
  vector .x = this .x / this .w;
102
102
  vector .y = this .y / this .w;
103
103
  vector .z = this .z / this .w;
104
+ return vector;
104
105
  },
105
106
  negate: function ()
106
107
  {
package/src/tests.js CHANGED
@@ -22,6 +22,7 @@ const X_ITE_TESTS = [
22
22
  { path: "Core/Statements.x3d" },
23
23
  { path: "Core/units.x3d" },
24
24
  { path: "Core/units.x3dv" },
25
+ { path: "Core/VRML.wrl" },
25
26
  { component: "EnvironmentalEffects" },
26
27
  { path: "EnvironmentalEffects/BackgroundClipPlane.x3dv" },
27
28
  { path: "EnvironmentalEffects/FogCoordinate.x3d" },
@@ -311,6 +312,7 @@ const X_ITE_TESTS = [
311
312
  { path: "Shape/Connectors.x3d" },
312
313
  { path: "Shape/CopperGold.x3d" },
313
314
  { path: "Shape/FillProperties.x3d" },
315
+ { path: "Shape/flower-extreme/sphereflowers.x3d" },
314
316
  { path: "Shape/LineProperties.x3dv" },
315
317
  { path: "Shape/MaterialGeometries.x3d" },
316
318
  { path: "Shape/NormalTexture.x3d" },
@@ -61,10 +61,10 @@ const
61
61
  _predefinedFields = Symbol (),
62
62
  _aliases = Symbol (),
63
63
  _userDefinedFields = Symbol (),
64
+ _childObjects = Symbol (),
64
65
  _initialized = Symbol (),
65
66
  _live = Symbol (),
66
67
  _set_live__ = Symbol ("X3DBaseNode.set_live__"),
67
- _private = Symbol (),
68
68
  _cloneCount = Symbol ();
69
69
 
70
70
  function X3DBaseNode (executionContext)
@@ -80,23 +80,24 @@ function X3DBaseNode (executionContext)
80
80
  this [_predefinedFields] = new FieldArray ();
81
81
  this [_aliases] = new Map ();
82
82
  this [_userDefinedFields] = new FieldArray ();
83
+ this [_childObjects] = [ ];
83
84
  this [_live] = true;
84
85
  this [_initialized] = false;
85
- this [_private] = false;
86
86
  this [_cloneCount] = 0;
87
87
 
88
88
  // Setup fields.
89
89
 
90
+ this .addChildObjects ("name_changed", new Fields .SFTime (),
91
+ "typeName_changed", new Fields .SFTime (),
92
+ "fields_changed", new Fields .SFTime (),
93
+ "cloneCount_changed", new Fields .SFTime (),
94
+ "private", new Fields .SFBool ())
95
+
90
96
  if (this .canUserDefinedFields ())
91
97
  this [_fieldDefinitions] = new FieldDefinitionArray (this [_fieldDefinitions]);
92
98
 
93
99
  for (const fieldDefinition of this [_fieldDefinitions])
94
100
  this .addField (fieldDefinition);
95
-
96
- this .addChildObjects ("name_changed", new Fields .SFTime (),
97
- "typeName_changed", new Fields .SFTime (),
98
- "fields_changed", new Fields .SFTime (),
99
- "cloneCount_changed", new Fields .SFTime ())
100
101
  }
101
102
 
102
103
  X3DBaseNode .prototype = Object .assign (Object .create (X3DEventObject .prototype),
@@ -149,19 +150,26 @@ X3DBaseNode .prototype = Object .assign (Object .create (X3DEventObject .prototy
149
150
  {
150
151
  return this;
151
152
  },
152
- beginUpdate: function ()
153
+ isLive: function ()
153
154
  {
154
- this .setLive (true);
155
+ /// Returns the own live state of this node.
156
+
157
+ return this [_live];
155
158
  },
156
- endUpdate: function ()
159
+ setLive: function (value)
157
160
  {
158
- this .setLive (false);
161
+ /// Sets the own live state of this node. Setting the live state to false
162
+ /// temporarily disables this node completely.
163
+
164
+ this [_live] = value .valueOf ();
165
+
166
+ this [_set_live__] ();
159
167
  },
160
- isLive: (function ()
168
+ getLive: (function ()
161
169
  {
162
- function isLive ()
170
+ function getLive ()
163
171
  {
164
- return this ._isLive;
172
+ return this ._live;
165
173
  }
166
174
 
167
175
  return function ()
@@ -170,80 +178,66 @@ X3DBaseNode .prototype = Object .assign (Object .create (X3DEventObject .prototy
170
178
 
171
179
  // Change function.
172
180
 
173
- Object .defineProperty (this, "isLive",
181
+ Object .defineProperty (this, "getLive",
174
182
  {
175
- value: isLive,
183
+ value: getLive,
176
184
  enumerable: false,
177
185
  configurable: true,
178
186
  });
179
187
 
180
188
  // Add isLive event.
181
189
 
182
- this .addChildObjects ("isLive", new Fields .SFBool (this .getLiveState ()));
190
+ this .addChildObjects ("live", new Fields .SFBool (this .getLiveState ()));
183
191
 
184
192
  // Event processing is done manually and immediately, so:
185
- this ._isLive .removeParent (this);
193
+ this ._live .removeParent (this);
186
194
 
187
195
  // Connect to execution context.
188
196
 
189
197
  if (this .getOuterNode && this .getOuterNode ())
190
- this .getOuterNode () .isLive () .addInterest (_set_live__, this);
198
+ this .getOuterNode () .getLive () .addInterest (_set_live__, this);
191
199
 
192
200
  else if (this [_executionContext] !== this)
193
- this [_executionContext] .isLive () .addInterest (_set_live__, this);
201
+ this [_executionContext] .getLive () .addInterest (_set_live__, this);
194
202
 
195
- // Return field
203
+ // Return field.
196
204
 
197
- return this .isLive ();
205
+ return this ._live;
198
206
  };
199
207
  })(),
200
- setLive: function (value)
201
- {
202
- /// Sets the own live state of this node. Setting the live state to false
203
- /// temporarily disables this node completely.
204
-
205
- this [_live] = value .valueOf ();
206
-
207
- this [_set_live__] ();
208
- },
209
- getLive: function ()
210
- {
211
- /// Returns the own live state of this node.
212
-
213
- return this [_live];
214
- },
215
208
  getLiveState: function ()
216
209
  {
217
210
  /// Determines the live state of this node.
218
211
 
219
- if (this .getOuterNode && this .getOuterNode ())
220
- return this .getLive () && this .getOuterNode () .isLive () .getValue ();
212
+ if (this .getOuterNode ?.())
213
+ return this [_live] && this .getOuterNode () .getLive () .getValue ();
221
214
 
222
215
  else if (this !== this [_executionContext])
223
- return this .getLive () && this [_executionContext] .isLive () .getValue ();
216
+ return this [_live] && this [_executionContext] .getLive () .getValue ();
224
217
 
225
- return this .getLive ();
218
+ return this [_live];
226
219
  },
227
220
  [_set_live__]: function ()
228
221
  {
229
- const
230
- live = this .getLiveState (),
231
- isLive = this .isLive ();
222
+ const live = this ._live;
223
+
224
+ if (!live)
225
+ return;
232
226
 
233
- if (live)
227
+ if (this .getLiveState ())
234
228
  {
235
- if (isLive .getValue ())
229
+ if (live .getValue ())
236
230
  return;
237
231
 
238
- isLive .set (true);
239
- isLive .processEvent ();
232
+ live .set (true);
233
+ live .processEvent ();
240
234
  }
241
235
  else
242
236
  {
243
- if (isLive .getValue ())
237
+ if (live .getValue ())
244
238
  {
245
- isLive .set (false);
246
- isLive .processEvent ();
239
+ live .set (false);
240
+ live .processEvent ();
247
241
  }
248
242
  }
249
243
  },
@@ -302,6 +296,8 @@ X3DBaseNode .prototype = Object .assign (Object .create (X3DEventObject .prototy
302
296
  },
303
297
  addChildObject: function (name, field)
304
298
  {
299
+ this [_childObjects] .push (field);
300
+
305
301
  field .addParent (this);
306
302
  field .setName (name);
307
303
 
@@ -545,11 +541,11 @@ X3DBaseNode .prototype = Object .assign (Object .create (X3DEventObject .prototy
545
541
  },
546
542
  isPrivate: function ()
547
543
  {
548
- return this [_private];
544
+ return this ._private .getValue ();
549
545
  },
550
546
  setPrivate: function (value)
551
547
  {
552
- this [_private] = value;
548
+ this ._private = value;
553
549
 
554
550
  if (value)
555
551
  {
@@ -562,6 +558,10 @@ X3DBaseNode .prototype = Object .assign (Object .create (X3DEventObject .prototy
562
558
  field .addCloneCount (1);
563
559
  }
564
560
  },
561
+ getPrivate: function ()
562
+ {
563
+ return this ._private;
564
+ },
565
565
  getCloneCount: function ()
566
566
  {
567
567
  return this [_cloneCount];
@@ -600,6 +600,11 @@ X3DBaseNode .prototype = Object .assign (Object .create (X3DEventObject .prototy
600
600
  },
601
601
  dispose: function ()
602
602
  {
603
+ this .setLive (false);
604
+
605
+ for (const field of this [_childObjects])
606
+ field .dispose ();
607
+
603
608
  for (const field of this .getFields ())
604
609
  field .dispose ();
605
610
 
@@ -92,6 +92,7 @@ BrowserOptions .prototype = Object .assign (Object .create (X3DBaseNode .prototy
92
92
  new X3DFieldDefinition (X3DConstants .inputOutput, "Notifications", new Fields .SFBool (true)),
93
93
  new X3DFieldDefinition (X3DConstants .inputOutput, "Multisampling", new Fields .SFInt32 (4)),
94
94
  new X3DFieldDefinition (X3DConstants .inputOutput, "OptimizeStaticGroup", new Fields .SFBool (true)),
95
+ new X3DFieldDefinition (X3DConstants .inputOutput, "PrivateSensors", new Fields .SFBool (false)),
95
96
  new X3DFieldDefinition (X3DConstants .inputOutput, "StraightenHorizon", new Fields .SFBool (true)),
96
97
  new X3DFieldDefinition (X3DConstants .inputOutput, "Timings", new Fields .SFBool ()),
97
98
  ]),
@@ -267,7 +268,7 @@ BrowserOptions .prototype = Object .assign (Object .create (X3DBaseNode .prototy
267
268
  this .localStorage .StraightenHorizon = straightenHorizon .getValue ();
268
269
 
269
270
  if (straightenHorizon .getValue ())
270
- this .getBrowser () .getActiveLayer ()?.straightenView ();
271
+ this .getBrowser () .getActiveLayer () ?.straightenView ();
271
272
  },
272
273
  updateContentScale: function ()
273
274
  {
@@ -57,7 +57,6 @@ import Scene from "../../Execution/Scene.js";
57
57
  import DataStorage from "../../../standard/Utility/DataStorage.js";
58
58
  import Vector3 from "../../../standard/Math/Numbers/Vector3.js";
59
59
  import _ from "../../../locale/gettext.js";
60
- import DEBUG from "../../DEBUG.js";
61
60
 
62
61
  const WEBGL_LATEST_VERSION = 2;
63
62
 
@@ -357,9 +356,7 @@ X3DCoreContext .prototype =
357
356
  },
358
357
  callBrowserEventHandler: function (events)
359
358
  {
360
- const element = window .jQuery
361
- ? window .jQuery (this .getElement () .get (0))
362
- : this .getElement ();
359
+ const element = this .getElement ();
363
360
 
364
361
  for (const event of events .split (" "))
365
362
  element .trigger (event);
@@ -479,12 +476,12 @@ X3DCoreContext .prototype =
479
476
  {
480
477
  event .preventDefault ();
481
478
 
482
- if (this .isLive () .getValue ())
479
+ if (this .isLive ())
483
480
  this .endUpdate ();
484
481
  else
485
482
  this .beginUpdate ();
486
483
 
487
- this .getNotification () ._string = this .isLive () .getValue () ? "Begin Update" : "End Update";
484
+ this .getNotification () ._string = this .getLive () .getValue () ? "Begin Update" : "End Update";
488
485
  }
489
486
  }
490
487
 
@@ -45,13 +45,11 @@
45
45
  *
46
46
  ******************************************************************************/
47
47
 
48
- import Fields from "../../Fields.js";
49
48
  import Shape from "../../Components/Shape/Shape.js";
50
49
  import IndexedLineSet from "../../Components/Rendering/IndexedLineSet.js";
51
- import Color from "../../Components/Rendering/Color.js";
52
50
  import Coordinate from "../../Components/Rendering/Coordinate.js";
53
51
 
54
- const _bboxNode = Symbol ();
52
+ const _bboxShape = Symbol ();
55
53
 
56
54
  function X3DGroupingContext () { }
57
55
 
@@ -61,30 +59,26 @@ X3DGroupingContext .prototype =
61
59
  getBBoxNode: function ()
62
60
  {
63
61
  const
64
- bboxNode = new Shape (this .getPrivateScene ()),
62
+ bboxShape = new Shape (this .getPrivateScene ()),
65
63
  bboxGeometry = new IndexedLineSet (this .getPrivateScene ()),
66
- bboxColor = new Color (this .getPrivateScene ()),
67
64
  bboxCoordinate = new Coordinate (this .getPrivateScene ());
68
65
 
69
- bboxNode ._geometry = bboxGeometry;
70
- bboxGeometry ._coordIndex = new 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);
71
- bboxGeometry ._color = bboxColor;
66
+ bboxShape ._geometry = bboxGeometry;
67
+ 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];
72
68
  bboxGeometry ._coord = bboxCoordinate;
73
- bboxColor ._color = new Fields .MFColor (new Fields .SFColor (1, 1, 1));
74
- bboxCoordinate ._point = new Fields .MFVec3f (new Fields .SFVec3f (0.5, 0.5, 0.5), new Fields .SFVec3f (-0.5, 0.5, 0.5), new Fields .SFVec3f (-0.5, -0.5, 0.5), new Fields .SFVec3f (0.5, -0.5, 0.5), new Fields .SFVec3f (0.5, 0.5, -0.5), new Fields .SFVec3f (-0.5, 0.5, -0.5), new Fields .SFVec3f (-0.5, -0.5, -0.5), new Fields .SFVec3f (0.5, -0.5, -0.5));
69
+ 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];
75
70
 
76
71
  bboxCoordinate .setup ();
77
- bboxColor .setup ();
78
72
  bboxGeometry .setup ();
79
- bboxNode .setup ();
73
+ bboxShape .setup ();
80
74
 
81
- this [_bboxNode] = bboxNode;
75
+ this [_bboxShape] = bboxShape;
82
76
 
83
- this .getBBoxNode = function () { return this [_bboxNode]; };
77
+ this .getBBoxNode = function () { return this [_bboxShape]; };
84
78
 
85
79
  Object .defineProperty (this, "getBBoxNode", { enumerable: false });
86
80
 
87
- return bboxNode;
81
+ return bboxShape;
88
82
  }
89
83
  };
90
84
 
@@ -56,7 +56,6 @@ import TimeSensor from "../../Components/Time/TimeSensor.js";
56
56
  import Vector2 from "../../../standard/Math/Numbers/Vector2.js";
57
57
  import Vector3 from "../../../standard/Math/Numbers/Vector3.js";
58
58
  import Rotation4 from "../../../standard/Math/Numbers/Rotation4.js";
59
- import Matrix3 from "../../../standard/Math/Numbers/Matrix3.js";
60
59
 
61
60
  typeof jquery_mousewheel; // import plugin
62
61
 
@@ -254,8 +253,6 @@ ExamineViewer .prototype = Object .assign (Object .create (X3DViewer .prototype)
254
253
  event .preventDefault ();
255
254
  event .stopImmediatePropagation ();
256
255
 
257
- const viewpoint = this .getActiveViewpoint ();
258
-
259
256
  this .getBrowser () .setCursor ("DEFAULT");
260
257
 
261
258
  if (Math .abs (this .rotation .angle) > SPIN_ANGLE && Date .now () - this .motionTime < SPIN_RELEASE_TIME)
@@ -50,8 +50,6 @@ import X3DFieldDefinition from "../../Base/X3DFieldDefinition.js";
50
50
  import FieldDefinitionArray from "../../Base/FieldDefinitionArray.js";
51
51
  import X3DConstants from "../../Base/X3DConstants.js";
52
52
  import X3DFlyViewer from "./X3DFlyViewer.js";
53
- import Vector3 from "../../../standard/Math/Numbers/Vector3.js";
54
- import Rotation4 from "../../../standard/Math/Numbers/Rotation4.js";
55
53
 
56
54
  function FlyViewer (executionContext, navigationInfo)
57
55
  {
@@ -83,7 +83,7 @@ function X3DNavigationContext ()
83
83
  "viewer", new Fields .SFString ("EXAMINE"));
84
84
 
85
85
  this [_activeCollisions] = new Set ();
86
- this [_viewerNode] = new NoneViewer (this);
86
+ this [_viewerNode] = new NoneViewer (this .getPrivateScene ());
87
87
  }
88
88
 
89
89
  X3DNavigationContext .prototype =
@@ -165,8 +165,7 @@ X3DNavigationContext .prototype =
165
165
  },
166
166
  set_activeNavigationInfo__: function ()
167
167
  {
168
- if (this ._activeNavigationInfo .getValue ())
169
- this ._activeNavigationInfo .getValue () ._viewer .removeFieldInterest (this ._viewer);
168
+ this ._activeNavigationInfo .getValue () ?._viewer .removeFieldInterest (this ._viewer);
170
169
 
171
170
  if (this ._activeLayer .getValue ())
172
171
  {
@@ -200,33 +199,32 @@ X3DNavigationContext .prototype =
200
199
 
201
200
  // Create viewer node.
202
201
 
203
- if (this [_viewerNode])
204
- this [_viewerNode] .dispose ();
202
+ this [_viewerNode] ?.dispose ();
205
203
 
206
204
  switch (viewer .getValue ())
207
205
  {
208
206
  case "EXAMINE":
209
- this [_viewerNode] = new ExamineViewer (this, navigationInfo);
207
+ this [_viewerNode] = new ExamineViewer (this .getPrivateScene (), navigationInfo);
210
208
  break;
211
209
  case "WALK":
212
- this [_viewerNode] = new WalkViewer (this, navigationInfo);
210
+ this [_viewerNode] = new WalkViewer (this .getPrivateScene (), navigationInfo);
213
211
  break;
214
212
  case "FLY":
215
- this [_viewerNode] = new FlyViewer (this, navigationInfo);
213
+ this [_viewerNode] = new FlyViewer (this .getPrivateScene (), navigationInfo);
216
214
  break;
217
215
  case "PLANE":
218
216
  case "PLANE_create3000.github.io":
219
217
  case "PLANE_create3000.de":
220
- this [_viewerNode] = new PlaneViewer (this, navigationInfo);
218
+ this [_viewerNode] = new PlaneViewer (this .getPrivateScene (), navigationInfo);
221
219
  break;
222
220
  case "NONE":
223
- this [_viewerNode] = new NoneViewer (this, navigationInfo);
221
+ this [_viewerNode] = new NoneViewer (this .getPrivateScene (), navigationInfo);
224
222
  break;
225
223
  case "LOOKAT":
226
- this [_viewerNode] = new LookAtViewer (this, navigationInfo);
224
+ this [_viewerNode] = new LookAtViewer (this .getPrivateScene (), navigationInfo);
227
225
  break;
228
226
  default:
229
- this [_viewerNode] = new ExamineViewer (this, navigationInfo);
227
+ this [_viewerNode] = new ExamineViewer (this .getPrivateScene (), navigationInfo);
230
228
  break;
231
229
  }
232
230
 
@@ -55,30 +55,32 @@ import Matrix4 from "../../../standard/Math/Numbers/Matrix4.js";
55
55
  import StopWatch from "../../../standard/Time/StopWatch.js";
56
56
 
57
57
  const
58
- _pointingDevice = Symbol (),
59
- _cursorType = Symbol (),
60
- _pointer = Symbol (),
61
- _hit = Symbol (),
62
- _overSensors = Symbol (),
63
- _activeSensors = Symbol (),
64
- _pointingLayer = Symbol (),
65
- _pointingTime = Symbol (),
66
- _pointingBuffer = Symbol (),
67
- _pointingShaders = Symbol (),
68
- _id = Symbol (),
69
- _pointingContexts = Symbol ();
58
+ _pointingDevice = Symbol (),
59
+ _pointingDeviceSensorNodes = Symbol (),
60
+ _cursorType = Symbol (),
61
+ _pointer = Symbol (),
62
+ _hit = Symbol (),
63
+ _overSensors = Symbol (),
64
+ _activeSensors = Symbol (),
65
+ _pointingLayer = Symbol (),
66
+ _pointingTime = Symbol (),
67
+ _pointingBuffer = Symbol (),
68
+ _pointingShaders = Symbol (),
69
+ _id = Symbol (),
70
+ _pointingContexts = Symbol ();
70
71
 
71
72
  function X3DPointingDeviceSensorContext ()
72
73
  {
73
- this [_pointingDevice] = new PointingDevice (this);
74
- this [_pointer] = new Vector2 (0, 0);
75
- this [_overSensors] = [ ];
76
- this [_activeSensors] = [ ];
77
- this [_pointingLayer] = null;
78
- this [_pointingTime] = new StopWatch ();
79
- this [_pointingBuffer] = new PointingBuffer (this);
80
- this [_pointingShaders] = new Map ();
81
- this [_pointingContexts] = [ ];
74
+ this [_pointingDevice] = new PointingDevice (this .getPrivateScene ());
75
+ this [_pointingDeviceSensorNodes] = new Set ();
76
+ this [_pointer] = new Vector2 (0, 0);
77
+ this [_overSensors] = [ ];
78
+ this [_activeSensors] = [ ];
79
+ this [_pointingLayer] = null;
80
+ this [_pointingTime] = new StopWatch ();
81
+ this [_pointingBuffer] = new PointingBuffer (this);
82
+ this [_pointingShaders] = new Map ();
83
+ this [_pointingContexts] = [ ];
82
84
 
83
85
  this [_hit] = {
84
86
  id: 0,
@@ -109,6 +111,14 @@ X3DPointingDeviceSensorContext .prototype =
109
111
  {
110
112
  return this [_pointingTime];
111
113
  },
114
+ addPointingDeviceSensor: function (node)
115
+ {
116
+ this [_pointingDeviceSensorNodes] .add (node);
117
+ },
118
+ removePointingDeviceSensor: function (node)
119
+ {
120
+ this [_pointingDeviceSensorNodes] .delete (node);
121
+ },
112
122
  setCursor: function (value)
113
123
  {
114
124
  const div = this .getSurface ();
@@ -171,6 +181,9 @@ X3DPointingDeviceSensorContext .prototype =
171
181
  },
172
182
  buttonPressEvent: function (x, y)
173
183
  {
184
+ if (!this [_pointingDeviceSensorNodes] .size)
185
+ return false;
186
+
174
187
  if (!this .touch (x, y))
175
188
  return false;
176
189
 
@@ -186,6 +199,9 @@ X3DPointingDeviceSensorContext .prototype =
186
199
  },
187
200
  buttonReleaseEvent: function ()
188
201
  {
202
+ if (!this [_pointingDeviceSensorNodes] .size)
203
+ return;
204
+
189
205
  for (const sensor of this [_activeSensors])
190
206
  sensor .set_active__ (false, null);
191
207
 
@@ -194,6 +210,9 @@ X3DPointingDeviceSensorContext .prototype =
194
210
  },
195
211
  motionNotifyEvent: function (x, y)
196
212
  {
213
+ if (!this [_pointingDeviceSensorNodes] .size)
214
+ return false;
215
+
197
216
  this .touch (x, y);
198
217
  this .motion ();
199
218
 
@@ -45,4 +45,4 @@
45
45
  *
46
46
  ******************************************************************************/
47
47
 
48
- export default "8.6.12";
48
+ export default "8.6.14";
@@ -61,7 +61,7 @@ X3DVolumeRenderingContext .prototype =
61
61
  {
62
62
  getDefaultVoxels: function (executionContext)
63
63
  {
64
- this [_defaultVoxelsNode] = executionContext .createNode ("PixelTexture3D", false);
64
+ this [_defaultVoxelsNode] = executionContext .createNode ("PixelTexture3D", { setup: false, warn: false });
65
65
  this [_defaultVoxelsNode] ._image = [1, 1, 1, 1, 255];
66
66
  this [_defaultVoxelsNode] .repeatS = true;
67
67
  this [_defaultVoxelsNode] .repeatT = true;