x_ite 8.0.0 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (795) hide show
  1. package/.github/workflows/pages-deploy.yml +64 -0
  2. package/.gitmodules +3 -0
  3. package/.vscode/settings.json +3 -2
  4. package/Makefile +9 -4
  5. package/README.md +6 -6
  6. package/build/bin/version.pl +3 -11
  7. package/dist/LICENSE.md +0 -2
  8. package/dist/assets/components/Annotation.js +55 -28
  9. package/dist/assets/components/Annotation.min.js +1 -1
  10. package/dist/assets/components/CADGeometry.js +55 -28
  11. package/dist/assets/components/CADGeometry.min.js +1 -1
  12. package/dist/assets/components/CubeMapTexturing.js +197 -38
  13. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  14. package/dist/assets/components/DIS.js +50 -26
  15. package/dist/assets/components/DIS.min.js +1 -1
  16. package/dist/assets/components/EventUtilities.js +61 -28
  17. package/dist/assets/components/EventUtilities.min.js +1 -1
  18. package/dist/assets/components/Geometry2D.js +96 -48
  19. package/dist/assets/components/Geometry2D.min.js +1 -1
  20. package/dist/assets/components/Geospatial.js +186 -193
  21. package/dist/assets/components/Geospatial.min.js +1 -1
  22. package/dist/assets/components/HAnim.js +92 -53
  23. package/dist/assets/components/HAnim.min.js +1 -1
  24. package/dist/assets/components/KeyDeviceSensor.js +35 -17
  25. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  26. package/dist/assets/components/Layout.js +77 -45
  27. package/dist/assets/components/Layout.min.js +1 -1
  28. package/dist/assets/components/NURBS.js +209 -96
  29. package/dist/assets/components/NURBS.min.js +1 -1
  30. package/dist/assets/components/ParticleSystems.js +125 -62
  31. package/dist/assets/components/ParticleSystems.min.js +1 -1
  32. package/dist/assets/components/Picking.js +105 -70
  33. package/dist/assets/components/Picking.min.js +1 -1
  34. package/dist/assets/components/ProjectiveTextureMapping.js +69 -46
  35. package/dist/assets/components/ProjectiveTextureMapping.min.js +1 -1
  36. package/dist/assets/components/RigidBodyPhysics.js +125 -63
  37. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  38. package/dist/assets/components/Scripting.js +56 -38
  39. package/dist/assets/components/Scripting.min.js +1 -1
  40. package/dist/assets/components/Text.js +16857 -0
  41. package/dist/assets/components/Text.min.js +1 -0
  42. package/dist/assets/components/Texturing3D.js +114 -77
  43. package/dist/assets/components/Texturing3D.min.js +1 -1
  44. package/dist/assets/components/VolumeRendering.js +126 -60
  45. package/dist/assets/components/VolumeRendering.min.js +1 -1
  46. package/dist/assets/components/X_ITE.js +21 -12
  47. package/dist/assets/components/X_ITE.min.js +1 -1
  48. package/dist/x_ite.css +1 -1
  49. package/dist/x_ite.js +17800 -31195
  50. package/dist/x_ite.min.js +1 -1
  51. package/dist/x_ite.zip +0 -0
  52. package/docs/Gemfile +11 -33
  53. package/docs/Gemfile.lock +53 -59
  54. package/docs/LICENSE +21 -0
  55. package/docs/README.md +46 -0
  56. package/docs/_config.yml +320 -127
  57. package/docs/_data/assets/cross_origin.yml +62 -0
  58. package/docs/_data/assets/self_host.yml +51 -0
  59. package/docs/_data/contact.yml +30 -0
  60. package/docs/_data/locales/bg-BG.yml +83 -0
  61. package/docs/_data/locales/de-DE.yml +82 -0
  62. package/docs/_data/locales/en.yml +93 -0
  63. package/docs/_data/locales/es-ES.yml +79 -0
  64. package/docs/_data/locales/fr-FR.yml +79 -0
  65. package/docs/_data/locales/hu-HU.yml +81 -0
  66. package/docs/_data/locales/id-ID.yml +79 -0
  67. package/docs/_data/locales/ko-KR.yml +86 -0
  68. package/docs/_data/locales/my-MM.yml +79 -0
  69. package/docs/_data/locales/pt-BR.yml +79 -0
  70. package/docs/_data/locales/ru-RU.yml +79 -0
  71. package/docs/_data/locales/tr-TR.yml +79 -0
  72. package/docs/_data/locales/uk-UA.yml +79 -0
  73. package/docs/_data/locales/vi-VN.yml +77 -0
  74. package/docs/_data/locales/zh-CN.yml +85 -0
  75. package/docs/_data/share.yml +27 -0
  76. package/docs/_includes/nav.html +19 -0
  77. package/docs/_includes/scripts.html +15 -0
  78. package/docs/_layouts/compress.html +11 -0
  79. package/docs/_layouts/redirect-page.html +6 -0
  80. package/docs/_layouts/wide.html +52 -0
  81. package/docs/_layouts/wrap.html +4 -0
  82. package/docs/_layouts/x_ite.html +8 -0
  83. package/docs/_plugins/no_date.rb +11 -0
  84. package/docs/_plugins/posts-lastmod-hook.rb +14 -0
  85. package/docs/{Accessing-the-External-Browser.md → _posts/accessing-the-external-browser.md} +26 -25
  86. package/docs/_posts/browser-support.md +53 -0
  87. package/docs/{Custom-Shaders.md → _posts/custom-shaders.md} +18 -14
  88. package/docs/{DOM-Integration.md → _posts/dom-integration.md} +29 -22
  89. package/docs/{Features.md → _posts/features.md} +11 -12
  90. package/docs/{index.md → _posts/getting-started.md} +203 -245
  91. package/docs/{Glossary.md → _posts/glossary.md} +5 -6
  92. package/docs/{How-To-Configure-Your-Web-Server.md → _posts/how-to-configure-your-web-server.md} +5 -6
  93. package/docs/{reference/Browser-Services.md → _posts/reference/browser-services.md} +8 -9
  94. package/docs/{reference/Constants-Services.md → _posts/reference/constants-services.md} +14 -15
  95. package/docs/{reference/ECMAScript-Object-and-Function-Definitions.md → _posts/reference/ecmascript-object-and-function-definitions.md} +14 -15
  96. package/docs/_posts/reference/field-services-and-objects.md +1127 -0
  97. package/docs/{reference/Prototype-Services.md → _posts/reference/prototype-services.md} +8 -14
  98. package/docs/{reference/Route-Services.md → _posts/reference/route-services.md} +6 -10
  99. package/docs/{reference/Scene-Services.md → _posts/reference/scene-services.md} +11 -21
  100. package/docs/{reference/Script-Node-Authoring-Interface.md → _posts/reference/script-node-authoring-interface.md} +10 -11
  101. package/docs/_posts/report-a-bug.md +15 -0
  102. package/docs/_posts/setup-a-localhost-server.md +42 -0
  103. package/docs/_posts/supported-nodes.md +377 -0
  104. package/docs/{tutorials/Adding-backgrounds.md → _posts/tutorials/adding-backgrounds.md} +13 -14
  105. package/docs/{tutorials/Adding-fog.md → _posts/tutorials/adding-fog.md} +6 -7
  106. package/docs/{tutorials/Adding-sound.md → _posts/tutorials/adding-sound.md} +27 -26
  107. package/docs/{tutorials/Animating-transforms.md → _posts/tutorials/animating-transforms.md} +36 -37
  108. package/docs/{tutorials/Basic-Nodes.md → _posts/tutorials/basic-nodes.md} +38 -49
  109. package/docs/{tutorials/Building-a-X3D-world.md → _posts/tutorials/building-a-x3d-world.md} +16 -16
  110. package/docs/{tutorials/Building-elevation-grids.md → _posts/tutorials/building-elevation-grids.md} +15 -14
  111. package/docs/{tutorials/Building-extruded-shapes.md → _posts/tutorials/building-extruded-shapes.md} +11 -12
  112. package/docs/{tutorials/Building-primitive-shapes.md → _posts/tutorials/building-primitive-shapes.md} +29 -28
  113. package/docs/{tutorials/Building-shapes-out-of-points,-lines,-and-faces.md → _posts/tutorials/building-shapes-out-of-points-lines-and-faces.md} +25 -27
  114. package/docs/{tutorials/Controlling-appearance-with-materials.md → _posts/tutorials/controlling-appearance-with-materials.md} +20 -19
  115. package/docs/{tutorials/Controlling-color-on-coordinate-based-geometry.md → _posts/tutorials/controlling-color-on-coordinate-based-geometry.md} +15 -16
  116. package/docs/{tutorials/Controlling-detail.md → _posts/tutorials/controlling-detail.md} +12 -11
  117. package/docs/{tutorials/Controlling-how-textures-are-mapped.md → _posts/tutorials/controlling-how-textures-are-mapped.md} +11 -12
  118. package/docs/{tutorials/Controlling-navigation.md → _posts/tutorials/controlling-navigation.md} +7 -8
  119. package/docs/{tutorials/Controlling-shading-on-coordinate-based-geometry.md → _posts/tutorials/controlling-shading-on-coordinate-based-geometry.md} +19 -20
  120. package/docs/{tutorials/Controlling-the-viewpoint.md → _posts/tutorials/controlling-the-viewpoint.md} +7 -8
  121. package/docs/{tutorials/Creating-new-node-types.md → _posts/tutorials/creating-new-node-types.md} +8 -9
  122. package/docs/{tutorials/Grouping-nodes.md → _posts/tutorials/grouping-nodes.md} +17 -18
  123. package/docs/{tutorials/Hello,-World!.md → _posts/tutorials/hello-world.md} +16 -28
  124. package/docs/{tutorials/Improving-Performance.md → _posts/tutorials/improving-performance.md} +7 -11
  125. package/docs/{tutorials/Increasing-Rendering-Speed.md → _posts/tutorials/increasing-rendering-speed.md} +5 -6
  126. package/docs/{tutorials/Introducing-animation.md → _posts/tutorials/introducing-animation.md} +14 -15
  127. package/docs/{tutorials/Introducing-script-use.md → _posts/tutorials/introducing-script-use.md} +7 -8
  128. package/docs/{tutorials/Introducing-X3D.md → _posts/tutorials/introducing-x3d.md} +7 -7
  129. package/docs/{tutorials/Lighting-your-world.md → _posts/tutorials/lighting-your-world.md} +8 -9
  130. package/docs/{tutorials/Mapping-textures.md → _posts/tutorials/mapping-textures.md} +11 -12
  131. package/docs/{tutorials/Naming-nodes.md → _posts/tutorials/naming-nodes.md} +9 -8
  132. package/docs/_posts/tutorials/overview.md +83 -0
  133. package/docs/{tutorials/Providing-information-about-your-world.md → _posts/tutorials/providing-information-about-your-world.md} +6 -7
  134. package/docs/{tutorials/Sensing-the-viewer.md → _posts/tutorials/sensing-the-viewer.md} +19 -20
  135. package/docs/{tutorials/Sensing-viewer-actions.md → _posts/tutorials/sensing-viewer-actions.md} +14 -15
  136. package/docs/{tutorials/Transforming-Shapes.md → _posts/tutorials/transforming-shapes.md} +8 -9
  137. package/docs/{tutorials/Writing-program-scripts-with-ECMAScript.md → _posts/tutorials/writing-program-scripts-with-ecmascript.md} +15 -15
  138. package/docs/{What's-New.md → _posts/what's-new.md} +152 -530
  139. package/docs/_tabs/imprint.md +52 -0
  140. package/docs/_tabs/laboratory.md +14 -0
  141. package/docs/_tabs/playground.html +246 -0
  142. package/docs/_tabs/reference.md +7 -0
  143. package/docs/_tabs/tags.md +5 -0
  144. package/docs/_tabs/tutorials.md +7 -0
  145. package/docs/assets/css/style.scss +194 -0
  146. package/docs/assets/img/favicons/android-chrome-192x192.png +0 -0
  147. package/docs/assets/img/favicons/android-chrome-512x512.png +0 -0
  148. package/docs/assets/img/favicons/apple-touch-icon.png +0 -0
  149. package/docs/assets/img/favicons/favicon-16x16.png +0 -0
  150. package/docs/assets/img/favicons/favicon-32x32.png +0 -0
  151. package/docs/assets/img/favicons/favicon.ico +0 -0
  152. package/docs/assets/img/favicons/mstile-150x150.png +0 -0
  153. package/docs/assets/img/favicons/safari-pinned-tab.svg +71 -0
  154. package/docs/assets/{images → img}/logo.png +0 -0
  155. package/docs/assets/js/example.js +34 -0
  156. package/docs/laboratory/3d-l-system-generator.html +169 -0
  157. package/docs/laboratory/online-dicom-and-nrrd-file-viewer.html +72 -0
  158. package/docs/laboratory/real-time-earth-quake-information.html +50 -0
  159. package/docs/laboratory/x3d-visual-blend-mode-editor.html +227 -0
  160. package/package.json +4 -4
  161. package/src/LICENSE.txt +1 -1
  162. package/src/assets/components/Annotation.js +1 -1
  163. package/src/assets/components/CADGeometry.js +1 -1
  164. package/src/assets/components/CubeMapTexturing.js +1 -1
  165. package/src/assets/components/DIS.js +1 -1
  166. package/src/assets/components/EventUtilities.js +1 -1
  167. package/src/assets/components/Geometry2D.js +1 -1
  168. package/src/assets/components/Geospatial.js +1 -1
  169. package/src/assets/components/HAnim.js +1 -1
  170. package/src/assets/components/KeyDeviceSensor.js +1 -1
  171. package/src/assets/components/Layout.js +1 -1
  172. package/src/assets/components/NURBS.js +1 -1
  173. package/src/assets/components/ParticleSystems.js +1 -1
  174. package/src/assets/components/Picking.js +1 -1
  175. package/src/assets/components/ProjectiveTextureMapping.js +6 -6
  176. package/src/assets/components/RigidBodyPhysics.js +1 -6
  177. package/src/assets/components/Scripting.js +1 -1
  178. package/src/{x_ite/Components → assets/components}/Text.js +19 -21
  179. package/src/assets/components/Texturing3D.js +1 -1
  180. package/src/assets/components/VolumeRendering.js +1 -1
  181. package/src/assets/components/X_ITE.js +1 -1
  182. package/src/assets/shaders/Types.glsl.js +1 -1
  183. package/src/assets/shaders/webgl1/include/Fragment.glsl.js +1 -1
  184. package/src/assets/shaders/webgl1/include/PointSize.glsl.js +6 -6
  185. package/src/assets/shaders/webgl1/include/Vertex.glsl.js +4 -4
  186. package/src/assets/shaders/webgl2/LineTransform.vs.js +11 -11
  187. package/src/assets/shaders/webgl2/include/Fragment.glsl.js +1 -1
  188. package/src/assets/shaders/webgl2/include/PointSize.glsl.js +6 -6
  189. package/src/assets/shaders/webgl2/include/Vertex.glsl.js +4 -4
  190. package/src/bookmarks.js +1 -1
  191. package/src/examples.js +3 -3
  192. package/src/lib/ammojs/AmmoClass.js +1 -1
  193. package/src/lib/jquery.js +1 -1
  194. package/src/locale/gettext.js +1 -1
  195. package/src/shim.js +1 -2
  196. package/src/standard/Geospatial/Geodetic.js +1 -1
  197. package/src/standard/Geospatial/ReferenceEllipsoids.js +3 -3
  198. package/src/standard/Geospatial/UniversalTransverseMercator.js +1 -1
  199. package/src/standard/Math/Algorithm.js +55 -45
  200. package/src/standard/Math/Algorithms/Bezier.js +1 -1
  201. package/src/standard/Math/Algorithms/MergeSort.js +1 -1
  202. package/src/standard/Math/Algorithms/PartialSort.js +1 -1
  203. package/src/standard/Math/Algorithms/QuickSort.js +1 -1
  204. package/src/standard/Math/Algorithms/SAT.js +2 -2
  205. package/src/standard/Math/Algorithms/eigen_decomposition.js +5 -3
  206. package/src/standard/Math/Geometry/Box2.js +1 -1
  207. package/src/standard/Math/Geometry/Box3.js +1 -1
  208. package/src/standard/Math/Geometry/Camera.js +4 -2
  209. package/src/standard/Math/Geometry/Cylinder3.js +1 -1
  210. package/src/standard/Math/Geometry/Line2.js +1 -1
  211. package/src/standard/Math/Geometry/Line3.js +1 -1
  212. package/src/standard/Math/Geometry/Plane3.js +1 -1
  213. package/src/standard/Math/Geometry/Sphere3.js +1 -1
  214. package/src/standard/Math/Geometry/Spheroid3.js +1 -1
  215. package/src/standard/Math/Geometry/Triangle2.js +4 -2
  216. package/src/standard/Math/Geometry/Triangle3.js +4 -2
  217. package/src/standard/Math/Geometry/ViewVolume.js +1 -1
  218. package/src/standard/Math/Numbers/Color3.js +3 -1
  219. package/src/standard/Math/Numbers/Color4.js +4 -1
  220. package/src/standard/Math/Numbers/Complex.js +1 -1
  221. package/src/standard/Math/Numbers/Matrix2.js +1 -1
  222. package/src/standard/Math/Numbers/Matrix3.js +1 -1
  223. package/src/standard/Math/Numbers/Matrix4.js +1 -1
  224. package/src/standard/Math/Numbers/Quaternion.js +1 -1
  225. package/src/standard/Math/Numbers/Rotation4.js +1 -1
  226. package/src/standard/Math/Numbers/Vector2.js +1 -1
  227. package/src/standard/Math/Numbers/Vector3.js +1 -1
  228. package/src/standard/Math/Numbers/Vector4.js +1 -1
  229. package/src/standard/Math/Utility/BVH.js +1 -1
  230. package/src/standard/Math/Utility/MatrixStack.js +1 -1
  231. package/src/standard/Networking/BinaryTransport.js +5 -3
  232. package/src/standard/Time/MicroTime.js +1 -1
  233. package/src/standard/Utility/BitSet.js +1 -1
  234. package/src/standard/Utility/DataStorage.js +1 -1
  235. package/src/standard/Utility/MapUtilities.js +1 -1
  236. package/src/standard/Utility/ObjectCache.js +5 -3
  237. package/src/standard/Utility/Shuffle.js +5 -3
  238. package/src/tests.js +3 -0
  239. package/src/x_ite/Base/Events.js +4 -2
  240. package/src/x_ite/Base/FieldArray.js +1 -1
  241. package/src/x_ite/Base/FieldDefinitionArray.js +1 -1
  242. package/src/x_ite/Base/X3DArrayField.js +8 -4
  243. package/src/x_ite/Base/X3DBaseNode.js +1 -1
  244. package/src/x_ite/Base/X3DCast.js +5 -3
  245. package/src/x_ite/Base/X3DChildObject.js +1 -1
  246. package/src/x_ite/Base/X3DConstants.js +1 -1
  247. package/src/x_ite/Base/X3DEventObject.js +1 -1
  248. package/src/x_ite/Base/X3DField.js +2 -13
  249. package/src/x_ite/Base/X3DFieldDefinition.js +1 -1
  250. package/src/x_ite/Base/X3DInfoArray.js +1 -1
  251. package/src/x_ite/Base/X3DObject.js +1 -1
  252. package/src/x_ite/Base/X3DObjectArrayField.js +1 -1
  253. package/src/x_ite/Base/X3DTypedArrayField.js +59 -33
  254. package/src/x_ite/Browser/Core/BrowserOptions.js +22 -30
  255. package/src/x_ite/Browser/Core/BrowserProperties.js +1 -1
  256. package/src/x_ite/Browser/Core/BrowserTimings.js +1 -1
  257. package/src/x_ite/Browser/Core/Context.js +1 -1
  258. package/src/x_ite/Browser/Core/ContextMenu.js +1 -1
  259. package/src/x_ite/Browser/Core/Notification.js +1 -1
  260. package/src/x_ite/Browser/Core/PrimitiveQuality.js +1 -1
  261. package/src/x_ite/Browser/Core/RenderingProperties.js +1 -1
  262. package/src/x_ite/Browser/Core/Shading.js +1 -1
  263. package/src/x_ite/Browser/Core/TextureQuality.js +1 -1
  264. package/src/x_ite/Browser/Core/X3DCoreContext.js +11 -8
  265. package/src/x_ite/Browser/DOMIntegration.js +25 -26
  266. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +1 -1
  267. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +5 -3
  268. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +5 -3
  269. package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +1 -1
  270. package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +1 -1
  271. package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +1 -1
  272. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +1 -1
  273. package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +1 -1
  274. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +1 -1
  275. package/src/x_ite/Browser/Geometry3D/BoxOptions.js +1 -1
  276. package/src/x_ite/Browser/Geometry3D/ConeOptions.js +1 -1
  277. package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +1 -1
  278. package/src/x_ite/Browser/Geometry3D/IcoSphere.js +1 -1
  279. package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +1 -1
  280. package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +1 -1
  281. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +1 -1
  282. package/src/x_ite/Browser/Geospatial/Geocentric.js +1 -2
  283. package/src/x_ite/Browser/Geospatial/Geospatial.js +1 -1
  284. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +1 -1
  285. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +1 -1
  286. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +1 -1
  287. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator2.js +4 -2
  288. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator3.js +4 -2
  289. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +5 -3
  290. package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +1 -1
  291. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +1 -1
  292. package/src/x_ite/Browser/Layering/X3DLayeringContext.js +1 -1
  293. package/src/x_ite/Browser/Layout/ScreenText.js +1 -1
  294. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +1 -1
  295. package/src/x_ite/Browser/Legacy.js +64 -0
  296. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +1 -1
  297. package/src/x_ite/Browser/NURBS/NURBS.js +1 -1
  298. package/src/x_ite/Browser/Navigation/ExamineViewer.js +6 -39
  299. package/src/x_ite/Browser/Navigation/FlyViewer.js +1 -1
  300. package/src/x_ite/Browser/Navigation/LookAtViewer.js +1 -1
  301. package/src/x_ite/Browser/Navigation/NoneViewer.js +1 -1
  302. package/src/x_ite/Browser/Navigation/PlaneViewer.js +1 -4
  303. package/src/x_ite/Browser/Navigation/WalkViewer.js +1 -1
  304. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +1 -1
  305. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +3 -2
  306. package/src/x_ite/Browser/Navigation/X3DViewer.js +3 -3
  307. package/src/x_ite/Browser/Networking/Features.js +52 -0
  308. package/src/x_ite/Browser/Networking/URLs.js +11 -12
  309. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +9 -22
  310. package/src/x_ite/Browser/ParticleSystems/GeometryTypes.js +1 -1
  311. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +1 -1
  312. package/src/x_ite/Browser/Picking/IntersectionType.js +1 -1
  313. package/src/x_ite/Browser/Picking/MatchCriterion.js +1 -1
  314. package/src/x_ite/Browser/Picking/SortOrder.js +1 -1
  315. package/src/x_ite/Browser/Picking/VolumePicker.js +2 -4
  316. package/src/x_ite/Browser/Picking/X3DPickingContext.js +1 -1
  317. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +1 -1
  318. package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +1 -1
  319. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +1 -1
  320. package/src/x_ite/Browser/Rendering/GeometryContext.js +1 -1
  321. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +1 -1
  322. package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +1 -1
  323. package/src/x_ite/Browser/Scripting/X3DScriptingContext.js +1 -1
  324. package/src/x_ite/Browser/Scripting/evaluate.js +5 -3
  325. package/src/x_ite/Browser/Shaders/ShaderCompiler.js +1 -1
  326. package/src/x_ite/Browser/Shaders/ShaderSource.js +5 -5
  327. package/src/x_ite/Browser/Shaders/Shaders.js +1 -1
  328. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +1 -1
  329. package/src/x_ite/Browser/Shape/AlphaMode.js +1 -1
  330. package/src/x_ite/Browser/Shape/X3DShapeContext.js +4 -4
  331. package/src/x_ite/Browser/Sound/X3DSoundContext.js +1 -1
  332. package/src/x_ite/Browser/Text/PolygonText.js +1 -1
  333. package/src/x_ite/Browser/Text/TextAlignment.js +1 -1
  334. package/src/x_ite/Browser/Text/X3DTextContext.js +1 -1
  335. package/src/x_ite/Browser/Text/X3DTextGeometry.js +1 -1
  336. package/src/x_ite/Browser/Texturing/FunctionType.js +1 -1
  337. package/src/x_ite/Browser/Texturing/ModeType.js +1 -1
  338. package/src/x_ite/Browser/Texturing/SourceType.js +1 -1
  339. package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +1 -1
  340. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +1 -1
  341. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +3 -3
  342. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +2 -2
  343. package/src/x_ite/Browser/Time/X3DTimeContext.js +1 -1
  344. package/src/x_ite/Browser/VERSION.js +2 -2
  345. package/src/x_ite/Browser/VolumeRendering/VolumeMaterial.js +1 -1
  346. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +1 -1
  347. package/src/x_ite/Browser/X3DBrowser.js +43 -52
  348. package/src/x_ite/Browser/X3DBrowserContext.js +1 -5
  349. package/src/x_ite/Components/Annotation/AnnotationLayer.js +1 -1
  350. package/src/x_ite/Components/Annotation/AnnotationTarget.js +1 -1
  351. package/src/x_ite/Components/Annotation/GroupAnnotation.js +1 -1
  352. package/src/x_ite/Components/Annotation/IconAnnotation.js +1 -1
  353. package/src/x_ite/Components/Annotation/TextAnnotation.js +1 -1
  354. package/src/x_ite/Components/Annotation/URLAnnotation.js +1 -1
  355. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +1 -1
  356. package/src/x_ite/Components/CADGeometry/CADAssembly.js +1 -1
  357. package/src/x_ite/Components/CADGeometry/CADFace.js +1 -1
  358. package/src/x_ite/Components/CADGeometry/CADLayer.js +1 -1
  359. package/src/x_ite/Components/CADGeometry/CADPart.js +1 -1
  360. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +1 -1
  361. package/src/x_ite/Components/CADGeometry/QuadSet.js +1 -1
  362. package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +1 -1
  363. package/src/x_ite/Components/Core/MetadataBoolean.js +1 -1
  364. package/src/x_ite/Components/Core/MetadataDouble.js +1 -1
  365. package/src/x_ite/Components/Core/MetadataFloat.js +1 -1
  366. package/src/x_ite/Components/Core/MetadataInteger.js +1 -1
  367. package/src/x_ite/Components/Core/MetadataSet.js +1 -1
  368. package/src/x_ite/Components/Core/MetadataString.js +1 -1
  369. package/src/x_ite/Components/Core/WorldInfo.js +1 -1
  370. package/src/x_ite/Components/Core/X3DBindableNode.js +1 -1
  371. package/src/x_ite/Components/Core/X3DChildNode.js +1 -1
  372. package/src/x_ite/Components/Core/X3DInfoNode.js +1 -1
  373. package/src/x_ite/Components/Core/X3DMetadataObject.js +1 -1
  374. package/src/x_ite/Components/Core/X3DNode.js +5 -5
  375. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +2 -2
  376. package/src/x_ite/Components/Core/X3DSensorNode.js +1 -1
  377. package/src/x_ite/Components/Core.js +1 -1
  378. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +1 -1
  379. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +1 -1
  380. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +1 -1
  381. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +1 -1
  382. package/src/x_ite/Components/DIS/DISEntityManager.js +1 -1
  383. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +1 -1
  384. package/src/x_ite/Components/DIS/EspduTransform.js +1 -1
  385. package/src/x_ite/Components/DIS/ReceiverPdu.js +1 -1
  386. package/src/x_ite/Components/DIS/SignalPdu.js +1 -1
  387. package/src/x_ite/Components/DIS/TransmitterPdu.js +1 -1
  388. package/src/x_ite/Components/EnvironmentalEffects/Background.js +1 -1
  389. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +1 -1
  390. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +1 -1
  391. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +1 -1
  392. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +1 -1
  393. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +6 -12
  394. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +1 -1
  395. package/src/x_ite/Components/EnvironmentalEffects.js +1 -1
  396. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +1 -1
  397. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +1 -1
  398. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +1 -1
  399. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +1 -1
  400. package/src/x_ite/Components/EnvironmentalSensor.js +1 -1
  401. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +1 -1
  402. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +1 -1
  403. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +1 -1
  404. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +1 -1
  405. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +1 -1
  406. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +1 -1
  407. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +1 -1
  408. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +1 -1
  409. package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +1 -1
  410. package/src/x_ite/Components/Followers/ColorChaser.js +1 -1
  411. package/src/x_ite/Components/Followers/ColorDamper.js +1 -1
  412. package/src/x_ite/Components/Followers/CoordinateChaser.js +1 -1
  413. package/src/x_ite/Components/Followers/CoordinateDamper.js +1 -1
  414. package/src/x_ite/Components/Followers/OrientationChaser.js +1 -1
  415. package/src/x_ite/Components/Followers/OrientationDamper.js +1 -1
  416. package/src/x_ite/Components/Followers/PositionChaser.js +1 -1
  417. package/src/x_ite/Components/Followers/PositionChaser2D.js +1 -1
  418. package/src/x_ite/Components/Followers/PositionDamper.js +1 -1
  419. package/src/x_ite/Components/Followers/PositionDamper2D.js +1 -1
  420. package/src/x_ite/Components/Followers/ScalarChaser.js +1 -1
  421. package/src/x_ite/Components/Followers/ScalarDamper.js +1 -1
  422. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +1 -1
  423. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +1 -1
  424. package/src/x_ite/Components/Followers/X3DChaserNode.js +1 -1
  425. package/src/x_ite/Components/Followers/X3DDamperNode.js +1 -1
  426. package/src/x_ite/Components/Followers/X3DFollowerNode.js +1 -1
  427. package/src/x_ite/Components/Followers.js +1 -1
  428. package/src/x_ite/Components/Geometry2D/Arc2D.js +1 -1
  429. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +1 -1
  430. package/src/x_ite/Components/Geometry2D/Circle2D.js +1 -1
  431. package/src/x_ite/Components/Geometry2D/Disk2D.js +1 -1
  432. package/src/x_ite/Components/Geometry2D/Polyline2D.js +1 -1
  433. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +1 -1
  434. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +1 -1
  435. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +1 -1
  436. package/src/x_ite/Components/Geometry3D/Box.js +1 -1
  437. package/src/x_ite/Components/Geometry3D/Cone.js +3 -3
  438. package/src/x_ite/Components/Geometry3D/Cylinder.js +4 -4
  439. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +1 -1
  440. package/src/x_ite/Components/Geometry3D/Extrusion.js +1 -1
  441. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +1 -1
  442. package/src/x_ite/Components/Geometry3D/Sphere.js +1 -1
  443. package/src/x_ite/Components/Geometry3D.js +1 -1
  444. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +1 -1
  445. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +1 -1
  446. package/src/x_ite/Components/Geospatial/GeoLOD.js +1 -1
  447. package/src/x_ite/Components/Geospatial/GeoLocation.js +1 -1
  448. package/src/x_ite/Components/Geospatial/GeoMetadata.js +1 -1
  449. package/src/x_ite/Components/Geospatial/GeoOrigin.js +1 -1
  450. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +17 -13
  451. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +1 -1
  452. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +1 -1
  453. package/src/x_ite/Components/Geospatial/GeoTransform.js +1 -1
  454. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +39 -106
  455. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +1 -1
  456. package/src/x_ite/Components/Grouping/Group.js +1 -1
  457. package/src/x_ite/Components/Grouping/StaticGroup.js +1 -1
  458. package/src/x_ite/Components/Grouping/Switch.js +1 -1
  459. package/src/x_ite/Components/Grouping/Transform.js +1 -1
  460. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +1 -1
  461. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +1 -1
  462. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +1 -1
  463. package/src/x_ite/Components/Grouping/X3DTransformNode.js +1 -1
  464. package/src/x_ite/Components/Grouping.js +1 -1
  465. package/src/x_ite/Components/HAnim/HAnimDisplacer.js +2 -1
  466. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +32 -23
  467. package/src/x_ite/Components/HAnim/HAnimJoint.js +2 -1
  468. package/src/x_ite/Components/HAnim/HAnimMotion.js +3 -1
  469. package/src/x_ite/Components/HAnim/HAnimSegment.js +2 -1
  470. package/src/x_ite/Components/HAnim/HAnimSite.js +2 -1
  471. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +2 -2
  472. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +1 -1
  473. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +1 -1
  474. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +1 -1
  475. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +1 -1
  476. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +1 -1
  477. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +1 -1
  478. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +1 -1
  479. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +1 -1
  480. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +1 -1
  481. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +1 -1
  482. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +1 -1
  483. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +1 -1
  484. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +1 -1
  485. package/src/x_ite/Components/Interpolation.js +1 -1
  486. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +1 -1
  487. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +1 -1
  488. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +1 -1
  489. package/src/x_ite/Components/Layering/Layer.js +4 -2
  490. package/src/x_ite/Components/Layering/LayerSet.js +1 -1
  491. package/src/x_ite/Components/Layering/Viewport.js +4 -4
  492. package/src/x_ite/Components/Layering/X3DLayerNode.js +66 -49
  493. package/src/x_ite/Components/Layering/X3DViewportNode.js +1 -1
  494. package/src/x_ite/Components/Layering.js +1 -1
  495. package/src/x_ite/Components/Layout/Layout.js +1 -1
  496. package/src/x_ite/Components/Layout/LayoutGroup.js +1 -1
  497. package/src/x_ite/Components/Layout/LayoutLayer.js +4 -2
  498. package/src/x_ite/Components/Layout/ScreenFontStyle.js +1 -1
  499. package/src/x_ite/Components/Layout/ScreenGroup.js +1 -1
  500. package/src/x_ite/Components/Layout/X3DLayoutNode.js +1 -1
  501. package/src/x_ite/Components/Lighting/DirectionalLight.js +9 -5
  502. package/src/x_ite/Components/Lighting/EnvironmentLight.js +143 -0
  503. package/src/x_ite/Components/Lighting/PointLight.js +9 -5
  504. package/src/x_ite/Components/Lighting/SpotLight.js +9 -5
  505. package/src/x_ite/Components/Lighting/X3DLightNode.js +1 -1
  506. package/src/x_ite/Components/Lighting.js +3 -1
  507. package/src/x_ite/Components/NURBS/Contour2D.js +1 -1
  508. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +1 -1
  509. package/src/x_ite/Components/NURBS/CoordinateDouble.js +1 -1
  510. package/src/x_ite/Components/NURBS/NurbsCurve.js +1 -1
  511. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +1 -1
  512. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +1 -1
  513. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +1 -1
  514. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +1 -1
  515. package/src/x_ite/Components/NURBS/NurbsSet.js +1 -1
  516. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +1 -1
  517. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +1 -1
  518. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +1 -1
  519. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +1 -1
  520. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +1 -1
  521. package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +1 -1
  522. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +1 -1
  523. package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +1 -1
  524. package/src/x_ite/Components/Navigation/Billboard.js +1 -1
  525. package/src/x_ite/Components/Navigation/Collision.js +1 -1
  526. package/src/x_ite/Components/Navigation/LOD.js +1 -1
  527. package/src/x_ite/Components/Navigation/NavigationInfo.js +2 -1
  528. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +100 -68
  529. package/src/x_ite/Components/Navigation/Viewpoint.js +16 -16
  530. package/src/x_ite/Components/Navigation/ViewpointGroup.js +1 -1
  531. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +219 -111
  532. package/src/x_ite/Components/Navigation.js +1 -1
  533. package/src/x_ite/Components/Networking/Anchor.js +1 -1
  534. package/src/x_ite/Components/Networking/Inline.js +99 -14
  535. package/src/x_ite/Components/Networking/LoadSensor.js +9 -9
  536. package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +1 -1
  537. package/src/x_ite/Components/Networking/X3DUrlObject.js +3 -3
  538. package/src/x_ite/Components/Networking.js +1 -1
  539. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +1 -1
  540. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +1 -1
  541. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +1 -1
  542. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +1 -1
  543. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1 -1
  544. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +1 -1
  545. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +1 -1
  546. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +1 -1
  547. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +1 -1
  548. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +1 -1
  549. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +1 -1
  550. package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +1 -1
  551. package/src/x_ite/Components/Picking/LinePickSensor.js +1 -1
  552. package/src/x_ite/Components/Picking/PickableGroup.js +1 -1
  553. package/src/x_ite/Components/Picking/PointPickSensor.js +2 -4
  554. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +1 -1
  555. package/src/x_ite/Components/Picking/VolumePickSensor.js +1 -1
  556. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +1 -1
  557. package/src/x_ite/Components/Picking/X3DPickableObject.js +1 -1
  558. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +1 -1
  559. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +1 -1
  560. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +1 -1
  561. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +1 -1
  562. package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +1 -1
  563. package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +1 -1
  564. package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +1 -1
  565. package/src/x_ite/Components/PointingDeviceSensor.js +1 -1
  566. package/src/x_ite/Components/ProjectiveTextureMapping/{TextureProjectorPerspective.js → TextureProjector.js} +17 -13
  567. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +17 -13
  568. package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +1 -1
  569. package/src/x_ite/Components/Rendering/ClipPlane.js +1 -1
  570. package/src/x_ite/Components/Rendering/Color.js +1 -1
  571. package/src/x_ite/Components/Rendering/ColorRGBA.js +1 -1
  572. package/src/x_ite/Components/Rendering/Coordinate.js +1 -1
  573. package/src/x_ite/Components/Rendering/IndexedLineSet.js +6 -1
  574. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +1 -1
  575. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +1 -1
  576. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +1 -1
  577. package/src/x_ite/Components/Rendering/LineSet.js +6 -1
  578. package/src/x_ite/Components/Rendering/Normal.js +31 -1
  579. package/src/x_ite/Components/Rendering/PointSet.js +6 -1
  580. package/src/x_ite/Components/Rendering/TriangleFanSet.js +1 -1
  581. package/src/x_ite/Components/Rendering/TriangleSet.js +1 -1
  582. package/src/x_ite/Components/Rendering/TriangleStripSet.js +1 -1
  583. package/src/x_ite/Components/Rendering/X3DColorNode.js +1 -1
  584. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +1 -1
  585. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +1 -1
  586. package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +1 -1
  587. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +40 -35
  588. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +24 -6
  589. package/src/x_ite/Components/Rendering/X3DNormalNode.js +1 -1
  590. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +7 -1
  591. package/src/x_ite/Components/Rendering.js +1 -1
  592. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +1 -1
  593. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +1 -1
  594. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +1 -1
  595. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +1 -1
  596. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +1 -1
  597. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +1 -1
  598. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +1 -1
  599. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +1 -1
  600. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +1 -1
  601. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +1 -1
  602. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +1 -1
  603. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +3 -2
  604. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +1 -1
  605. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +1 -1
  606. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +1 -1
  607. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +1 -1
  608. package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +1 -1
  609. package/src/x_ite/Components/Scripting/Script.js +2 -1
  610. package/src/x_ite/Components/Scripting/X3DScriptNode.js +1 -1
  611. package/src/x_ite/Components/Shaders/ComposedShader.js +1 -1
  612. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +1 -1
  613. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +1 -1
  614. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +1 -1
  615. package/src/x_ite/Components/Shaders/PackagedShader.js +2 -1
  616. package/src/x_ite/Components/Shaders/ProgramShader.js +1 -1
  617. package/src/x_ite/Components/Shaders/ShaderPart.js +2 -1
  618. package/src/x_ite/Components/Shaders/ShaderProgram.js +2 -1
  619. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +13 -10
  620. package/src/x_ite/Components/Shaders/X3DShaderNode.js +1 -1
  621. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +1 -1
  622. package/src/x_ite/Components/Shaders.js +1 -1
  623. package/src/x_ite/Components/Shape/AcousticProperties.js +1 -1
  624. package/src/x_ite/Components/Shape/Appearance.js +2 -2
  625. package/src/x_ite/Components/Shape/FillProperties.js +4 -1
  626. package/src/x_ite/Components/Shape/LineProperties.js +4 -1
  627. package/src/x_ite/Components/Shape/Material.js +24 -16
  628. package/src/x_ite/Components/Shape/PhysicalMaterial.js +1 -1
  629. package/src/x_ite/Components/Shape/PointProperties.js +14 -20
  630. package/src/x_ite/Components/Shape/Shape.js +1 -1
  631. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +1 -1
  632. package/src/x_ite/Components/Shape/UnlitMaterial.js +1 -1
  633. package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +1 -1
  634. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +1 -1
  635. package/src/x_ite/Components/Shape/X3DMaterialNode.js +1 -1
  636. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +2 -2
  637. package/src/x_ite/Components/Shape/X3DShapeNode.js +1 -1
  638. package/src/x_ite/Components/Shape.js +1 -1
  639. package/src/x_ite/Components/Sound/Analyser.js +105 -0
  640. package/src/x_ite/Components/Sound/AudioClip.js +1 -1
  641. package/src/x_ite/Components/Sound/AudioDestination.js +94 -0
  642. package/src/x_ite/Components/Sound/BiquadFilter.js +104 -0
  643. package/src/x_ite/Components/Sound/BufferAudioSource.js +127 -0
  644. package/src/x_ite/Components/Sound/ChannelMerger.js +91 -0
  645. package/src/x_ite/Components/Sound/ChannelSelector.js +92 -0
  646. package/src/x_ite/Components/Sound/ChannelSplitter.js +92 -0
  647. package/src/x_ite/Components/Sound/Convolver.js +102 -0
  648. package/src/x_ite/Components/Sound/Delay.js +102 -0
  649. package/src/x_ite/Components/Sound/DynamicsCompressor.js +106 -0
  650. package/src/x_ite/Components/Sound/Gain.js +100 -0
  651. package/src/x_ite/Components/Sound/ListenerPointSource.js +102 -0
  652. package/src/x_ite/Components/Sound/MicrophoneSource.js +96 -0
  653. package/src/x_ite/Components/Sound/OscillatorSource.js +98 -0
  654. package/src/x_ite/Components/Sound/PeriodicWave.js +86 -0
  655. package/src/x_ite/Components/Sound/Sound.js +16 -13
  656. package/src/x_ite/Components/Sound/SpatialSound.js +103 -0
  657. package/src/x_ite/Components/Sound/StreamAudioDestination.js +94 -0
  658. package/src/x_ite/Components/Sound/StreamAudioSource.js +96 -0
  659. package/src/x_ite/Components/Sound/WaveShaper.js +102 -0
  660. package/src/x_ite/Components/Sound/X3DSoundChannelNode.js +63 -0
  661. package/src/x_ite/Components/Sound/X3DSoundDestinationNode.js +63 -0
  662. package/src/x_ite/Components/Sound/X3DSoundNode.js +1 -1
  663. package/src/x_ite/Components/Sound/X3DSoundProcessingNode.js +63 -0
  664. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +1 -1
  665. package/src/x_ite/Components/Sound.js +54 -10
  666. package/src/x_ite/Components/Text/FontStyle.js +1 -1
  667. package/src/x_ite/Components/Text/Text.js +1 -1
  668. package/src/x_ite/Components/Text/X3DFontStyleNode.js +1 -1
  669. package/src/x_ite/Components/Texturing/ImageTexture.js +1 -1
  670. package/src/x_ite/Components/Texturing/MovieTexture.js +1 -1
  671. package/src/x_ite/Components/Texturing/MultiTexture.js +1 -1
  672. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +1 -1
  673. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +1 -1
  674. package/src/x_ite/Components/Texturing/PixelTexture.js +1 -1
  675. package/src/x_ite/Components/Texturing/TextureCoordinate.js +1 -1
  676. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +1 -1
  677. package/src/x_ite/Components/Texturing/TextureProperties.js +8 -1
  678. package/src/x_ite/Components/Texturing/TextureTransform.js +1 -1
  679. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +1 -1
  680. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +1 -1
  681. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +1 -1
  682. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +1 -1
  683. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +1 -1
  684. package/src/x_ite/Components/Texturing/X3DTextureNode.js +1 -1
  685. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +1 -1
  686. package/src/x_ite/Components/Texturing.js +1 -1
  687. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +1 -1
  688. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +1 -1
  689. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +1 -1
  690. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +1 -1
  691. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +1 -1
  692. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +1 -1
  693. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +1 -1
  694. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +1 -1
  695. package/src/x_ite/Components/Time/TimeSensor.js +2 -1
  696. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +1 -1
  697. package/src/x_ite/Components/Time.js +1 -1
  698. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +1 -1
  699. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +1 -1
  700. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +1 -1
  701. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +1 -1
  702. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +1 -1
  703. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +1 -1
  704. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +1 -1
  705. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +1 -1
  706. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +1 -1
  707. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +1 -1
  708. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +1 -1
  709. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +1 -1
  710. package/src/x_ite/Components/VolumeRendering/VolumeData.js +1 -1
  711. package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +1 -1
  712. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +1 -1
  713. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +1 -1
  714. package/src/x_ite/Components/X_ITE/BlendMode.js +1 -1
  715. package/src/x_ite/Components.js +6 -28
  716. package/src/x_ite/Configuration/ComponentInfo.js +10 -7
  717. package/src/x_ite/Configuration/ComponentInfoArray.js +2 -6
  718. package/src/x_ite/Configuration/ProfileInfo.js +1 -1
  719. package/src/x_ite/Configuration/ProfileInfoArray.js +1 -1
  720. package/src/x_ite/Configuration/SupportedComponents.js +136 -154
  721. package/src/x_ite/Configuration/SupportedNodes.js +7 -10
  722. package/src/x_ite/Configuration/SupportedProfiles.js +1 -1
  723. package/src/x_ite/Configuration/UnitInfo.js +1 -1
  724. package/src/x_ite/Configuration/UnitInfoArray.js +1 -1
  725. package/src/x_ite/DEBUG.js +1 -1
  726. package/src/x_ite/Execution/BindableList.js +1 -1
  727. package/src/x_ite/Execution/BindableStack.js +12 -12
  728. package/src/x_ite/Execution/ExportedNodesArray.js +1 -1
  729. package/src/x_ite/Execution/ImportedNodesArray.js +1 -1
  730. package/src/x_ite/Execution/NamedNodesArray.js +1 -1
  731. package/src/x_ite/Execution/Scene.js +13 -13
  732. package/src/x_ite/Execution/X3DExecutionContext.js +882 -882
  733. package/src/x_ite/Execution/X3DExportedNode.js +1 -1
  734. package/src/x_ite/Execution/X3DImportedNode.js +1 -1
  735. package/src/x_ite/Execution/X3DScene.js +14 -22
  736. package/src/x_ite/Execution/X3DWorld.js +1 -1
  737. package/src/x_ite/Fallback.js +1 -6
  738. package/src/x_ite/Fields/ArrayFields.js +1 -1
  739. package/src/x_ite/Fields/SFBool.js +1 -1
  740. package/src/x_ite/Fields/SFColor.js +2 -5
  741. package/src/x_ite/Fields/SFColorRGBA.js +2 -6
  742. package/src/x_ite/Fields/SFDouble.js +1 -1
  743. package/src/x_ite/Fields/SFFloat.js +1 -1
  744. package/src/x_ite/Fields/SFImage.js +1 -1
  745. package/src/x_ite/Fields/SFInt32.js +1 -1
  746. package/src/x_ite/Fields/SFMatrix3.js +16 -11
  747. package/src/x_ite/Fields/SFMatrix4.js +18 -11
  748. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +15 -4
  749. package/src/x_ite/Fields/SFNode.js +1 -1
  750. package/src/x_ite/Fields/SFNodeCache.js +3 -5
  751. package/src/x_ite/Fields/SFRotation.js +27 -6
  752. package/src/x_ite/Fields/SFString.js +1 -1
  753. package/src/x_ite/Fields/SFTime.js +1 -1
  754. package/src/x_ite/Fields/SFVec2.js +5 -11
  755. package/src/x_ite/Fields/SFVec3.js +5 -11
  756. package/src/x_ite/Fields/SFVec4.js +5 -11
  757. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +27 -17
  758. package/src/x_ite/Fields.js +1 -1
  759. package/src/x_ite/InputOutput/FileLoader.js +3 -3
  760. package/src/x_ite/InputOutput/Generator.js +1 -1
  761. package/src/x_ite/Namespace.js +2 -758
  762. package/src/x_ite/Parser/GoldenGate.js +1 -1
  763. package/src/x_ite/Parser/HTMLSupport.js +1 -1
  764. package/src/x_ite/Parser/JSONParser.js +4 -4
  765. package/src/x_ite/Parser/VRMLParser.js +15 -1
  766. package/src/x_ite/Parser/X3DParser.js +1 -1
  767. package/src/x_ite/Parser/XMLParser.js +1 -1
  768. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +1 -1
  769. package/src/x_ite/Prototype/ProtoDeclarationArray.js +1 -1
  770. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +1 -1
  771. package/src/x_ite/Prototype/X3DProtoDeclaration.js +1 -1
  772. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +1 -1
  773. package/src/x_ite/Rendering/DependentRenderer.js +1 -1
  774. package/src/x_ite/Rendering/TextureBuffer.js +1 -1
  775. package/src/x_ite/Rendering/TraverseType.js +1 -1
  776. package/src/x_ite/Rendering/VertexArray.js +2 -2
  777. package/src/x_ite/Rendering/X3DRenderObject.js +10 -7
  778. package/src/x_ite/Routing/RouteArray.js +1 -1
  779. package/src/x_ite/Routing/X3DRoute.js +1 -1
  780. package/src/x_ite/Routing/X3DRoutingContext.js +1 -1
  781. package/src/x_ite/X3D.js +25 -37
  782. package/src/x_ite/X3DCanvas.js +10 -12
  783. package/src/x_ite.css +20 -0
  784. package/src/x_ite.html +80 -77
  785. package/src/x_ite.js +1 -1
  786. package/webpack.config.js +79 -8
  787. package/x_ite.min.html +78 -76
  788. package/build/bin/namespace.mjs +0 -86
  789. package/docs/404.md +0 -11
  790. package/docs/Browser-Support.md +0 -53
  791. package/docs/Supported-Nodes.md +0 -378
  792. package/docs/_data/navigation.yml +0 -137
  793. package/docs/assets/css/main.scss +0 -126
  794. package/docs/reference/Field-Services-and-Objects.md +0 -1110
  795. package/docs/tutorials/index.md +0 -84
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -47,6 +47,7 @@
47
47
 
