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,1110 +0,0 @@
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
6
- ---
7
- # Field Services and Objects
8
-
9
- * [X3DFieldDefinition](#x3dfielddefinition)
10
- * [FieldDefinitionArray](#fielddefinitionarray)
11
- * [Field Hierarchy](#field-hierarchy)
12
- * [X3DField](#x3dfield)
13
- * [SFColor](#sfcolor-object)
14
- * [SFColorRGBA](#sfcolorrgba-object)
15
- * [SFImage](#sfimage-object)
16
- * [SFMatrix3d/f](#sfmatrix3dsfmatrix3f-object)
17
- * [SFMatrix4d/f](#sfmatrix4dsfmatrix4f-object)
18
- * [SFNode](#sfnode-object)
19
- * [SFRotation](#sfrotation-object)
20
- * [SFVec2d/f](#sfvec2dsfvec2f-object)
21
- * [SFVec3d/f](#sfvec3dsfvec3f-object)
22
- * [SFVec4d/f](#sfvec4dsfvec4f-object)
23
- * [X3DArrayField](#x3darrayfield)
24
- * [MFBool](#mfbool-object)
25
- * [MFColor/MFColorRGBA](#mfcolormfcolorrgba-object)
26
- * [MFDouble/MFFloat](#mfdoublemffloat-object)
27
- * [MFImage](#mfimage-object)
28
- * [MFInt32](#mfint32-object)
29
- * [MFMatrix3d/f](#mfmatrix3dmfmatrix3f-object)
30
- * [MFMatrix3d/f](#mfmatrix4dmfmatrix4f-object)
31
- * [MFNode](#mfnode-object)
32
- * [MFRotation](#mfrotation-object)
33
- * [MFString](#mfstring-object)
34
- * [MFTime](#mftime-object)
35
- * [MFVec2d/f](#mfvec2dmfvec2f-object)
36
- * [MFVec3d/f](#mfvec3dmfvec3f-object)
37
- * [MFVec4d/f](#mfvec4dmfvec4f-object)
38
-
39
- ## X3DFieldDefinition
40
-
41
- The X3DFieldDefinition object represents all of the descriptive properties of a single field of a node.
42
-
43
- ### Instance Creation Method\(s\)
44
-
45
- None.
46
-
47
- ### Properties
48
-
49
- #### **name**
50
-
51
- A string of the field name (e.g., "children"). This property is read only.
52
-
53
- #### **accessType**
54
-
55
- Value from the X3DConstants object describing the accessType (e.g., "inputOnly"). This property is read only.
56
-
57
- #### **dataType**
58
-
59
- Value from X3DConstants cobject describing the field's data type (e.g., "SFBool"). This property is read only.
60
-
61
- ### Methods
62
-
63
- None.
64
-
65
- ## FieldDefinitionArray
66
-
67
- FieldDefinitionArray is an object that represents an array of X3DFieldDefinition objects. This is a read-only object. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *fieldDefinitionArrayName*\[*index*\], where *index* is an integer-valued expression with 0<=*index*<length and length is the number of elements in the array).
68
-
69
- ### Instance Creation Method\(s\)
70
-
71
- None. This object cannot be instantiated by the user.
72
-
73
- ### Properties
74
-
75
- #### **length**
76
-
77
- An integer containing the number of elements in the array. This property is read only.
78
-
79
- ### Methods
80
-
81
- None
82
-
83
- ## Field Hierarchy
84
-
85
- ```
86
- + X3DField
87
- + SFColor
88
- + SFColorRGBA
89
- + SFImage
90
- + SFMatrix3d
91
- + SFMatrix3f
92
- + SFMatrix4d
93
- + SFMatrix4f
94
- + SFNode
95
- + SFRotation
96
- + SFVec2d
97
- + SFVec2f
98
- + SFVec3d
99
- + SFVec3f
100
- + SFVec4d
101
- + SFVec4f
102
- |
103
- + X3DArrayField
104
- + MFBool
105
- + MFColor
106
- + MFColorRGBA
107
- + MFDouble
108
- + MFFloat
109
- + MFImage
110
- + MFInt32
111
- + MFMatrix3d
112
- + MFMatrix3f
113
- + MFMatrix4d
114
- + MFMatrix4f
115
- + MFNode
116
- + MFRotation
117
- + MFString
118
- + MFVec2d
119
- + MFVec2f
120
- + MFVec3d
121
- + MFVec3f
122
- + MFVec4d
123
- + MFVec4f
124
- ```
125
-
126
- ## X3DField
127
-
128
- The X3DField object is the base object of all SF\* field and X3DArrayField.
129
-
130
- ### Instance Creation Method\(s\)
131
-
132
- None
133
-
134
- ### Properties
135
-
136
- None
137
-
138
- ### Methods
139
-
140
- #### Boolean **equals** (*field*)
141
-
142
- Returns true if the passed SF\* or MF\* *field* of the same type is equals to this object, otherwise false.
143
-
144
- ## SFColor Object
145
-
146
- The SFColor object corresponds to a X3D SFColor field. All properties are accessed using the syntax *sfColorObjectName.<property>*, where *sfColorObjectName* is an instance of a SFColor object. All methods are invoked using the syntax *sfColorObjectName.method (<argument-list>)*, where *sfColorObjectName* is an instance of a SFColor object.
147
-
148
- ### Instance Creation Method\(s\)
149
-
150
- #### *sfColorObjectName =* **new SFColor** (*r, g, b)*
151
-
152
- *r, g,* and *b* are scalar values with the red, green, and blue values of the color in the range 0–1.
153
-
154
- ### Properties
155
-
156
- #### **r**
157
-
158
- Red component of the color.
159
-
160
- #### **g**
161
-
162
- Green component of the color.
163
-
164
- #### **b**
165
-
166
- Blue component of the color.
167
-
168
- ### Methods
169
-
170
- #### void **setHSV** (*h, s, v*)
171
-
172
- Sets a HSV color value; *h* is the hue, *s* is the saturation, *v* is the value and a is the alpha component of the HSV color.
173
-
174
- The saturation, and value component must be in the range 0–1, and the hue component must be in the range 0–2π.
175
-
176
- #### Array **getHSV** ()
177
-
178
- Return an array with the components of the color's HSV value.
179
-
180
- #### SFColor **lerp** (*destination, t*)
181
-
182
- Linearely interpolate in HSV space between source color and destination color by an amount of t.
183
-
184
- ## SFColorRGBA Object
185
-
186
- The SFColorRGBA object corresponds to a X3D SFColorRGBA field. All properties are accessed using the syntax *sfColorRGBAObjectName.<property>*, where *sfColorRGBAObjectName* is an instance of a SFColorRGBA object. All methods are invoked using the syntax *sfColorRGBAObjectName.method (<argument-list>)*, where *sfColorRGBAObjectName* is an instance of a SFColorRGBA object.
187
-
188
- ### Instance Creation Method\(s\)
189
-
190
- #### *sfColorRGBAObjectName =* **new SFColor** (*r, g, b, a)*
191
-
192
- *r, g,* *b* and *a* are scalar values with the red, green and blue values of the color in the range 0–1.
193
-
194
- ### Properties
195
-
196
- #### **r**
197
-
198
- Red component of the color.
199
-
200
- #### **g**
201
-
202
- Green component of the color.
203
-
204
- #### **b**
205
-
206
- Blue component of the color.
207
-
208
- #### **a**
209
-
210
- Alpha component of the color.
211
-
212
- ### Methods
213
-
214
- #### void **setHSVA** (*h, s, v, a*)
215
-
216
- Sets a HSV color value; *h* is the hue, *s* is the saturation, *v* is the value and a is the alpha component of the HSV color.
217
-
218
- The saturation, and value component must be in the range 0–1, and the hue component must be in the range 0–2π.
219
-
220
- #### Array **getHSVA** ()
221
-
222
- Return an array with the components of the color's HSVA value.
223
-
224
- #### SFColorRGBA **lerp** (*destination, t*)
225
-
226
- Linearely interpolate in HSVA space between source color and destination color by an amount of t.
227
-
228
- ## SFImage Object
229
-
230
- The SFImage object corresponds to a X3D SFImage field.
231
-
232
- ### Instance Creation Method\(s\)
233
-
234
- #### *sfImageObjectName =* **new SFRotation** (*width, height, components\[, MFInt32 array\])*
235
-
236
- *width* is the width in pixels of the image.
237
- *height* is the height in pixels of the image.
238
- *components* are the number of components of the image (0-4).
239
- *array* is a MFInt32 array with pixel data.
240
-
241
- ### Properties
242
-
243
- #### **width**
244
-
245
- Width of the image in pixels.
246
-
247
- #### **height**
248
-
249
- Height of the image in pixels.
250
-
251
- #### **comp**
252
-
253
- Number of components.
254
-
255
- #### **array**
256
-
257
- A MFInt32 array corresponding to the pixels of the image.
258
-
259
- ### Methods
260
-
261
- None
262
-
263
- ## SFMatrix3d/SFMatrix3f Object
264
-
265
- The SFMatrix3f object provides many useful methods for performing manipulations on 3×3 matrices. Each of element of the matrix can be accessed using C-style array dereferencing (i.e., *sflMatrix3fObjectName\[0\], ..., sflMatrixObjectName\[8\]*).
266
-
267
- ### Instance Creation Method\(s\)
268
-
269
- #### *x3dMatrix3fObjectName =* **new X3DMatrix3f** (*f11, f12, f13, f21, f22, f23, f31, f32, f33)*
270
-
271
- A new matrix initialized with the values in *f11* through *f44* is created and returned.
272
-
273
- #### *x3dMatrix3fObjectName =* **new SFMatrix3f** (*)*
274
-
275
- A new matrix initialized with the identity matrix is created and returned.
276
-
277
- ### Properties
278
-
279
- None
280
-
281
- ### Methods
282
-
283
- #### void **setTransform** (*translation*, *rotation*, *scaleFactor*, *scaleOrientation*, *center*)
284
-
285
- Sets the SFMatrix3f to the passed values. *translation* is an SFVec2f object, *rotation* is a Number, *scaleFactor* is a SFVec2f object, *scaleOrientation* is a Number and *center* is a SFVec2f object. Any of the rightmost parameters can be omitted. In other words, the method can take from 0 to 5 parameters. For example, you can specify 0 parameters (resulting in a identity matrix), 1 parameter (a translation), 2 parameters (a translation and a rotation), 3 parameters (a translation, rotation and a scaleFactor), etc. Any unspecified parameter is set to its default as specified in the **Transform** node section of the X3D specification.
286
-
287
- #### void **getTransform** (*translation*, *rotation*, *scaleFactor*)
288
-
289
- Decomposes the SFMatrix3f and returns the components in the passed *translation*, *rotation*, and *scaleFactor* objects*. rotation* is a SFVec3f where x and y are the complex value of the rotation and z is the rotation angle in radians. The other types of the parameters are the same as in **setTransform**. Any projection or shear information in the matrix is ignored.
290
-
291
- #### SFMatrix3f **inverse** ()
292
-
293
- Returns a SFMatrix whose value is the inverse of this object.
294
-
295
- #### SFMatrix3f **transpose** ()
296
-
297
- Returns a SFMatrix3f whose value is the transpose of this object.
298
-
299
- #### SFMatrix3f **multLeft** *(matrix)*
300
-
301
- Returns a SFMatrix3f whose value is the object multiplied by the passed *matrix* on the left.
302
-
303
- #### SFMatrix3f **multRight** (*matrix*)
304
-
305
- Returns a SFMatrix3f whose value is the object multiplied by the passed *matrix* on the right.
306
-
307
- #### SFVec2f **multVecMatrix** (*vec*)
308
-
309
- Returns a SFVec2f whose value is the object multiplied by the passed row vector.
310
-
311
- #### SFVec2f **multMatrixVec** (*vec*)
312
-
313
- Returns a SFVec2f whose value is the object multiplied by the passed column vector.
314
-
315
- #### SFVec2f **multDirMatrix** (*vec*)
316
-
317
- Returns a SFVec2f whose value is the object's 2×2 submatrix multiplied by the passed row vector.
318
-
319
- #### SFVec2f **multMatrixDir** (*vec*)
320
-
321
- Returns a SFVec2f whose value is the object's 2×2 submatrix multiplied by the passed column vector.
322
-
323
- ## SFMatrix4d/SFMatrix4f Object
324
-
325
- The SFMatrix4f object provides many useful methods for performing manipulations on 4×4 matrices. Each of element of the matrix can be accessed using C-style array dereferencing (i.e., *sflMatrix4fObjectName\[0\], ..., sflMatrixObjectName\[15\]*).
326
-
327
- ### Instance Creation Method\(s\)
328
-
329
- #### *x3dMatrix4fObjectName =* **new X3DMatrix4f** (*f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, f41, f42, f43, f44)*
330
-
331
- A new matrix initialized with the values in *f11* through *f44* is created and returned.
332
-
333
- #### *x3dMatrix4fObjectName =* **new SFMatrix4f** (*)*
334
-
335
- A new matrix initialized with the identity matrix is created and returned.
336
-
337
- ### Properties
338
-
339
- None
340
-
341
- ### Methods
342
-
343
- #### void **setTransform** (*translation*, *rotation*, *scaleFactor*, *scaleOrientation*, *center*)
344
-
345
- Sets the SFMatrix4f to the passed values. *translation* is an SFVec3f object, *rotation* is a SFRotation object, *scaleFactor* is a SFVec3f object, *scaleOrientation* is a SFRotation object and *center* is a SFVec3f object. Any of the rightmost parameters can be omitted. In other words, the method can take from 0 to 5 parameters. For example, you can specify 0 parameters (resulting in a identity matrix), 1 parameter (a translation), 2 parameters (a translation and a rotation), 3 parameters (a translation, rotation and a scaleFactor), etc. Any unspecified parameter is set to its default as specified in the **Transform** node section of the X3D specification.
346
-
347
- #### void **getTransform** (*translation*, *rotation*, *scaleFactor*)
348
-
349
- Decomposes the SFMatrix4f and returns the components in the passed *translation*, *rotation*, and *scaleFactor* objects*.* The types of the parameters are the same as in **setTransform**. Any projection or shear information in the matrix is ignored.
350
-
351
- #### SFMatrix4f **inverse** ()
352
-
353
- Returns a SFMatrix whose value is the inverse of this object.
354
-
355
- #### SFMatrix4f **transpose** ()
356
-
357
- Returns a SFMatrix4f whose value is the transpose of this object.
358
-
359
- #### SFMatrix4f **multLeft** *(matrix)*
360
-
361
- Returns a SFMatrix4f whose value is the object multiplied by the passed *matrix* on the left.
362
-
363
- #### SFMatrix4f **multRight** (*matrix*)
364
-
365
- Returns a SFMatrix4f whose value is the object multiplied by the passed *matrix* on the right.
366
-
367
- #### SFVec3f **multVecMatrix** (*vec*)
368
-
369
- Returns a SFVec3f whose value is the object multiplied by the passed row vector.
370
-
371
- #### SFVec3f **multMatrixVec** (*vec*)
372
-
373
- Returns a SFVec3f whose value is the object multiplied by the passed column vector.
374
-
375
- #### SFVec3f **multDirMatrix** (*vec*)
376
-
377
- Returns a SFVec3f whose value is the object's 3×3 submatrix multiplied by the passed row vector.
378
-
379
- #### SFVec3f **multMatrixDir** (*vec*)
380
-
381
- Returns a SFVec3f whose value is the object's 3×3 submatrix multiplied by the passed column vector.
382
-
383
- ## SFNode Object
384
-
385
- The SFNode object corresponds to a X3D SFNode field.
386
-
387
- ### Instance Creation Method\(s\)
388
-
389
- #### *sfNodeObjectName =* **new SFNode** (*x3dsyntax*)
390
-
391
- *x3dsyntax* is a UTF-8 string containing the definition of a X3D node.
392
-
393
- ### Properties
394
-
395
- Each node may assign values to its inputOnly fields and obtain the last output values of its outputOnly fields using the *sfNodeObjectName.fieldName* syntax. The *directOutput* field of the corresponding Script node must then be set to TRUE.
396
-
397
- ### Methods
398
-
399
- #### String **getNodeName** ()
400
-
401
- Returns the node name.
402
-
403
- #### Array **getNodeType** ()
404
-
405
- Returns, in the array, a list of constant values that indicate node types as provided in the X3DConstants object.
406
-
407
- #### FieldDefinitionArray **getFieldDefinitions** ()
408
-
409
- Returns a list of fields defined for the SFNode object.
410
-
411
- #### void **addFieldCallback** (*name, key, callback*)
412
-
413
- Adds a field callback function, if external browser interface is used. *Name* is the name of the field. *Key* is a custom key of any type associated with the *callback*. The callback is called when the field has been changed.
414
-
415
- The callback has a signature of *function (value),* where value is the current value of the field.
416
-
417
- #### void **removeFieldCallback** (*name, key*)
418
-
419
- Removes a field callback function associated with the parameters *name* and *key*.
420
-
421
- #### String **toVRMLString** ()
422
-
423
- Returns the X3D VRML-encoded string that, if parsed as the value of an SFNode field, produce this node.
424
-
425
- #### String **toXMLString** ()
426
-
427
- Returns the X3D XML-encoded string that, if parsed as the value of an SFNode field, produce this node.
428
-
429
- ## SFRotation Object
430
-
431
- The SFRotation object corresponds to a X3D SFRotation field.
432
-
433
- ### Instance Creation Method\(s\)
434
-
435
- #### *sfRotationObjectName =* **new SFRotation** (*x, y, z, angle)*
436
-
437
- *x*, *y*, and *z* are the axis of the rotation.
438
- *angle* is the angle of the rotation (in radians). All values are scalar.
439
-
440
- #### *sfRotationObjectName* = **new SFRotation** (*axis, angle*)
441
-
442
- *axis* is a SFVec3f object whose value is the axis of rotation.
443
- *angle* is the scalar angle of the rotation (in radians).
444
-
445
- #### *sfRotationObjectName* = new SFRotation (*fromVector, toVector*)
446
-
447
- *fromVector* and *toVector* are SFVec3f valued objects. These vectors are normalized and the rotation value that would rotate from the
448
- *fromVector* to the *toVector* is stored in the object.
449
-
450
- ### Properties
451
-
452
- #### **x**
453
-
454
- Returns the first value of the axis vector.
455
-
456
- #### **y**
457
-
458
- Returns the second value of the axis vector.
459
-
460
- #### **z**
461
-
462
- Returns the third value of the axis vector
463
-
464
- #### **angle**
465
-
466
- A SFFloat corresponding to the angle of the rotation (in radians).
467
-
468
- ### Methods
469
-
470
- #### Number **getAxis** ()
471
-
472
- Returns the axis of rotation as an SFVec3f object.
473
-
474
- #### SFRotation **inverse** ()
475
-
476
- Returns a SFRotation object whose value is the inverse of this object's rotation
477
-
478
- #### SFRotation **multiply** *(rotation)*
479
-
480
- Returns an SFRotation whose value is the object multiplied by the passed SFRotation.
481
-
482
- #### SFVec3f **multVec** (*vec*)
483
-
484
- Returns a SFVec3f whose value is the SFVec3f *vec* multiplied by the matrix corresponding to this object's rotation.
485
-
486
- #### void **setAxis** (*vec*)
487
-
488
- Set the axis of rotation to the vector passed in *vec*.
489
-
490
- #### SFRotation **slerp** (*destRotation, t*)
491
-
492
- Returns a SFRotation whose value is the spherical linear interpolation between this object's rotation and *destRotation* at value 0 <= *t* <= 1. For *t* = 0, the value is this object's rotation. For *t* = 1, the value is *destRotation*.
493
-
494
- ## SFVec2d/SFVec2f Object
495
-
496
- The SFVec2f object corresponds to a X3D SFVec2f field. Each component of the vector can be accessed using the x and y properties or using C-style array dereferencing (i.e. *sfVec2fObjectName\[0\]* or *sfVec2fObjectName\[1\]).*
497
-
498
- ### Instance Creation Method\(s\)
499
-
500
- #### *sfVec2fObjectName =* **new SFVec2f** (*number1, number2)*
501
-
502
- Where *number1* and *number2* are scalar expressions.
503
-
504
- ### Properties
505
-
506
- #### **x**
507
-
508
- Returns the first value of the vector.
509
-
510
- #### **y**
511
-
512
- Returns the second value of the vector.
513
-
514
- ### Methods
515
-
516
- #### SFVec2f **abs** ()
517
-
518
- Returns an SFVec2f whose value is the absolute value of the object.
519
-
520
- #### SFVec2f **add** (*vec*)
521
-
522
- Returns an SFVec2f whose value is the passed SFVec2f added, componentwise, to the object.
523
-
524
- #### Number **distance** (*vec*)
525
-
526
- Returns the distance of this vector to SFVec2f *vec*.
527
-
528
- #### SFVec2f **divide** (*number*)
529
-
530
- Returns an SFVec2f whose value is the object divided by the passed numeric value.
531
-
532
- #### SFVec2f **divVec** (*vec*)
533
-
534
- Returns an SFVec2f whose value is the passed SFVec2f divided, componentwise, by the object.
535
-
536
- #### Number **dot** (*vec*)
537
-
538
- Returns the dot product of this vector and SFVec2f *vec*.
539
-
540
- #### SFVec2f **inverse** ()
541
-
542
- Returns an SFVec2f whose value is the componentwise inverse of the object.
543
-
544
- #### Number **length** ()
545
-
546
- Returns the geometric length of this vector.
547
-
548
- #### SFVec2f **lerp** (*destVector, t*)
549
-
550
- Returns a SFVec2f whose value is the linear interpolation between this object's vector and *destVector* at value 0 <= *t* <= 1. For *t* = 0, the value is this object's vector. For *t* = 1, the value is *destVector*.
551
-
552
- #### SFVec2f **min** (*vec*)
553
-
554
- Returns an SFVec2f whose value is the minimum of the passed SFVec2f and the object.
555
-
556
- #### SFVec2f **max** (*vec*)
557
-
558
- Returns an SFVec2f whose value is the maximum of the passed SFVec2f and the object.
559
-
560
- #### SFVec2f **multiply** (*number*)
561
-
562
- Returns an SFVec2f whose value is the object multiplied by the passed numeric value.
563
-
564
- #### SFVec2f **multVec** (*vec*)
565
-
566
- Returns an SFVec2f whose value is the passed SFVec2f multiplied, componentwise, with the object.
567
-
568
- #### SFVec2f **negate** ()
569
-
570
- Returns an SFVec2f whose value is the componentwise negation of the object.
571
-
572
- #### SFVec2f **normalize** ()
573
-
574
- Returns an SFVec2f of object converted to unit length.
575
-
576
- #### SFVec2f **subtract** (*vec*)
577
-
578
- Returns an SFVec2f whose value is the passed SFVec2f subtracted, componentwise, from the object.
579
-
580
- ## SFVec3d/SFVec3f Object
581
-
582
- The SFVec3f object corresponds to a X3D SFVec3f field. Each component of the vector can be accessed using the x, y, and z properties or using C-style array dereferencing (i.e. *sfVec3fObjectName\[0\], sfVec3fObjectName\[1\]* or *sfVec3fObjectName\[2\]).*
583
-
584
- ### Instance Creation Method\(s\)
585
-
586
- #### *sfVec3fObjectName =* **new SFVec3f** (*number1, number2, number3)*
587
-
588
- Where *number1,**number2,* and *number3* are scalar expressions.
589
-
590
- ### Properties
591
-
592
- #### **x**
593
-
594
- Returns the first value of the vector.
595
-
596
- #### **y**
597
-
598
- Returns the second value of the vector.
599
-
600
- #### **z**
601
-
602
- Returns the third value of the vector.
603
-
604
- ### Methods
605
-
606
- #### SFVec3f **abs** ()
607
-
608
- Returns an SFVec3f whose value is the absolute value of the object.
609
-
610
- #### SFVec3f **add** (*vec*)
611
-
612
- Returns an SFVec3f whose value is the passed SFVec3f added, componentwise, to the object.
613
-
614
- #### SFVec3f **cross** (*vec*)
615
-
616
- Returns the cross product of the object and the passed SFVec3f.
617
-
618
- #### Number **distance** (*vec*)
619
-
620
- Returns the distance of this vector to SFVec3f *vec*.
621
-
622
- #### SFVec3f **divide** (*number*)
623
-
624
- Returns an SFVec3f whose value is the object divided by the passed numeric value.
625
-
626
- #### SFVec3f **divVec** (*vec*)
627
-
628
- Returns an SFVec3f whose value is the passed SFVec3f divided, componentwise, by the object.
629
-
630
- #### Number **dot** (*vec*)
631
-
632
- Returns the dot product of this vector and SFVec3f *vec*.
633
-
634
- #### SFVec3f **inverse** ()
635
-
636
- Returns an SFVec3f whose value is the componentwise inverse of the object.
637
-
638
- #### Number **length** ()
639
-
640
- Returns the geometric length of this vector.
641
-
642
- #### SFVec3f **lerp** (*destVector, t*)
643
-
644
- Returns a SFVec3f whose value is the linear interpolation between this object's vector and *destVector* at value 0 <= *t* <= 1. For *t* = 0, the value is this object's vector. For *t* = 1, the value is *destVector*.
645
-
646
- #### SFVec3f **min** (*vec*)
647
-
648
- Returns an SFVec3f whose value is the minimum of the passed SFVec3f and the object.
649
-
650
- #### SFVec3f **max** (*vec*)
651
-
652
- Returns an SFVec3f whose value is the maximum of the passed SFVec3f and the object.
653
-
654
- #### SFVec3f **multiply** (*number*)
655
-
656
- Returns an SFVec3f whose value is the object multiplied by the passed numeric value.
657
-
658
- #### SFVec3f **multVec** (*vec*)
659
-
660
- Returns an SFVec3f whose value is the passed SFVec3f multiplied, componentwise, with the object.
661
-
662
- #### SFVec3f **negate** ()
663
-
664
- Returns an SFVec3f whose value is the componentwise negation of the object.
665
-
666
- #### SFVec3f **normalize** ()
667
-
668
- Returns an SFVec3f of object converted to unit length
669
-
670
- #### SFVec3f **subtract** (*vec*)
671
-
672
- Returns an SFVec3f whose value is the passed SFVec3f subtracted, componentwise, from the object.
673
-
674
- ## SFVec4d/SFVec4f Object
675
-
676
- The SFVec4f object corresponds to a X3D SFVec4f field. Each component of the vector can be accessed using the x, y, z and w properties or using C-style array dereferencing (i.e. *sfVec4fObjectName\[0\], sfVec4fObjectName\[1\], sfVec4fObjectName\[2\]* or *sfVec4fObjectName\[3\]).*
677
-
678
- ### Instance Creation Method\(s\)
679
-
680
- #### *sfVec4fObjectName =* **new SFVec4f** (*number1, number2, number3, number4)*
681
-
682
- Where *number1, number2, number3* and *number4* are scalar expressions.
683
-
684
- ### Properties
685
-
686
- #### **x**
687
-
688
- Returns the first value of the vector.
689
-
690
- #### **y**
691
-
692
- Returns the second value of the vector.
693
-
694
- #### **z**
695
-
696
- Returns the third value of the vector.
697
-
698
- #### **w**
699
-
700
- Returns the fourth value of the vector.
701
-
702
- ### Methods
703
-
704
- #### SFVec4f **abs** ()
705
-
706
- Returns an SFVec4f whose value is the absolute value of the object.
707
-
708
- #### SFVec4f **add** (*vec*)
709
-
710
- Returns an SFVec4f whose value is the passed SFVec4f added, componentwise, to the object.
711
-
712
- #### Number **distance** (*vec*)
713
-
714
- Returns the distance of this vector to SFVec4f *vec*.
715
-
716
- #### SFVec4f **divide** (*number*)
717
-
718
- Returns an SFVec4f whose value is the object divided by the passed numeric value.
719
-
720
- #### SFVec4f **divVec** (*vec*)
721
-
722
- Returns an SFVec4f whose value is the passed SFVec4f divided, componentwise, by the object.
723
-
724
- #### Number **dot** (*vec*)
725
-
726
- Returns the dot product of this vector and SFVec4f *vec*.
727
-
728
- #### SFVec4f **inverse** ()
729
-
730
- Returns an SFVec4f whose value is the componentwise inverse of the object.
731
-
732
- #### Number **length** ()
733
-
734
- Returns the geometric length of this vector.
735
-
736
- #### SFVec4f **lerp** (*destVector, t*)
737
-
738
- Returns a SFVec4f whose value is the linear interpolation between this object's vector and *destVector* at value 0 <= *t* <= 1. For *t* = 0, the value is this object's vector. For *t* = 1, the value is *destVector*.
739
-
740
- #### SFVec4f **min** (*vec*)
741
-
742
- Returns an SFVec4f whose value is the minimum of the passed SFVec4f and the object.
743
-
744
- #### SFVec4f **max** (*vec*)
745
-
746
- Returns an SFVec4f whose value is the maximum of the passed SFVec4f and the object.
747
-
748
- #### SFVec4f **multiply** (*number*)
749
-
750
- Returns an SFVec4f whose value is the object multiplied by the passed numeric value.
751
-
752
- #### SFVec4f **multVec** (*vec*)
753
-
754
- Returns an SFVec4f whose value is the passed SFVec4f multiplied, componentwise, with the object.
755
-
756
- #### SFVec4f **negate** ()
757
-
758
- Returns an SFVec4f whose value is the componentwise negation of the object.
759
-
760
- #### SFVec4f **normalize** ()
761
-
762
- Returns an SFVec4f of object converted to unit length.
763
-
764
- #### SFVec4f **subtract** (*vec*)
765
-
766
- Returns an SFVec4f whose value is the passed SFVec4f subtracted, componentwise, from the object.
767
-
768
- ## X3DArrayField
769
-
770
- The X3DArrayField object is the base object of all MF\* objects. It is used to store a one-dimensional array of the corresponding SF\* objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. X3D*ArrayFieldObjectName*\[*index*\], where *index* is an integer-valued expression with 0<=*index*<length and length is the number of elements in the array). Assigning to an element with *index* > length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to 0.0.
771
-
772
- ### Instance Creation Method(s
773
-
774
- None
775
-
776
- ### Properties
777
-
778
- #### **length**
779
-
780
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
781
-
782
- ### Methods
783
-
784
- #### Boolean **equals** (*array*)
785
-
786
- Returns true if the passed MF\*l *array* of the same type is equals to this object, otherwise false.
787
-
788
- #### SF\* **pop** ()
789
-
790
- The `pop` method removes the last element from an array and returns that value to the caller. The return value is the removed element from the array; `undefined` if the array is empty.
791
-
792
- #### Number **push** (*element1 \[, ..., elementN\]*)
793
-
794
- The `push` method appends values to an array. The return value is the new length of the object upon which the method was called.
795
-
796
- #### SF\* **shift** ()
797
-
798
- The `shift` method removes the first element from an array and returns that value to the caller. The return value is the removed element from the array; `undefined` if the array is empty.
799
-
800
- #### MF\* **splice** (*start \[, deleteCount, \[item1, item2, ...\]\]*)
801
-
802
- #### start
803
-
804
- Index at which to start changing the array (with origin 0). If greater than the length of the array, actual starting index will be set to the length of the array. If negative, will begin that many elements from the end of the array (with origin 1) and will be set to 0 if absolute value is greater than the length of the array.
805
-
806
- #### deleteCount <small class="small">optional</small>
807
-
808
- An integer indicating the number of old array elements to remove. If *deleteCount* is 0, no elements are removed. In this case, you should specify at least one new element. If *deleteCount* is greater than the number of elements left in the array starting at start, then all of the elements through the end of the array will be deleted.
809
-
810
- If *deleteCount* is omitted, or if its value is larger than array.length - start, then all of the elements beginning with start index on through the end of the array will be deleted.
811
-
812
- #### item1, item2, ... <small class="small">optional</small>
813
-
814
- The elements to add to the array, beginning at the start index. If you don't specify any elements, `splice ()` will only remove elements from the array.
815
-
816
- #### Return value
817
-
818
- An MF\* array containing the deleted elements. If only one element is removed, an array of one element is returned. If no elements are removed, an empty array is returned.
819
-
820
- #### Number **unshift** (*element1 \[, ..., elementN\]*)
821
-
822
- The `unshift` method inserts the given values to the beginning of an X3DArrayField object. The return value is the new length of the object upon which the method was called.
823
-
824
- ## MFBool Object
825
-
826
- The MFBool object corresponds to a X3D MFBool field. It is used to store a one-dimensional array of SFBool objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfBoolObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to 0.0.
827
-
828
- ### Instance Creation Method\(s\)
829
-
830
- #### *mfBoolObjectName =* **new MFBool** (*\[boolean, boolean...\])*
831
-
832
- The creation method can be passed 0 or more numeric-valued expressions to initialize the elements of the array.
833
-
834
- ### Properties
835
-
836
- #### **length**
837
-
838
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
839
-
840
- ### Methods
841
-
842
- None
843
-
844
- ## MFColor/MFColorRGBA Object
845
-
846
- The MFColor object corresponds to a X3D MFColor field. It is used to store a one-dimensional array of SFColor objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfColorObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index* length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to SFColor (0, 0, 0).
847
-
848
- ### Instance Creation Method\(s\)
849
-
850
- #### *mfColorObjectName =* **new MFColor** (*\[SFColor, SFColor, ...\])*
851
-
852
- The creation method can be passed 0 or more SFColor-valued expressions to initialize the elements of the array.
853
-
854
- ### Properties
855
-
856
- #### **length**
857
-
858
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
859
-
860
- ### Common Methods
861
-
862
- ### Methods
863
-
864
- None
865
-
866
- ## MFDouble/MFFloat Object
867
-
868
- The MFFloat object corresponds to a X3D MFFloat field. It is used to store a one-dimensional array of SFFloat objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfFloatObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to 0.0.
869
-
870
- ### Instance Creation Method\(s\)
871
-
872
- #### *mfFloatObjectName =* **new MFFloat** (*\[number, number...\])*
873
-
874
- The creation method can be passed 0 or more numeric-valued expressions to initialize the elements of the array.
875
-
876
- ### Properties
877
-
878
- #### **length**
879
-
880
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
881
-
882
- ### Methods
883
-
884
- None
885
-
886
- ## MFImage Object
887
-
888
- The MFImage object corresponds to a X3D MFImage field. It is used to store a one-dimensional array of SFImage objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfImageObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to SFImage (0,0,0).
889
-
890
- ### Instance Creation Method\(s\)
891
-
892
- #### *mfImageObjectName =* **new MFImage** (*\[SFImage, SFImage, ...\])*
893
-
894
- The creation method can be passed 0 or more SFImage-valued expressions to initialize the elements of the array.
895
-
896
- ### Properties
897
-
898
- #### **length**
899
-
900
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
901
-
902
- ### Methods
903
-
904
- None
905
-
906
- ## MFInt32 Object
907
-
908
- The MFInt32 object corresponds to a X3D MFInt32 field. It is used to store a one-dimensional array of SFInt32 objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfInt32ObjectName*\[*index\]*, where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to 0.
909
-
910
- ### Instance Creation Method\(s\)
911
-
912
- #### *mfInt32ObjectName =* **new MFInt32** (*\[number, number, ...\])*
913
-
914
- The creation method can be passed 0 or more integer-valued expressions to initialize the elements of the array.
915
-
916
- ### Properties
917
-
918
- #### **length**
919
-
920
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
921
-
922
- ### Methods
923
-
924
- None
925
-
926
- ## MFMatrix3d/MFMatrix3f Object
927
-
928
- The MFMatrix3f object corresponds to a X3D MFMatrix3f field. It is used to store a one-dimensional array of SFMatrix3f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfMatrix3fObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to NULL.
929
-
930
- ### Instance Creation Method\(s\)
931
-
932
- #### *mfMatrix3fObjectName =* **new MFMatrix3f** (*\[SFMatrix3f, SFMatrix3f, ...\])*
933
-
934
- The creation method can be passed 0 or more SFMatrix3f-valued expressions to initialize the elements of the array.
935
-
936
- ### Properties
937
-
938
- #### **length**
939
-
940
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
941
-
942
- ### Methods
943
-
944
- None
945
-
946
- ## MFMatrix4d/MFMatrix4f Object
947
-
948
- The MFMatrix4f object corresponds to a X3D MFMatrix4f field. It is used to store a one-dimensional array of SFMatrix4f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfMatrix4fObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to NULL.
949
-
950
- ### Instance Creation Method\(s\)
951
-
952
- #### *mfMatrix4fObjectName =* **new MFMatrix4f** (*\[SFMatrix4f, SFMatrix4f, ...\])*
953
-
954
- The creation method can be passed 0 or more SFMatrix4f-valued expressions to initialize the elements of the array.
955
-
956
- ### Properties
957
-
958
- #### **length**
959
-
960
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
961
-
962
- ### Methods
963
-
964
- None
965
-
966
- ## MFNode Object
967
-
968
- The MFNode object corresponds to a X3D MFNode field. It is used to store a one-dimensional array of SFNode objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfNodeObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to NULL.
969
-
970
- ### Instance Creation Method\(s\)
971
-
972
- #### *mfNodeObjectName =* **new MFNode** (*\[SFNode, SFNode, ...\])*
973
-
974
- The creation method can be passed 0 or more SFNode-valued expressions to initialize the elements of the array.
975
-
976
- ### Properties
977
-
978
- #### **length**
979
-
980
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
981
-
982
- ### Methods
983
-
984
- #### String **toVRMLString** ()
985
-
986
- Returns the X3D VRML-encoded string that, if parsed as the value of an MFNode field, produce this node.
987
-
988
- #### String **toXMLString** ()
989
-
990
- Returns the X3D XML-encoded string that, if parsed as the value of an MFNode field, produce this node.
991
-
992
- ## MFRotation Object
993
-
994
- The MFRotation object corresponds to a X3D MFRotation field. It is used to store a one-dimensional array of SFRotation objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfRotationObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to SFRotation (0, 0, 1, 0).
995
-
996
- ### Instance Creation Method\(s\)
997
-
998
- #### *mfRotationObjectName =* **new MFRotation** (*\[SFRotation, SFRotation, ...\])*
999
-
1000
- The creation method can be passed 0 or more SFRotation-valued expressions to initialize the elements of the array.
1001
-
1002
- ### Properties
1003
-
1004
- #### **length**
1005
-
1006
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
1007
-
1008
- ### Methods
1009
-
1010
- None
1011
-
1012
- ## MFString Object
1013
-
1014
- The MFString object corresponds to a X3D MFString field. It is used to store a one-dimensional array of String objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfStringObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to the empty string.
1015
-
1016
- ### Instance Creation Method\(s\)
1017
-
1018
- #### *mfStringObjectName =* **new MFString** (*\[string, string, ...\])*
1019
-
1020
- The creation method can be passed 0 or more string-valued expressions to initialize the elements of the array.
1021
-
1022
- ### Properties
1023
-
1024
- #### **length**
1025
-
1026
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
1027
-
1028
- ### Methods
1029
-
1030
- None
1031
-
1032
- ## MFTime Object
1033
-
1034
- The MFTime object corresponds to a X3D MFTime field. It is used to store a one-dimensional array of SFTime objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfTimeObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to the empty string.
1035
-
1036
- ### Instance Creation Method\(s\)
1037
-
1038
- #### *mfTimeObjectName =* **new MFTime** (*\[string, string, ...\])*
1039
-
1040
- The creation method can be passed 0 or more string-valued expressions to initialize the elements of the array.
1041
-
1042
- ### Properties
1043
-
1044
- #### **length**
1045
-
1046
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
1047
-
1048
- ### Methods
1049
-
1050
- None
1051
-
1052
- ## MFVec2d/MFVec2f Object
1053
-
1054
- The MFVec2f object corresponds to a X3D MFVec2f field. It is used to store a one-dimensional array of SFVec2f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec2fObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to SFVec2f (0, 0).
1055
-
1056
- ### Instance Creation Method\(s\)
1057
-
1058
- #### *mfVec2fObjectName =* **new MFVec2f** (*\[SFVec2f, SFVec2f, ...\])*
1059
-
1060
- The creation method can be passed 0 or more SFVec2f-valued expressions to initialize the elements of the array.
1061
-
1062
- ### Properties
1063
-
1064
- #### **length**
1065
-
1066
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
1067
-
1068
- ### Methods
1069
-
1070
- None
1071
-
1072
- ## MFVec3d/MFVec3f Object
1073
-
1074
- The MFVec3f object corresponds to a X3D MFVec3f field. It is used to store a one-dimensional array of SFVec3f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec3fObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to SFVec3f (0, 0, 0).
1075
-
1076
- ### Instance Creation Method\(s\)
1077
-
1078
- #### *mfVec3fObjectName =* **new MFVec3f** (*\[SFVec3f, SFVec3f, ...\])*
1079
-
1080
- The creation method can be passed 0 or more SFVec3f-valued expressions to initialize the elements of the array.
1081
-
1082
- ### Properties
1083
-
1084
- #### **length**
1085
-
1086
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
1087
-
1088
- ### Methods
1089
-
1090
- None
1091
-
1092
- ## MFVec4d/MFVec4f Object
1093
-
1094
- The MFVec4f object corresponds to a X3D MFVec4f field. It is used to store a one-dimensional array of SFVec4f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec4fObjectName*\[*index*\], where *index* is an integer-valued expression with 0&lt;=*index*&lt;length and length is the number of elements in the array). Assigning to an element with *index* &gt; length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to SFVec4f (0, 0).
1095
-
1096
- ### Instance Creation Method\(s\)
1097
-
1098
- #### *mfVec4fObjectName =* **new MFVec4f** (*\[SFVec4f, SFVec4f, ...\])*
1099
-
1100
- The creation method can be passed 0 or more SFVec4f-valued expressions to initialize the elements of the array.
1101
-
1102
- ### Properties
1103
-
1104
- #### **length**
1105
-
1106
- An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
1107
-
1108
- ### Methods
1109
-
1110
- None