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