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
@@ -56,8 +56,9 @@ import Vector3 from "../../../standard/Math/Numbers/Vector3.js";
56
56
  import Rotation4 from "../../../standard/Math/Numbers/Rotation4.js";
57
57
  import Matrix4 from "../../../standard/Math/Numbers/Matrix4.js";
58
58
 
59
- var
60
- i = 0,
59
+ let i = 0;
60
+
61
+ const
61
62
  LEFT = i++,
62
63
  CENTER = i++,
63
64
  RIGHT = i++,
@@ -126,6 +127,10 @@ Layout .prototype = Object .assign (Object .create (X3DLayoutNode .prototype),
126
127
  {
127
128
  return "layout";
128
129
  },
130
+ getSpecificationRange: function ()
131
+ {
132
+ return ["3.2", "Infinity"];
133
+ },
129
134
  initialize: function ()
130
135
  {
131
136
  X3DLayoutNode .prototype .initialize .call (this);
@@ -441,11 +446,11 @@ Layout .prototype = Object .assign (Object .create (X3DLayoutNode .prototype),
441
446
  },
442
447
  transform: function (type, renderObject)
443
448
  {
444
- var parent = this .parent = renderObject .getParentLayout ();
449
+ const parent = this .parent = renderObject .getParentLayout ();
445
450
 
446
451
  // Calculate rectangleSize
447
452
 
448
- var
453
+ const
449
454
  browser = this .getBrowser (),
450
455
  contentScale = browser .getRenderingProperty ("ContentScale"),
451
456
  matrix = this .matrix,
@@ -488,7 +493,7 @@ Layout .prototype = Object .assign (Object .create (X3DLayoutNode .prototype),
488
493
 
489
494
  // Calculate translation
490
495
 
491
- var translation = this .translation .set (0, 0, 0);
496
+ const translation = this .translation .set (0, 0, 0);
492
497
 
493
498
  switch (this .getAlignX ())
494
499
  {
@@ -524,7 +529,7 @@ Layout .prototype = Object .assign (Object .create (X3DLayoutNode .prototype),
524
529
 
525
530
  // Calculate offset
526
531
 
527
- var offset = this .offset .set (0, 0, 0);
532
+ const offset = this .offset .set (0, 0, 0);
528
533
 
529
534
  switch (this .getOffsetUnitX ())
530
535
  {
@@ -548,13 +553,14 @@ Layout .prototype = Object .assign (Object .create (X3DLayoutNode .prototype),
548
553
 
549
554
  // Calculate scale
550
555
 
551
- var
556
+ const
552
557
  scale = this .scale .set (1, 1, 1),
553
558
  currentTranslation = this .currentTranslation,
554
559
  currentRotation = this .currentRotation,
555
560
  currentScale = this .currentScale;
556
561
 
557
- var modelViewMatrix = renderObject .getModelViewMatrix () .get ();
562
+ const modelViewMatrix = renderObject .getModelViewMatrix () .get ();
563
+
558
564
  modelViewMatrix .get (currentTranslation, currentRotation, currentScale);
559
565
 
560
566
  switch (this .getScaleModeX ())
@@ -612,10 +618,10 @@ Layout .prototype = Object .assign (Object .create (X3DLayoutNode .prototype),
612
618
 
613
619
  // Transform
614
620
 
615
- rectangleCenter .assign (translation) .add (offset);
621
+ rectangleCenter .assign (translation .add (offset));
616
622
 
617
623
  matrix .set (currentTranslation, currentRotation);
618
- matrix .translate (translation .add (offset));
624
+ matrix .translate (translation);
619
625
  matrix .scale (scale);
620
626
 
621
627
  return matrix;
@@ -52,6 +52,7 @@ import X3DGroupingNode from "../Grouping/X3DGroupingNode.js";
52
52
  import X3DCast from "../../Base/X3DCast.js";
53
53
  import TraverseType from "../../Rendering/TraverseType.js";
54
54
  import X3DConstants from "../../Base/X3DConstants.js";
55
+ import Vector3 from "../../../standard/Math/Numbers/Vector3.js";
55
56
  import Matrix4 from "../../../standard/Math/Numbers/Matrix4.js";
56
57
 
57
58
  function LayoutGroup (executionContext)
@@ -62,6 +63,7 @@ function LayoutGroup (executionContext)
62
63
 
63
64
  this .viewportNode = null;
64
65
  this .layoutNode = null;
66
+ this .matrix = new Matrix4 ();
65
67
  this .modelViewMatrix = new Matrix4 ();
66
68
  this .screenMatrix = new Matrix4 ();
67
69
  }
@@ -93,6 +95,10 @@ LayoutGroup .prototype = Object .assign (Object .create (X3DGroupingNode .protot
93
95
  {
94
96
  return "children";
95
97
  },
98
+ getSpecificationRange: function ()
99
+ {
100
+ return ["3.2", "Infinity"];
101
+ },
96
102
  initialize: function ()
97
103
  {
98
104
  X3DGroupingNode .prototype .initialize .call (this);
@@ -118,11 +124,13 @@ LayoutGroup .prototype = Object .assign (Object .create (X3DGroupingNode .protot
118
124
  getMatrix: function ()
119
125
  {
120
126
  if (this .layoutNode)
121
- this .matrix .assign (this .modelViewMatrix) .inverse () .multLeft (this .screenMatrix);
122
- else
123
- this .matrix .identity ();
127
+ return this .matrix .assign (this .modelViewMatrix) .inverse () .multLeft (this .screenMatrix);
124
128
 
125
- return this .matrix;
129
+ return this .matrix .identity ();
130
+ },
131
+ getLayout: function ()
132
+ {
133
+ return this .layoutNode;
126
134
  },
127
135
  traverse: function (type, renderObject)
128
136
  {
@@ -139,7 +147,7 @@ LayoutGroup .prototype = Object .assign (Object .create (X3DGroupingNode .protot
139
147
 
140
148
  if (this .layoutNode)
141
149
  {
142
- var modelViewMatrix = renderObject .getModelViewMatrix ();
150
+ const modelViewMatrix = renderObject .getModelViewMatrix ();
143
151
 
144
152
  this .modelViewMatrix .assign (modelViewMatrix .get ());
145
153
  this .screenMatrix .assign (this .layoutNode .transform (type, renderObject));
@@ -89,6 +89,10 @@ LayoutLayer .prototype = Object .assign (Object .create (X3DLayerNode .prototype
89
89
  {
90
90
  return "layers";
91
91
  },
92
+ getSpecificationRange: function ()
93
+ {
94
+ return ["3.2", "Infinity"];
95
+ },
92
96
  initialize: function ()
93
97
  {
94
98
  X3DLayerNode .prototype .initialize .call (this);
@@ -86,6 +86,10 @@ ScreenFontStyle .prototype = Object .assign (Object .create (X3DFontStyleNode .p
86
86
  {
87
87
  return "fontStyle";
88
88
  },
89
+ getSpecificationRange: function ()
90
+ {
91
+ return ["3.2", "Infinity"];
92
+ },
89
93
  initialize: function ()
90
94
  {
91
95
  X3DFontStyleNode .prototype .initialize .call (this);
@@ -87,6 +87,10 @@ ScreenGroup .prototype = Object .assign (Object .create (X3DGroupingNode .protot
87
87
  {
88
88
  return "children";
89
89
  },
90
+ getSpecificationRange: function ()
91
+ {
92
+ return ["3.2", "Infinity"];
93
+ },
90
94
  getBBox: function (bbox, shadows)
91
95
  {
92
96
  return this .getSubBBox (bbox, shadows) .multRight (this .matrix);
@@ -266,6 +266,10 @@ DirectionalLight .prototype = Object .assign (Object .create (X3DLightNode .prot
266
266
  {
267
267
  return "children";
268
268
  },
269
+ getSpecificationRange: function ()
270
+ {
271
+ return ["2.0", "Infinity"];
272
+ },
269
273
  getLights: function ()
270
274
  {
271
275
  return DirectionalLights;
@@ -134,6 +134,10 @@ EnvironmentLight .prototype = Object .assign (Object .create (X3DLightNode .prot
134
134
  {
135
135
  return "children";
136
136
  },
137
+ getSpecificationRange: function ()
138
+ {
139
+ return ["4.0", "Infinity"];
140
+ },
137
141
  getLights: function ()
138
142
  {
139
143
  return EnvironmentLights;
@@ -304,6 +304,10 @@ PointLight .prototype = Object .assign (Object .create (X3DLightNode .prototype)
304
304
  {
305
305
  return "children";
306
306
  },
307
+ getSpecificationRange: function ()
308
+ {
309
+ return ["2.0", "Infinity"];
310
+ },
307
311
  getAttenuation: function ()
308
312
  {
309
313
  return this ._attenuation .getValue ();
@@ -259,16 +259,10 @@ function SpotLight (executionContext)
259
259
 
260
260
  this .addType (X3DConstants .SpotLight);
261
261
 
262
- switch (executionContext .getSpecificationVersion ())
262
+ if (executionContext .getSpecificationVersion () <= 3.2)
263
263
  {
264
- case "2.0":
265
- case "3.0":
266
- case "3.1":
267
- case "3.2":
268
- {
269
- this ._beamWidth = 1.5708;
270
- this ._cutOffAngle = 0.785398;
271
- }
264
+ this ._beamWidth = 1.5708;
265
+ this ._cutOffAngle = 0.785398;
272
266
  }
273
267
 
274
268
  this ._location .setUnit ("length");
@@ -312,6 +306,10 @@ SpotLight .prototype = Object .assign (Object .create (X3DLightNode .prototype),
312
306
  {
313
307
  return "children";
314
308
  },
309
+ getSpecificationRange: function ()
310
+ {
311
+ return ["2.0", "Infinity"];
312
+ },
315
313
  getAttenuation: function ()
316
314
  {
317
315
  return this ._attenuation .getValue ();
@@ -82,6 +82,10 @@ Contour2D .prototype = Object .assign (Object .create (X3DNode .prototype),
82
82
  {
83
83
  return "trimmingContour";
84
84
  },
85
+ getSpecificationRange: function ()
86
+ {
87
+ return ["3.0", "Infinity"];
88
+ },
85
89
  initialize: function ()
86
90
  {
87
91
  X3DNode .prototype .initialize .call (this);
@@ -80,6 +80,10 @@ ContourPolyline2D .prototype = Object .assign (Object .create (X3DNurbsControlCu
80
80
  {
81
81
  return "children";
82
82
  },
83
+ getSpecificationRange: function ()
84
+ {
85
+ return ["3.0", "Infinity"];
86
+ },
83
87
  tessellate: function (type)
84
88
  {
85
89
  switch (type)
@@ -77,6 +77,10 @@ CoordinateDouble .prototype = Object .assign (Object .create (X3DCoordinateNode
77
77
  {
78
78
  return "coord";
79
79
  },
80
+ getSpecificationRange: function ()
81
+ {
82
+ return ["3.0", "Infinity"];
83
+ },
80
84
  });
81
85
 
82
86
  export default CoordinateDouble;
@@ -94,6 +94,10 @@ NurbsCurve .prototype = Object .assign (Object .create (X3DParametricGeometryNod
94
94
  {
95
95
  return "geometry";
96
96
  },
97
+ getSpecificationRange: function ()
98
+ {
99
+ return ["3.0", "Infinity"];
100
+ },
97
101
  initialize: function ()
98
102
  {
99
103
  X3DParametricGeometryNode .prototype .initialize .call (this);
@@ -92,6 +92,10 @@ NurbsCurve2D .prototype = Object .assign (Object .create (X3DNurbsControlCurveNo
92
92
  {
93
93
  return "children";
94
94
  },
95
+ getSpecificationRange: function ()
96
+ {
97
+ return ["3.0", "Infinity"];
98
+ },
95
99
  getTessellation: function (numKnots)
96
100
  {
97
101
  return NURBS .getTessellation (this ._tessellation .getValue (), numKnots - this ._order .getValue ());
@@ -97,6 +97,10 @@ NurbsOrientationInterpolator .prototype = Object .assign (Object .create (X3DChi
97
97
  {
98
98
  return "children";
99
99
  },
100
+ getSpecificationRange: function ()
101
+ {
102
+ return ["3.0", "Infinity"];
103
+ },
100
104
  initialize: function ()
101
105
  {
102
106
  X3DChildNode .prototype .initialize .call (this);
@@ -90,6 +90,10 @@ NurbsPatchSurface .prototype = Object .assign (Object .create (X3DNurbsSurfaceGe
90
90
  {
91
91
  return "geometry";
92
92
  },
93
+ getSpecificationRange: function ()
94
+ {
95
+ return ["3.0", "Infinity"];
96
+ },
93
97
  });
94
98
 
95
99
  export default NurbsPatchSurface;
@@ -95,6 +95,10 @@ NurbsPositionInterpolator .prototype = Object .assign (Object .create (X3DChildN
95
95
  {
96
96
  return "children";
97
97
  },
98
+ getSpecificationRange: function ()
99
+ {
100
+ return ["3.0", "Infinity"];
101
+ },
98
102
  initialize: function ()
99
103
  {
100
104
  X3DChildNode .prototype .initialize .call (this);
@@ -90,6 +90,10 @@ NurbsSet .prototype = Object .assign (Object .create (X3DChildNode .prototype),
90
90
  {
91
91
  return "children";
92
92
  },
93
+ getSpecificationRange: function ()
94
+ {
95
+ return ["3.0", "Infinity"];
96
+ },
93
97
  initialize: function ()
94
98
  {
95
99
  X3DChildNode .prototype .initialize .call (this);
@@ -93,6 +93,10 @@ NurbsSurfaceInterpolator .prototype = Object .assign (Object .create (X3DChildNo
93
93
  {
94
94
  return "children";
95
95
  },
96
+ getSpecificationRange: function ()
97
+ {
98
+ return ["3.0", "Infinity"];
99
+ },
96
100
  initialize: function ()
97
101
  {
98
102
  this ._set_fraction .addInterest ("set_fraction__", this);
@@ -84,6 +84,10 @@ NurbsSweptSurface .prototype = Object .assign (Object .create (X3DParametricGeom
84
84
  {
85
85
  return "geometry";
86
86
  },
87
+ getSpecificationRange: function ()
88
+ {
89
+ return ["3.0", "Infinity"];
90
+ },
87
91
  initialize: function ()
88
92
  {
89
93
  X3DParametricGeometryNode .prototype .initialize .call (this);
@@ -84,6 +84,10 @@ NurbsSwungSurface .prototype = Object .assign (Object .create (X3DParametricGeom
84
84
  {
85
85
  return "geometry";
86
86
  },
87
+ getSpecificationRange: function ()
88
+ {
89
+ return ["3.0", "Infinity"];
90
+ },
87
91
  initialize: function ()
88
92
  {
89
93
  X3DParametricGeometryNode .prototype .initialize .call (this);
@@ -87,6 +87,10 @@ NurbsTextureCoordinate .prototype = Object .assign (Object .create (X3DNode .pro
87
87
  {
88
88
  return "texCoord";
89
89
  },
90
+ getSpecificationRange: function ()
91
+ {
92
+ return ["3.0", "Infinity"];
93
+ },
90
94
  initialize: function ()
91
95
  {
92
96
  X3DNode .prototype .initialize .call (this);
@@ -96,6 +96,10 @@ NurbsTrimmedSurface .prototype = Object .assign (Object .create (X3DNurbsSurface
96
96
  {
97
97
  return "geometry";
98
98
  },
99
+ getSpecificationRange: function ()
100
+ {
101
+ return ["3.0", "Infinity"];
102
+ },
99
103
  initialize: function ()
100
104
  {
101
105
  X3DNurbsSurfaceGeometryNode .prototype .initialize .call (this);
@@ -90,6 +90,10 @@ Billboard .prototype = Object .assign (Object .create (X3DGroupingNode .prototyp
90
90
  {
91
91
  return "children";
92
92
  },
93
+ getSpecificationRange: function ()
94
+ {
95
+ return ["2.0", "Infinity"];
96
+ },
93
97
  getBBox: function (bbox, shadows)
94
98
  {
95
99
  return X3DGroupingNode .prototype .getBBox .call (this, bbox, shadows) .multRight (this .matrix);
@@ -95,6 +95,10 @@ Collision .prototype = Object .assign (Object .create (X3DGroupingNode .prototyp
95
95
  {
96
96
  return "children";
97
97
  },
98
+ getSpecificationRange: function ()
99
+ {
100
+ return ["2.0", "Infinity"];
101
+ },
98
102
  initialize: function ()
99
103
  {
100
104
  X3DGroupingNode .prototype .initialize .call (this);
@@ -103,6 +103,10 @@ LOD .prototype = Object .assign (Object .create (X3DGroupingNode .prototype),
103
103
  {
104
104
  return "children";
105
105
  },
106
+ getSpecificationRange: function ()
107
+ {
108
+ return ["2.0", "Infinity"];
109
+ },
106
110
  initialize: function ()
107
111
  {
108
112
  X3DGroupingNode .prototype .initialize .call (this);
@@ -115,10 +119,7 @@ LOD .prototype = Object .assign (Object .create (X3DGroupingNode .prototype),
115
119
  {
116
120
  const boundedObject = X3DCast (X3DConstants .X3DBoundedObject, this .visibleNode);
117
121
 
118
- if (boundedObject)
119
- return boundedObject .getBBox (bbox, shadows);
120
-
121
- return bbox .set ();
122
+ return boundedObject?.getBBox (bbox, shadows) ?? bbox .set ();
122
123
  }
123
124
 
124
125
  return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
@@ -174,11 +175,11 @@ LOD .prototype = Object .assign (Object .create (X3DGroupingNode .prototype),
174
175
  },
175
176
  set_cameraObject__: function ()
176
177
  {
177
- this .setCameraObject (!!(this .visibleNode && this .visibleNode .isCameraObject ()));
178
+ this .setCameraObject (!!this .visibleNode?.isCameraObject ());
178
179
  },
179
180
  set_transformSensors__: function ()
180
181
  {
181
- this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode && this .visibleNode .isPickableObject ()));
182
+ this .setPickableObject (!!(this .getTransformSensors () .size || this .visibleNode?.isPickableObject ()));
182
183
  },
183
184
  set_visible__: function ()
184
185
  {
@@ -250,11 +251,7 @@ LOD .prototype = Object .assign (Object .create (X3DGroupingNode .prototype),
250
251
  case TraverseType .CAMERA:
251
252
  case TraverseType .SHADOW:
252
253
  {
253
- const visibleNode = this .visibleNode;
254
-
255
- if (visibleNode)
256
- visibleNode .traverse (type, renderObject);
257
-
254
+ this .visibleNode?.traverse (type, renderObject);
258
255
  return;
259
256
  }
260
257
  case TraverseType .PICKING:
@@ -286,11 +283,7 @@ LOD .prototype = Object .assign (Object .create (X3DGroupingNode .prototype),
286
283
  }
287
284
  case TraverseType .COLLISION:
288
285
  {
289
- const visibleNode = this .visibleNode;
290
-
291
- if (visibleNode)
292
- visibleNode .traverse (type, renderObject);
293
-
286
+ this .visibleNode?.traverse (type, renderObject);
294
287
  return;
295
288
  }
296
289
  case TraverseType .DISPLAY:
@@ -318,16 +311,9 @@ LOD .prototype = Object .assign (Object .create (X3DGroupingNode .prototype),
318
311
  }
319
312
  }
320
313
 
321
- const visibleNode = this .visibleNode;
322
-
323
- if (visibleNode)
324
- visibleNode .traverse (type, renderObject);
325
-
326
- const boundedObject = this .boundedObject;
327
-
328
- if (boundedObject)
329
- boundedObject .displayBBox (type, renderObject);
314
+ this .visibleNode?.traverse (type, renderObject);
330
315
 
316
+ this .boundedObject?.displayBBox (type, renderObject);
331
317
  return;
332
318
  }
333
319
  }
@@ -104,6 +104,10 @@ NavigationInfo .prototype = Object .assign (Object .create (X3DBindableNode .pro
104
104
  {
105
105
  return "children";
106
106
  },
107
+ getSpecificationRange: function ()
108
+ {
109
+ return ["2.0", "Infinity"];
110
+ },
107
111
  initialize: function ()
108
112
  {
109
113
  X3DBindableNode .prototype .initialize .call (this);
@@ -106,6 +106,10 @@ OrthoViewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .pr
106
106
  {
107
107
  return "children";
108
108
  },
109
+ getSpecificationRange: function ()
110
+ {
111
+ return ["3.0", "Infinity"];
112
+ },
109
113
  initialize: function ()
110
114
  {
111
115
  X3DViewpointNode .prototype .initialize .call (this);
@@ -99,6 +99,10 @@ Viewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .prototy
99
99
  {
100
100
  return "children";
101
101
  },
102
+ getSpecificationRange: function ()
103
+ {
104
+ return ["2.0", "Infinity"];
105
+ },
102
106
  getRelativeTransformation: function (fromViewpointNode)
103
107
  {
104
108
  const relative = X3DViewpointNode .prototype .getRelativeTransformation .call (this, fromViewpointNode);
@@ -92,6 +92,10 @@ ViewpointGroup .prototype = Object .assign (Object .create (X3DChildNode .protot
92
92
  {
93
93
  return "children";
94
94
  },
95
+ getSpecificationRange: function ()
96
+ {
97
+ return ["3.2", "Infinity"];
98
+ },
95
99
  initialize: function ()
96
100
  {
97
101
  X3DChildNode .prototype .initialize .call (this);
@@ -442,7 +442,7 @@ X3DViewpointNode .prototype = Object .assign (Object .create (X3DBindableNode .p
442
442
  {
443
443
  bbox = bbox .copy () .multRight (Matrix4 .inverse (this .getModelMatrix ()));
444
444
 
445
- const minDistance = layerNode .getNavigationInfo () .getNearValue () * 2;
445
+ const minDistance = Math .max (layerNode .getNavigationInfo () .getNearValue () * 2, this .getLookAtDistance (bbox));
446
446
 
447
447
  this .lookAt (layerNode, bbox .center, minDistance, factor, straighten);
448
448
  },
@@ -451,10 +451,14 @@ X3DViewpointNode .prototype = Object .assign (Object .create (X3DBindableNode .p
451
451
  const
452
452
  offset = point .copy () .add (this .getUserOrientation () .multVecRot (new Vector3 (0, 0, distance))) .subtract (this .getPosition ());
453
453
 
454
+ layerNode .getNavigationInfo () ._transitionStart = true;
455
+
454
456
  this .timeSensor ._cycleInterval = 1;
455
457
  this .timeSensor ._stopTime = this .getBrowser () .getCurrentTime ();
456
458
  this .timeSensor ._startTime = this .getBrowser () .getCurrentTime ();
457
459
 
460
+ this .timeSensor ._isActive .addInterest ("set_active__", this, layerNode .getNavigationInfo ());
461
+
458
462
  this .easeInEaseOut ._easeInEaseOut = new Fields .MFVec2f (new Fields .SFVec2f (0, 1), new Fields .SFVec2f (1, 0));
459
463
 
460
464
  const
@@ -484,10 +488,14 @@ X3DViewpointNode .prototype = Object .assign (Object .create (X3DBindableNode .p
484
488
  },
485
489
  straightenView: function (layerNode)
486
490
  {
491
+ layerNode .getNavigationInfo () ._transitionStart = true;
492
+
487
493
  this .timeSensor ._cycleInterval = 1;
488
494
  this .timeSensor ._stopTime = this .getBrowser () .getCurrentTime ();
489
495
  this .timeSensor ._startTime = this .getBrowser () .getCurrentTime ();
490
496
 
497
+ this .timeSensor ._isActive .addInterest ("set_active__", this, layerNode .getNavigationInfo ());
498
+
491
499
  this .easeInEaseOut ._easeInEaseOut = new Fields .MFVec2f (new Fields .SFVec2f (0, 1), new Fields .SFVec2f (1, 0));
492
500
 
493
501
  const rotation = Rotation4 .multRight (Rotation4 .inverse (this .getOrientation ()), this .straightenHorizon (this .getUserOrientation ()));
@@ -98,6 +98,10 @@ Anchor .prototype = Object .assign (Object .create (X3DGroupingNode .prototype),
98
98
  {
99
99
  return "children";
100
100
  },
101
+ getSpecificationRange: function ()
102
+ {
103
+ return ["2.0", "Infinity"];
104
+ },
101
105
  initialize: function ()
102
106
  {
103
107
  X3DGroupingNode .prototype .initialize .call (this);
@@ -103,6 +103,10 @@ Inline .prototype = Object .assign (Object .create (X3DChildNode .prototype),
103
103
  {
104
104
  return "children";
105
105
  },
106
+ getSpecificationRange: function ()
107
+ {
108
+ return ["2.0", "Infinity"];
109
+ },
106
110
  initialize: function ()
107
111
  {
108
112
  X3DChildNode .prototype .initialize .call (this);