48
48
  import SupportedNodes from "../Configuration/SupportedNodes.js";
49
49
  import DirectionalLight from "./Lighting/DirectionalLight.js";
50
+ import EnvironmentLight from "./Lighting/EnvironmentLight.js";
50
51
  import PointLight from "./Lighting/PointLight.js";
51
52
  import SpotLight from "./Lighting/SpotLight.js";
52
53
  import X3DLightNode from "./Lighting/X3DLightNode.js";
@@ -54,6 +55,7 @@ import X3DLightNode from "./Lighting/X3DLightNode.js";
54
55
  const Types =
55
56
  {
56
57
  DirectionalLight: DirectionalLight,
58
+ EnvironmentLight: EnvironmentLight,
57
59
  PointLight: PointLight,
58
60
  SpotLight: SpotLight,
59
61
  };
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -190,6 +190,7 @@ NavigationInfo .prototype = Object .assign (Object .create (X3DBindableNode .pro
190
190
  case "NONE":
191
191
  this ._viewer = string;
192
192
  break;
193
+ case "PLANE_create3000.github.io":
193
194
  case "PLANE_create3000.de":
194
195
  this ._viewer = "PLANE";
195
196
  break;
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -53,7 +53,6 @@ import ScalarInterpolator from "../Interpolation/ScalarInterpolator.js";
53
53
  import X3DConstants from "../../Base/X3DConstants.js";
54
54
  import Camera from "../../../standard/Math/Geometry/Camera.js";
55
55
  import Vector2 from "../../../standard/Math/Numbers/Vector2.js";
56
- import Vector3 from "../../../standard/Math/Numbers/Vector3.js";
57
56
  import Matrix4 from "../../../standard/Math/Numbers/Matrix4.js";
58
57
 
59
58
  function OrthoViewpoint (executionContext)
@@ -73,7 +72,6 @@ function OrthoViewpoint (executionContext)
73
72
  this .fieldOfViewOffsetInterpolator1 = new ScalarInterpolator (this .getBrowser () .getPrivateScene ());
74
73
  this .fieldOfViewOffsetInterpolator2 = new ScalarInterpolator (this .getBrowser () .getPrivateScene ());
75
74
  this .fieldOfViewOffsetInterpolator3 = new ScalarInterpolator (this .getBrowser () .getPrivateScene ());
76
- this .fieldOfViewScaleInterpolator = new ScalarInterpolator (this .getBrowser () .getPrivateScene ());
77
75
  }
78
76
 
79
77
  OrthoViewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .prototype),
