x_ite 4.0.5 → 4.7.5

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 (1007) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  2. package/.vscode/settings.json +15 -0
  3. package/.vscode/tasks.json +25 -0
  4. package/Makefile +55 -15
  5. package/README.md +13 -130
  6. package/build/bin/dist.pl +156 -0
  7. package/build/bin/version-number.pl +25 -0
  8. package/build/{version.pl → bin/version.pl} +64 -21
  9. package/build/components/annotation.build.js +15 -0
  10. package/build/components/cad-geometry.build.js +15 -0
  11. package/build/components/cube-map-texturing.build.js +15 -0
  12. package/build/components/dis.build.js +15 -0
  13. package/build/components/event-utilities.build.js +15 -0
  14. package/build/components/geometry2d.build.js +15 -0
  15. package/build/components/geospatial.build.js +15 -0
  16. package/build/components/h-anim.build.js +15 -0
  17. package/build/components/key-device-sensor.build.js +15 -0
  18. package/build/components/layout.build.js +15 -0
  19. package/build/components/nurbs.build.js +15 -0
  20. package/build/components/particle-systems.build.js +15 -0
  21. package/build/components/picking.build.js +15 -0
  22. package/build/components/projective-texture-mapping.build.js +15 -0
  23. package/build/components/rigid-body-physics.build.js +15 -0
  24. package/build/components/scripting.build.js +15 -0
  25. package/build/components/texturing-3d.build.js +15 -0
  26. package/build/components/volume-rendering.build.js +15 -0
  27. package/build/components/x_ite.build.js +15 -0
  28. package/build/parts/default.end.frag +2 -0
  29. package/build/parts/default.start.frag +6 -0
  30. package/build/parts/x_ite.end.frag +23 -0
  31. package/build/parts/x_ite.start.frag +8 -0
  32. package/build/x_ite.build.js +18 -0
  33. package/dist/LICENSE.txt +49 -0
  34. package/dist/assets/components/annotation.js +813 -0
  35. package/dist/assets/components/annotation.min.js +1 -0
  36. package/dist/assets/components/cad-geometry.js +1037 -0
  37. package/dist/assets/components/cad-geometry.min.js +1 -0
  38. package/dist/assets/components/cube-map-texturing.js +1212 -0
  39. package/dist/assets/components/cube-map-texturing.min.js +1 -0
  40. package/dist/assets/components/dis.js +908 -0
  41. package/dist/assets/components/dis.min.js +1 -0
  42. package/dist/assets/components/event-utilities.js +1114 -0
  43. package/dist/assets/components/event-utilities.min.js +1 -0
  44. package/dist/assets/components/geometry2d.js +2190 -0
  45. package/dist/assets/components/geometry2d.min.js +1 -0
  46. package/dist/assets/components/geospatial.js +3850 -0
  47. package/dist/assets/components/geospatial.min.js +2 -0
  48. package/dist/assets/components/h-anim.js +1084 -0
  49. package/dist/assets/components/h-anim.min.js +1 -0
  50. package/dist/assets/components/key-device-sensor.js +850 -0
  51. package/dist/assets/components/key-device-sensor.min.js +1 -0
  52. package/dist/assets/components/layout.js +2008 -0
  53. package/dist/assets/components/layout.min.js +1 -0
  54. package/dist/assets/components/nurbs.js +5388 -0
  55. package/dist/assets/components/nurbs.min.js +2 -0
  56. package/dist/assets/components/particle-systems.js +4216 -0
  57. package/dist/assets/components/particle-systems.min.js +2 -0
  58. package/dist/assets/components/picking.js +2481 -0
  59. package/dist/assets/components/picking.min.js +1 -0
  60. package/dist/assets/components/projective-texture-mapping.js +813 -0
  61. package/dist/assets/components/projective-texture-mapping.min.js +1 -0
  62. package/dist/assets/components/rigid-body-physics.js +4569 -0
  63. package/dist/assets/components/rigid-body-physics.min.js +59 -0
  64. package/dist/assets/components/scripting.js +801 -0
  65. package/dist/assets/components/scripting.min.js +1 -0
  66. package/dist/assets/components/texturing-3d.js +10054 -0
  67. package/dist/assets/components/texturing-3d.min.js +48 -0
  68. package/dist/assets/components/volume-rendering.js +3966 -0
  69. package/dist/assets/components/volume-rendering.min.js +3 -0
  70. package/dist/assets/components/x_ite.js +285 -0
  71. package/dist/assets/components/x_ite.min.js +1 -0
  72. package/{fonts → dist/assets/fonts}/DroidSerif-Bold.ttf +0 -0
  73. package/{fonts → dist/assets/fonts}/DroidSerif-BoldItalic.ttf +0 -0
  74. package/{fonts → dist/assets/fonts}/DroidSerif-Italic.ttf +0 -0
  75. package/{fonts → dist/assets/fonts}/DroidSerif-Regular.ttf +0 -0
  76. package/{fonts → dist/assets/fonts}/Ubuntu-B.ttf +0 -0
  77. package/{fonts → dist/assets/fonts}/Ubuntu-BI.ttf +0 -0
  78. package/{fonts → dist/assets/fonts}/Ubuntu-R.ttf +0 -0
  79. package/{fonts → dist/assets/fonts}/Ubuntu-RI.ttf +0 -0
  80. package/{fonts → dist/assets/fonts}/UbuntuMono-B.ttf +0 -0
  81. package/{fonts → dist/assets/fonts}/UbuntuMono-BI.ttf +0 -0
  82. package/{fonts → dist/assets/fonts}/UbuntuMono-R.ttf +0 -0
  83. package/{fonts → dist/assets/fonts}/UbuntuMono-RI.ttf +0 -0
  84. package/dist/assets/hatching/0.png +0 -0
  85. package/dist/assets/hatching/1.png +0 -0
  86. package/dist/assets/hatching/10.png +0 -0
  87. package/dist/assets/hatching/11.png +0 -0
  88. package/dist/assets/hatching/12.png +0 -0
  89. package/dist/assets/hatching/13.png +0 -0
  90. package/dist/assets/hatching/14.png +0 -0
  91. package/dist/assets/hatching/15.png +0 -0
  92. package/dist/assets/hatching/16.png +0 -0
  93. package/dist/assets/hatching/17.png +0 -0
  94. package/dist/assets/hatching/18.png +0 -0
  95. package/dist/assets/hatching/19.png +0 -0
  96. package/dist/assets/hatching/2.png +0 -0
  97. package/dist/assets/hatching/3.png +0 -0
  98. package/dist/assets/hatching/4.png +0 -0
  99. package/dist/assets/hatching/5.png +0 -0
  100. package/dist/assets/hatching/6.png +0 -0
  101. package/dist/assets/hatching/7.png +0 -0
  102. package/dist/assets/hatching/8.png +0 -0
  103. package/dist/assets/hatching/9.png +0 -0
  104. package/dist/{images → assets/images}/ExamineViewer.png +0 -0
  105. package/dist/{images → assets/images}/FlyViewer.png +0 -0
  106. package/dist/{images → assets/images}/NoneViewer.png +0 -0
  107. package/dist/{images → assets/images}/PlaneViewer.png +0 -0
  108. package/dist/{images → assets/images}/PrimitiveQuality.png +0 -0
  109. package/dist/{images → assets/images}/TextureQuality.png +0 -0
  110. package/dist/{images → assets/images}/Time.png +0 -0
  111. package/dist/{images → assets/images}/Viewpoint.png +0 -0
  112. package/dist/{images → assets/images}/WalkViewer.png +0 -0
  113. package/dist/assets/images/go-next.png +0 -0
  114. package/dist/{images → assets/images}/gtk-fullscreen.png +0 -0
  115. package/dist/{images → assets/images}/gtk-leave-fullscreen.png +0 -0
  116. package/dist/{images → assets/images}/gtk-zoom-fit.png +0 -0
  117. package/dist/{images → assets/images}/gtk-zoom-in.png +0 -0
  118. package/dist/{images → assets/images}/help-about.png +0 -0
  119. package/dist/{images → assets/images}/icon.bw.png +0 -0
  120. package/dist/{images → assets/images}/icon.png +0 -0
  121. package/dist/assets/images/logo.128.png +0 -0
  122. package/dist/{images → assets/images}/logo.bw.png +0 -0
  123. package/dist/{images → assets/images}/logo.png +0 -0
  124. package/dist/assets/linetype/0.png +0 -0
  125. package/dist/assets/linetype/1.png +0 -0
  126. package/dist/assets/linetype/10.png +0 -0
  127. package/dist/assets/linetype/11.png +0 -0
  128. package/dist/assets/linetype/12.png +0 -0
  129. package/dist/assets/linetype/13.png +0 -0
  130. package/dist/assets/linetype/14.png +0 -0
  131. package/dist/assets/linetype/15.png +0 -0
  132. package/dist/assets/linetype/16.png +0 -0
  133. package/dist/assets/linetype/2.png +0 -0
  134. package/dist/assets/linetype/3.png +0 -0
  135. package/dist/assets/linetype/4.png +0 -0
  136. package/dist/assets/linetype/5.png +0 -0
  137. package/dist/assets/linetype/6.png +0 -0
  138. package/dist/assets/linetype/7.png +0 -0
  139. package/dist/assets/linetype/8.png +0 -0
  140. package/dist/assets/linetype/9.png +0 -0
  141. package/dist/assets/shaders/webgl1/Background.fs +23 -0
  142. package/dist/assets/shaders/webgl1/Background.vs +16 -0
  143. package/dist/assets/shaders/webgl1/Depth.fs +60 -0
  144. package/dist/assets/shaders/webgl1/Depth.vs +13 -0
  145. package/dist/assets/shaders/webgl1/Fallback.fs +28 -0
  146. package/dist/assets/shaders/webgl1/Fallback.vs +24 -0
  147. package/dist/assets/shaders/webgl1/FallbackUnlit.fs +16 -0
  148. package/dist/assets/shaders/webgl1/FallbackUnlit.vs +18 -0
  149. package/dist/assets/shaders/webgl1/Gouraud.fs +529 -0
  150. package/dist/assets/shaders/webgl1/Gouraud.vs +108 -0
  151. package/dist/assets/shaders/webgl1/Phong.fs +838 -0
  152. package/dist/assets/shaders/webgl1/Phong.vs +52 -0
  153. package/dist/assets/shaders/webgl1/PointSet.fs +541 -0
  154. package/dist/assets/shaders/webgl1/PointSet.vs +48 -0
  155. package/dist/assets/shaders/webgl1/Unlit.fs +541 -0
  156. package/dist/assets/shaders/webgl1/Unlit.vs +52 -0
  157. package/dist/assets/shaders/webgl1/Wireframe.fs +93 -0
  158. package/dist/assets/shaders/webgl1/Wireframe.vs +47 -0
  159. package/dist/assets/shaders/webgl2/Background.fs +25 -0
  160. package/dist/assets/shaders/webgl2/Background.vs +17 -0
  161. package/dist/assets/shaders/webgl2/Depth.fs +62 -0
  162. package/dist/assets/shaders/webgl2/Depth.vs +14 -0
  163. package/dist/assets/shaders/webgl2/Gouraud.fs +684 -0
  164. package/dist/assets/shaders/webgl2/Gouraud.vs +109 -0
  165. package/dist/assets/shaders/webgl2/Phong.fs +1014 -0
  166. package/dist/assets/shaders/webgl2/Phong.vs +53 -0
  167. package/dist/assets/shaders/webgl2/PointSet.fs +696 -0
  168. package/dist/assets/shaders/webgl2/PointSet.vs +49 -0
  169. package/dist/assets/shaders/webgl2/Unlit.fs +696 -0
  170. package/dist/assets/shaders/webgl2/Unlit.vs +53 -0
  171. package/dist/assets/shaders/webgl2/Wireframe.fs +102 -0
  172. package/dist/assets/shaders/webgl2/Wireframe.vs +48 -0
  173. package/dist/example.html +8 -7
  174. package/dist/x_ite.css +180 -59
  175. package/dist/x_ite.js +74696 -68048
  176. package/dist/x_ite.min.js +42 -41
  177. package/dist/x_ite.zip +0 -0
  178. package/docs/404.md +5 -0
  179. package/docs/Accessing-the-External-Browser.md +290 -0
  180. package/docs/Browser-Support.md +47 -0
  181. package/docs/Custom-Shaders.md +905 -0
  182. package/docs/Features.md +49 -0
  183. package/docs/Glossary.md +339 -0
  184. package/docs/How-To-Configure-Your-Web-Server.md +56 -0
  185. package/docs/Supported-Nodes.md +370 -0
  186. package/docs/What's-New.md +1240 -0
  187. package/docs/XHTML-DOM-Integration.md +82 -0
  188. package/docs/_config.yml +140 -0
  189. package/docs/_data/navigation.yml +137 -0
  190. package/docs/assets/css/main.scss +100 -0
  191. package/docs/assets/images/logo.png +0 -0
  192. package/docs/google3696ee938394d7b6.html +1 -0
  193. package/docs/index.md +1026 -0
  194. package/docs/reference/Browser-Services.md +333 -0
  195. package/docs/reference/Constants-Services.md +376 -0
  196. package/docs/reference/ECMAScript-Object-and-Function-Definitions.md +128 -0
  197. package/docs/reference/Field-Services-and-Objects.md +1006 -0
  198. package/docs/reference/Prototype-Services.md +121 -0
  199. package/docs/reference/Route-Services.md +49 -0
  200. package/docs/reference/Scene-Services.md +360 -0
  201. package/docs/reference/Script-Node-Authoring-Interface.md +334 -0
  202. package/docs/tutorials/Adding-backgrounds.md +268 -0
  203. package/docs/tutorials/Adding-fog.md +67 -0
  204. package/docs/tutorials/Adding-sound.md +326 -0
  205. package/docs/tutorials/Animating-transforms.md +385 -0
  206. package/docs/tutorials/Basic-Nodes.md +317 -0
  207. package/docs/tutorials/Building-a-X3D-world.md +152 -0
  208. package/docs/tutorials/Building-elevation-grids.md +170 -0
  209. package/docs/tutorials/Building-extruded-shapes.md +145 -0
  210. package/docs/tutorials/Building-primitive-shapes.md +204 -0
  211. package/docs/tutorials/Building-shapes-out-of-points,-lines,-and-faces.md +311 -0
  212. package/docs/tutorials/Controlling-appearance-with-materials.md +186 -0
  213. package/docs/tutorials/Controlling-color-on-coordinate-based-geometry.md +208 -0
  214. package/docs/tutorials/Controlling-detail.md +130 -0
  215. package/docs/tutorials/Controlling-how-textures-are-mapped.md +277 -0
  216. package/docs/tutorials/Controlling-navigation.md +70 -0
  217. package/docs/tutorials/Controlling-shading-on-coordinate-based-geometry.md +180 -0
  218. package/docs/tutorials/Controlling-the-viewpoint.md +49 -0
  219. package/docs/tutorials/Creating-new-node-types.md +313 -0
  220. package/docs/tutorials/Grouping-nodes.md +237 -0
  221. package/docs/tutorials/Hello,-World!.md +204 -0
  222. package/docs/tutorials/Improving-Performance.md +227 -0
  223. package/docs/tutorials/Increasing-Rendering-Speed.md +110 -0
  224. package/docs/tutorials/Introducing-X3D.md +94 -0
  225. package/docs/tutorials/Introducing-animation.md +211 -0
  226. package/docs/tutorials/Introducing-script-use.md +127 -0
  227. package/docs/tutorials/Lighting-your-world.md +139 -0
  228. package/docs/tutorials/Mapping-textures.md +212 -0
  229. package/docs/tutorials/Naming-nodes.md +161 -0
  230. package/docs/tutorials/Providing-information-about-your-world.md +30 -0
  231. package/docs/tutorials/Sensing-the-viewer.md +205 -0
  232. package/docs/tutorials/Sensing-viewer-actions.md +214 -0
  233. package/docs/tutorials/Transforming-Shapes.md +270 -0
  234. package/docs/tutorials/Writing-program-scripts-with-ECMAScript.md +631 -0
  235. package/docs/tutorials/index.md +78 -0
  236. package/meta/logo/logo.png +0 -0
  237. package/meta/logo/logo.svg +216 -217
  238. package/meta/web3d.html +76 -54
  239. package/package.json +41 -24
  240. package/src/assets/components/annotation.js +87 -0
  241. package/src/assets/components/cad-geometry.js +88 -0
  242. package/src/assets/components/cube-map-texturing.js +78 -0
  243. package/src/assets/components/dis.js +84 -0
  244. package/src/assets/components/event-utilities.js +93 -0
  245. package/src/assets/components/geometry2d.js +93 -0
  246. package/src/assets/components/geospatial.js +102 -0
  247. package/src/assets/components/h-anim.js +83 -0
  248. package/src/assets/components/key-device-sensor.js +78 -0
  249. package/src/assets/components/layout.js +87 -0
  250. package/src/assets/components/nurbs.js +118 -0
  251. package/src/assets/components/particle-systems.js +105 -0
  252. package/src/assets/components/picking.js +87 -0
  253. package/src/assets/components/projective-texture-mapping.js +75 -0
  254. package/src/assets/components/rigid-body-physics.js +123 -0
  255. package/src/assets/components/scripting.js +72 -0
  256. package/src/assets/components/texturing-3d.js +91 -0
  257. package/src/assets/components/volume-rendering.js +118 -0
  258. package/src/assets/components/x_ite.js +69 -0
  259. package/src/assets/fonts/DroidSerif-Bold.ttf +0 -0
  260. package/src/assets/fonts/DroidSerif-BoldItalic.ttf +0 -0
  261. package/src/assets/fonts/DroidSerif-Italic.ttf +0 -0
  262. package/src/assets/fonts/DroidSerif-Regular.ttf +0 -0
  263. package/src/assets/fonts/Ubuntu-B.ttf +0 -0
  264. package/src/assets/fonts/Ubuntu-BI.ttf +0 -0
  265. package/src/assets/fonts/Ubuntu-R.ttf +0 -0
  266. package/src/assets/fonts/Ubuntu-RI.ttf +0 -0
  267. package/src/assets/fonts/UbuntuMono-B.ttf +0 -0
  268. package/src/assets/fonts/UbuntuMono-BI.ttf +0 -0
  269. package/src/assets/fonts/UbuntuMono-R.ttf +0 -0
  270. package/src/assets/fonts/UbuntuMono-RI.ttf +0 -0
  271. package/src/assets/hatching/0.png +0 -0
  272. package/src/assets/hatching/1.png +0 -0
  273. package/src/assets/hatching/10.png +0 -0
  274. package/src/assets/hatching/11.png +0 -0
  275. package/src/assets/hatching/12.png +0 -0
  276. package/src/assets/hatching/13.png +0 -0
  277. package/src/assets/hatching/14.png +0 -0
  278. package/src/assets/hatching/15.png +0 -0
  279. package/src/assets/hatching/16.png +0 -0
  280. package/src/assets/hatching/17.png +0 -0
  281. package/src/assets/hatching/18.png +0 -0
  282. package/src/assets/hatching/19.png +0 -0
  283. package/src/assets/hatching/2.png +0 -0
  284. package/src/assets/hatching/3.png +0 -0
  285. package/src/assets/hatching/4.png +0 -0
  286. package/src/assets/hatching/5.png +0 -0
  287. package/src/assets/hatching/6.png +0 -0
  288. package/src/assets/hatching/7.png +0 -0
  289. package/src/assets/hatching/8.png +0 -0
  290. package/src/assets/hatching/9.png +0 -0
  291. package/src/{images → assets/images}/ExamineViewer.png +0 -0
  292. package/src/{images → assets/images}/FlyViewer.png +0 -0
  293. package/src/{images → assets/images}/NoneViewer.png +0 -0
  294. package/src/{images → assets/images}/PlaneViewer.png +0 -0
  295. package/src/{images → assets/images}/PrimitiveQuality.png +0 -0
  296. package/src/{images → assets/images}/TextureQuality.png +0 -0
  297. package/src/{images → assets/images}/Time.png +0 -0
  298. package/src/{images → assets/images}/Viewpoint.png +0 -0
  299. package/src/{images → assets/images}/WalkViewer.png +0 -0
  300. package/src/assets/images/go-next.png +0 -0
  301. package/src/{images → assets/images}/gtk-fullscreen.png +0 -0
  302. package/src/{images → assets/images}/gtk-leave-fullscreen.png +0 -0
  303. package/src/{images → assets/images}/gtk-zoom-fit.png +0 -0
  304. package/src/{images → assets/images}/gtk-zoom-in.png +0 -0
  305. package/src/{images → assets/images}/help-about.png +0 -0
  306. package/src/{images → assets/images}/icon.bw.png +0 -0
  307. package/src/{images → assets/images}/icon.png +0 -0
  308. package/src/assets/images/logo.128.png +0 -0
  309. package/src/{images → assets/images}/logo.bw.png +0 -0
  310. package/src/{images → assets/images}/logo.png +0 -0
  311. package/src/assets/linetype/0.png +0 -0
  312. package/src/assets/linetype/1.png +0 -0
  313. package/src/assets/linetype/10.png +0 -0
  314. package/src/assets/linetype/11.png +0 -0
  315. package/src/assets/linetype/12.png +0 -0
  316. package/src/assets/linetype/13.png +0 -0
  317. package/src/assets/linetype/14.png +0 -0
  318. package/src/assets/linetype/15.png +0 -0
  319. package/src/assets/linetype/16.png +0 -0
  320. package/src/assets/linetype/2.png +0 -0
  321. package/src/assets/linetype/3.png +0 -0
  322. package/src/assets/linetype/4.png +0 -0
  323. package/src/assets/linetype/5.png +0 -0
  324. package/src/assets/linetype/6.png +0 -0
  325. package/src/assets/linetype/7.png +0 -0
  326. package/src/assets/linetype/8.png +0 -0
  327. package/src/assets/linetype/9.png +0 -0
  328. package/src/assets/shaders/Types.glsl +102 -0
  329. package/src/assets/shaders/webgl1/Background.fs +16 -0
  330. package/src/assets/shaders/webgl1/Background.vs +22 -0
  331. package/src/assets/shaders/webgl1/Depth.fs +16 -0
  332. package/src/assets/shaders/webgl1/Depth.vs +20 -0
  333. package/src/assets/shaders/webgl1/Fallback.fs +38 -0
  334. package/src/assets/shaders/webgl1/Fallback.vs +30 -0
  335. package/src/assets/shaders/webgl1/FallbackUnlit.fs +22 -0
  336. package/src/assets/shaders/webgl1/FallbackUnlit.vs +24 -0
  337. package/src/assets/shaders/webgl1/Gouraud.fs +66 -0
  338. package/src/assets/shaders/webgl1/Gouraud.vs +148 -0
  339. package/src/assets/shaders/webgl1/Phong.fs +173 -0
  340. package/src/assets/shaders/webgl1/Phong.vs +67 -0
  341. package/src/assets/shaders/webgl1/PointSet.fs +100 -0
  342. package/src/assets/shaders/webgl1/PointSet.vs +70 -0
  343. package/src/assets/shaders/webgl1/Unlit.fs +89 -0
  344. package/src/assets/shaders/webgl1/Unlit.vs +67 -0
  345. package/src/assets/shaders/webgl1/Wireframe.fs +74 -0
  346. package/src/assets/shaders/webgl1/Wireframe.vs +63 -0
  347. package/src/assets/shaders/webgl1/include/ClipPlanes.glsl +16 -0
  348. package/src/assets/shaders/webgl1/include/Fog.glsl +38 -0
  349. package/src/assets/shaders/webgl1/include/Hatch.glsl +18 -0
  350. package/src/assets/shaders/webgl1/include/Pack.glsl +51 -0
  351. package/src/assets/shaders/webgl1/include/Perlin.glsl +40 -0
  352. package/src/assets/shaders/webgl1/include/Shadow.glsl +310 -0
  353. package/src/assets/shaders/webgl1/include/Texture.glsl +488 -0
  354. package/src/assets/shaders/webgl2/Background.fs +19 -0
  355. package/src/assets/shaders/webgl2/Background.vs +23 -0
  356. package/src/assets/shaders/webgl2/Depth.fs +19 -0
  357. package/src/assets/shaders/webgl2/Depth.vs +21 -0
  358. package/src/assets/shaders/webgl2/Gouraud.fs +64 -0
  359. package/src/assets/shaders/webgl2/Gouraud.vs +149 -0
  360. package/src/assets/shaders/webgl2/Phong.fs +171 -0
  361. package/src/assets/shaders/webgl2/Phong.vs +68 -0
  362. package/src/assets/shaders/webgl2/PointSet.fs +99 -0
  363. package/src/assets/shaders/webgl2/PointSet.vs +71 -0
  364. package/src/assets/shaders/webgl2/Unlit.fs +88 -0
  365. package/src/assets/shaders/webgl2/Unlit.vs +68 -0
  366. package/src/assets/shaders/webgl2/Wireframe.fs +73 -0
  367. package/src/assets/shaders/webgl2/Wireframe.vs +64 -0
  368. package/src/assets/shaders/webgl2/include/ClipPlanes.glsl +16 -0
  369. package/src/assets/shaders/webgl2/include/Fog.glsl +46 -0
  370. package/src/assets/shaders/webgl2/include/Hatch.glsl +18 -0
  371. package/src/assets/shaders/webgl2/include/Pack.glsl +51 -0
  372. package/src/assets/shaders/webgl2/include/Perlin.glsl +40 -0
  373. package/src/assets/shaders/webgl2/include/Shadow.glsl +324 -0
  374. package/src/assets/shaders/webgl2/include/Texture.glsl +623 -0
  375. package/src/bookmarks.js +83 -164
  376. package/src/dummy.js +1 -0
  377. package/src/example.html +8 -7
  378. package/src/examples.js +150 -0
  379. package/src/lib/ammojs/AmmoJS.js +58 -0
  380. package/src/lib/ammojs/Makefile +26 -0
  381. package/src/lib/ammojs/ammo.idl +1031 -0
  382. package/src/lib/ammojs/ammo.js +40 -0
  383. package/src/lib/jpeg/jpeg.js +1019 -0
  384. package/src/lib/nurbs/extras/sample.js +242 -0
  385. package/src/lib/nurbs/nurbs.js +342 -0
  386. package/src/lib/nurbs/src/evaluate.js +413 -0
  387. package/src/lib/nurbs/src/numerical-derivative.js +54 -0
  388. package/src/lib/nurbs/src/support.js +151 -0
  389. package/src/lib/nurbs/src/transform.js +78 -0
  390. package/src/lib/nurbs/src/utils/accessor-preamble.js +33 -0
  391. package/src/lib/nurbs/src/utils/bisection-search.js +28 -0
  392. package/src/lib/nurbs/src/utils/cache-key.js +57 -0
  393. package/src/lib/nurbs/src/utils/create-accessors.js +110 -0
  394. package/src/lib/nurbs/src/utils/infer-type.js +52 -0
  395. package/src/lib/nurbs/src/utils/is-array-like.js +10 -0
  396. package/src/lib/nurbs/src/utils/is-ndarray-like.js +18 -0
  397. package/src/lib/nurbs/src/utils/is-ndarray.js +21 -0
  398. package/src/lib/nurbs/src/utils/ndloop.js +23 -0
  399. package/src/lib/nurbs/src/utils/size-getter.js +22 -0
  400. package/src/lib/nurbs/src/utils/variable.js +31 -0
  401. package/src/locale/de.po +8 -3
  402. package/src/locale/fr.po +9 -4
  403. package/src/locale/gettext.js +3 -3
  404. package/src/spinner.css +21 -8
  405. package/src/standard/Geospatial/Geodetic.js +48 -48
  406. package/src/standard/Geospatial/ReferenceEllipsoids.js +1 -1
  407. package/src/standard/Geospatial/UniversalTransverseMercator.js +43 -43
  408. package/src/standard/Math/Algorithm.js +25 -41
  409. package/src/standard/Math/Algorithms/Bezier.js +147 -0
  410. package/src/standard/Math/Algorithms/MergeSort.js +2 -2
  411. package/src/standard/Math/Algorithms/PartialSort.js +97 -0
  412. package/src/standard/Math/Algorithms/QuickSort.js +8 -6
  413. package/src/standard/Math/Algorithms/SAT.js +4 -8
  414. package/src/standard/Math/Algorithms/eigendecomposition.js +37 -33
  415. package/src/standard/Math/Geometry/Box2.js +84 -56
  416. package/src/standard/Math/Geometry/Box3.js +457 -284
  417. package/src/standard/Math/Geometry/Camera.js +24 -15
  418. package/src/standard/Math/Geometry/Cylinder3.js +13 -13
  419. package/src/standard/Math/Geometry/Line3.js +61 -53
  420. package/src/standard/Math/Geometry/Plane3.js +16 -16
  421. package/src/standard/Math/Geometry/Sphere3.js +122 -105
  422. package/src/standard/Math/Geometry/Spheroid3.js +1 -1
  423. package/src/standard/Math/Geometry/Triangle2.js +6 -6
  424. package/src/standard/Math/Geometry/Triangle3.js +80 -88
  425. package/src/standard/Math/Geometry/ViewVolume.js +315 -116
  426. package/src/standard/Math/Numbers/Color3.js +45 -29
  427. package/src/standard/Math/Numbers/Color4.js +25 -14
  428. package/src/standard/Math/Numbers/Complex.js +15 -22
  429. package/src/standard/Math/Numbers/Matrix2.js +37 -17
  430. package/src/standard/Math/Numbers/Matrix3.js +181 -212
  431. package/src/standard/Math/Numbers/Matrix4.js +204 -262
  432. package/src/standard/Math/Numbers/Quaternion.js +60 -147
  433. package/src/standard/Math/Numbers/Rotation4.js +197 -129
  434. package/src/standard/Math/Numbers/Vector2.js +53 -109
  435. package/src/standard/Math/Numbers/Vector3.js +75 -144
  436. package/src/standard/Math/Numbers/Vector4.js +85 -155
  437. package/src/standard/Math/Utility/BVH.js +35 -30
  438. package/src/standard/Math/Utility/MatrixStack.js +6 -9
  439. package/src/standard/Networking/BinaryTransport.js +8 -8
  440. package/src/standard/Time/MicroTime.js +79 -0
  441. package/src/standard/Utility/DataStorage.js +40 -17
  442. package/src/standard/Utility/MapUtilities.js +69 -0
  443. package/src/standard/Utility/ObjectCache.js +2 -3
  444. package/src/standard/Utility/Shuffle.js +5 -6
  445. package/src/tests.js +386 -0
  446. package/src/x_ite/Base/Events.js +22 -30
  447. package/src/x_ite/Base/X3DChildObject.js +35 -19
  448. package/src/x_ite/Base/X3DEventObject.js +10 -12
  449. package/src/x_ite/Base/X3DObject.js +63 -43
  450. package/src/x_ite/Basic/FieldDefinitionArray.js +16 -10
  451. package/src/x_ite/Basic/X3DArrayField.js +3 -430
  452. package/src/x_ite/Basic/X3DBaseNode.js +551 -288
  453. package/src/x_ite/Basic/X3DField.js +133 -96
  454. package/src/x_ite/Basic/X3DFieldDefinition.js +0 -4
  455. package/src/x_ite/Basic/X3DObjectArrayField.js +545 -0
  456. package/src/x_ite/Basic/X3DTypedArrayField.js +839 -0
  457. package/src/x_ite/Bits/TraverseType.js +2 -5
  458. package/src/x_ite/Bits/X3DConstants.js +12 -322
  459. package/src/x_ite/Browser/Core/BrowserOptions.js +205 -77
  460. package/src/x_ite/Browser/Core/BrowserProperties.js +2 -4
  461. package/src/x_ite/Browser/Core/BrowserTimings.js +16 -15
  462. package/src/x_ite/Browser/Core/ContextMenu.js +202 -80
  463. package/src/x_ite/Browser/Core/Notification.js +14 -6
  464. package/src/x_ite/Browser/Core/PrimitiveQuality.js +3 -7
  465. package/src/x_ite/Browser/Core/RenderingProperties.js +10 -11
  466. package/src/x_ite/Browser/Core/Shading.js +66 -0
  467. package/src/x_ite/Browser/Core/TextureQuality.js +3 -7
  468. package/src/x_ite/Browser/Core/X3DCoreContext.js +495 -48
  469. package/src/x_ite/Browser/Core/X3DCoreContext.js.~1~ +714 -0
  470. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +17 -23
  471. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +12 -20
  472. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +82 -34
  473. package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +3 -5
  474. package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +3 -5
  475. package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +12 -9
  476. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +60 -42
  477. package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +16 -20
  478. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +51 -12
  479. package/src/x_ite/Browser/Geometry3D/BoxOptions.js +17 -21
  480. package/src/x_ite/Browser/Geometry3D/ConeOptions.js +2 -4
  481. package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +2 -4
  482. package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +2 -4
  483. package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +3 -5
  484. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -9
  485. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +98 -0
  486. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +12 -12
  487. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +2 -4
  488. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +2 -4
  489. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +22 -200
  490. package/src/x_ite/Browser/Layout/ScreenText.js +287 -295
  491. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +15 -12
  492. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +18 -12
  493. package/src/x_ite/Browser/NURBS/NURBS.js +481 -0
  494. package/src/x_ite/Browser/Navigation/ExamineViewer.js +587 -127
  495. package/src/x_ite/Browser/Navigation/FlyViewer.js +23 -5
  496. package/src/x_ite/Browser/Navigation/LookAtViewer.js +402 -18
  497. package/src/x_ite/Browser/Navigation/NoneViewer.js +13 -3
  498. package/src/x_ite/Browser/Navigation/PlaneViewer.js +46 -28
  499. package/src/x_ite/Browser/Navigation/WalkViewer.js +45 -17
  500. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +414 -207
  501. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +65 -48
  502. package/src/x_ite/Browser/Navigation/X3DViewer.js +99 -45
  503. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +39 -38
  504. package/src/x_ite/Browser/Networking/urls.js +34 -5
  505. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +7 -9
  506. package/src/x_ite/Browser/Picking/IntersectionType.js +63 -0
  507. package/src/x_ite/Browser/Picking/MatchCriterion.js +64 -0
  508. package/src/x_ite/Browser/Picking/SortOrder.js +65 -0
  509. package/src/x_ite/Browser/Picking/VolumePicker.js +197 -0
  510. package/src/x_ite/Browser/Picking/X3DPickingContext.js +130 -0
  511. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +89 -30
  512. package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +1 -3
  513. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +33 -15
  514. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +39 -151
  515. package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +70 -0
  516. package/src/x_ite/Browser/Shaders/Shader.js +150 -50
  517. package/src/x_ite/Browser/Shaders/ShaderSource.js +140 -0
  518. package/src/x_ite/Browser/Shaders/ShaderTest.js +94 -77
  519. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +220 -5
  520. package/src/x_ite/Browser/Shape/AlphaMode.js +65 -0
  521. package/src/x_ite/Browser/Shape/LineStipples.xcf +0 -0
  522. package/src/x_ite/Browser/Shape/X3DShapeContext.js +108 -4
  523. package/src/x_ite/Browser/Sound/X3DSoundContext.js +1 -20
  524. package/src/x_ite/Browser/Text/PolygonText.js +165 -359
  525. package/src/x_ite/Browser/Text/TextAlignment.js +3 -7
  526. package/src/x_ite/Browser/Text/X3DTextContext.js +38 -30
  527. package/src/x_ite/Browser/Text/X3DTextGeometry.js +58 -84
  528. package/src/x_ite/Browser/Texturing/MultiTextureFunctionType.js +64 -0
  529. package/src/x_ite/Browser/Texturing/MultiTextureModeType.js +81 -0
  530. package/src/x_ite/Browser/Texturing/MultiTextureSourceType.js +65 -0
  531. package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +73 -0
  532. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +148 -41
  533. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1126 -0
  534. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +686 -0
  535. package/src/x_ite/Browser/Time/X3DTimeContext.js +20 -17
  536. package/src/x_ite/Browser/VERSION.js +2 -2
  537. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.fs +120 -0
  538. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.vs +28 -0
  539. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +114 -0
  540. package/src/x_ite/Browser/X3DBrowser.js +282 -182
  541. package/src/x_ite/Browser/X3DBrowserContext.js +77 -43
  542. package/src/x_ite/Components/Annotation/AnnotationLayer.js +108 -0
  543. package/src/x_ite/Components/Annotation/AnnotationTarget.js +101 -0
  544. package/src/x_ite/Components/{PointingDeviceSensor/TouchGroup.js → Annotation/GroupAnnotation.js} +30 -24
  545. package/src/x_ite/Components/Annotation/IconAnnotation.js +110 -0
  546. package/src/x_ite/Components/Annotation/TextAnnotation.js +102 -0
  547. package/src/x_ite/Components/Annotation/URLAnnotation.js +101 -0
  548. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +76 -0
  549. package/src/x_ite/Components/CADGeometry/CADAssembly.js +6 -8
  550. package/src/x_ite/Components/CADGeometry/CADFace.js +137 -33
  551. package/src/x_ite/Components/CADGeometry/CADLayer.js +5 -18
  552. package/src/x_ite/Components/CADGeometry/CADPart.js +6 -12
  553. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +20 -36
  554. package/src/x_ite/Components/CADGeometry/QuadSet.js +11 -24
  555. package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +2 -4
  556. package/src/x_ite/Components/Core/MetadataBoolean.js +2 -4
  557. package/src/x_ite/Components/Core/MetadataDouble.js +2 -4
  558. package/src/x_ite/Components/Core/MetadataFloat.js +2 -4
  559. package/src/x_ite/Components/Core/MetadataInteger.js +2 -4
  560. package/src/x_ite/Components/Core/MetadataSet.js +2 -4
  561. package/src/x_ite/Components/Core/MetadataString.js +2 -4
  562. package/src/x_ite/Components/Core/WorldInfo.js +18 -10
  563. package/src/x_ite/Components/Core/X3DBindableNode.js +5 -36
  564. package/src/x_ite/Components/Core/X3DChildNode.js +16 -5
  565. package/src/x_ite/Components/Core/X3DInfoNode.js +2 -4
  566. package/src/x_ite/Components/Core/X3DMetadataObject.js +1 -3
  567. package/src/x_ite/Components/Core/X3DNode.js +2 -64
  568. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +190 -210
  569. package/src/x_ite/Components/Core/X3DSensorNode.js +2 -4
  570. package/src/x_ite/Components/Core.js +111 -0
  571. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +42 -50
  572. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +41 -42
  573. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +44 -59
  574. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +48 -46
  575. package/src/x_ite/Components/DIS/DISEntityManager.js +2 -4
  576. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +2 -4
  577. package/src/x_ite/Components/DIS/EspduTransform.js +13 -9
  578. package/src/x_ite/Components/DIS/ReceiverPdu.js +13 -9
  579. package/src/x_ite/Components/DIS/SignalPdu.js +13 -9
  580. package/src/x_ite/Components/DIS/TransmitterPdu.js +13 -9
  581. package/src/x_ite/Components/EnvironmentalEffects/Background.js +2 -4
  582. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +15 -18
  583. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +59 -7
  584. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +12 -10
  585. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +2 -4
  586. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +149 -143
  587. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +61 -22
  588. package/src/x_ite/Components/EnvironmentalEffects.js +90 -0
  589. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +121 -121
  590. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +173 -53
  591. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +33 -31
  592. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +19 -11
  593. package/src/x_ite/Components/EnvironmentalSensor.js +81 -0
  594. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +2 -4
  595. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +2 -4
  596. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +2 -4
  597. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +2 -4
  598. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +2 -4
  599. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +2 -4
  600. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +2 -4
  601. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +2 -4
  602. package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +2 -4
  603. package/src/x_ite/Components/Followers/ColorChaser.js +3 -7
  604. package/src/x_ite/Components/Followers/ColorDamper.js +3 -7
  605. package/src/x_ite/Components/Followers/CoordinateChaser.js +3 -11
  606. package/src/x_ite/Components/Followers/CoordinateDamper.js +2 -10
  607. package/src/x_ite/Components/Followers/OrientationChaser.js +9 -7
  608. package/src/x_ite/Components/Followers/OrientationDamper.js +9 -7
  609. package/src/x_ite/Components/Followers/PositionChaser.js +3 -7
  610. package/src/x_ite/Components/Followers/PositionChaser2D.js +3 -7
  611. package/src/x_ite/Components/Followers/PositionDamper.js +3 -7
  612. package/src/x_ite/Components/Followers/PositionDamper2D.js +3 -7
  613. package/src/x_ite/Components/Followers/ScalarChaser.js +7 -7
  614. package/src/x_ite/Components/Followers/ScalarDamper.js +3 -7
  615. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +3 -11
  616. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +3 -11
  617. package/src/x_ite/Components/Followers/X3DChaserNode.js +26 -26
  618. package/src/x_ite/Components/Followers/X3DDamperNode.js +6 -10
  619. package/src/x_ite/Components/Followers/X3DFollowerNode.js +11 -11
  620. package/src/x_ite/Components/Followers.js +120 -0
  621. package/src/x_ite/Components/Geometry2D/Arc2D.js +28 -30
  622. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +95 -93
  623. package/src/x_ite/Components/Geometry2D/Circle2D.js +16 -15
  624. package/src/x_ite/Components/Geometry2D/Disk2D.js +80 -88
  625. package/src/x_ite/Components/Geometry2D/Polyline2D.js +13 -19
  626. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +12 -18
  627. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +13 -13
  628. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +31 -30
  629. package/src/x_ite/Components/Geometry3D/Box.js +12 -12
  630. package/src/x_ite/Components/Geometry3D/Cone.js +34 -36
  631. package/src/x_ite/Components/Geometry3D/Cylinder.js +52 -54
  632. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +90 -52
  633. package/src/x_ite/Components/Geometry3D/Extrusion.js +472 -388
  634. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +193 -163
  635. package/src/x_ite/Components/Geometry3D/Sphere.js +17 -19
  636. package/src/x_ite/Components/Geometry3D.js +90 -0
  637. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +124 -61
  638. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +54 -36
  639. package/src/x_ite/Components/Geospatial/GeoLOD.js +190 -98
  640. package/src/x_ite/Components/Geospatial/GeoLocation.js +8 -10
  641. package/src/x_ite/Components/Geospatial/GeoMetadata.js +2 -4
  642. package/src/x_ite/Components/Geospatial/GeoOrigin.js +2 -4
  643. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +4 -4
  644. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +10 -7
  645. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +4 -4
  646. package/src/x_ite/Components/Geospatial/GeoTransform.js +13 -13
  647. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +131 -78
  648. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +7 -9
  649. package/src/x_ite/Components/Grouping/Group.js +5 -7
  650. package/src/x_ite/Components/Grouping/StaticGroup.js +194 -22
  651. package/src/x_ite/Components/Grouping/Switch.js +174 -25
  652. package/src/x_ite/Components/Grouping/Transform.js +5 -7
  653. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +70 -16
  654. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +442 -151
  655. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +53 -29
  656. package/src/x_ite/Components/Grouping/X3DTransformNode.js +6 -9
  657. package/src/x_ite/Components/Grouping.js +93 -0
  658. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimDisplacer.js +8 -10
  659. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +360 -0
  660. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimJoint.js +108 -23
  661. package/src/x_ite/Components/HAnim/HAnimMotion.js +113 -0
  662. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSegment.js +14 -14
  663. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSite.js +14 -16
  664. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +13 -11
  665. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +21 -13
  666. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +19 -11
  667. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +8 -8
  668. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +28 -14
  669. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +27 -16
  670. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +10 -8
  671. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +10 -8
  672. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +2 -4
  673. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +7 -9
  674. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +7 -9
  675. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +7 -9
  676. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +10 -11
  677. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +2 -4
  678. package/src/x_ite/Components/Interpolation.js +111 -0
  679. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +72 -8
  680. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +65 -4
  681. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +5 -29
  682. package/src/x_ite/Components/Layering/Layer.js +14 -6
  683. package/src/x_ite/Components/Layering/LayerSet.js +6 -10
  684. package/src/x_ite/Components/Layering/Viewport.js +10 -12
  685. package/src/x_ite/Components/Layering/X3DLayerNode.js +76 -69
  686. package/src/x_ite/Components/Layering/X3DViewportNode.js +2 -6
  687. package/src/x_ite/Components/Layering.js +84 -0
  688. package/src/x_ite/Components/Layout/Layout.js +163 -173
  689. package/src/x_ite/Components/Layout/LayoutGroup.js +20 -19
  690. package/src/x_ite/Components/Layout/LayoutLayer.js +12 -9
  691. package/src/x_ite/Components/Layout/ScreenFontStyle.js +4 -8
  692. package/src/x_ite/Components/Layout/ScreenGroup.js +63 -56
  693. package/src/x_ite/Components/Layout/X3DLayoutNode.js +2 -4
  694. package/src/x_ite/Components/Lighting/DirectionalLight.js +41 -31
  695. package/src/x_ite/Components/Lighting/PointLight.js +117 -104
  696. package/src/x_ite/Components/Lighting/SpotLight.js +77 -53
  697. package/src/x_ite/Components/Lighting/X3DLightNode.js +90 -68
  698. package/src/x_ite/Components/Lighting.js +81 -0
  699. package/src/x_ite/Components/NURBS/Contour2D.js +47 -5
  700. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +69 -5
  701. package/src/x_ite/Components/NURBS/CoordinateDouble.js +2 -4
  702. package/src/x_ite/Components/NURBS/NurbsCurve.js +140 -10
  703. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +117 -8
  704. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +139 -10
  705. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +3 -5
  706. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +125 -10
  707. package/src/x_ite/Components/NURBS/NurbsSet.js +92 -11
  708. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +96 -12
  709. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +88 -7
  710. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +88 -7
  711. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +62 -13
  712. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +41 -6
  713. package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +2 -4
  714. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +333 -7
  715. package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +9 -5
  716. package/src/x_ite/Components/Navigation/Billboard.js +14 -15
  717. package/src/x_ite/Components/Navigation/Collision.js +13 -12
  718. package/src/x_ite/Components/Navigation/LOD.js +221 -66
  719. package/src/x_ite/Components/Navigation/NavigationInfo.js +110 -99
  720. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +138 -45
  721. package/src/x_ite/Components/Navigation/Viewpoint.js +55 -33
  722. package/src/x_ite/Components/Navigation/ViewpointGroup.js +18 -10
  723. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +241 -181
  724. package/src/x_ite/Components/Navigation.js +93 -0
  725. package/src/x_ite/Components/Networking/Anchor.js +24 -28
  726. package/src/x_ite/Components/Networking/Inline.js +68 -50
  727. package/src/x_ite/Components/Networking/LoadSensor.js +2 -4
  728. package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +2 -4
  729. package/src/x_ite/Components/Networking/X3DUrlObject.js +93 -11
  730. package/src/x_ite/Components/Networking.js +84 -0
  731. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +6 -8
  732. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +8 -4
  733. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +7 -4
  734. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +4 -4
  735. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +451 -287
  736. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +7 -4
  737. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +53 -40
  738. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +62 -55
  739. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +133 -123
  740. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +25 -22
  741. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +28 -27
  742. package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +2 -4
  743. package/src/x_ite/Components/Picking/LinePickSensor.js +253 -10
  744. package/src/x_ite/Components/Picking/PickableGroup.js +121 -10
  745. package/src/x_ite/Components/Picking/PointPickSensor.js +262 -12
  746. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +176 -8
  747. package/src/x_ite/Components/Picking/VolumePickSensor.js +152 -8
  748. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +378 -7
  749. package/src/x_ite/Components/Picking/X3DPickableObject.js +22 -4
  750. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +33 -15
  751. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +7 -4
  752. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +2 -4
  753. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +4 -4
  754. package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +4 -4
  755. package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +3 -5
  756. package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +2 -4
  757. package/src/x_ite/Components/PointingDeviceSensor.js +90 -0
  758. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +282 -0
  759. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +227 -0
  760. package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +217 -0
  761. package/src/x_ite/Components/Rendering/ClipPlane.js +12 -16
  762. package/src/x_ite/Components/Rendering/Color.js +62 -17
  763. package/src/x_ite/Components/Rendering/ColorRGBA.js +65 -17
  764. package/src/x_ite/Components/Rendering/Coordinate.js +4 -4
  765. package/src/x_ite/Components/Rendering/IndexedLineSet.js +68 -81
  766. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +20 -19
  767. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +10 -7
  768. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +21 -23
  769. package/src/x_ite/Components/Rendering/LineSet.js +54 -37
  770. package/src/x_ite/Components/Rendering/Normal.js +65 -13
  771. package/src/x_ite/Components/Rendering/PointSet.js +52 -33
  772. package/src/x_ite/Components/Rendering/TriangleFanSet.js +10 -14
  773. package/src/x_ite/Components/Rendering/TriangleSet.js +2 -4
  774. package/src/x_ite/Components/Rendering/TriangleStripSet.js +9 -13
  775. package/src/x_ite/Components/Rendering/X3DColorNode.js +13 -12
  776. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +118 -79
  777. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +103 -44
  778. package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +2 -4
  779. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +722 -591
  780. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +129 -92
  781. package/src/x_ite/Components/Rendering/X3DNormalNode.js +2 -4
  782. package/src/x_ite/Components/Rendering.js +132 -0
  783. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +116 -7
  784. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +199 -11
  785. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +436 -11
  786. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +118 -10
  787. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +192 -9
  788. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +84 -8
  789. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +20 -14
  790. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +200 -12
  791. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +14 -4
  792. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +424 -17
  793. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +295 -19
  794. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +162 -10
  795. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +135 -8
  796. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +10 -6
  797. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +93 -9
  798. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +5 -8
  799. package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +150 -4
  800. package/src/x_ite/Components/Scripting/Script.js +156 -105
  801. package/src/x_ite/Components/Scripting/X3DScriptNode.js +3 -7
  802. package/src/x_ite/Components/Shaders/ComposedShader.js +38 -53
  803. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +38 -15
  804. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +32 -14
  805. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +32 -14
  806. package/src/x_ite/Components/Shaders/PackagedShader.js +19 -17
  807. package/src/x_ite/Components/Shaders/ProgramShader.js +2 -4
  808. package/src/x_ite/Components/Shaders/ShaderPart.js +38 -26
  809. package/src/x_ite/Components/Shaders/ShaderProgram.js +16 -14
  810. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +836 -699
  811. package/src/x_ite/Components/Shaders/X3DShaderNode.js +61 -101
  812. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +2 -4
  813. package/src/x_ite/Components/Shaders.js +102 -0
  814. package/src/x_ite/Components/Shape/Appearance.js +179 -69
  815. package/src/x_ite/Components/Shape/FillProperties.js +65 -8
  816. package/src/x_ite/Components/Shape/LineProperties.js +29 -9
  817. package/src/x_ite/Components/Shape/Material.js +50 -64
  818. package/src/x_ite/Components/Shape/PointProperties.js +162 -0
  819. package/src/x_ite/Components/Shape/Shape.js +116 -68
  820. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +56 -62
  821. package/src/x_ite/Components/Shape/UnlitMaterial.js +109 -0
  822. package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +2 -4
  823. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +14 -11
  824. package/src/x_ite/Components/Shape/X3DMaterialNode.js +17 -6
  825. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +111 -0
  826. package/src/x_ite/Components/Shape/X3DShapeNode.js +54 -29
  827. package/src/x_ite/Components/Shape.js +108 -0
  828. package/src/x_ite/Components/Sound/AudioClip.js +47 -57
  829. package/src/x_ite/Components/Sound/Sound.js +177 -83
  830. package/src/x_ite/Components/Sound/X3DSoundNode.js +2 -4
  831. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +38 -24
  832. package/src/x_ite/Components/Sound.js +81 -0
  833. package/src/x_ite/Components/Text/FontStyle.js +4 -6
  834. package/src/x_ite/Components/Text/Text.js +21 -18
  835. package/src/x_ite/Components/Text/X3DFontStyleNode.js +58 -93
  836. package/src/x_ite/Components/Text.js +78 -0
  837. package/src/x_ite/Components/Texturing/ImageTexture.js +57 -67
  838. package/src/x_ite/Components/Texturing/MovieTexture.js +59 -70
  839. package/src/x_ite/Components/Texturing/MultiTexture.js +238 -15
  840. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +85 -8
  841. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +47 -8
  842. package/src/x_ite/Components/Texturing/PixelTexture.js +61 -27
  843. package/src/x_ite/Components/Texturing/TextureCoordinate.js +72 -22
  844. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +69 -11
  845. package/src/x_ite/Components/Texturing/TextureProperties.js +98 -69
  846. package/src/x_ite/Components/Texturing/TextureTransform.js +58 -52
  847. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +91 -0
  848. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +183 -0
  849. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +77 -0
  850. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +42 -97
  851. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js.~1~ +209 -0
  852. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +4 -12
  853. package/src/x_ite/Components/Texturing/X3DTextureNode.js +10 -71
  854. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +5 -14
  855. package/src/x_ite/Components/Texturing.js +120 -0
  856. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +90 -8
  857. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +106 -16
  858. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +126 -8
  859. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +75 -25
  860. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +74 -24
  861. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +42 -36
  862. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +19 -16
  863. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +110 -8
  864. package/src/x_ite/Components/Time/TimeSensor.js +68 -38
  865. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +29 -29
  866. package/src/x_ite/Components/Time.js +75 -0
  867. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +311 -12
  868. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +60 -8
  869. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +219 -10
  870. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +134 -7
  871. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +88 -9
  872. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +311 -15
  873. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +87 -7
  874. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +136 -6
  875. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +224 -13
  876. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +193 -12
  877. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +87 -10
  878. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +97 -9
  879. package/src/x_ite/Components/VolumeRendering/VolumeData.js +155 -12
  880. package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +2 -4
  881. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +155 -5
  882. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +64 -4
  883. package/src/x_ite/Components/X_ITE/BlendMode.js +206 -0
  884. package/src/x_ite/Components.js +110 -0
  885. package/src/x_ite/Configuration/ComponentInfo.js +21 -15
  886. package/src/x_ite/Configuration/ComponentInfoArray.js +11 -16
  887. package/src/x_ite/Configuration/ProfileInfo.js +10 -10
  888. package/src/x_ite/Configuration/ProfileInfoArray.js +10 -3
  889. package/src/x_ite/Configuration/SupportedComponents.js +312 -303
  890. package/src/x_ite/Configuration/SupportedNodes.js +44 -716
  891. package/src/x_ite/Configuration/SupportedProfiles.js +196 -168
  892. package/src/x_ite/Configuration/UnitInfo.js +22 -8
  893. package/src/x_ite/Configuration/UnitInfoArray.js +2 -3
  894. package/src/x_ite/Configuration/X3DInfoArray.js +46 -26
  895. package/src/x_ite/DEBUG.js +4 -5
  896. package/src/x_ite/Execution/BindableList.js +99 -34
  897. package/src/x_ite/Execution/BindableStack.js +65 -74
  898. package/src/x_ite/Execution/ExportedNode.js +32 -9
  899. package/src/x_ite/Execution/ImportedNode.js +144 -63
  900. package/src/x_ite/Execution/Scene.js +33 -35
  901. package/src/x_ite/Execution/World.js +31 -29
  902. package/src/x_ite/Execution/X3DExecutionContext.js +452 -194
  903. package/src/x_ite/Execution/X3DScene.js +303 -74
  904. package/src/x_ite/{Error.js → Fallback.js} +25 -24
  905. package/src/x_ite/Fields/ArrayFields.js +315 -112
  906. package/src/x_ite/Fields/SFBool.js +11 -10
  907. package/src/x_ite/Fields/SFColor.js +43 -19
  908. package/src/x_ite/Fields/SFColorRGBA.js +40 -18
  909. package/src/x_ite/Fields/SFDouble.js +17 -10
  910. package/src/x_ite/Fields/SFFloat.js +18 -11
  911. package/src/x_ite/Fields/SFImage.js +47 -38
  912. package/src/x_ite/Fields/SFInt32.js +10 -9
  913. package/src/x_ite/Fields/SFMatrix3.js +24 -17
  914. package/src/x_ite/Fields/SFMatrix4.js +24 -17
  915. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +15 -8
  916. package/src/x_ite/Fields/SFNode.js +119 -39
  917. package/src/x_ite/Fields/SFNodeCache.js +89 -0
  918. package/src/x_ite/Fields/SFRotation.js +42 -27
  919. package/src/x_ite/Fields/SFString.js +14 -15
  920. package/src/x_ite/Fields/SFTime.js +12 -11
  921. package/src/x_ite/Fields/SFVec2.js +17 -14
  922. package/src/x_ite/Fields/SFVec3.js +23 -17
  923. package/src/x_ite/Fields/SFVec4.js +25 -19
  924. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +51 -19
  925. package/src/x_ite/Fields.js +3 -9
  926. package/src/x_ite/InputOutput/FileLoader.js +264 -181
  927. package/src/x_ite/InputOutput/Generator.js +136 -60
  928. package/src/x_ite/Parser/HTMLSupport.js +3 -596
  929. package/src/x_ite/Parser/JSONParser.js +446 -0
  930. package/src/x_ite/Parser/Parser.js +617 -652
  931. package/src/x_ite/Parser/X3DParser.js +176 -0
  932. package/src/x_ite/Parser/XMLParser.js +359 -94
  933. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +19 -3
  934. package/src/x_ite/Prototype/ProtoDeclarationArray.js +19 -3
  935. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +120 -61
  936. package/src/x_ite/Prototype/X3DProtoDeclaration.js +144 -59
  937. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +16 -18
  938. package/src/x_ite/Rendering/DependentRenderer.js +9 -13
  939. package/src/x_ite/Rendering/{DepthBuffer.js → TextureBuffer.js} +84 -53
  940. package/src/x_ite/Rendering/X3DRenderObject.js +640 -531
  941. package/src/x_ite/Routing/RouteArray.js +38 -16
  942. package/src/x_ite/Routing/X3DRoute.js +67 -68
  943. package/src/x_ite/Routing/X3DRoutingContext.js +6 -6
  944. package/src/x_ite/X3D.js +74 -70
  945. package/src/x_ite.config.js +91 -0
  946. package/src/x_ite.css +175 -53
  947. package/src/x_ite.html +128 -439
  948. package/src/x_ite.js +87 -25
  949. package/tests/{SEE.txt → README.md} +1 -0
  950. package/tests/tests.mdproj +1 -1
  951. package/x_ite.min.html +128 -439
  952. package/.bzrignore +0 -3
  953. package/.npmignore +0 -3
  954. package/AUTHORS.md +0 -6
  955. package/STYLE_GUIDE.md +0 -51
  956. package/X_ITE.sln +0 -56
  957. package/X_ITE.userprefs +0 -13
  958. package/build/build.mdproj +0 -24
  959. package/build/dist.pl +0 -97
  960. package/build/parts/end.frag +0 -10
  961. package/build/parts/start.frag +0 -7
  962. package/dist/LICENCES.txt +0 -344
  963. package/dist/dist.mdproj +0 -45
  964. package/dist/images/logo.128.png +0 -0
  965. package/fonts/fonts.mdproj +0 -29
  966. package/meta/meta.mdproj +0 -35
  967. package/require.build.js +0 -15
  968. package/require.build.min.js +0 -15
  969. package/src/images/logo.128.png +0 -0
  970. package/src/lib/jquery-contextMenu/README.md +0 -355
  971. package/src/lib/jquery-contextMenu/dist/images/cut.png +0 -0
  972. package/src/lib/jquery-contextMenu/dist/images/door.png +0 -0
  973. package/src/lib/jquery-contextMenu/dist/images/page_white_add.png +0 -0
  974. package/src/lib/jquery-contextMenu/dist/images/page_white_copy.png +0 -0
  975. package/src/lib/jquery-contextMenu/dist/images/page_white_delete.png +0 -0
  976. package/src/lib/jquery-contextMenu/dist/images/page_white_edit.png +0 -0
  977. package/src/lib/jquery-contextMenu/dist/images/page_white_paste.png +0 -0
  978. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.css +0 -155
  979. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.js +0 -1811
  980. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.css +0 -16
  981. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.css.map +0 -1
  982. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.js +0 -18
  983. package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.js.map +0 -1
  984. package/src/lib/jquery-contextMenu/dist/jquery.ui.position.js +0 -517
  985. package/src/lib/jquery-contextMenu/dist/jquery.ui.position.min.js +0 -4
  986. package/src/lib/jquery-contextMenu/package.json +0 -99
  987. package/src/lib/opentype.js/.npmignore +0 -5
  988. package/src/locale/de.mo +0 -0
  989. package/src/locale/fr.mo +0 -0
  990. package/src/require.config.js +0 -51
  991. package/src/src.mdproj +0 -729
  992. package/src/standard/Networking/URI.js +0 -687
  993. package/src/x_ite/Browser/Shaders/BackgroundSphereFragmentShader.fs +0 -29
  994. package/src/x_ite/Browser/Shaders/BackgroundSphereVertexShader.vs +0 -22
  995. package/src/x_ite/Browser/Shaders/Bits/Line3.h +0 -14
  996. package/src/x_ite/Browser/Shaders/Bits/Plane3.h +0 -47
  997. package/src/x_ite/Browser/Shaders/Bits/Random.h +0 -31
  998. package/src/x_ite/Browser/Shaders/Depth.fs +0 -51
  999. package/src/x_ite/Browser/Shaders/Depth.vs +0 -20
  1000. package/src/x_ite/Browser/Shaders/Gouraud.fs +0 -110
  1001. package/src/x_ite/Browser/Shaders/Gouraud.vs +0 -188
  1002. package/src/x_ite/Browser/Shaders/Phong.fs +0 -255
  1003. package/src/x_ite/Browser/Shaders/Phong.vs +0 -38
  1004. package/src/x_ite/Browser/Shaders/PointSet.fs +0 -64
  1005. package/src/x_ite/Browser/Shaders/Wireframe.fs +0 -61
  1006. package/src/x_ite/Browser/Shaders/Wireframe.vs +0 -55
  1007. package/src/x_ite/Components/H-Anim/HAnimHumanoid.js +0 -118
