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
@@ -1,11 +1,10 @@
1
1
  ---
2
- # Feel free to add content and custom Front Matter to this file.
3
- # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
-
5
- layout: single
2
+ title: Adding Sound
3
+ date: 2022-11-28
4
+ nav: tutorials-textures-lights-and-environment
5
+ categories: [Tutorials]
6
+ tags: [sound]
6
7
  ---
7
- # Adding Sound
8
-
9
8
  ## Motivation
10
9
 
11
10
  - Sounds can be triggered by viewer actions
@@ -25,11 +24,11 @@ Sounds have two components:
25
24
 
26
25
  ## Syntax: AudioClip
27
26
 
28
- An [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip) node creates a digital sound source:
27
+ An [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node creates a digital sound source:
29
28
 
30
29
  - *url* - a sound file URL
31
30
  - *pitch* - playback speed
32
- - playback controls, like a [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor) node
31
+ - playback controls, like a [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node
33
32
 
34
33
  ### XML Encoding
35
34
 
@@ -60,11 +59,11 @@ Sound {
60
59
 
61
60
  ## Syntax: MovieTexture
62
61
 
63
- A [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/texturing.html#MovieTexture) node creates a movie sound source:
62
+ A [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node creates a movie sound source:
64
63
 
65
64
  - *url* - a texture movie file URL
66
65
  - *speed* - playback speed
67
- - playback controls, like a [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor) node
66
+ - playback controls, like a [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node
68
67
 
69
68
  ### XML Encoding
70
69
 
@@ -95,21 +94,21 @@ Sound {
95
94
 
96
95
  ## Selecting sound source types
97
96
 
98
- Supported by the [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip) node:
97
+ Supported by the [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
99
98
 
100
99
  - MP3 or WAV - digital sound files
101
100
  Good for sound effects
102
101
 
103
- Supported by the [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/texturing.html#MovieTexture) node:
102
+ Supported by the [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node:
104
103
 
105
104
  - MP4 - movie file with sound
106
105
  Good for virtual TVs
107
106
 
108
107
  ## Syntax: Sound
109
108
 
110
- A [Sound](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#Sound) node describes a sound emitter:
109
+ A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
111
110
 
112
- - *source* - [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip) or [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/texturing.html#MovieTexture) node
111
+ - *source* - [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} or [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node
113
112
  - *location* and *direction* - emitter placement
114
113
 
115
114
  ### XML Encoding
@@ -132,7 +131,7 @@ Sound {
132
131
  }
133
132
  ```
134
133
 
135
- A [Sound](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#Sound) node describes a sound emitter:
134
+ A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
136
135
 
137
136
  - *intensity* - volume
138
137
  - *spatialize* - use spatialize processing
@@ -160,7 +159,7 @@ Sound {
160
159
  }
161
160
  ```
162
161
 
163
- A [Sound](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#Sound) node describes a sound emitter:
162
+ A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
164
163
 
165
164
  - *minFront, minBack* - inner ellipsoid
166
165
  - *maxFront, maxBack* - outer ellipsoid
@@ -175,12 +174,12 @@ A [Sound](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/com
175
174
 
176
175
  ## Creating triggered sounds
177
176
 
178
- [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip) node:
177
+ [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
179
178
 
180
179
  - *loop* **FALSE**
181
180
  - Set *startTime* from a sensor node
182
181
 
183
- [Sound](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#Sound) node:
182
+ [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node:
184
183
 
185
184
  - *spatialize* **TRUE**
186
185
  - *minFront* etc. with small values
@@ -240,21 +239,23 @@ Group {
240
239
  ROUTE C4.touchTime TO PitchC4.set_startTime
241
240
  ```
242
241
 
243
- [![LOD](https://create3000.github.io/media/tutorials/scenes/sound/screenshot.png)](https://create3000.github.io/media/tutorials/scenes/sound/example.html)
242
+ ### Example
244
243
 
245
- [View scene in this window.](https://create3000.github.io/media/tutorials/scenes/sound/example.html)
244
+ <x3d-canvas src="https://create3000.github.io/media/tutorials/scenes/sound/sound.x3dv">
245
+ <img src="https://create3000.github.io/media/tutorials/scenes/sound/screenshot.png" alt="Sound"/>
246
+ </x3d-canvas>
246
247
 
247
248
  [Download ZIP Archive](https://create3000.github.io/media/tutorials/scenes/sound/sound.zip)
248
249
 
249
250
  ## Creating continuous localized sounds
250
251
 
251
- [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip) node:
252
+ [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
252
253
 
253
254
  - *loop* **TRUE**
254
255
  - *startTime* 0.0 (default)
255
256
  - *stopTime* 0.0 (default)
256
257
 
257
- [Sound](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#Sound) node:
258
+ [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node:
258
259
 
259
260
  - *spatialize* **TRUE** (default)
260
261
  - *minFront* etc. with medium values
@@ -307,13 +308,13 @@ Transform {
307
308
 
308
309
  ## Creating continuous background sounds
309
310
 
310
- [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip) node:
311
+ [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
311
312
 
312
313
  - *loop* **TRUE**
313
314
  - *startTime* 0.0 (default)
314
315
  - *stopTime* 0.0 (default)
315
316
 
316
- [Sound](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#Sound) node:
317
+ [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node:
317
318
 
318
319
  - *spatialize* **FALSE** (default)
319
320
  - *minFront* etc. with large values
@@ -321,12 +322,12 @@ Transform {
321
322
 
322
323
  ## Summary
323
324
 
324
- An [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#AudioClip) node or a [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/texturing.html#MovieTexture) node describe a sound source:
325
+ An [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node or a [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node describe a sound source:
325
326
 
326
327
  - A URL gives the sound file
327
328
  - Looping, start time, and stop time control playback
328
329
 
329
- A [Sound](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/sound.html#Sound) node describes a sound emitter:
330
+ A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
330
331
 
331
332
  - A source node provides the sound
332
333
  - Range fields describe the sound volume
@@ -1,11 +1,10 @@
1
1
  ---
2
- # Feel free to add content and custom Front Matter to this file.
3
- # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
-
5
- layout: single
2
+ title: Animating Transforms
3
+ date: 2022-11-28
4
+ nav: tutorials-animation-sensors-and-geometry
5
+ categories: [Tutorials]
6
+ tags: [animating, transforms]
6
7
  ---
7
- # Animating Transforms
8
-
9
8
  ## Motivation
10
9
 
11
10
  An animation changes something over time:
@@ -21,14 +20,14 @@ Animation requires control over time:
21
20
 
22
21
  ## Controlling time
23
22
 
24
- - A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor) node is similar to a stop watch
23
+ - A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node is similar to a stop watch
25
24
  - You control the start and stop time
26
25
  - The sensor generates time events while it is running
27
26
  - To animate, route time events into other nodes
28
27
 
29
28
  ## Using absolute time
30
29
 
31
- - A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor) node generates absolute and fractional time events
30
+ - A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node generates absolute and fractional time events
32
31
  - Absolute time events give the wall-clock time
33
32
  - Absolute time is measured in seconds since 12:00am January 1, 1970!
34
33
  - Useful for triggering events at specific dates and times
@@ -43,7 +42,7 @@ Animation requires control over time:
43
42
 
44
43
  ## Syntax: TimeSensor
45
44
 
46
- - A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor) node generates events based upon time
45
+ - A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node generates events based upon time
47
46
  - *startTime* and *stopTime* - when to run
48
47
  - *cycleInterval* - how long a cycle is
49
48
  - *loop* - whether or not to repeat cycles
@@ -74,19 +73,19 @@ TimeSensor {
74
73
  To create a continuously running timer:
75
74
 
76
75
  - *loop* **TRUE**
77
- - *stopTime* &lt;= *startTime*
76
+ - *stopTime* \<= *startTime*
78
77
 
79
- When stop time &lt;= start time, stop time is ignored
78
+ When stop time \<= start time, stop time is ignored
80
79
 
81
80
  To run until the stop time:
82
81
 
83
82
  - *loop* **TRUE**
84
- - *stopTime* &gt; *startTime*
83
+ - *stopTime* \> *startTime*
85
84
 
86
85
  To run one cycle then stop:
87
86
 
88
87
  - *loop* **FALSE**
89
- - *stopTime* &lt;= *startTime*
88
+ - *stopTime* \<= *startTime*
90
89
 
91
90
  The *set\_startTime* input event:
92
91
 
@@ -163,9 +162,9 @@ To animate the position of a shape you provide:
163
162
  - A list of key positions for a movement path
164
163
  - A time at which to be at each position
165
164
 
166
- An interpolator node converts an input time to an output position
165
+ An interpolatorsolator node converts an input time to an output position
167
166
 
168
- - When a time is in between two key positions, the interpolator computes an intermediate position
167
+ - When a time is in between two key positions, the interpolatorsolator computes an intermediate position
169
168
 
170
169
  ## Interpolating positions
171
170
 
@@ -187,7 +186,7 @@ Interpolation fills in values between your key values:
187
186
 
188
187
  ## Syntax: PositionInterpolator
189
188
 
190
- A [PositionInterpolator](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#PositionInterpolator) node describes a position path
189
+ A [PositionInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#PositionInterpolator){:target="_blank"} node describes a position path
191
190
 
192
191
  - *key* - key fractional times
193
192
  - *keyValue* - key positions
@@ -209,9 +208,9 @@ PositionInterpolator {
209
208
  }
210
209
  ```
211
210
 
212
- Typically route into a [Transform](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#Transform) node's *set\_translation* input
211
+ Typically route into a [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"} node's *set\_translation* input
213
212
 
214
- ## Using position interpolator inputs and outputs
213
+ ## Using position interpolatorsolator inputs and outputs
215
214
 
216
215
  The *set\_fraction* input:
217
216
 
@@ -221,7 +220,7 @@ The *value\_changed* output:
221
220
 
222
221
  - Outputs the position along the path each time the fraction is set
223
222
 
224
- ## A sample using position interpolators
223
+ ## A sample using position interpolatorsolators
225
224
 
226
225
  ### XML Encoding
227
226
 
@@ -269,7 +268,7 @@ ROUTE Timer1.fraction_changed TO Position1.set_fraction
269
268
  ROUTE Position1.value_changed TO Particle1.set_translation
270
269
  ```
271
270
 
272
- ## Using other types of interpolators
271
+ ## Using other types of interpolatorsolators
273
272
 
274
273
  | | |
275
274
  |----------------------|-----------------------------|
@@ -279,14 +278,14 @@ ROUTE Position1.value_changed TO Particle1.set_translation
279
278
  | Animate color | [ColorInterpolator][] |
280
279
  | Animate transparency | [ScalarInterpolator][] |
281
280
 
282
- [PositionInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#PositionInterpolator
283
- [OrientationInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#OrientationInterpolator
284
- [ColorInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#ColorInterpolator
285
- [ScalarInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#ScalarInterpolator
281
+ [PositionInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#PositionInterpolator
282
+ [OrientationInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#OrientationInterpolator
283
+ [ColorInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ColorInterpolator
284
+ [ScalarInterpolator]: https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ScalarInterpolator
286
285
 
287
286
  ## Syntax: OrientationInterpolator
288
287
 
289
- A [OrientationInterpolator](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#OrientationInterpolator) node describes an orientation path
288
+ A [OrientationInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#OrientationInterpolator){:target="_blank"} node describes an orientation path
290
289
 
291
290
  - *key* - key fractional times
292
291
  - *keyValue* - key rotations (axis and angle)
@@ -308,11 +307,11 @@ OrientationInterpolator {
308
307
  }
309
308
  ```
310
309
 
311
- Typically route into a [Transform](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#Transform) node's *set\_rotation* input
310
+ Typically route into a [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"} node's *set\_rotation* input
312
311
 
313
312
  ## Syntax: ColorInterpolator
314
313
 
315
- [ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#ColorInterpolator) node describes a color path
314
+ [ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ColorInterpolator){:target="_blank"} node describes a color path
316
315
 
317
316
  - *key* - key fractional times
318
317
  - *keyValue* - key colors (red, green, blue)
@@ -334,11 +333,11 @@ ColorInterpolator {
334
333
  }
335
334
  ```
336
335
 
337
- Typically route into a [Material](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/shape.html#Material) node's *set\_diffuseColor* or *set\_emissiveColor* inputs
336
+ Typically route into a [Material](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Material){:target="_blank"} node's *set\_diffuseColor* or *set\_emissiveColor* inputs
338
337
 
339
338
  ## Syntax: ScalarInterpolator
340
339
 
341
- [ScalarInterpolator](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#ScalarInterpolator) node describes a scalar path
340
+ [ScalarInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ScalarInterpolator){:target="_blank"} node describes a scalar path
342
341
 
343
342
  - *key* - key fractional times
344
343
  - *keyValue* - key scalars (used for anything)
@@ -360,11 +359,11 @@ ScalarInterpolator {
360
359
  }
361
360
  ```
362
361
 
363
- Often route into a [Material](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/shape.html#Material) node's *set\_transparency* input
362
+ Often route into a [Material](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Material){:target="_blank"} node's *set\_transparency* input
364
363
 
365
364
  ## Summary
366
365
 
367
- The [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/time.html#TimeSensor) node's fields control:
366
+ The [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node's fields control:
368
367
 
369
368
  - Timer start and stop times
370
369
  - The cycle interval
@@ -378,14 +377,14 @@ The sensor outputs:
378
377
 
379
378
  Interpolators use key times and values and compute intermediate values
380
379
 
381
- All interpolators have:
380
+ All interpolatorsolators have:
382
381
 
383
382
  - a *set\_fraction* input to set the fractional time
384
383
  - a *value\_changed* output to send new values
385
384
 
386
- Some interpolators are:
385
+ Some interpolatorsolators are:
387
386
 
388
- - The [PositionInterpolator](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#PositionInterpolator) node converts times to positions (or scales)
389
- - The [OrientationInterpolator](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#OrientationInterpolator) node converts times to rotations
390
- - The [ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#ColorInterpolator) node converts times to colors
391
- - The [ScalarInterpolator](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/interp.html#ScalarInterpolator) node converts times to scalars (such as transparencies)
387
+ - The [PositionInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#PositionInterpolator){:target="_blank"} node converts times to positions (or scales)
388
+ - The [OrientationInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#OrientationInterpolator){:target="_blank"} node converts times to rotations
389
+ - The [ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ColorInterpolator){:target="_blank"} node converts times to colors
390
+ - The [ScalarInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ScalarInterpolator){:target="_blank"} node converts times to scalars (such as transparencies)
@@ -1,11 +1,10 @@
1
1
  ---
2
- # Feel free to add content and custom Front Matter to this file.
3
- # To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
4
-
5
- layout: single
2
+ title: Basic Nodes
3
+ date: 2022-11-28
4
+ nav: tutorials-basic
5
+ categories: [Tutorials]
6
+ tags: [basic, nodes]
6
7
  ---
7
- # Basic Nodes
8
-
9
8
  ## Overview
10
9
 
11
10
  X3D is capable of representing static and animated objects and it can have hyperlinks to other media such as sound, movies, and image. X\_ITE is a browsers for X3D and available for many different platforms as well as Titania is an authoring tools for the creation X3D files. For programmers there is an JavaScript API interface to access X3D nodes and commonly used 3D application programmer interface features.
@@ -29,17 +28,7 @@ Here is a typical X3D Classic Encoded file with a single node:
29
28
 
30
29
  ```xml
31
30
  <?xml version="1.0" encoding="UTF-8"?>
32
-
33
- <X3D profile='Full' version='3.3' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.3.xsd'>
34
- <head>
35
- <meta name='comment' content='World of Titania'/>
36
- <meta name='created' content='Fri, 29 Jun 2018 13:31:47 GMT'/>
37
- <meta name='creator' content='Holger Seelig'/>
38
- <meta name='generator' content='Titania V4.3.0, http://titania.create3000.de'/>
39
- <meta name='identifier' content='file:///home/holger/scene.x3dv'/>
40
- <meta name='modified' content='Fri, 29 Jun 2018 13:31:47 GMT'/>
41
- <meta name='titania-output-style' content='Nicest'/>
42
- </head>
31
+ <X3D profile='Full' version='4.0' xmlns:xsd='https://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-4.0.xsd'>
43
32
  <Scene>
44
33
  <PlaneSensor DEF='Sensor'
45
34
  offset='0 2 0'/>
@@ -57,7 +46,7 @@ Here is a typical X3D Classic Encoded file with a single node:
57
46
  ### Classic Encoding
58
47
 
59
48
  ```js
60
- #X3D V3.3 utf8
49
+ #X3D V4.0 utf8
61
50
 
62
51
  # A sample file with a simple scene
63
52
 
@@ -83,14 +72,14 @@ Be careful! X3D is a case sensitive language.
83
72
 
84
73
  ## Key Concept
85
74
 
86
- Now we can start to add information to the file. The first node to deal with is the [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#WorldInfo) node. This node contains general information about the world, such as a *title* for the world. [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#WorldInfo) can also contain an *info* field, which contain other information about the file such as copyright information. You can put what you like in it. A sample [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#WorldInfo) node is shown below:
75
+ Now we can start to add information to the file. The first node to deal with is the [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/core.html#WorldInfo){:target="_blank"} node. This node contains general information about the world, such as a *title* for the world. [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/core.html#WorldInfo){:target="_blank"} can also contain an *info* field, which contain other information about the file such as copyright information. You can put what you like in it. A sample [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/core.html#WorldInfo){:target="_blank"} node is shown below:
87
76
 
88
77
  ### XML Encoding
89
78
 
90
79
  ```xml
91
80
  <WorldInfo
92
81
  title='Tutorial'
93
- info='"Basic Nodes", "create3000.de"'/>
82
+ info='"Basic Nodes", "https://create3000.github.io/x_ite/"'/>
94
83
  ```
95
84
 
96
85
  ### Classic Encoding
@@ -100,7 +89,7 @@ WorldInfo {
100
89
  title "Tutorial"
101
90
  info [
102
91
  "Basic Nodes"
103
- "create3000.de"
92
+ "https://create3000.github.io/x_ite/"
104
93
  ]
105
94
  }
106
95
  ```
@@ -109,7 +98,7 @@ You can have multiple strings in the *info* field, by putting them all inside sq
109
98
 
110
99
  ## Shape
111
100
 
112
- A [Shape](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/shape.html#Shape) node is the node to specify material and geometry properties. We add a Shape node to the world now, as shown below.
101
+ A [Shape](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Shape){:target="_blank"} node is the node to specify material and geometry properties. We add a Shape node to the world now, as shown below.
113
102
 
114
103
  ### XML Encoding
115
104
 
@@ -137,20 +126,20 @@ Shape {
137
126
 
138
127
  There are a lot geometry nodes defined in X3D. The basic geometry nodes are:
139
128
 
140
- - [Box](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#Box)
141
- - [Cone](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#Cone)
142
- - [Cylinder](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#Cylinder)
143
- - [ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#ElevationGrid)
144
- - [Extrusion](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#Extrusion)
145
- - [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#IndexedFaceSet)
146
- - [Sphere](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#Sphere)
147
- - [Text](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/text.html#Text)
129
+ - [Box](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Box){:target="_blank"}
130
+ - [Cone](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Cone){:target="_blank"}
131
+ - [Cylinder](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Cylinder){:target="_blank"}
132
+ - [ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#ElevationGrid){:target="_blank"}
133
+ - [Extrusion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"}
134
+ - [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"}
135
+ - [Sphere](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Sphere){:target="_blank"}
136
+ - [Text](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/text.html#Text){:target="_blank"}
148
137
 
149
- The most important to define various geometries is probably the [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/geometry3D.html#IndexedFaceSet) node.
138
+ The most important to define various geometries is probably the [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"} node.
150
139
 
151
140
  ## Transform
152
141
 
153
- In order to make our world any use at all, we need to be able to transform objects. X3D has three types of transformations we can apply to objects. These are *translation, rotation, and scale.* These are used in a [Transform](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#Transform) node. A Transform node doesn't have to have all three in it. You can just have a *rotation,* for instance. The transformations within a Transform apply to the children of the node. This is called nesting, where a node can have any number of child nodes. The syntax for this is shown in the example below, along with the syntax for a Transform node.
142
+ In order to make our world any use at all, we need to be able to transform objects. X3D has three types of transformations we can apply to objects. These are *translation, rotation, and scale.* These are used in a [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"} node. A Transform node doesn't have to have all three in it. You can just have a *rotation,* for instance. The transformations within a Transform apply to the children of the node. This is called nesting, where a node can have any number of child nodes. The syntax for this is shown in the example below, along with the syntax for a Transform node.
154
143
 
155
144
  ### XML Encoding
156
145
 
@@ -180,7 +169,7 @@ A Transform node can have another Transform nested inside it as a child, which a
180
169
 
181
170
  ## Anchor
182
171
 
183
- In X3D, you navigate between pages the same way as in HTML. You have an object that, when the user clicks on it, links to another page. Exactly what you're all used to. In X3D, this is done with the [Anchor](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/networking.html#Anchor) node.
172
+ In X3D, you navigate between pages the same way as in HTML. You have an object that, when the user clicks on it, links to another page. Exactly what you're all used to. In X3D, this is done with the [Anchor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/networking.html#Anchor){:target="_blank"} node.
184
173
 
185
174
  ### XML Encoding
186
175
 
@@ -222,7 +211,7 @@ parameter [ "target=_blank" ]
222
211
 
223
212
  ## Background
224
213
 
225
- There are two ways we can change the background of our scene. One is to specify colors for the [Background](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/enveffects.html#Background), and the other is to provide images to be mapped onto the background. Both of these are implemented with the Background node. First of all, I'll describe how to add color to the background of your scene.
214
+ There are two ways we can change the background of our scene. One is to specify colors for the [Background](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/environmentalEffects.html#Background){:target="_blank"}, and the other is to provide images to be mapped onto the background. Both of these are implemented with the Background node. First of all, I'll describe how to add color to the background of your scene.
226
215
 
227
216
  ### XML Encoding
228
217
 
@@ -243,7 +232,7 @@ This will display a gray background. You can also make the background transparen
243
232
 
244
233
  ## Viewpoint
245
234
 
246
- To give the world camera another position or orientation there is a [Viewpoint](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/navigation.html#Viewpoint) node. The viewpoint node can be placed anywhere within the scene graph.
235
+ To give the world camera another position or orientation there is a [Viewpoint](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Viewpoint){:target="_blank"} node. The viewpoint node can be placed anywhere within the scene graph.
247
236
 
248
237
  ### XML Encoding
249
238
 
@@ -262,9 +251,9 @@ DEF LookAtHouse Viewpoint {
262
251
  }
263
252
  ```
264
253
 
265
- Beside the Viewpoint node there is also an [OrthoViewpoint](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/navigation.html#OrthoViewpoint) node to define an orthographic camera.
254
+ Beside the Viewpoint node there is also an [OrthoViewpoint](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#OrthoViewpoint){:target="_blank"} node to define an orthographic camera.
266
255
 
267
- If you define more than once viewpoint in a X3D file, the first viewpoint defined will be bound if the world is loaded. To bind one of the other viewpoints send a *set\_bind* event with the value TRUE to the viewpoint. You must use a [Script](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/scripting.html#Script) node for that or use a Anchor node with the name of the viewpoint in the *url* field preceded by '#'.
256
+ If you define more than once viewpoint in a X3D file, the first viewpoint defined will be bound if the world is loaded. To bind one of the other viewpoints send a *set\_bind* event with the value TRUE to the viewpoint. You must use a [Script](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/scripting.html#Script){:target="_blank"} node for that or use a Anchor node with the name of the viewpoint in the *url* field preceded by '#'.
268
257
 
269
258
  ### XML Encoding
270
259
 
@@ -285,7 +274,7 @@ Anchor {
285
274
 
286
275
  The first thing to mention is the way that the X3D lighting model works. All lights have the following fields: *color, ambientIntensity,* and *intensity.* Each light has an intensity, which a value between 0 and 1 corresponding to its brightness. It also has an ambient intensity, also between 0 and 1, which is how much light it contributes to the general ambient light in the scene. Because of this, the more lights in the scene, the brighter the ambient illumination, which makes sense. Ambient light is light that shines on every surface in the scene, simulating light scattered from other objects. Each light also has a *color* field associated with it, which is the color of the light it emits. The direct light emitted by a light source is calculated by *intensity × color.* The ambient light contributed to the scene is *ambientIntensity × color.* Each light source also has an area of effect, so as to keep X3D worlds enclosed and scalable. The method of doing this varies between the different types.
287
276
 
288
- When using Gouraud shading browsers calculate lighting by working it out for each corner of a face, and interpolating the shading between these vertices. By default, X3D worlds will have the user's headlight ON. Remember to turn it off if you feel it necessary. Use a [NavigationInfo](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/navigation.html#NavigationInfo) node to do that.
277
+ When using Gouraud shading browsers calculate lighting by working it out for each corner of a face, and interpolating the shading between these vertices. By default, X3D worlds will have the user's headlight ON. Remember to turn it off if you feel it necessary. Use a [NavigationInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#NavigationInfo){:target="_blank"} node to do that.
289
278
 
290
279
  ### XML Encoding
291
280
 
@@ -304,20 +293,20 @@ NavigationInfo {
304
293
 
305
294
  There are three different light nodes that can be used within a scene.
306
295
 
307
- - [DirectionalLight](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/lighting.html#DirectionalLight)
308
- - [PointLight](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/lighting.html#PointLight)
309
- - [SpotLight](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/lighting.html#SpotLight)
296
+ - [DirectionalLight](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/lighting.html#DirectionalLight){:target="_blank"}
297
+ - [PointLight](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/lighting.html#PointLight){:target="_blank"}
298
+ - [SpotLight](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/lighting.html#SpotLight){:target="_blank"}
310
299
 
311
- You can place any light node within a grouping node (e.g. [Group](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#Group), [Transform](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#Transform), [Switch](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#Switch)) and set the global field to **FALSE** to define a local light.
300
+ You can place any light node within a grouping node (e.g. [Group](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Group){:target="_blank"}, [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"}, [Switch](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Switch){:target="_blank"}) and set the global field to **FALSE** to define a local light.
312
301
 
313
302
  ## Grouping Nodes
314
303
 
315
304
  The following nodes are the most important grouping nodes (there are much more in X3D) which means that they can contain other nodes in their children field.
316
305
 
317
- - [Anchor](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/networking.html#Anchor)
318
- - [Billboard](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/navigation.html#Billboard)
319
- - [Collision](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/navigation.html#Collision)
320
- - [Group](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#Group)
321
- - [LOD](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/navigation.html#LOD)
322
- - [Switch](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#Switch)
323
- - [Transform](https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#Transform)
306
+ - [Anchor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/networking.html#Anchor){:target="_blank"}
307
+ - [Billboard](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Billboard){:target="_blank"}
308
+ - [Collision](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Collision){:target="_blank"}
309
+ - [Group](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Group){:target="_blank"}
310
+ - [LOD](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#LOD){:target="_blank"}
311
+ - [Switch](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Switch){:target="_blank"}
312
+ - [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"}