@@ -87,10 +85,14 @@ OrthoViewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .pr
87
85
  new X3DFieldDefinition (X3DConstants .inputOutput, "orientation", new Fields .SFRotation ()),
88
86
  new X3DFieldDefinition (X3DConstants .inputOutput, "centerOfRotation", new Fields .SFVec3f ()),
89
87
  new X3DFieldDefinition (X3DConstants .inputOutput, "fieldOfView", new Fields .MFFloat (-1, -1, 1, 1)),
88
+ new X3DFieldDefinition (X3DConstants .inputOutput, "nearDistance", new Fields .SFFloat (-1)),
89
+ new X3DFieldDefinition (X3DConstants .inputOutput, "farDistance", new Fields .SFFloat (-1)),
90
+ new X3DFieldDefinition (X3DConstants .inputOutput, "viewAll", new Fields .SFBool (false)),
90
91
  new X3DFieldDefinition (X3DConstants .inputOutput, "jump", new Fields .SFBool (true)),
91
92
  new X3DFieldDefinition (X3DConstants .inputOutput, "retainUserOffsets", new Fields .SFBool ()),
92
93
  new X3DFieldDefinition (X3DConstants .outputOnly, "isBound", new Fields .SFBool ()),
93
94
  new X3DFieldDefinition (X3DConstants .outputOnly, "bindTime", new Fields .SFTime ()),