@@ -48,7 +48,6 @@
48
48
 
49
49
 
50
50
  define ([
51
- "jquery",
52
51
  "x_ite/Base/X3DEventObject",
53
52
  "x_ite/Base/Events",
54
53
  "x_ite/Basic/X3DFieldDefinition",
@@ -57,8 +56,7 @@ define ([
57
56
  "x_ite/Bits/X3DConstants",
58
57
  "x_ite/InputOutput/Generator",
59
58
  ],
60
- function ($,
61
- X3DEventObject,
59
+ function (X3DEventObject,
62
60
  Events,
63
61
  X3DFieldDefinition,
64
62
  FieldDefinitionArray,
@@ -68,11 +66,6 @@ function ($,
68
66
  {
69
67
  "use strict";
70
68
 
71
- function isLive ()
72
- {
73
- return this .isLive_;
74
- }
75
-
76
69
  function X3DBaseNode (executionContext)
77
70
  {
78
71
  if (this .hasOwnProperty ("_executionContext"))
@@ -82,9 +75,10 @@ function ($,
82
75
 
83
76
  this ._executionContext = executionContext;
84
77
  this ._type = [ X3DConstants .X3DBaseNode ];
85
- this ._fields = { };
86
- this ._predefinedFields = { };
87
- this ._userDefinedFields = { };
78
+ this ._fields = new Map ();
79
+ this ._predefinedFields = new Map ();
80
+ this ._aliases = new Map ();
81
+ this ._userDefinedFields = new Map ();
88
82
  this ._cloneCount = 0;
89
83
 
90
84
  // Setup fields.
@@ -92,13 +86,11 @@ function ($,
92
86
  if (this .hasUserDefinedFields ())
93
87
  this .fieldDefinitions = new FieldDefinitionArray (this .fieldDefinitions .getValue () .slice ());
94
88
 
95
- var fieldDefinitions = this .fieldDefinitions .getValue ();
96
-
97
- for (var i = 0, length = fieldDefinitions .length; i < length; ++ i)
98
- this .addField (fieldDefinitions [i]);
89
+ for (const fieldDefinition of this .fieldDefinitions)
90
+ this .addField (fieldDefinition);
99
91
  }
100
92
 
101
- X3DBaseNode .prototype = $.extend (Object .create (X3DEventObject .prototype),
93
+ X3DBaseNode .prototype = Object .assign (Object .create (X3DEventObject .prototype),
102
94
  {
103
95
  constructor: X3DBaseNode,
104
96
  fieldDefinitions: new FieldDefinitionArray ([ ]),
@@ -107,22 +99,31 @@ function ($,
107
99
  _initialized: false,
108
100
  setExecutionContext: function (value)
109
101
  {
110
- // Currently only usefull for Sene.
102
+ // Currently only useful for Sene.
111
103
 
112
104
  this ._executionContext = value;
113
105
  },
106
+ getExecutionContext: function ()
107
+ {
108
+ return this ._executionContext;
109
+ },
114
110
  getScene: function ()
115
111
  {
116
- var executionContext = this ._executionContext;
112
+ let executionContext = this ._executionContext;
117
113
 
118
114
  while (! executionContext .isRootContext ())
119
115
  executionContext = executionContext .getExecutionContext ();
120
116
 
121
117
  return executionContext;
122
118
  },
123
- getExecutionContext: function ()
119
+ getMainScene: function ()
124
120
  {
125
- return this ._executionContext;
121
+ let scene = this ._executionContext .getScene ();
122
+
123
+ while (! scene .isMainContext ())
124
+ scene = scene .getScene ();
125
+
126
+ return scene;
126
127
  },
127
128
  addType: function (value)
128
129
  {
@@ -132,34 +133,52 @@ function ($,
132
133
  {
133
134
  return this ._type;
134
135
  },
136
+ isType: function (types)
137
+ {
138
+ for (const type of this ._type)
139
+ {
140
+ if (types .has (type))
141
+ return true;
142
+ }
143
+
144
+ return false;
145
+ },
135
146
  getInnerNode: function ()
136
147
  {
137
148
  return this;
138
149
  },
139
- isLive: function ()
150
+ isLive: (function ()
140
151
  {
141
- /// Returns the live event of this node.
152
+ function isLive ()
153
+ {
154
+ return this .isLive_;
155
+ }
142
156
 
143
- // Change function.
157
+ return function ()
158
+ {
159
+ /// Returns the live event of this node.
144
160
 
145
- this .isLive = isLive;
161
+ // Change function.
146
162
 
147
- // Add isLive event.
163
+ this .isLive = isLive;
148
164
 
149
- this .addChildObjects ("isLive", new Fields .SFBool (this .getLiveState ()));
165
+ // Add isLive event.
150
166
 
151
- // Event processing is done manually and immediately, so:
152
- this .isLive_ .removeParent (this);
167
+ this .addChildObjects ("isLive", new Fields .SFBool (this .getLiveState ()));
153
168
 
154
- // Connect to execution context.
169
+ // Event processing is done manually and immediately, so:
170
+ this .isLive_ .removeParent (this);
155
171
 
156
- if (this ._executionContext !== this)
157
- this ._executionContext .isLive () .addInterest ("_set_live__", this);
172
+ // Connect to execution context.
158
173
 
159
- // Return field
174
+ if (this ._executionContext !== this)
175
+ this ._executionContext .isLive () .addInterest ("_set_live__", this);
160
176
 
161
- return this .isLive ();
162
- },
177
+ // Return field
178
+
179
+ return this .isLive ();
180
+ };
181
+ })(),
163
182
  setLive: function (value)
164
183
  {
165
184
  /// Sets the own live state of this node. Setting the live state to false
@@ -186,7 +205,7 @@ function ($,
186
205
  },
187
206
  _set_live__: function ()
188
207
  {
189
- var
208
+ const
190
209
  live = this .getLiveState (),
191
210
  isLive = this .isLive ();
192
211
 
@@ -207,6 +226,10 @@ function ($,
207
226
  }
208
227
  }
209
228
  },
229
+ setInitialized: function (value)
230
+ {
231
+ this ._initialized = value;
232
+ },
210
233
  isInitialized: function ()
211
234
  {
212
235
  return this ._initialized;
@@ -218,81 +241,61 @@ function ($,
218
241
 
219
242
  this ._initialized = true;
220
243
 
221
- var fieldDefinitions = this .fieldDefinitions .getValue ();
222
-
223
- for (var i = 0, length = fieldDefinitions .length; i < length; ++ i)
224
- {
225
- var field = this ._fields [fieldDefinitions [i] .name];
226
- field .updateReferences ();
227
- field .setTainted (false);
228
- }
244
+ this ._fields .forEach (field => field .setTainted (false));
229
245
 
230
246
  this .initialize ();
231
247
  },
232
248
  initialize: function () { },
233
- eventsProcessed: function () { },
234
249
  create: function (executionContext)
235
250
  {
236
251
  return new (this .constructor) (executionContext);
237
252
  },
238
- copy: function (executionContext)
253
+ copy: function (instance)
239
254
  {
255
+ const executionContext = instance .getBody ();
256
+
240
257
  // First try to get a named node with the node's name.
241
258
 
242
- var name = this .getName ();
243
-
259
+ const name = this .getName ();
260
+
244
261
  if (name .length)
245
262
  {
246
- try
247
- {
248
- return executionContext .getNamedNode (name) .getValue ();
249
- }
250
- catch (error)
251
- { }
263
+ const namedNode = executionContext .getNamedNodes () .get (name);
264
+
265
+ if (namedNode)
266
+ return namedNode;
252
267
  }
253
268
 
254
269
  // Create copy.
255
270
 
256
- var copy = this .create (executionContext);
271
+ const copy = this .create (executionContext);
257
272
 
258
273
  if (name .length)
259
274
  executionContext .updateNamedNode (name, copy);
260
275
 
261
276
  // Default fields
262
277
 
263
- var predefinedFields = this .getPredefinedFields ();
264
-
265
- for (var name in predefinedFields)
278
+ this .getPredefinedFields () .forEach (function (sourceField)
266
279
  {
267
280
  try
268
281
  {
269
- var
270
- sourceField = predefinedFields [name],
271
- destfield = copy .getField (name);
272
-
273
- destfield .setSet (sourceField .getSet ());
274
-
275
- //if (sourceField .getAccessType () === destfield .getAccessType () and sourceField .getType () === destfield .getType ())
276
- //{
282
+ const destinationField = copy .getField (sourceField .getName ());
277
283
 
278
284
  if (sourceField .hasReferences ())
279
285
  {
280
- var references = sourceField .getReferences ();
281
-
282
286
  // IS relationship
283
- for (var id in references)
287
+
288
+ sourceField .getReferences () .forEach (function (originalReference)
284
289
  {
285
290
  try
286
291
  {
287
- var originalReference = references [id];
288
-
289
- destfield .addReference (executionContext .getField (originalReference .getName ()));
292
+ destinationField .addReference (instance .getField (originalReference .getName ()));
290
293
  }
291
294
  catch (error)
292
295
  {
293
296
  console .error (error .message);
294
297
  }
295
- }
298
+ });
296
299
  }
297
300
  else
298
301
  {
@@ -302,65 +305,74 @@ function ($,
302
305
  {
303
306
  case X3DConstants .SFNode:
304
307
  case X3DConstants .MFNode:
305
- destfield .set (sourceField .copy (executionContext) .getValue ());
308
+ destinationField .set (sourceField .copy (instance) .getValue ());
306
309
  break;
307
310
  default:
308
- destfield .set (sourceField .getValue ());
311
+ destinationField .set (sourceField .getValue (), sourceField .length);
309
312
  break;
310
313
  }
311
314
  }
312
315
  }
316
+
317
+ destinationField .setModificationTime (sourceField .getModificationTime ());
313
318
  }
314
319
  catch (error)
315
320
  {
316
321
  console .log (error .message);
317
322
  }
318
- }
323
+ },
324
+ this);
319
325
 
320
326
  // User-defined fields
321
327
 
322
- var userDefinedFields = this .getUserDefinedFields ();
323
-
324
- for (var name in userDefinedFields)
328
+ this .getUserDefinedFields () .forEach (function (sourceField)
325
329
  {
326
- var
327
- sourceField = userDefinedFields [name],
328
- destfield = sourceField .copy (executionContext);
330
+ const destinationField = sourceField .copy (instance);
329
331
 
330
332
  copy .addUserDefinedField (sourceField .getAccessType (),
331
- sourceField .getName (),
332
- destfield);
333
-
334
- destfield .setSet (sourceField .getSet ());
333
+ sourceField .getName (),
334
+ destinationField);
335
335
 
336
336
  if (sourceField .hasReferences ())
337
337
  {
338
338
  // IS relationship
339
339
 
340
- var references = sourceField .getReferences ();
341
-
342
- for (var id in references)
340
+ sourceField .getReferences () .forEach (function (originalReference)
343
341
  {
344
342
  try
345
343
  {
346
- var originalReference = references [id];
347
-
348
- destfield .addReference (executionContext .getField (originalReference .getName ()));
344
+ destinationField .addReference (instance .getField (originalReference .getName ()));
349
345
  }
350
346
  catch (error)
351
347
  {
352
- console .error ("No reference '" + originalReference .getName () + "' inside execution context " + executionContext .getTypeName () + " '" + executionContext .getName () + "'.");
348
+ console .error ("No reference '" + originalReference .getName () + "' inside execution context " + instance .getTypeName () + " '" + instance .getName () + "'.");
353
349
  }
354
- }
350
+ });
355
351
  }
356
- }
357
352
 
358
- executionContext .addUninitializedNode (copy);
353
+ destinationField .setModificationTime (sourceField .getModificationTime ());
354
+ });
355
+
356
+ copy .setup ();
357
+
358
+ return copy;
359
+ },
360
+ flatCopy: function (executionContext)
361
+ {
362
+ const copy = this .create (executionContext || this .getExecutionContext ());
363
+
364
+ this ._fields .forEach (function (field)
365
+ {
366
+ copy ._fields .get (field .getName ()) .assign (field);
367
+ });
368
+
369
+ copy .setup ();
370
+
359
371
  return copy;
360
372
  },
361
373
  addChildObjects: function (name, field)
362
374
  {
363
- for (var i = 0, length = arguments .length; i < length; i += 2)
375
+ for (let i = 0, length = arguments .length; i < length; i += 2)
364
376
  this .addChildObject (arguments [i], arguments [i + 1]);
365
377
  },
366
378
  addChildObject: function (name, field)
@@ -371,14 +383,14 @@ function ($,
371
383
  Object .defineProperty (this, name + "_",
372
384
  {
373
385
  get: function () { return field; },
374
- set: function (value) { return field .setValue (value); },
386
+ set: function (value) { field .setValue (value); },
375
387
  enumerable: true,
376
388
  configurable: false,
377
389
  });
378
390
  },
379
391
  addField: function (fieldDefinition)
380
392
  {
381
- var
393
+ const
382
394
  accessType = fieldDefinition .accessType,
383
395
  name = fieldDefinition .name,
384
396
  field = fieldDefinition .value .clone ();
@@ -392,51 +404,40 @@ function ($,
392
404
  },
393
405
  setField: function (name, field, userDefined)
394
406
  {
395
- if (field .getAccessType () === X3DConstants .inputOutput)
396
- {
397
- this ._fields ["set_" + name] = field;
398
- this ._fields [name + "_changed"] = field;
399
- }
400
-
401
- this ._fields [name] = field;
407
+ this ._fields .set (name, field);
402
408
 
403
409
  if (! this .getPrivate ())
404
- field .addClones (1);
410
+ field .addCloneCount (1);
405
411
 
406
412
  if (userDefined)
407
413
  {
408
- this ._userDefinedFields [name] = field;
409
- return;
414
+ this ._userDefinedFields .set (name, field);
410
415
  }
411
-
412
- this ._predefinedFields [name] = field;
413
-
414
- Object .defineProperty (this, name + "_",
416
+ else
415
417
  {
416
- get: function () { return field; },
417
- set: function (value) { return field .setValue (value); },
418
- enumerable: true,
419
- configurable: true, // false : non deleteable
420
- });
418
+ this ._predefinedFields .set (name, field);
419
+
420
+ Object .defineProperty (this, name + "_",
421
+ {
422
+ get: function () { return field; },
423
+ set: function (value) { field .setValue (value); },
424
+ enumerable: true,
425
+ configurable: true, // false : non deletable
426
+ });
427
+ }
421
428
  },
422
429
  removeField: function (name)
423
430
  {
424
- var field = this ._fields [name];
431
+ const field = this ._fields .get (name);
425
432
 
426
433
  if (field)
427
434
  {
428
- if (field .getAccessType () === X3DConstants .inputOutput)
429
- {
430
- delete this ._fields ["set_" + field .getName ()];
431
- delete this ._fields [field .getName () + "_changed"];
432
- }
433
-
434
- delete this ._fields [name];
435
- delete this ._userDefinedFields [name];
436
-
437
- var fieldDefinitions = this .fieldDefinitions .getValue ();
438
-
439
- for (var i = 0, length = fieldDefinitions .length; i < length; ++ i)
435
+ this ._fields .delete (name);
436
+ this ._userDefinedFields .delete (name);
437
+
438
+ const fieldDefinitions = this .fieldDefinitions .getValue ();
439
+
440
+ for (let i = 0, length = fieldDefinitions .length; i < length; ++ i)
440
441
  {
441
442
  if (fieldDefinitions [i] .name === name)
442
443
  {
@@ -446,17 +447,50 @@ function ($,
446
447
  }
447
448
 
448
449
  if (! this .getPrivate ())
449
- field .removeClones (1);
450
+ field .removeCloneCount (1);
450
451
  }
451
452
  },
452
- getField: function (name)
453
+ getField: (function ()
453
454
  {
454
- var field = this ._fields [name];
455
-
456
- if (field)
457
- return field;
455
+ const
456
+ set_field = /^set_(.*?)$/,
457
+ field_changed = /^(.*?)_changed$/;
458
+
459
+ return function (name)
460
+ {
461
+ const field = this ._fields .get (name) || this ._aliases .get (name);
462
+
463
+ if (field)
464
+ return field;
465
+
466
+ const match = name .match (set_field);
467
+
468
+ if (match)
469
+ {
470
+ const field = this ._fields .get (match [1]) || this ._aliases .get (match [1]);
458
471
 
459
- throw new Error ("Unkown field '" + name + "' in node class " + this .getTypeName () + ".");
472
+ if (field && field .getAccessType () === X3DConstants .inputOutput)
473
+ return field;
474
+ }
475
+ else
476
+ {
477
+ const match = name .match (field_changed);
478
+
479
+ if (match)
480
+ {
481
+ const field = this ._fields .get (match [1]) || this ._aliases .get (match [1]);
482
+
483
+ if (field && field .getAccessType () === X3DConstants .inputOutput)
484
+ return field;
485
+ }
486
+ }
487
+
488
+ throw new Error ("Unknown field '" + name + "' in node class " + this .getTypeName () + ".");
489
+ };
490
+ })(),
491
+ addAlias: function (alias, field)
492
+ {
493
+ this ._aliases .set (alias, field);
460
494
  },
461
495
  getFieldDefinitions: function ()
462
496
  {
@@ -468,7 +502,7 @@ function ($,
468
502
  },
469
503
  addUserDefinedField: function (accessType, name, field)
470
504
  {
471
- if (this ._fields [name])
505
+ if (this ._fields .has (name))
472
506
  this .removeField (name);
473
507
 
474
508
  field .setTainted (true);
@@ -488,38 +522,58 @@ function ($,
488
522
  {
489
523
  return this ._predefinedFields;
490
524
  },
491
- getChangedFields: function ()
525
+ getChangedFields: function (extended)
492
526
  {
493
- var
527
+ /* param routes: also return fields with routes */
528
+
529
+ const
494
530
  changedFields = [ ],
495
531
  predefinedFields = this .getPredefinedFields ();
496
-
497
- for (var name in predefinedFields)
532
+
533
+ if (extended)
534
+ {
535
+ const userDefinedFields = this .getUserDefinedFields ();
536
+
537
+ userDefinedFields .forEach (function (field)
538
+ {
539
+ changedFields .push (field);
540
+ });
541
+ }
542
+
543
+ predefinedFields .forEach (function (field)
498
544
  {
499
- var field = predefinedFields [name];
545
+ if (extended)
546
+ {
547
+ if (field .getInputRoutes () .size || field .getOutputRoutes () .size)
548
+ {
549
+ changedFields .push (field);
550
+ return;
551
+ }
552
+ }
500
553
 
501
- if ($.isEmptyObject (field .getReferences ()))
554
+ if (field .getReferences () .size === 0)
502
555
  {
503
556
  if (! field .isInitializable ())
504
- continue;
557
+ return;
505
558
 
506
559
  if (this .isDefaultValue (field))
507
- continue;
560
+ return;
508
561
  }
509
562
 
510
563
  changedFields .push (field);
511
- }
564
+ },
565
+ this);
512
566
 
513
567
  return changedFields;
514
568
  },
515
569
  isDefaultValue: function (field)
516
570
  {
517
- var fieldDefinition = this .getFieldDefinitions () .get (field .getName ());
571
+ const fieldDefinition = this .getFieldDefinitions () .get (field .getName ());
518
572
 
519
573
  if (fieldDefinition)
520
574
  return fieldDefinition .value .equals (field);
521
575
 
522
- return ! field .getSet ();
576
+ return ! field .getModificationTime ();
523
577
  },
524
578
  getFields: function ()
525
579
  {
@@ -533,18 +587,15 @@ function ($,
533
587
  {
534
588
  /// Returns true if there are any routes from or to fields of this node otherwise false.
535
589
 
536
- var fieldDefinitions = this .getFieldDefinitions ();
537
-
538
- for (var i = 0, length = fieldDefinitions .length; i < length; ++ i)
590
+ for (const field of this ._fields .values ())
539
591
  {
540
- var field = this .getField (fieldDefinitions [i] .name);
592
+ if (field .getInputRoutes () .size)
593
+ return true;
541
594
 
542
- if ($.isEmptyObject (field .getInputRoutes ()) && $.isEmptyObject (field .getOutputRoutes ()))
543
- continue;
544
-
545
- return true;
595
+ if (field .getOutputRoutes () .size)
596
+ return true;
546
597
  }
547
-
598
+
548
599
  return false;
549
600
  },
550
601
  getPrivate: function ()
@@ -557,68 +608,298 @@ function ($,
557
608
 
558
609
  if (value)
559
610
  {
560
- var fieldDefinitions = this .getFieldDefinitions ();
561
-
562
- for (var i = 0, length = fieldDefinitions .length; i < length; ++ i)
563
- this .getField (fieldDefinitions [i] .name) .removeClones (1);
611
+ this ._fields .forEach (function (field)
612
+ {
613
+ field .removeCloneCount (1);
614
+ });
564
615
  }
565
616
  else
566
617
  {
567
- var fieldDefinitions = this .getFieldDefinitions ();
568
-
569
- for (var i = 0, length = fieldDefinitions .length; i < length; ++ i)
570
- this .getField (fieldDefinitions [i] .name) .addClones (1);
618
+ this ._fields .forEach (function (field)
619
+ {
620
+ field .addCloneCount (1);
621
+ });
571
622
  }
572
623
  },
573
624
  getCloneCount: function ()
574
625
  {
575
626
  return this ._cloneCount;
576
627
  },
577
- addClones: function (count)
628
+ addCloneCount: function (count)
578
629
  {
579
630
  if (count === 0)
580
631
  return;
581
-
632
+
582
633
  this ._cloneCount += count;
583
634
  },
584
- removeClones: function (count)
635
+ removeCloneCount: function (count)
585
636
  {
586
637
  if (count === 0)
587
638
  return;
588
-
639
+
589
640
  this ._cloneCount -= count;
590
641
  },
591
642
  traverse: function () { },
592
- toString: function ()
643
+ toStream: function (stream)
593
644
  {
594
- return this .getTypeName () + " { }";
645
+ stream .string += this .getTypeName () + " { }";
646
+ },
647
+ toVRMLStream: function (stream)
648
+ {
649
+ const generator = Generator .Get (stream);
650
+
651
+ if (generator .IsSharedNode (this))
652
+ {
653
+ stream .string += "NULL";
654
+ return;
655
+ }
656
+
657
+ generator .EnterScope ();
658
+
659
+ const name = generator .Name (this);
660
+
661
+ if (name .length)
662
+ {
663
+ if (generator .ExistsNode (this))
664
+ {
665
+ stream .string += "USE";
666
+ stream .string += " ";
667
+ stream .string += name;
668
+
669
+ generator .LeaveScope ();
670
+ return;
671
+ }
672
+ }
673
+
674
+ if (name .length)
675
+ {
676
+ generator .AddNode (this);
677
+
678
+ stream .string += "DEF";
679
+ stream .string += " ";
680
+ stream .string += name;
681
+ stream .string += " ";
682
+ }
683
+
684
+ stream .string += this .getTypeName ();
685
+ stream .string += " ";
686
+ stream .string += "{";
687
+
688
+ const
689
+ fields = this .getChangedFields (),
690
+ userDefinedFields = this .getUserDefinedFields ();
691
+
692
+ let
693
+ fieldTypeLength = 0,
694
+ accessTypeLength = 0;
695
+
696
+ if (this .hasUserDefinedFields ())
697
+ {
698
+ userDefinedFields .forEach (function (field)
699
+ {
700
+ fieldTypeLength = Math .max (fieldTypeLength, field .getTypeName () .length);
701
+ accessTypeLength = Math .max (accessTypeLength, generator .AccessType (field .getAccessType ()) .length);
702
+ });
703
+
704
+ if (userDefinedFields .size)
705
+ {
706
+ stream .string += "\n";
707
+ generator .IncIndent ();
708
+
709
+ userDefinedFields .forEach (function (field)
710
+ {
711
+ this .toVRMLStreamUserDefinedField (stream, field, fieldTypeLength, accessTypeLength);
712
+
713
+ stream .string += "\n";
714
+ },
715
+ this);
716
+
717
+ generator .DecIndent ();
718
+
719
+ if (fields .length !== 0)
720
+ stream .string += "\n";
721
+ }
722
+ }
723
+
724
+ if (fields .length === 0)
725
+ {
726
+ if (userDefinedFields .size)
727
+ stream .string += generator .Indent ();
728
+ else
729
+ stream .string += " ";
730
+ }
731
+ else
732
+ {
733
+ if (userDefinedFields .size === 0)
734
+ stream .string += "\n";
735
+
736
+ generator .IncIndent ();
737
+
738
+ fields .forEach (function (field)
739
+ {
740
+ this .toVRMLStreamField (stream, field, fieldTypeLength, accessTypeLength);
741
+
742
+ stream .string += "\n";
743
+ },
744
+ this);
745
+
746
+ generator .DecIndent ();
747
+ stream .string += generator .Indent ();
748
+ }
749
+
750
+ stream .string += "}";
751
+
752
+ generator .LeaveScope ();
753
+ },
754
+ toVRMLStreamField: function (stream, field, fieldTypeLength, accessTypeLength)
755
+ {
756
+ const generator = Generator .Get (stream);
757
+
758
+ if (field .getReferences () .size === 0 || ! generator .ExecutionContext ())
759
+ {
760
+ if (field .isInitializable ())
761
+ {
762
+ stream .string += generator .Indent ();
763
+ stream .string += field .getName ();
764
+ stream .string += " ";
765
+
766
+ field .toVRMLStream (stream);
767
+ }
768
+ }
769
+ else
770
+ {
771
+ let
772
+ index = 0,
773
+ initializableReference = false;
774
+
775
+ field .getReferences () .forEach (function (reference)
776
+ {
777
+ initializableReference = initializableReference || reference .isInitializable ();
778
+
779
+ // Output build in reference field
780
+
781
+ stream .string += generator .Indent ();
782
+ stream .string += field .getName ();
783
+ stream .string += " ";
784
+ stream .string += "IS";
785
+ stream .string += " ";
786
+ stream .string += reference .getName ();
787
+
788
+ ++ index;
789
+
790
+ if (index !== field .getReferences () .size)
791
+ stream .string += "\n";
792
+ });
793
+
794
+ if (field .getAccessType () === X3DConstants .inputOutput && ! initializableReference && ! this .isDefaultValue (field))
795
+ {
796
+ // Output build in field
797
+
798
+ stream .string += "\n";
799
+ stream .string += generator .Indent ();
800
+ stream .string += field .getName ();
801
+ stream .string += " ";
802
+
803
+ field .toVRMLStream (stream);
804
+ }
805
+ }
806
+ },
807
+ toVRMLStreamUserDefinedField: function (stream, field, fieldTypeLength, accessTypeLength)
808
+ {
809
+ const generator = Generator .Get (stream);
810
+
811
+ if (field .getReferences () .size === 0 || ! generator .ExecutionContext ())
812
+ {
813
+ stream .string += generator .Indent ();
814
+ stream .string += generator .PadRight (generator .AccessType (field .getAccessType ()), accessTypeLength);
815
+ stream .string += " ";
816
+ stream .string += generator .PadRight (field .getTypeName (), fieldTypeLength);
817
+ stream .string += " ";
818
+ stream .string += field .getName ();
819
+
820
+ if (field .isInitializable ())
821
+ {
822
+ stream .string += " ";
823
+
824
+ field .toVRMLStream (stream);
825
+ }
826
+ }
827
+ else
828
+ {
829
+ let
830
+ index = 0,
831
+ initializableReference = false;
832
+
833
+ field .getReferences () .forEach (function (reference)
834
+ {
835
+ initializableReference = initializableReference || reference .isInitializable ();
836
+
837
+ // Output user defined reference field
838
+
839
+ stream .string += generator .Indent ();
840
+ stream .string += generator .PadRight (generator .AccessType (field .getAccessType ()), accessTypeLength);
841
+ stream .string += " ";
842
+ stream .string += generator .PadRight (field .getTypeName (), fieldTypeLength);
843
+ stream .string += " ";
844
+ stream .string += field .getName ();
845
+ stream .string += " ";
846
+ stream .string += "IS";
847
+ stream .string += " ";
848
+ stream .string += reference .getName ();
849
+
850
+ ++ index;
851
+
852
+ if (index !== field .getReferences () .size)
853
+ stream .string += "\n";
854
+ });
855
+
856
+ if (field .getAccessType () === X3DConstants .inputOutput && ! initializableReference && ! field .isDefaultValue ())
857
+ {
858
+ stream .string += "\n";
859
+ stream .string += generator .Indent ();
860
+ stream .string += generator .PadRight (generator .AccessType (field .getAccessType ()), accessTypeLength);
861
+ stream .string += " ";
862
+ stream .string += generator .PadRight (field .getTypeName (), fieldTypeLength);
863
+ stream .string += " ";
864
+ stream .string += field .getName ();
865
+
866
+ if (field .isInitializable ())
867
+ {
868
+ stream .string += " ";
869
+
870
+ field .toVRMLStream (stream);
871
+ }
872
+ }
873
+ }
595
874
  },
596
875
  toXMLStream: function (stream)
597
876
  {
598
- if (Generator .IsSharedNode (this))
877
+ const generator = Generator .Get (stream);
878
+
879
+ if (generator .IsSharedNode (this))
599
880
  {
600
- stream .string += Generator .Indent ();
601
- stream .string += "<!-- NULL -->";
881
+ stream .string += generator .Indent ();
882
+ stream .string += "<!-- NULL -->";
602
883
  return;
603
884
  }
604
885
 
605
- Generator .EnterScope ();
886
+ generator .EnterScope ();
606
887
 
607
- var name = Generator .Name (this);
888
+ const name = generator .Name (this);
608
889
 
609
890
  if (name .length)
610
891
  {
611
- if (Generator .ExistsNode (this))
892
+ if (generator .ExistsNode (this))
612
893
  {
613
- stream .string += Generator .Indent ();
894
+ stream .string += generator .Indent ();
614
895
  stream .string += "<";
615
896
  stream .string += this .getTypeName ();
616
897
  stream .string += " ";
617
898
  stream .string += "USE='";
618
- stream .string += Generator .XMLEncode (name);
899
+ stream .string += generator .XMLEncode (name);
619
900
  stream .string += "'";
620
901
 
621
- var containerField = Generator .ContainerField ();
902
+ const containerField = generator .ContainerField ();
622
903
 
623
904
  if (containerField)
624
905
  {
@@ -626,33 +907,33 @@ function ($,
626
907
  {
627
908
  stream .string += " ";
628
909
  stream .string += "containerField='";
629
- stream .string += Generator .XMLEncode (containerField .getName ());
910
+ stream .string += generator .XMLEncode (containerField .getName ());
630
911
  stream .string += "'";
631
912
  }
632
913
  }
633
914
 
634
915
  stream .string += "/>";
635
916
 
636
- Generator .LeaveScope ();
917
+ generator .LeaveScope ();
637
918
  return;
638
919
  }
639
920
  }
640
-
641
- stream .string += Generator .Indent ();
921
+
922
+ stream .string += generator .Indent ();
642
923
  stream .string += "<";
643
924
  stream .string += this .getTypeName ();
644
925
 
645
926
  if (name .length)
646
927
  {
647
- Generator .AddNode (this);
928
+ generator .AddNode (this);
648
929
 
649
930
  stream .string += " ";
650
931
  stream .string += "DEF='";
651
- stream .string += Generator .XMLEncode (name);
932
+ stream .string += generator .XMLEncode (name);
652
933
  stream .string += "'";
653
934
  }
654
935
 
655
- var containerField = Generator .ContainerField ();
936
+ const containerField = generator .ContainerField ();
656
937
 
657
938
  if (containerField)
658
939
  {
@@ -660,58 +941,54 @@ function ($,
660
941
  {
661
942
  stream .string += " ";
662
943
  stream .string += "containerField='";
663
- stream .string += Generator .XMLEncode (containerField .getName ());
944
+ stream .string += generator .XMLEncode (containerField .getName ());
664
945
  stream .string += "'";
665
946
  }
666
947
  }
667
948
 
668
- var
949
+ const
669
950
  fields = this .getChangedFields (),
670
951
  userDefinedFields = this .getUserDefinedFields ();
671
952
 
672
- var
953
+ const
673
954
  references = [ ],
674
955
  childNodes = [ ];
675
956
 
676
- var cdata = this .getSourceText ();
957
+ const cdata = this .getSourceText ();
677
958
 
678
959
  if (cdata && cdata .length === 0)
679
960
  cdata = null;
680
961
 
681
- Generator .IncIndent ();
682
- Generator .IncIndent ();
962
+ generator .IncIndent ();
963
+ generator .IncIndent ();
683
964
 
684
- for (var i = 0, length = fields .length; i < length; ++ i)
965
+ for (const field of fields)
685
966
  {
686
- var field = fields [i];
687
-
688
967
  // If the field is a inputOutput and we have as reference only inputOnly or outputOnly we must output the value
689
968
  // for this field.
690
969
 
691
- var mustOutputValue = false;
970
+ let mustOutputValue = false;
692
971
 
693
- if (Generator .ExecutionContext ())
972
+ if (generator .ExecutionContext ())
694
973
  {
695
- if (field .getAccessType () === X3DConstants .inputOutput && ! $.isEmptyObject (field .getReferences ()))
974
+ if (field .getAccessType () === X3DConstants .inputOutput && field .getReferences () .size !== 0)
696
975
  {
697
- var
698
- initializableReference = false,
699
- fieldReferences = field .getReferences ();
700
-
701
- for (var id in fieldReferences)
976
+ let initializableReference = false;
977
+
978
+ field .getReferences () .forEach (function (fieldReference)
702
979
  {
703
- initializableReference |= fieldReferences [id] .isInitializable ();
704
- }
980
+ initializableReference = initializableReference || fieldReference .isInitializable ();
981
+ });
705
982
 
706
983
  if (! initializableReference)
707
- mustOutputValue = true;
984
+ mustOutputValue = ! this .isDefaultValue (field);
708
985
  }
709
986
  }
710
987
 
711
988
  // If we have no execution context we are not in a proto and must not generate IS references the same is true
712
989
  // if the node is a shared node as the node does not belong to the execution context.
713
990
 
714
- if ($.isEmptyObject (field .getReferences ()) || ! Generator .ExecutionContext () || mustOutputValue)
991
+ if (field .getReferences () .size === 0 || ! generator .ExecutionContext () || mustOutputValue)
715
992
  {
716
993
  if (mustOutputValue)
717
994
  references .push (field);
@@ -732,13 +1009,13 @@ function ($,
732
1009
  break;
733
1010
 
734
1011
  stream .string += "\n";
735
- stream .string += Generator .Indent ();
1012
+ stream .string += generator .Indent ();
736
1013
  stream .string += field .getName ();
737
1014
  stream .string += "='";
738
1015
 
739
1016
  field .toXMLStream (stream);
740
1017
 
741
- stream .string += "'";
1018
+ stream .string += "'";
742
1019
  break;
743
1020
  }
744
1021
  }
@@ -750,10 +1027,10 @@ function ($,
750
1027
  }
751
1028
  }
752
1029
 
753
- Generator .DecIndent ();
754
- Generator .DecIndent ();
755
-
756
- if ((! this .hasUserDefinedFields () || userDefinedFields .length === 0) && references .length === 0 && childNodes .length === 0 && ! cdata)
1030
+ generator .DecIndent ();
1031
+ generator .DecIndent ();
1032
+
1033
+ if ((! this .hasUserDefinedFields () || userDefinedFields .size === 0) && references .length === 0 && childNodes .length === 0 && ! cdata)
757
1034
  {
758
1035
  stream .string += "/>";
759
1036
  }
@@ -761,19 +1038,17 @@ function ($,
761
1038
  {
762
1039
  stream .string += ">\n";
763
1040
 
764
- Generator .IncIndent ();
1041
+ generator .IncIndent ();
765
1042
 
766
1043
  if (this .hasUserDefinedFields ())
767
1044
  {
768
- for (var name in userDefinedFields)
1045
+ userDefinedFields .forEach (function (field)
769
1046
  {
770
- var field = userDefinedFields [name];
771
-
772
- stream .string += Generator .Indent ();
1047
+ stream .string += generator .Indent ();
773
1048
  stream .string += "<field";
774
1049
  stream .string += " ";
775
1050
  stream .string += "accessType='";
776
- stream .string += Generator .AccessType (field .getAccessType ());
1051
+ stream .string += generator .AccessType (field .getAccessType ());
777
1052
  stream .string += "'";
778
1053
  stream .string += " ";
779
1054
  stream .string += "type='";
@@ -781,34 +1056,32 @@ function ($,
781
1056
  stream .string += "'";
782
1057
  stream .string += " ";
783
1058
  stream .string += "name='";
784
- stream .string += Generator .XMLEncode (field .getName ());
1059
+ stream .string += generator .XMLEncode (field .getName ());
785
1060
  stream .string += "'";
786
1061
 
787
1062
  // If the field is a inputOutput and we have as reference only inputOnly or outputOnly we must output the value
788
1063
  // for this field.
789
1064
 
790
- var mustOutputValue = false;
1065
+ let mustOutputValue = false;
791
1066
 
792
- if (field .getAccessType () === X3DConstants .inputOutput && ! $.isEmptyObject (field .getReferences ()))
1067
+ if (field .getAccessType () === X3DConstants .inputOutput && field .getReferences () .size !== 0)
793
1068
  {
794
- var
795
- initializableReference = false,
796
- fieldReferences = field .getReferences ();
1069
+ let initializableReference = false;
797
1070
 
798
- for (var id in fieldReferences)
1071
+ field .getReferences () .forEach (function (fieldReference)
799
1072
  {
800
- initializableReference |= fieldReferences [id] .isInitializable ();
801
- }
1073
+ initializableReference = initializableReference || fieldReference .isInitializable ();
1074
+ });
802
1075
 
803
1076
  if (! initializableReference)
804
1077
  mustOutputValue = true;
805
1078
  }
806
1079
 
807
- if (($.isEmptyObject (field .getReferences ()) || ! Generator .ExecutionContext ()) || mustOutputValue)
1080
+ if ((field .getReferences () .size === 0 || ! generator .ExecutionContext ()) || mustOutputValue)
808
1081
  {
809
- if (mustOutputValue && Generator .ExecutionContext ())
1082
+ if (mustOutputValue && generator .ExecutionContext ())
810
1083
  references .push (field);
811
-
1084
+
812
1085
  if (! field .isInitializable () || field .isDefaultValue ())
813
1086
  {
814
1087
  stream .string += "/>\n";
@@ -822,22 +1095,22 @@ function ($,
822
1095
  case X3DConstants .SFNode:
823
1096
  case X3DConstants .MFNode:
824
1097
  {
825
- Generator .PushContainerField (null);
1098
+ generator .PushContainerField (field);
826
1099
 
827
1100
  stream .string += ">\n";
828
1101
 
829
- Generator .IncIndent ();
1102
+ generator .IncIndent ();
830
1103
 
831
1104
  field .toXMLStream (stream);
832
1105
 
833
1106
  stream .string += "\n";
834
1107
 
835
- Generator .DecIndent ();
1108
+ generator .DecIndent ();
836
1109
 
837
- stream .string += Generator .Indent ();
1110
+ stream .string += generator .Indent ();
838
1111
  stream .string += "</field>\n";
839
1112
 
840
- Generator .PopContainerField ();
1113
+ generator .PopContainerField ();
841
1114
  break;
842
1115
  }
843
1116
  default:
@@ -856,135 +1129,125 @@ function ($,
856
1129
  }
857
1130
  else
858
1131
  {
859
- if (Generator .ExecutionContext ())
1132
+ if (generator .ExecutionContext ())
860
1133
  references .push (field);
861
1134
 
862
1135
  stream .string += "/>\n";
863
1136
  }
864
- }
1137
+ });
865
1138
  }
866
-
1139
+
867
1140
  if (references .length)
868
1141
  {
869
- stream .string += Generator .Indent ();
1142
+ stream .string += generator .Indent ();
870
1143
  stream .string += "<IS>";
871
1144
  stream .string += "\n";
872
1145
 
873
- Generator .IncIndent ();
874
-
875
- for (var i = 0, length = references .length; i < length; ++ i)
1146
+ generator .IncIndent ();
1147
+
1148
+ for (const field of references)
876
1149
  {
877
- var
878
- field = references [i],
879
- protoFields = field .getReferences ()
1150
+ const protoFields = field .getReferences ();
880
1151
 
881
- for (var id in protoFields)
1152
+ protoFields .forEach (function (protoField)
882
1153
  {
883
- var protoField = protoFields [id];
884
-
885
- stream .string += Generator .Indent ();
1154
+ stream .string += generator .Indent ();
886
1155
  stream .string += "<connect";
887
1156
  stream .string += " ";
888
1157
  stream .string += "nodeField='";
889
- stream .string += Generator .XMLEncode (field .getName ());
1158
+ stream .string += generator .XMLEncode (field .getName ());
890
1159
  stream .string += "'";
891
1160
  stream .string += " ";
892
1161
  stream .string += "protoField='";
893
- stream .string += Generator .XMLEncode (protoField .getName ());
1162
+ stream .string += generator .XMLEncode (protoField .getName ());
894
1163
  stream .string += "'";
895
1164
  stream .string += "/>\n";
896
- }
1165
+ });
897
1166
  }
898
1167
 
899
- Generator .DecIndent ();
1168
+ generator .DecIndent ();
900
1169
 
901
- stream .string += Generator .Indent ();
1170
+ stream .string += generator .Indent ();
902
1171
  stream .string += "</IS>\n";
903
1172
  }
904
1173
 
905
- for (var i = 0, length = childNodes .length; i < length; ++ i)
1174
+ for (const field of childNodes)
906
1175
  {
907
- var field = childNodes [i];
908
-
909
- Generator .PushContainerField (field);
1176
+ generator .PushContainerField (field);
910
1177
 
911
1178
  field .toXMLStream (stream);
912
1179
 
913
1180
  stream .string += "\n";
914
1181
 
915
- Generator .PopContainerField ();
1182
+ generator .PopContainerField ();
916
1183
  }
917
1184
 
918
1185
  if (cdata)
919
1186
  {
920
- for (var i = 0, length = cdata .length; i < length; ++ i)
1187
+ for (const value of cdata)
921
1188
  {
922
- var value = cdata [i];
923
-
924
1189
  stream .string += "<![CDATA[";
925
- stream .string += Generator .escapeCDATA (value);
1190
+ stream .string += generator .escapeCDATA (value);
926
1191
  stream .string += "]]>\n";
927
1192
  }
928
1193
  }
929
1194
 
930
- Generator .DecIndent ();
1195
+ generator .DecIndent ();
931
1196
 
932
- stream .string += Generator .Indent ();
1197
+ stream .string += generator .Indent ();
933
1198
  stream .string += "</";
934
1199
  stream .string += this .getTypeName ();
935
1200
  stream .string += ">";
936
1201
  }
937
1202
 
938
- Generator .LeaveScope ();
1203
+ generator .LeaveScope ();
939
1204
  },
940
1205
  dispose: function ()
941
1206
  {
942
1207
  // TODO: remove named node if any. (do this in NamedNode)
943
- // TODO: remove improted node if any. (do this in ImportedNode)
1208
+ // TODO: remove imported node if any. (do this in ImportedNode)
944
1209
  // TODO: remove exported node if any. (do this in ExportedNode)
945
1210
  // TODO: remove routes from and to node if any. (do this in Route)
946
1211
 
947
- var
1212
+ const
948
1213
  predefinedFields = this .getPredefinedFields (),
949
1214
  userDefinedFields = this .getUserDefinedFields ();
950
1215
 
951
- for (var name in predefinedFields)
952
- predefinedFields [name] .dispose ();
1216
+ predefinedFields .forEach (function (predefinedField)
1217
+ {
1218
+ predefinedField .dispose ();
1219
+ });
953
1220
 
954
- for (var name in userDefinedFields)
955
- userDefinedFields [name] .dispose ();
1221
+ userDefinedFields .forEach (function (userDefinedField)
1222
+ {
1223
+ userDefinedField .dispose ();
1224
+ });
956
1225
 
957
1226
  // Remove node from entire scene graph.
958
1227
 
959
- var firstParents = this .getParents ();
1228
+ const firstParents = new Set (this .getParents ());
960
1229
 
961
- for (var firstId in firstParents)
1230
+ firstParents .forEach (function (firstParent)
962
1231
  {
963
- var firstParent = firstParents [firstId];
964
-
965
1232
  if (firstParent instanceof Fields .SFNode)
966
1233
  {
967
- var secondParents = firstParent .getParents ();
1234
+ const secondParents = new Set (firstParent .getParents ());
968
1235
 
969
- for (var secondId in secondParents)
1236
+ secondParents .forEach (function (secondParent)
970
1237
  {
971
- var secondParent = secondParents [secondId];
972
-
973
1238
  if (secondParent instanceof Fields .MFNode)
974
1239
  {
975
- var length = secondParent .length;
1240
+ const length = secondParent .length;
976
1241
 
977
1242
  secondParent .erase (secondParent .remove (0, length, firstParent), length);
978
1243
  }
979
- }
1244
+ });
980
1245
 
981
1246
  firstParent .setValue (null);
982
1247
  }
983
- }
1248
+ });
984
1249
  },
985
1250
  });
986
1251
 
987
- X3DBaseNode .prototype .addAlias = X3DBaseNode .prototype .setField;
988
-
989
1252
  return X3DBaseNode;
990
1253
  });