95
+ new X3DFieldDefinition (X3DConstants .inputOutput, "navigationInfo", new Fields .SFNode ()),
94
96
  ]),
95
97
  getTypeName: function ()
96
98
  {
@@ -108,50 +110,25 @@ OrthoViewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .pr
108
110
  {
109
111
  X3DViewpointNode .prototype .initialize .call (this);
110
112
 
111
- this ._fieldOfView .addInterest ("set_fieldOfView__", this);
112
- this ._fieldOfViewOffset .addInterest ("set_fieldOfView__", this);
113
- this ._fieldOfViewScale .addInterest ("set_fieldOfView__", this);
114
-
115
113
  this .fieldOfViewOffsetInterpolator0 ._key = new Fields .MFFloat (0, 1);
116
114
  this .fieldOfViewOffsetInterpolator1 ._key = new Fields .MFFloat (0, 1);
117
115
  this .fieldOfViewOffsetInterpolator2 ._key = new Fields .MFFloat (0, 1);
118
116
  this .fieldOfViewOffsetInterpolator3 ._key = new Fields .MFFloat (0, 1);
119
- this .fieldOfViewScaleInterpolator ._key = new Fields .MFFloat (0, 1);
120
117
 
121
118
  this .fieldOfViewOffsetInterpolator0 .setup ();
122
119
  this .fieldOfViewOffsetInterpolator1 .setup ();
123
120
  this .fieldOfViewOffsetInterpolator2 .setup ();
124
121
  this .fieldOfViewOffsetInterpolator3 .setup ();
125
- this .fieldOfViewScaleInterpolator .setup ();
126
122
 
127
- this .getEaseInEaseOut () ._modifiedFraction_changed .addFieldInterest (this .fieldOfViewOffsetInterpolator0 ._set_fraction);
128
- this .getEaseInEaseOut () ._modifiedFraction_changed .addFieldInterest (this .fieldOfViewOffsetInterpolator1 ._set_fraction);
129
- this .getEaseInEaseOut () ._modifiedFraction_changed .addFieldInterest (this .fieldOfViewOffsetInterpolator2 ._set_fraction);
130
- this .getEaseInEaseOut () ._modifiedFraction_changed .addFieldInterest (this .fieldOfViewOffsetInterpolator3 ._set_fraction);
131
- this .getEaseInEaseOut () ._modifiedFraction_changed .addFieldInterest (this .fieldOfViewScaleInterpolator ._set_fraction);
123
+ this .easeInEaseOut ._modifiedFraction_changed .addFieldInterest (this .fieldOfViewOffsetInterpolator0 ._set_fraction);
124
+ this .easeInEaseOut ._modifiedFraction_changed .addFieldInterest (this .fieldOfViewOffsetInterpolator1 ._set_fraction);
125
+ this .easeInEaseOut ._modifiedFraction_changed .addFieldInterest (this .fieldOfViewOffsetInterpolator2 ._set_fraction);
126
+ this .easeInEaseOut ._modifiedFraction_changed .addFieldInterest (this .fieldOfViewOffsetInterpolator3 ._set_fraction);
132
127
 
133
128
  this .fieldOfViewOffsetInterpolator0 ._value_changed .addInterest ("set_fieldOfViewOffset__", this);
134
129
  this .fieldOfViewOffsetInterpolator1 ._value_changed .addInterest ("set_fieldOfViewOffset__", this);
135
130
  this .fieldOfViewOffsetInterpolator2 ._value_changed .addInterest ("set_fieldOfViewOffset__", this);
136
131
  this .fieldOfViewOffsetInterpolator3 ._value_changed .addInterest ("set_fieldOfViewOffset__", this);
137
-
138
- this .fieldOfViewScaleInterpolator ._value_changed .addFieldInterest (this ._fieldOfViewScale);
139
-
140
- this .set_fieldOfView__ ();
141
- },
142
- set_fieldOfView__: function ()
143
- {
144
- const
145
- length = this ._fieldOfView .length,
146
- fieldOfViewScale = this ._fieldOfViewScale .getValue ();
147
-
148
- this .minimumX = ((length > 0 ? this ._fieldOfView [0] : -1) + this ._fieldOfViewOffset [0]) * fieldOfViewScale;
149
- this .minimumY = ((length > 1 ? this ._fieldOfView [1] : -1) + this ._fieldOfViewOffset [1]) * fieldOfViewScale;
150
- this .maximumX = ((length > 2 ? this ._fieldOfView [2] : 1) + this ._fieldOfViewOffset [2]) * fieldOfViewScale;
151
- this .maximumY = ((length > 3 ? this ._fieldOfView [3] : 1) + this ._fieldOfViewOffset [3]) * fieldOfViewScale;
152
-
153
- this .sizeX = this .maximumX - this .minimumX;
154
- this .sizeY = this .maximumY - this .minimumY;
155
132
  },
156
133
  set_fieldOfViewOffset__: function ()
157
134
  {
@@ -160,33 +137,50 @@ OrthoViewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .pr
160
137
  this ._fieldOfViewOffset [2] = this .fieldOfViewOffsetInterpolator2 ._value_changed .getValue ();
161
138
  this ._fieldOfViewOffset [3] = this .fieldOfViewOffsetInterpolator3 ._value_changed .getValue ();
162
139
  },
163
- setInterpolators: function (fromViewpointNode, toViewpointNode)
140
+ resetUserOffsets: function ()
164
141
  {
165
- if (fromViewpointNode .getType () .includes (X3DConstants .OrthoViewpoint))
142
+ X3DViewpointNode .prototype .resetUserOffsets .call (this);
143
+
144
+ this ._fieldOfViewOffset [0] = 0;
145
+ this ._fieldOfViewOffset [1] = 0;
146
+ this ._fieldOfViewOffset [2] = 0;
147
+ this ._fieldOfViewOffset [3] = 0;
148
+ },
149
+ getRelativeTransformation: function (fromViewpointNode)
150
+ {
151
+ const relative = X3DViewpointNode .prototype .getRelativeTransformation .call (this, fromViewpointNode);
152
+
153
+ if (fromViewpointNode .constructor === this .constructor)
166
154
  {
167
- const
168
- toLength = toViewpointNode ._fieldOfView .length,
169
- fromLength = fromViewpointNode ._fieldOfView .length;
155
+ relative .userMinimumX = fromViewpointNode .getUserMinimumX ();
156
+ relative .userMinimumY = fromViewpointNode .getUserMinimumY ();
157
+ relative .userMaximumX = fromViewpointNode .getUserMaximumX ();
158
+ relative .userMaximumY = fromViewpointNode .getUserMaximumY ();
159
+ }
170
160
 
161
+ return relative;
162
+ },
163
+ setInterpolators: function (fromViewpointNode, toViewpointNode, relative)
164
+ {
165
+ if (fromViewpointNode .constructor === toViewpointNode .constructor)
166
+ {
171
167
  const
172
- offset0 = (fromLength > 0 ? fromViewpointNode ._fieldOfView [0] : -1) - (toLength > 0 ? toViewpointNode ._fieldOfView [0] : -1),
173
- offset1 = (fromLength > 1 ? fromViewpointNode ._fieldOfView [1] : -1) - (toLength > 1 ? toViewpointNode ._fieldOfView [1] : -1),
174
- offset2 = (fromLength > 2 ? fromViewpointNode ._fieldOfView [2] : 1) - (toLength > 2 ? toViewpointNode ._fieldOfView [2] : 1),
175
- offset3 = (fromLength > 3 ? fromViewpointNode ._fieldOfView [3] : 1) - (toLength > 3 ? toViewpointNode ._fieldOfView [3] : 1);
168
+ offset0 = relative .userMinimumX - toViewpointNode .getMinimumX (),
169
+ offset1 = relative .userMinimumY - toViewpointNode .getMinimumY (),
170
+ offset2 = relative .userMaximumX - toViewpointNode .getMaximumX (),
171
+ offset3 = relative .userMaximumY - toViewpointNode .getMaximumY ();
176
172
 
177
173
  this .fieldOfViewOffsetInterpolator0 ._keyValue = new Fields .MFFloat (offset0, toViewpointNode ._fieldOfViewOffset [0]);
178
174
  this .fieldOfViewOffsetInterpolator1 ._keyValue = new Fields .MFFloat (offset1, toViewpointNode ._fieldOfViewOffset [1]);
179
175
  this .fieldOfViewOffsetInterpolator2 ._keyValue = new Fields .MFFloat (offset2, toViewpointNode ._fieldOfViewOffset [2]);
180
176
  this .fieldOfViewOffsetInterpolator3 ._keyValue = new Fields .MFFloat (offset3, toViewpointNode ._fieldOfViewOffset [3]);
177
+ this .fieldOfViewScaleInterpolator ._keyValue = new Fields .MFFloat (1, toViewpointNode ._fieldOfViewScale .getValue ());
181
178
 
182
- this .fieldOfViewScaleInterpolator ._keyValue = new Fields .MFFloat (fromViewpointNode ._fieldOfViewScale .getValue (), toViewpointNode ._fieldOfViewScale .getValue ());
183
-
184
- this ._fieldOfViewOffset [0] = offset0;
185
- this ._fieldOfViewOffset [1] = offset1;
186
- this ._fieldOfViewOffset [2] = offset2;
187
- this ._fieldOfViewOffset [3] = offset3;
188
-
189
- this ._fieldOfViewScale = fromViewpointNode ._fieldOfViewScale .getValue ();
179
+ this ._fieldOfViewOffset [0] = relative .offset0;
180
+ this ._fieldOfViewOffset [1] = relative .offset1;
181
+ this ._fieldOfViewOffset [2] = relative .offset2;
182
+ this ._fieldOfViewOffset [3] = relative .offset3;
183
+ this ._fieldOfViewScale = 1;
190
184
  }
191
185
  else
192
186
  {
@@ -194,11 +188,10 @@ OrthoViewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .pr
194
188
  this .fieldOfViewOffsetInterpolator1 ._keyValue = new Fields .MFFloat (toViewpointNode ._fieldOfViewOffset [1], toViewpointNode ._fieldOfViewOffset [1]);
195
189
  this .fieldOfViewOffsetInterpolator2 ._keyValue = new Fields .MFFloat (toViewpointNode ._fieldOfViewOffset [2], toViewpointNode ._fieldOfViewOffset [2]);
196
190
  this .fieldOfViewOffsetInterpolator3 ._keyValue = new Fields .MFFloat (toViewpointNode ._fieldOfViewOffset [3], toViewpointNode ._fieldOfViewOffset [3]);
197
-
198
- this .fieldOfViewScaleInterpolator ._keyValue = new Fields .MFFloat (toViewpointNode ._fieldOfViewScale .getValue (), toViewpointNode ._fieldOfViewScale .getValue ());
191
+ this .fieldOfViewScaleInterpolator ._keyValue = new Fields .MFFloat (1, toViewpointNode ._fieldOfViewOffset .getValue ());
199
192
 
200
193
  this ._fieldOfViewOffset = toViewpointNode ._fieldOfViewOffset .getValue ();
201
- this ._fieldOfViewScale = toViewpointNode ._fieldOfViewScale .getValue ();
194
+ this ._fieldOfViewScale = 1;
202
195
  }
203
196
  },
204
197
  getLogarithmicDepthBuffer: function ()
@@ -207,27 +200,51 @@ OrthoViewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .pr
207
200
  },
208
201
  getMinimumX: function ()
209
202
  {
210
- return this .minimumX;
203
+ return this ._fieldOfView .length > 0 ? this ._fieldOfView [0] : -1;
204
+ },
205
+ getUserMinimumX: function ()
206
+ {
207
+ return (this .getMinimumX () + this ._fieldOfViewOffset [0]) * this ._fieldOfViewScale .getValue ();
211
208
  },
212
209
  getMinimumY: function ()
213
210
  {
214
- return this .minimumY;
211
+ return this ._fieldOfView .length > 1 ? this ._fieldOfView [1] : -1;
212
+ },
213
+ getUserMinimumY: function ()
214
+ {
215
+ return (this .getMinimumY () + this ._fieldOfViewOffset [1]) * this ._fieldOfViewScale .getValue ();
215
216
  },
216
217
  getMaximumX: function ()
217
218
  {
218
- return this .maximumX;
219
+ return this ._fieldOfView .length > 2 ? this ._fieldOfView [2] : 1;
220
+ },
221
+ getUserMaximumX: function ()
222
+ {
223
+ return (this .getMaximumX () + this ._fieldOfViewOffset [2]) * this ._fieldOfViewScale .getValue ();
219
224
  },
220
225
  getMaximumY: function ()
221
226
  {
222
- return this .maximumY;
227
+ return this ._fieldOfView .length > 3 ? this ._fieldOfView [3] : 1;
228
+ },
229
+ getUserMaximumY: function ()
230
+ {
231
+ return (this .getMaximumY () + this ._fieldOfViewOffset [3]) * this ._fieldOfViewScale .getValue ();
223
232
  },
224
233
  getSizeX: function ()
225
234
  {
226
- return this .sizeX;
235
+ return this .getMaximumX () - this .getMinimumX ();
236
+ },
237
+ getUserSizeX: function ()
238
+ {
239
+ return this .getUserMaximumX () - this .getUserMinimumX ();
227
240
  },
228
241
  getSizeY: function ()
229
242
  {
230
- return this .sizeY;
243
+ return this .getMaximumY () - this .getMinimumY ();
244
+ },
245
+ getUserSizeY: function ()
246
+ {
247
+ return this .getUserMaximumY () - this .getUserMinimumY ();
231
248
  },
232
249
  getMaxFarValue: function ()
233
250
  {
@@ -238,8 +255,8 @@ OrthoViewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .pr
238
255
  const
239
256
  width = viewport [2],
240
257
  height = viewport [3],
241
- sizeX = this .sizeX,
242
- sizeY = this .sizeY,
258
+ sizeX = this .getUserSizeX (),
259
+ sizeY = this .getUserSizeY (),
243
260
  aspect = width / height;
244
261
 
245
262
  if (aspect > sizeX / sizeY)
@@ -264,8 +281,8 @@ OrthoViewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .pr
264
281
  const
265
282
  width = viewport [2],
266
283
  height = viewport [3],
267
- sizeX = this .sizeX,
268
- sizeY = this .sizeY,
284
+ sizeX = this .getUserSizeX (),
285
+ sizeY = this .getUserSizeY (),
269
286
  aspect = width / height;
270
287
 
271
288
  if (aspect > sizeX / sizeY)
@@ -284,26 +301,41 @@ OrthoViewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .pr
284
301
  width = viewport [2],
285
302
  height = viewport [3],
286
303
  aspect = width / height,
287
- sizeX = this .sizeX,
288
- sizeY = this .sizeY;
304
+ sizeX = this .getUserSizeX (),
305
+ sizeY = this .getUserSizeY ();
289
306
 
290
307
  if (aspect > sizeX / sizeY)
291
308
  {
292
309
  const
293
- center = (this .minimumX + this .maximumX) / 2,
310
+ center = (this .getUserMinimumX () + this .getUserMaximumX ()) / 2,
294
311
  size1_2 = (sizeY * aspect) / 2;
295
312
 
296
- return Camera .ortho (center - size1_2, center + size1_2, this .minimumY, this .maximumY, nearValue, farValue, this .projectionMatrix);
313
+ return Camera .ortho (center - size1_2, center + size1_2, this .getUserMinimumY (), this .getUserMaximumY (), nearValue, farValue, this .projectionMatrix);
297
314
  }
298
315
  else
299
316
  {
300
317
  const
301
- center = (this .minimumY + this .maximumY) / 2,
318
+ center = (this .getUserMinimumY () + this .getUserMaximumY ()) / 2,
302
319
  size1_2 = (sizeX / aspect) / 2;
303
320
 
304
- return Camera .ortho (this .minimumX, this .maximumX, center - size1_2, center + size1_2, nearValue, farValue, this .projectionMatrix);
321
+ return Camera .ortho (this .getUserMinimumX (), this .getUserMaximumX (), center - size1_2, center + size1_2, nearValue, farValue, this .projectionMatrix);
305
322
  }
306
323
  },
324
+ viewAll: function (bbox)
325
+ {
326
+ const
327
+ size = bbox .size,
328
+ scaleX = size .x / this .getSizeX (),
329
+ scaleY = size .y / this .getSizeY (),
330
+ scale = Math .max (scaleX, scaleY) * 1.1;
331
+
332
+ this ._fieldOfViewOffset [0] = this .getMinimumX () * scale - this .getMinimumX ();
333
+ this ._fieldOfViewOffset [1] = this .getMinimumY () * scale - this .getMinimumY ();
334
+ this ._fieldOfViewOffset [2] = this .getMaximumX () * scale - this .getMaximumX ();
335
+ this ._fieldOfViewOffset [3] = this .getMaximumY () * scale - this .getMaximumY ();
336
+
337
+ X3DViewpointNode .prototype .viewAll .call (this, bbox);
338
+ },
307
339
  });
308
340
 
309
341
  export default OrthoViewpoint;
@@ -38,7 +38,7 @@
38
38
  * details (a copy is included in the LICENSE file that accompanied this code).
39
39
  *
40
40
  * You should have received a copy of the GNU General Public License version 3
41
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
41
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
42
42
  * copy of the GPLv3 License.
43
43
  *
44
44
  * For Silvio, Joy and Adi.
@@ -49,11 +49,9 @@ import Fields from "../../Fields.js";
49
49
  import X3DFieldDefinition from "../../Base/X3DFieldDefinition.js";
50
50
  import FieldDefinitionArray from "../../Base/FieldDefinitionArray.js";
51
51
  import X3DViewpointNode from "./X3DViewpointNode.js";
52
- import ScalarInterpolator from "../Interpolation/ScalarInterpolator.js";
53
52
  import X3DConstants from "../../Base/X3DConstants.js";
54
53
  import Camera from "../../../standard/Math/Geometry/Camera.js";
55
54
  import Vector2 from "../../../standard/Math/Numbers/Vector2.js";
56
- import Vector3 from "../../../standard/Math/Numbers/Vector3.js";
57
55
  import Matrix4 from "../../../standard/Math/Numbers/Matrix4.js";
58
56
 
59
57
  function Viewpoint (executionContext)
@@ -66,8 +64,7 @@ function Viewpoint (executionContext)
66
64
  this ._centerOfRotation .setUnit ("length");
67
65
  this ._fieldOfView .setUnit ("angle");
68
66
 
69
- this .projectionMatrix = new Matrix4 ();
70
- this .fieldOfViewInterpolator = new ScalarInterpolator (this .getBrowser () .getPrivateScene ());
67
+ this .projectionMatrix = new Matrix4 ();
71
68
  }
72
69
 
73
70
  Viewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .prototype),
@@ -81,10 +78,14 @@ Viewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .prototy
81
78
  new X3DFieldDefinition (X3DConstants .inputOutput, "orientation", new Fields .SFRotation ()),
82
79
  new X3DFieldDefinition (X3DConstants .inputOutput, "centerOfRotation", new Fields .SFVec3f ()),
83
80
  new X3DFieldDefinition (X3DConstants .inputOutput, "fieldOfView", new Fields .SFFloat (0.7854)),
81
+ new X3DFieldDefinition (X3DConstants .inputOutput, "nearDistance", new Fields .SFFloat (-1)),
82
+ new X3DFieldDefinition (X3DConstants .inputOutput, "farDistance", new Fields .SFFloat (-1)),
83
+ new X3DFieldDefinition (X3DConstants .inputOutput, "viewAll", new Fields .SFBool (false)),
84
84
  new X3DFieldDefinition (X3DConstants .inputOutput, "jump", new Fields .SFBool (true)),
85
85
  new X3DFieldDefinition (X3DConstants .inputOutput, "retainUserOffsets", new Fields .SFBool ()),
86
86
  new X3DFieldDefinition (X3DConstants .outputOnly, "isBound", new Fields .SFBool ()),
87
87
  new X3DFieldDefinition (X3DConstants .outputOnly, "bindTime", new Fields .SFTime ()),
88
+ new X3DFieldDefinition (X3DConstants .inputOutput, "navigationInfo", new Fields .SFNode ()),
88
89
  ]),
89
90
  getTypeName: function ()
90
91
  {
@@ -98,29 +99,28 @@ Viewpoint .prototype = Object .assign (Object .create (X3DViewpointNode .prototy
98
99
  {
99
100
  return "children";
100
101
  },
101
- initialize: function ()
102
+ getRelativeTransformation: function (fromViewpointNode)
102
103
  {
103
- X3DViewpointNode .prototype .initialize .call (this);
104
+ const relative = X3DViewpointNode .prototype .getRelativeTransformation .call (this, fromViewpointNode);
104
105
 
105
- this .fieldOfViewInterpolator ._key = new Fields .MFFloat (0, 1);
106
- this .fieldOfViewInterpolator .setup ();
106
+ if (fromViewpointNode .constructor === this .constructor)
107
+ relative .fieldOfView = fromViewpointNode .getFieldOfView ();
107
108
 
108
- this .getEaseInEaseOut () ._modifiedFraction_changed .addFieldInterest (this .fieldOfViewInterpolator ._set_fraction);
109
- this .fieldOfViewInterpolator ._value_changed .addFieldInterest (this ._fieldOfViewScale);
109
+ return relative;
110
110
  },
111
- setInterpolators: function (fromViewpointNode, toViewpointNode)
111
+ setInterpolators: function (fromViewpointNode, toViewpointNode, relative)
112
112
  {
113
- if (fromViewpointNode .getType () .includes (X3DConstants .Viewpoint) || fromViewpointNode .getType () .includes (X3DConstants .GeoViewpoint))
113
+ if (fromViewpointNode .constructor === toViewpointNode .constructor)
114
114
  {
115
- const scale = fromViewpointNode .getFieldOfView () / toViewpointNode .getFieldOfView ();
115
+ const scale = relative .fieldOfView / toViewpointNode .getFieldOfView ();
116
116
 
117
- this .fieldOfViewInterpolator ._keyValue = new Fields .MFFloat (scale, toViewpointNode ._fieldOfViewScale .getValue ());
117
+ this .fieldOfViewScaleInterpolator ._keyValue = new Fields .MFFloat (scale, toViewpointNode ._fieldOfViewScale .getValue ());
118
118
 
119
119
  this ._fieldOfViewScale = scale;
120
120
  }
121
121
  else
122
122
  {
123
- this .fieldOfViewInterpolator ._keyValue = new Fields .MFFloat (toViewpointNode ._fieldOfViewScale .getValue (), toViewpointNode ._fieldOfViewScale .getValue ());
123
+ this .fieldOfViewScaleInterpolator ._keyValue = new Fields .MFFloat (toViewpointNode ._fieldOfViewScale .getValue (), toViewpointNode ._fieldOfViewScale .getValue ());
124
124
 
125
125
  this ._fieldOfViewScale = toViewpointNode ._fieldOfViewScale .getValue ();
126
126
  }