x_ite 4.2.17 → 4.7.7

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 (903) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
  2. package/.vscode/launch.json +15 -0
  3. package/.vscode/settings.json +12 -0
  4. package/.vscode/tasks.json +25 -0
  5. package/Makefile +27 -10
  6. package/README.md +13 -145
  7. package/build/bin/dist.pl +65 -8
  8. package/build/bin/version-number.pl +25 -0
  9. package/build/bin/version.pl +54 -14
  10. package/build/components/annotation.build.js +15 -0
  11. package/build/components/cad-geometry.build.js +15 -0
  12. package/build/components/cube-map-texturing.build.js +15 -0
  13. package/build/components/dis.build.js +15 -0
  14. package/build/components/event-utilities.build.js +15 -0
  15. package/build/components/geometry2d.build.js +15 -0
  16. package/build/components/geospatial.build.js +15 -0
  17. package/build/components/h-anim.build.js +15 -0
  18. package/build/components/key-device-sensor.build.js +15 -0
  19. package/build/components/layout.build.js +15 -0
  20. package/build/components/nurbs.build.js +15 -0
  21. package/build/components/particle-systems.build.js +15 -0
  22. package/build/components/picking.build.js +15 -0
  23. package/build/components/projective-texture-mapping.build.js +15 -0
  24. package/build/components/rigid-body-physics.build.js +15 -0
  25. package/build/components/scripting.build.js +15 -0
  26. package/build/components/texturing-3d.build.js +15 -0
  27. package/build/components/volume-rendering.build.js +15 -0
  28. package/build/components/x_ite.build.js +15 -0
  29. package/build/parts/default.end.frag.js +3 -0
  30. package/build/parts/default.start.frag.js +15 -0
  31. package/build/parts/x_ite.end.frag.js +25 -0
  32. package/build/parts/x_ite.start.frag.js +16 -0
  33. package/build/x_ite.build.js +5 -2
  34. package/dist/{components/texturing-3d.js → assets/components/annotation.js} +341 -263
  35. package/dist/assets/components/annotation.min.js +1 -0
  36. package/dist/{components → assets/components}/cad-geometry.js +180 -76
  37. package/dist/assets/components/cad-geometry.min.js +1 -0
  38. package/dist/assets/components/cube-map-texturing.js +1222 -0
  39. package/dist/assets/components/cube-map-texturing.min.js +1 -0
  40. package/dist/assets/components/dis.js +918 -0
  41. package/dist/assets/components/dis.min.js +1 -0
  42. package/dist/assets/components/event-utilities.js +1124 -0
  43. package/dist/assets/components/event-utilities.min.js +1 -0
  44. package/dist/assets/components/geometry2d.js +2200 -0
  45. package/dist/assets/components/geometry2d.min.js +1 -0
  46. package/dist/{components → assets/components}/geospatial.js +364 -269
  47. package/dist/assets/components/geospatial.min.js +2 -0
  48. package/dist/{components → assets/components}/h-anim.js +224 -62
  49. package/dist/assets/components/h-anim.min.js +1 -0
  50. package/dist/assets/components/key-device-sensor.js +860 -0
  51. package/dist/assets/components/key-device-sensor.min.js +1 -0
  52. package/dist/assets/components/layout.js +2018 -0
  53. package/dist/assets/components/layout.min.js +1 -0
  54. package/dist/{components → assets/components}/nurbs.js +632 -348
  55. package/dist/assets/components/nurbs.min.js +2 -0
  56. package/dist/{components → assets/components}/particle-systems.js +514 -476
  57. package/dist/assets/components/particle-systems.min.js +2 -0
  58. package/dist/assets/components/picking.js +2491 -0
  59. package/dist/assets/components/picking.min.js +1 -0
  60. package/dist/assets/components/projective-texture-mapping.js +823 -0
  61. package/dist/assets/components/projective-texture-mapping.min.js +1 -0
  62. package/dist/assets/components/rigid-body-physics.js +4579 -0
  63. package/dist/assets/components/rigid-body-physics.min.js +59 -0
  64. package/dist/assets/components/scripting.js +816 -0
  65. package/dist/assets/components/scripting.min.js +1 -0
  66. package/dist/assets/components/texturing-3d.js +10064 -0
  67. package/dist/assets/components/texturing-3d.min.js +48 -0
  68. package/dist/assets/components/volume-rendering.js +3976 -0
  69. package/dist/assets/components/volume-rendering.min.js +3 -0
  70. package/dist/assets/components/x_ite.js +295 -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 +15 -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 +107 -0
  151. package/dist/assets/shaders/webgl1/Phong.fs +837 -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 +538 -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 +108 -0
  165. package/dist/assets/shaders/webgl2/Phong.fs +1013 -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 +693 -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 +167 -49
  175. package/dist/x_ite.js +66263 -60020
  176. package/dist/x_ite.min.js +41 -41
  177. package/dist/x_ite.zip +0 -0
  178. package/docs/404.md +5 -0
  179. package/docs/Accessing-the-External-Browser.md +319 -0
  180. package/docs/Browser-Support.md +47 -0
  181. package/docs/Custom-Shaders.md +896 -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 +1295 -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 +1033 -0
  194. package/docs/reference/Browser-Services.md +361 -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 +342 -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 +3 -3
  239. package/package.json +43 -28
  240. package/src/assets/components/annotation.js +87 -0
  241. package/src/{components → assets/components}/cad-geometry.js +0 -0
  242. package/src/{x_ite/Components/CubeMapTexturing.js → assets/components/cube-map-texturing.js} +15 -21
  243. package/src/assets/components/dis.js +84 -0
  244. package/src/{x_ite/Components/EventUtilities.js → assets/components/event-utilities.js} +20 -26
  245. package/src/{x_ite/Components/Geometry2D.js → assets/components/geometry2d.js} +22 -25
  246. package/src/{components → assets/components}/geospatial.js +0 -0
  247. package/src/{components → assets/components}/h-anim.js +9 -7
  248. package/src/{x_ite/Components/KeyDeviceSensor.js → assets/components/key-device-sensor.js} +17 -20
  249. package/src/{x_ite/Components/Layout.js → assets/components/layout.js} +20 -23
  250. package/src/{components → assets/components}/nurbs.js +0 -0
  251. package/src/{components → assets/components}/particle-systems.js +1 -1
  252. package/src/assets/components/picking.js +87 -0
  253. package/src/assets/components/projective-texture-mapping.js +75 -0
  254. package/src/{components → assets/components}/rigid-body-physics.js +7 -2
  255. package/src/{x_ite/Components/Scripting.js → assets/components/scripting.js} +13 -19
  256. package/src/{components → assets/components}/texturing-3d.js +12 -13
  257. package/src/assets/components/volume-rendering.js +118 -0
  258. package/src/{x_ite/Components/X_ITE.js → assets/components/x_ite.js} +12 -30
  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 +21 -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 +147 -0
  339. package/src/assets/shaders/webgl1/Phong.fs +172 -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 +86 -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/{x_ite/Browser/Shaders/Include/Pack.h → assets/shaders/webgl1/include/Pack.glsl} +0 -1
  351. package/src/assets/shaders/webgl1/include/Perlin.glsl +40 -0
  352. package/src/{x_ite/Browser/Shaders/Include/Shadow.h → assets/shaders/webgl1/include/Shadow.glsl} +33 -33
  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 +148 -0
  360. package/src/assets/shaders/webgl2/Phong.fs +170 -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 +85 -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 +33 -12
  376. package/src/dummy.js +1 -0
  377. package/src/example.html +8 -7
  378. package/src/examples.js +21 -3
  379. package/src/lib/ammojs/AmmoJS.js +58 -0
  380. package/src/lib/ammojs/Makefile +4 -0
  381. package/src/lib/ammojs/ammo.idl +72 -1
  382. package/src/lib/ammojs/ammo.js +25 -21
  383. package/src/lib/jpeg/jpeg.js +1019 -0
  384. package/src/lib/nurbs/extras/sample.js +137 -80
  385. package/src/locale/de.po +18 -73
  386. package/src/locale/fr.po +18 -74
  387. package/src/spinner.css +18 -6
  388. package/src/standard/Geospatial/Geodetic.js +43 -43
  389. package/src/standard/Geospatial/ReferenceEllipsoids.js +1 -1
  390. package/src/standard/Geospatial/UniversalTransverseMercator.js +42 -42
  391. package/src/standard/Math/Algorithm.js +22 -39
  392. package/src/standard/Math/Algorithms/Bezier.js +147 -0
  393. package/src/standard/Math/Algorithms/MergeSort.js +2 -2
  394. package/src/standard/Math/Algorithms/PartialSort.js +6 -6
  395. package/src/standard/Math/Algorithms/QuickSort.js +8 -6
  396. package/src/standard/Math/Algorithms/SAT.js +4 -8
  397. package/src/standard/Math/Algorithms/eigendecomposition.js +37 -33
  398. package/src/standard/Math/Geometry/Box2.js +84 -56
  399. package/src/standard/Math/Geometry/Box3.js +400 -358
  400. package/src/standard/Math/Geometry/Camera.js +19 -16
  401. package/src/standard/Math/Geometry/Cylinder3.js +13 -13
  402. package/src/standard/Math/Geometry/Line3.js +34 -34
  403. package/src/standard/Math/Geometry/Plane3.js +15 -15
  404. package/src/standard/Math/Geometry/Sphere3.js +122 -105
  405. package/src/standard/Math/Geometry/Spheroid3.js +1 -1
  406. package/src/standard/Math/Geometry/Triangle2.js +5 -5
  407. package/src/standard/Math/Geometry/Triangle3.js +12 -14
  408. package/src/standard/Math/Geometry/ViewVolume.js +303 -106
  409. package/src/standard/Math/Numbers/Color3.js +26 -23
  410. package/src/standard/Math/Numbers/Color4.js +9 -9
  411. package/src/standard/Math/Numbers/Complex.js +13 -17
  412. package/src/standard/Math/Numbers/Matrix2.js +20 -13
  413. package/src/standard/Math/Numbers/Matrix3.js +129 -205
  414. package/src/standard/Math/Numbers/Matrix4.js +136 -257
  415. package/src/standard/Math/Numbers/Quaternion.js +49 -138
  416. package/src/standard/Math/Numbers/Rotation4.js +42 -55
  417. package/src/standard/Math/Numbers/Vector2.js +32 -115
  418. package/src/standard/Math/Numbers/Vector3.js +46 -151
  419. package/src/standard/Math/Numbers/Vector4.js +44 -163
  420. package/src/standard/Math/Utility/BVH.js +21 -20
  421. package/src/standard/Math/Utility/MatrixStack.js +4 -4
  422. package/src/standard/Networking/BinaryTransport.js +8 -8
  423. package/src/standard/Time/MicroTime.js +81 -0
  424. package/src/standard/Utility/DataStorage.js +11 -14
  425. package/src/standard/Utility/MapUtilities.js +69 -0
  426. package/src/standard/Utility/ObjectCache.js +2 -3
  427. package/src/standard/Utility/Shuffle.js +5 -6
  428. package/src/tests.js +84 -5
  429. package/src/x_ite/Base/Events.js +9 -10
  430. package/src/x_ite/Base/X3DChildObject.js +20 -16
  431. package/src/x_ite/Base/X3DEventObject.js +3 -7
  432. package/src/x_ite/Base/X3DObject.js +44 -27
  433. package/src/x_ite/Basic/FieldDefinitionArray.js +11 -4
  434. package/src/x_ite/Basic/X3DBaseNode.js +427 -246
  435. package/src/x_ite/Basic/X3DField.js +48 -69
  436. package/src/x_ite/Basic/X3DFieldDefinition.js +0 -4
  437. package/src/x_ite/Basic/X3DObjectArrayField.js +102 -108
  438. package/src/x_ite/Basic/X3DTypedArrayField.js +194 -163
  439. package/src/x_ite/Bits/TraverseType.js +2 -5
  440. package/src/x_ite/Bits/X3DConstants.js +11 -2
  441. package/src/x_ite/Browser/Core/BrowserOptions.js +89 -68
  442. package/src/x_ite/Browser/Core/BrowserTimings.js +21 -29
  443. package/src/x_ite/Browser/Core/ContextMenu.js +139 -60
  444. package/src/x_ite/Browser/Core/Notification.js +3 -3
  445. package/src/x_ite/Browser/Core/PrimitiveQuality.js +3 -7
  446. package/src/x_ite/Browser/Core/Shading.js +3 -7
  447. package/src/x_ite/Browser/Core/TextureQuality.js +3 -7
  448. package/src/x_ite/Browser/Core/X3DCoreContext.js +398 -58
  449. package/src/x_ite/Browser/Core/X3DCoreContext.js.~1~ +714 -0
  450. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +17 -28
  451. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +5 -14
  452. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +81 -28
  453. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +53 -44
  454. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +51 -12
  455. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -9
  456. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +98 -0
  457. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +14 -206
  458. package/src/x_ite/Browser/Layout/ScreenText.js +226 -254
  459. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +13 -11
  460. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +15 -9
  461. package/src/x_ite/Browser/NURBS/NURBS.js +84 -72
  462. package/src/x_ite/Browser/Navigation/ExamineViewer.js +125 -83
  463. package/src/x_ite/Browser/Navigation/FlyViewer.js +14 -9
  464. package/src/x_ite/Browser/Navigation/LookAtViewer.js +60 -40
  465. package/src/x_ite/Browser/Navigation/NoneViewer.js +12 -1
  466. package/src/x_ite/Browser/Navigation/PlaneViewer.js +39 -20
  467. package/src/x_ite/Browser/Navigation/WalkViewer.js +21 -6
  468. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +110 -85
  469. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +11 -6
  470. package/src/x_ite/Browser/Navigation/X3DViewer.js +73 -48
  471. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +18 -24
  472. package/src/x_ite/Browser/Networking/urls.js +31 -16
  473. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +5 -6
  474. package/src/x_ite/Browser/Picking/IntersectionType.js +63 -0
  475. package/src/x_ite/Browser/Picking/MatchCriterion.js +64 -0
  476. package/src/x_ite/Browser/Picking/SortOrder.js +65 -0
  477. package/src/x_ite/Browser/Picking/VolumePicker.js +197 -0
  478. package/src/x_ite/Browser/Picking/X3DPickingContext.js +130 -0
  479. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +26 -20
  480. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +17 -10
  481. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +38 -27
  482. package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +70 -0
  483. package/src/x_ite/Browser/Shaders/Shader.js +112 -92
  484. package/src/x_ite/Browser/Shaders/ShaderSource.js +140 -0
  485. package/src/x_ite/Browser/Shaders/ShaderTest.js +92 -77
  486. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +134 -74
  487. package/src/x_ite/Browser/Shape/AlphaMode.js +65 -0
  488. package/src/x_ite/Browser/Shape/LineStipples.xcf +0 -0
  489. package/src/x_ite/Browser/Shape/X3DShapeContext.js +108 -4
  490. package/src/x_ite/Browser/Text/PolygonText.js +153 -170
  491. package/src/x_ite/Browser/Text/TextAlignment.js +3 -7
  492. package/src/x_ite/Browser/Text/X3DTextContext.js +38 -30
  493. package/src/x_ite/Browser/Text/X3DTextGeometry.js +49 -74
  494. package/src/x_ite/Browser/Texturing/MultiTextureFunctionType.js +64 -0
  495. package/src/x_ite/Browser/Texturing/MultiTextureModeType.js +81 -0
  496. package/src/x_ite/Browser/Texturing/MultiTextureSourceType.js +65 -0
  497. package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +73 -0
  498. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +147 -45
  499. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1126 -0
  500. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +686 -0
  501. package/src/x_ite/Browser/Time/X3DTimeContext.js +20 -17
  502. package/src/x_ite/Browser/VERSION.js +1 -1
  503. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.fs +120 -0
  504. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.vs +28 -0
  505. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +114 -0
  506. package/src/x_ite/Browser/X3DBrowser.js +282 -224
  507. package/src/x_ite/Browser/X3DBrowserContext.js +60 -27
  508. package/src/x_ite/Components/Annotation/AnnotationLayer.js +108 -0
  509. package/src/x_ite/Components/Annotation/AnnotationTarget.js +101 -0
  510. package/src/x_ite/Components/Annotation/GroupAnnotation.js +112 -0
  511. package/src/x_ite/Components/Annotation/IconAnnotation.js +110 -0
  512. package/src/x_ite/Components/Annotation/TextAnnotation.js +102 -0
  513. package/src/x_ite/Components/Annotation/URLAnnotation.js +101 -0
  514. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +76 -0
  515. package/src/x_ite/Components/CADGeometry/CADAssembly.js +4 -4
  516. package/src/x_ite/Components/CADGeometry/CADFace.js +135 -30
  517. package/src/x_ite/Components/CADGeometry/CADLayer.js +3 -18
  518. package/src/x_ite/Components/CADGeometry/CADPart.js +4 -8
  519. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +18 -10
  520. package/src/x_ite/Components/Core/WorldInfo.js +16 -6
  521. package/src/x_ite/Components/Core/X3DBindableNode.js +4 -33
  522. package/src/x_ite/Components/Core/X3DChildNode.js +14 -1
  523. package/src/x_ite/Components/Core/X3DNode.js +0 -63
  524. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +128 -168
  525. package/src/x_ite/Components/Core.js +6 -9
  526. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +38 -46
  527. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +31 -30
  528. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +42 -57
  529. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +36 -48
  530. package/src/x_ite/Components/DIS/EspduTransform.js +12 -6
  531. package/src/x_ite/Components/DIS/ReceiverPdu.js +12 -6
  532. package/src/x_ite/Components/DIS/SignalPdu.js +12 -6
  533. package/src/x_ite/Components/DIS/TransmitterPdu.js +12 -6
  534. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +5 -16
  535. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +55 -3
  536. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +3 -5
  537. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +116 -116
  538. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +5 -6
  539. package/src/x_ite/Components/EnvironmentalEffects.js +6 -9
  540. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +116 -117
  541. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +169 -49
  542. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +31 -27
  543. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +12 -5
  544. package/src/x_ite/Components/EnvironmentalSensor.js +6 -9
  545. package/src/x_ite/Components/Followers/ColorChaser.js +1 -3
  546. package/src/x_ite/Components/Followers/ColorDamper.js +1 -3
  547. package/src/x_ite/Components/Followers/CoordinateChaser.js +1 -7
  548. package/src/x_ite/Components/Followers/CoordinateDamper.js +0 -6
  549. package/src/x_ite/Components/Followers/OrientationChaser.js +7 -3
  550. package/src/x_ite/Components/Followers/OrientationDamper.js +7 -3
  551. package/src/x_ite/Components/Followers/PositionChaser.js +1 -3
  552. package/src/x_ite/Components/Followers/PositionChaser2D.js +1 -3
  553. package/src/x_ite/Components/Followers/PositionDamper.js +1 -3
  554. package/src/x_ite/Components/Followers/PositionDamper2D.js +1 -3
  555. package/src/x_ite/Components/Followers/ScalarChaser.js +1 -3
  556. package/src/x_ite/Components/Followers/ScalarDamper.js +1 -3
  557. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +1 -7
  558. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +1 -7
  559. package/src/x_ite/Components/Followers/X3DChaserNode.js +20 -18
  560. package/src/x_ite/Components/Followers/X3DDamperNode.js +5 -7
  561. package/src/x_ite/Components/Followers/X3DFollowerNode.js +5 -7
  562. package/src/x_ite/Components/Followers.js +6 -9
  563. package/src/x_ite/Components/Geometry2D/Arc2D.js +10 -14
  564. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +87 -86
  565. package/src/x_ite/Components/Geometry2D/Circle2D.js +1 -3
  566. package/src/x_ite/Components/Geometry2D/Disk2D.js +43 -58
  567. package/src/x_ite/Components/Geometry2D/Polyline2D.js +4 -8
  568. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +3 -5
  569. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +20 -16
  570. package/src/x_ite/Components/Geometry3D/Cone.js +1 -3
  571. package/src/x_ite/Components/Geometry3D/Cylinder.js +3 -5
  572. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +35 -17
  573. package/src/x_ite/Components/Geometry3D/Extrusion.js +125 -107
  574. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +164 -142
  575. package/src/x_ite/Components/Geometry3D/Sphere.js +3 -5
  576. package/src/x_ite/Components/Geometry3D.js +6 -9
  577. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +7 -7
  578. package/src/x_ite/Components/Geospatial/GeoLOD.js +207 -124
  579. package/src/x_ite/Components/Geospatial/GeoLocation.js +6 -6
  580. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +5 -3
  581. package/src/x_ite/Components/Geospatial/GeoTransform.js +9 -9
  582. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +27 -27
  583. package/src/x_ite/Components/Grouping/Group.js +3 -3
  584. package/src/x_ite/Components/Grouping/StaticGroup.js +49 -56
  585. package/src/x_ite/Components/Grouping/Switch.js +171 -21
  586. package/src/x_ite/Components/Grouping/Transform.js +3 -3
  587. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +68 -15
  588. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +339 -180
  589. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +51 -25
  590. package/src/x_ite/Components/Grouping/X3DTransformNode.js +2 -4
  591. package/src/x_ite/Components/Grouping.js +6 -9
  592. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimDisplacer.js +4 -4
  593. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimHumanoid.js +24 -14
  594. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimJoint.js +44 -20
  595. package/src/x_ite/Components/HAnim/HAnimMotion.js +113 -0
  596. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSegment.js +6 -4
  597. package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSite.js +4 -4
  598. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +8 -7
  599. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +4 -3
  600. package/src/x_ite/Components/Interpolation.js +6 -9
  601. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +1 -3
  602. package/src/x_ite/Components/Layering/Layer.js +12 -2
  603. package/src/x_ite/Components/Layering/LayerSet.js +4 -6
  604. package/src/x_ite/Components/Layering/Viewport.js +8 -8
  605. package/src/x_ite/Components/Layering/X3DLayerNode.js +67 -62
  606. package/src/x_ite/Components/Layering.js +6 -9
  607. package/src/x_ite/Components/Layout/LayoutGroup.js +18 -15
  608. package/src/x_ite/Components/Layout/LayoutLayer.js +10 -5
  609. package/src/x_ite/Components/Layout/ScreenFontStyle.js +12 -14
  610. package/src/x_ite/Components/Layout/ScreenGroup.js +25 -31
  611. package/src/x_ite/Components/Lighting/DirectionalLight.js +27 -22
  612. package/src/x_ite/Components/Lighting/PointLight.js +26 -29
  613. package/src/x_ite/Components/Lighting/SpotLight.js +29 -24
  614. package/src/x_ite/Components/Lighting/X3DLightNode.js +85 -66
  615. package/src/x_ite/Components/Lighting.js +6 -9
  616. package/src/x_ite/Components/NURBS/Contour2D.js +45 -1
  617. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +53 -25
  618. package/src/x_ite/Components/NURBS/NurbsCurve.js +21 -24
  619. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +44 -25
  620. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +19 -21
  621. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +18 -20
  622. package/src/x_ite/Components/NURBS/NurbsSet.js +17 -6
  623. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +2 -2
  624. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +2 -2
  625. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +15 -16
  626. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +38 -1
  627. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +116 -43
  628. package/src/x_ite/Components/Navigation/Billboard.js +12 -11
  629. package/src/x_ite/Components/Navigation/Collision.js +10 -8
  630. package/src/x_ite/Components/Navigation/LOD.js +207 -59
  631. package/src/x_ite/Components/Navigation/NavigationInfo.js +29 -43
  632. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +99 -18
  633. package/src/x_ite/Components/Navigation/Viewpoint.js +15 -15
  634. package/src/x_ite/Components/Navigation/ViewpointGroup.js +12 -5
  635. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +137 -148
  636. package/src/x_ite/Components/Navigation.js +6 -9
  637. package/src/x_ite/Components/Networking/Anchor.js +22 -24
  638. package/src/x_ite/Components/Networking/Inline.js +63 -44
  639. package/src/x_ite/Components/Networking/X3DUrlObject.js +88 -8
  640. package/src/x_ite/Components/Networking.js +6 -9
  641. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +2 -2
  642. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +215 -199
  643. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +44 -39
  644. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +48 -46
  645. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +121 -117
  646. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +21 -18
  647. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +20 -22
  648. package/src/x_ite/Components/Picking/LinePickSensor.js +251 -6
  649. package/src/x_ite/Components/Picking/PickableGroup.js +120 -7
  650. package/src/x_ite/Components/Picking/PointPickSensor.js +260 -8
  651. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +174 -4
  652. package/src/x_ite/Components/Picking/VolumePickSensor.js +150 -4
  653. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +377 -4
  654. package/src/x_ite/Components/Picking/X3DPickableObject.js +21 -1
  655. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +26 -11
  656. package/src/x_ite/Components/PointingDeviceSensor.js +6 -9
  657. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +282 -0
  658. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +227 -0
  659. package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +217 -0
  660. package/src/x_ite/Components/Rendering/ClipPlane.js +8 -10
  661. package/src/x_ite/Components/Rendering/Color.js +22 -13
  662. package/src/x_ite/Components/Rendering/ColorRGBA.js +28 -16
  663. package/src/x_ite/Components/Rendering/IndexedLineSet.js +52 -33
  664. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +17 -14
  665. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +9 -4
  666. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +17 -17
  667. package/src/x_ite/Components/Rendering/LineSet.js +44 -27
  668. package/src/x_ite/Components/Rendering/Normal.js +20 -4
  669. package/src/x_ite/Components/Rendering/PointSet.js +38 -16
  670. package/src/x_ite/Components/Rendering/TriangleFanSet.js +7 -9
  671. package/src/x_ite/Components/Rendering/TriangleStripSet.js +6 -8
  672. package/src/x_ite/Components/Rendering/X3DColorNode.js +16 -1
  673. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +80 -55
  674. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +11 -13
  675. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +622 -477
  676. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +159 -90
  677. package/src/x_ite/Components/Rendering.js +6 -9
  678. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +8 -10
  679. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +142 -26
  680. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +312 -128
  681. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +91 -7
  682. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +189 -4
  683. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +82 -4
  684. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +1 -1
  685. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +49 -37
  686. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +45 -39
  687. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +41 -34
  688. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +25 -20
  689. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +8 -10
  690. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +15 -16
  691. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +2 -4
  692. package/src/x_ite/Components/Scripting/Script.js +147 -101
  693. package/src/x_ite/Components/Scripting/X3DScriptNode.js +2 -4
  694. package/src/x_ite/Components/Shaders/ComposedShader.js +17 -19
  695. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +9 -3
  696. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +10 -3
  697. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +10 -3
  698. package/src/x_ite/Components/Shaders/PackagedShader.js +18 -14
  699. package/src/x_ite/Components/Shaders/ShaderPart.js +30 -18
  700. package/src/x_ite/Components/Shaders/ShaderProgram.js +15 -11
  701. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +681 -558
  702. package/src/x_ite/Components/Shaders/X3DShaderNode.js +48 -12
  703. package/src/x_ite/Components/Shaders.js +15 -18
  704. package/src/x_ite/Components/Shape/Appearance.js +153 -77
  705. package/src/x_ite/Components/Shape/FillProperties.js +63 -4
  706. package/src/x_ite/Components/Shape/LineProperties.js +27 -5
  707. package/src/x_ite/Components/Shape/Material.js +48 -62
  708. package/src/x_ite/Components/Shape/PointProperties.js +162 -0
  709. package/src/x_ite/Components/Shape/Shape.js +86 -39
  710. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +53 -59
  711. package/src/x_ite/Components/Shape/UnlitMaterial.js +109 -0
  712. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +9 -6
  713. package/src/x_ite/Components/Shape/X3DMaterialNode.js +16 -3
  714. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +111 -0
  715. package/src/x_ite/Components/Shape/X3DShapeNode.js +41 -17
  716. package/src/x_ite/Components/Shape.js +22 -16
  717. package/src/x_ite/Components/Sound/AudioClip.js +36 -50
  718. package/src/x_ite/Components/Sound/Sound.js +36 -36
  719. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +18 -6
  720. package/src/x_ite/Components/Sound.js +6 -9
  721. package/src/x_ite/Components/Text/FontStyle.js +10 -12
  722. package/src/x_ite/Components/Text/Text.js +6 -6
  723. package/src/x_ite/Components/Text/X3DFontStyleNode.js +56 -87
  724. package/src/x_ite/Components/Text.js +6 -9
  725. package/src/x_ite/Components/Texturing/ImageTexture.js +48 -63
  726. package/src/x_ite/Components/Texturing/MovieTexture.js +42 -56
  727. package/src/x_ite/Components/Texturing/MultiTexture.js +236 -11
  728. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +73 -6
  729. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +45 -4
  730. package/src/x_ite/Components/Texturing/PixelTexture.js +45 -11
  731. package/src/x_ite/Components/Texturing/TextureCoordinate.js +32 -17
  732. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +68 -8
  733. package/src/x_ite/Components/Texturing/TextureProperties.js +96 -65
  734. package/src/x_ite/Components/Texturing/TextureTransform.js +55 -47
  735. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +91 -0
  736. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +183 -0
  737. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +77 -0
  738. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +42 -95
  739. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js.~1~ +209 -0
  740. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +3 -17
  741. package/src/x_ite/Components/Texturing/X3DTextureNode.js +6 -67
  742. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +4 -11
  743. package/src/x_ite/Components/Texturing.js +31 -25
  744. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +88 -4
  745. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +105 -13
  746. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +124 -4
  747. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +35 -18
  748. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +35 -18
  749. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +41 -31
  750. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +18 -11
  751. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +110 -6
  752. package/src/x_ite/Components/Time/TimeSensor.js +23 -19
  753. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +11 -7
  754. package/src/x_ite/Components/Time.js +6 -9
  755. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +309 -8
  756. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +58 -4
  757. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +217 -6
  758. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +132 -3
  759. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +86 -5
  760. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +309 -11
  761. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +85 -3
  762. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +134 -2
  763. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +222 -9
  764. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +191 -8
  765. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +85 -6
  766. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +95 -5
  767. package/src/x_ite/Components/VolumeRendering/VolumeData.js +153 -8
  768. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +155 -3
  769. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +62 -0
  770. package/src/x_ite/Components/X_ITE/BlendMode.js +51 -51
  771. package/src/x_ite/Components.js +11 -16
  772. package/src/x_ite/Configuration/ComponentInfo.js +12 -6
  773. package/src/x_ite/Configuration/ComponentInfoArray.js +4 -7
  774. package/src/x_ite/Configuration/ProfileInfo.js +10 -6
  775. package/src/x_ite/Configuration/SupportedComponents.js +66 -40
  776. package/src/x_ite/Configuration/SupportedNodes.js +22 -6
  777. package/src/x_ite/Configuration/SupportedProfiles.js +91 -89
  778. package/src/x_ite/Configuration/UnitInfo.js +12 -2
  779. package/src/x_ite/Configuration/X3DInfoArray.js +37 -18
  780. package/src/x_ite/Execution/BindableList.js +63 -38
  781. package/src/x_ite/Execution/BindableStack.js +63 -71
  782. package/src/x_ite/Execution/ExportedNode.js +25 -2
  783. package/src/x_ite/Execution/ImportedNode.js +122 -39
  784. package/src/x_ite/Execution/Scene.js +22 -14
  785. package/src/x_ite/Execution/World.js +22 -19
  786. package/src/x_ite/Execution/X3DExecutionContext.js +381 -221
  787. package/src/x_ite/Execution/X3DScene.js +213 -53
  788. package/src/x_ite/{Error.js → Fallback.js} +26 -29
  789. package/src/x_ite/Fields/ArrayFields.js +176 -57
  790. package/src/x_ite/Fields/SFBool.js +6 -5
  791. package/src/x_ite/Fields/SFColor.js +24 -21
  792. package/src/x_ite/Fields/SFColorRGBA.js +23 -23
  793. package/src/x_ite/Fields/SFDouble.js +6 -5
  794. package/src/x_ite/Fields/SFFloat.js +7 -6
  795. package/src/x_ite/Fields/SFImage.js +37 -36
  796. package/src/x_ite/Fields/SFInt32.js +5 -4
  797. package/src/x_ite/Fields/SFMatrix3.js +19 -15
  798. package/src/x_ite/Fields/SFMatrix4.js +19 -15
  799. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +10 -2
  800. package/src/x_ite/Fields/SFNode.js +105 -53
  801. package/src/x_ite/Fields/SFNodeCache.js +93 -0
  802. package/src/x_ite/Fields/SFRotation.js +31 -27
  803. package/src/x_ite/Fields/SFString.js +9 -8
  804. package/src/x_ite/Fields/SFTime.js +6 -5
  805. package/src/x_ite/Fields/SFVec2.js +17 -13
  806. package/src/x_ite/Fields/SFVec3.js +21 -17
  807. package/src/x_ite/Fields/SFVec4.js +24 -20
  808. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +8 -4
  809. package/src/x_ite/Fields.js +2 -6
  810. package/src/x_ite/InputOutput/FileLoader.js +174 -190
  811. package/src/x_ite/InputOutput/Generator.js +133 -104
  812. package/src/x_ite/Parser/HTMLSupport.js +3 -596
  813. package/src/x_ite/Parser/JSONParser.js +348 -245
  814. package/src/x_ite/Parser/Parser.js +314 -303
  815. package/src/x_ite/Parser/X3DParser.js +41 -20
  816. package/src/x_ite/Parser/XMLParser.js +178 -60
  817. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +17 -0
  818. package/src/x_ite/Prototype/ProtoDeclarationArray.js +17 -0
  819. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +104 -44
  820. package/src/x_ite/Prototype/X3DProtoDeclaration.js +111 -42
  821. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +16 -14
  822. package/src/x_ite/Rendering/DependentRenderer.js +7 -9
  823. package/src/x_ite/Rendering/TextureBuffer.js +24 -19
  824. package/src/x_ite/Rendering/X3DRenderObject.js +455 -428
  825. package/src/x_ite/Routing/RouteArray.js +34 -11
  826. package/src/x_ite/Routing/X3DRoute.js +60 -60
  827. package/src/x_ite/Routing/X3DRoutingContext.js +6 -6
  828. package/src/x_ite/X3D.js +30 -37
  829. package/src/x_ite.config.js +40 -5
  830. package/src/x_ite.css +165 -45
  831. package/src/x_ite.html +49 -29
  832. package/src/x_ite.js +86 -25
  833. package/x_ite.min.html +49 -22
  834. package/.bzrignore +0 -3
  835. package/AUTHORS.md +0 -6
  836. package/STYLE_GUIDE.md +0 -51
  837. package/X_ITE.sln +0 -54
  838. package/X_ITE.userprefs +0 -14
  839. package/build/build.mdproj +0 -47
  840. package/build/cad-geometry.build.js +0 -15
  841. package/build/geospatial.build.js +0 -15
  842. package/build/h-anim.build.js +0 -15
  843. package/build/nurbs.build.js +0 -15
  844. package/build/particle-systems.build.js +0 -15
  845. package/build/parts/cad-geometry.end.frag +0 -2
  846. package/build/parts/cad-geometry.start.frag +0 -6
  847. package/build/parts/geospatial.end.frag +0 -2
  848. package/build/parts/geospatial.start.frag +0 -6
  849. package/build/parts/h-anim.end.frag +0 -2
  850. package/build/parts/h-anim.start.frag +0 -6
  851. package/build/parts/nurbs.end.frag +0 -2
  852. package/build/parts/nurbs.start.frag +0 -6
  853. package/build/parts/particle-systems.end.frag +0 -2
  854. package/build/parts/particle-systems.start.frag +0 -6
  855. package/build/parts/rigid-body-physics.end.frag +0 -2
  856. package/build/parts/rigid-body-physics.start.frag +0 -6
  857. package/build/parts/texturing-3d.end.frag +0 -2
  858. package/build/parts/texturing-3d.start.frag +0 -6
  859. package/build/parts/x_ite.end.frag +0 -9
  860. package/build/parts/x_ite.start.frag +0 -6
  861. package/build/rigid-body-physics.build.js +0 -15
  862. package/build/texturing-3d.build.js +0 -15
  863. package/dist/components/README +0 -3
  864. package/dist/components/cad-geometry.min.js +0 -1
  865. package/dist/components/geospatial.min.js +0 -2
  866. package/dist/components/h-anim.min.js +0 -1
  867. package/dist/components/nurbs.min.js +0 -2
  868. package/dist/components/particle-systems.min.js +0 -2
  869. package/dist/components/rigid-body-physics.js +0 -3761
  870. package/dist/components/rigid-body-physics.min.js +0 -56
  871. package/dist/components/texturing-3d.min.js +0 -1
  872. package/dist/dist.mdproj +0 -61
  873. package/dist/images/logo.128.png +0 -0
  874. package/fonts/fonts.mdproj +0 -29
  875. package/meta/meta.mdproj +0 -35
  876. package/src/components/cad-geometry.config.js +0 -56
  877. package/src/components/geospatial.config.js +0 -56
  878. package/src/components/h-anim.config.js +0 -56
  879. package/src/components/nurbs.config.js +0 -61
  880. package/src/components/particle-systems.config.js +0 -56
  881. package/src/components/rigid-body-physics.config.js +0 -61
  882. package/src/components/texturing-3d.config.js +0 -56
  883. package/src/images/logo.128.png +0 -0
  884. package/src/locale/de.mo +0 -0
  885. package/src/locale/fr.mo +0 -0
  886. package/src/src.mdproj +0 -698
  887. package/src/standard/Networking/URI.js +0 -785
  888. package/src/test.x3d +0 -225
  889. package/src/x_ite/Browser/Shaders/Background.fs +0 -31
  890. package/src/x_ite/Browser/Shaders/Background.vs +0 -23
  891. package/src/x_ite/Browser/Shaders/Depth.fs +0 -32
  892. package/src/x_ite/Browser/Shaders/Depth.vs +0 -21
  893. package/src/x_ite/Browser/Shaders/Gouraud.fs +0 -135
  894. package/src/x_ite/Browser/Shaders/Gouraud.vs +0 -145
  895. package/src/x_ite/Browser/Shaders/Phong.fs +0 -269
  896. package/src/x_ite/Browser/Shaders/Phong.vs +0 -47
  897. package/src/x_ite/Browser/Shaders/PointSet.fs +0 -86
  898. package/src/x_ite/Browser/Shaders/Types.h +0 -55
  899. package/src/x_ite/Browser/Shaders/Wireframe.fs +0 -82
  900. package/src/x_ite/Browser/Shaders/Wireframe.vs +0 -61
  901. package/src/x_ite/Components/DIS.js +0 -91
  902. package/src/x_ite/Components/Picking.js +0 -94
  903. package/src/x_ite/Components/VolumeRendering.js +0 -121
@@ -0,0 +1,1124 @@
1
+ (function (globalModule, globalRequire)
2
+ {
3
+
4
+ if (typeof __filename === "undefined")
5
+ {
6
+ globalModule = undefined;
7
+ globalRequire = undefined;
8
+ }
9
+
10
+ // Undefine global variables.
11
+ var module = { }, exports, process;
12
+
13
+ const
14
+ define = X3D .define,
15
+ require = X3D .require;
16
+ /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
17
+ *******************************************************************************
18
+ *
19
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
20
+ *
21
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
22
+ *
23
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
24
+ *
25
+ * The copyright notice above does not evidence any actual of intended
26
+ * publication of such source code, and is an unpublished work by create3000.
27
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
28
+ * create3000.
29
+ *
30
+ * No permission is granted to copy, distribute, or create derivative works from
31
+ * the contents of this software, in whole or in part, without the prior written
32
+ * permission of create3000.
33
+ *
34
+ * NON-MILITARY USE ONLY
35
+ *
36
+ * All create3000 software are effectively free software with a non-military use
37
+ * restriction. It is free. Well commented source is provided. You may reuse the
38
+ * source in any way you please with the exception anything that uses it must be
39
+ * marked to indicate is contains 'non-military use only' components.
40
+ *
41
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
42
+ *
43
+ * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
44
+ *
45
+ * This file is part of the X_ITE Project.
46
+ *
47
+ * X_ITE is free software: you can redistribute it and/or modify it under the
48
+ * terms of the GNU General Public License version 3 only, as published by the
49
+ * Free Software Foundation.
50
+ *
51
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
52
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
53
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
54
+ * details (a copy is included in the LICENSE file that accompanied this code).
55
+ *
56
+ * You should have received a copy of the GNU General Public License version 3
57
+ * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
58
+ * copy of the GPLv3 License.
59
+ *
60
+ * For Silvio, Joy and Adi.
61
+ *
62
+ ******************************************************************************/
63
+
64
+
65
+ define ('x_ite/Components/EventUtilities/BooleanFilter',[
66
+ "x_ite/Fields",
67
+ "x_ite/Basic/X3DFieldDefinition",
68
+ "x_ite/Basic/FieldDefinitionArray",
69
+ "x_ite/Components/Core/X3DChildNode",
70
+ "x_ite/Bits/X3DConstants",
71
+ ],
72
+ function (Fields,
73
+ X3DFieldDefinition,
74
+ FieldDefinitionArray,
75
+ X3DChildNode,
76
+ X3DConstants)
77
+ {
78
+ "use strict";
79
+
80
+ function BooleanFilter (executionContext)
81
+ {
82
+ X3DChildNode .call (this, executionContext);
83
+
84
+ this .addType (X3DConstants .BooleanFilter);
85
+ }
86
+
87
+ BooleanFilter .prototype = Object .assign (Object .create (X3DChildNode .prototype),
88
+ {
89
+ constructor: BooleanFilter,
90
+ fieldDefinitions: new FieldDefinitionArray ([
91
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
92
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_boolean", new Fields .SFBool ()),
93
+ new X3DFieldDefinition (X3DConstants .outputOnly, "inputTrue", new Fields .SFBool ()),
94
+ new X3DFieldDefinition (X3DConstants .outputOnly, "inputFalse", new Fields .SFBool ()),
95
+ new X3DFieldDefinition (X3DConstants .outputOnly, "inputNegate", new Fields .SFBool ()),
96
+ ]),
97
+ getTypeName: function ()
98
+ {
99
+ return "BooleanFilter";
100
+ },
101
+ getComponentName: function ()
102
+ {
103
+ return "EventUtilities";
104
+ },
105
+ getContainerField: function ()
106
+ {
107
+ return "children";
108
+ },
109
+ initialize: function ()
110
+ {
111
+ X3DChildNode .prototype .initialize .call (this);
112
+
113
+ this .set_boolean_ .addInterest ("set_boolean__", this);
114
+ },
115
+ set_boolean__: function ()
116
+ {
117
+ var value = this .set_boolean_ .getValue ();
118
+
119
+ if (value)
120
+ this .inputTrue_ = true;
121
+
122
+ else
123
+ this .inputFalse_ = false;
124
+
125
+ this .inputNegate_ = ! value;
126
+ },
127
+ });
128
+
129
+ return BooleanFilter;
130
+ });
131
+
132
+
133
+
134
+ /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
135
+ *******************************************************************************
136
+ *
137
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
138
+ *
139
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
140
+ *
141
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
142
+ *
143
+ * The copyright notice above does not evidence any actual of intended
144
+ * publication of such source code, and is an unpublished work by create3000.
145
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
146
+ * create3000.
147
+ *
148
+ * No permission is granted to copy, distribute, or create derivative works from
149
+ * the contents of this software, in whole or in part, without the prior written
150
+ * permission of create3000.
151
+ *
152
+ * NON-MILITARY USE ONLY
153
+ *
154
+ * All create3000 software are effectively free software with a non-military use
155
+ * restriction. It is free. Well commented source is provided. You may reuse the
156
+ * source in any way you please with the exception anything that uses it must be
157
+ * marked to indicate is contains 'non-military use only' components.
158
+ *
159
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
160
+ *
161
+ * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
162
+ *
163
+ * This file is part of the X_ITE Project.
164
+ *
165
+ * X_ITE is free software: you can redistribute it and/or modify it under the
166
+ * terms of the GNU General Public License version 3 only, as published by the
167
+ * Free Software Foundation.
168
+ *
169
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
170
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
171
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
172
+ * details (a copy is included in the LICENSE file that accompanied this code).
173
+ *
174
+ * You should have received a copy of the GNU General Public License version 3
175
+ * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
176
+ * copy of the GPLv3 License.
177
+ *
178
+ * For Silvio, Joy and Adi.
179
+ *
180
+ ******************************************************************************/
181
+
182
+
183
+ define ('x_ite/Components/EventUtilities/X3DSequencerNode',[
184
+ "x_ite/Components/Core/X3DChildNode",
185
+ "x_ite/Bits/X3DConstants",
186
+ "standard/Math/Algorithm",
187
+ ],
188
+ function (X3DChildNode,
189
+ X3DConstants,
190
+ Algorithm)
191
+ {
192
+ "use strict";
193
+
194
+ function X3DSequencerNode (executionContext)
195
+ {
196
+ X3DChildNode .call (this, executionContext);
197
+
198
+ this .addType (X3DConstants .X3DSequencerNode);
199
+
200
+ this .index = -1;
201
+ }
202
+
203
+ X3DSequencerNode .prototype = Object .assign (Object .create (X3DChildNode .prototype),
204
+ {
205
+ constructor: X3DSequencerNode,
206
+ initialize: function ()
207
+ {
208
+ X3DChildNode .prototype .initialize .call (this);
209
+
210
+ this .set_fraction_ .addInterest ("set_fraction__", this);
211
+ this .previous_ .addInterest ("set_previous__", this);
212
+ this .next_ .addInterest ("set_next__", this);
213
+ this .key_ .addInterest ("set_index__", this);
214
+ },
215
+ set_fraction__: function ()
216
+ {
217
+ var
218
+ fraction = this .set_fraction_ .getValue (),
219
+ key = this .key_,
220
+ length = key .length;
221
+
222
+ if (length === 0)
223
+ return;
224
+
225
+ var i = 0;
226
+
227
+ if (length === 1 || fraction <= key [0])
228
+ i = 0;
229
+
230
+ else if (fraction >= key [length - 1])
231
+ i = this .getSize () - 1;
232
+
233
+ else
234
+ {
235
+ var index = Algorithm .upperBound (key, 0, length, fraction, Algorithm .less);
236
+
237
+ i = index - 1;
238
+ }
239
+
240
+ if (i !== this .index)
241
+ {
242
+ if (i < this .getSize ())
243
+ {
244
+ this .sequence (this .index = i);
245
+ }
246
+ }
247
+ },
248
+ set_previous__: function ()
249
+ {
250
+ if (this .previous_ .getValue ())
251
+ {
252
+ if (this .index <= 0)
253
+ this .index = this .getSize () - 1;
254
+
255
+ else
256
+ -- this .index;
257
+
258
+ if (this .index < this .getSize ())
259
+ this .sequence (this .index);
260
+ }
261
+ },
262
+ set_next__: function ()
263
+ {
264
+ if (this .next_ .getValue ())
265
+ {
266
+ if (this .index >= this .getSize () - 1)
267
+ this .index = 0;
268
+
269
+ else
270
+ ++ this .index;
271
+
272
+ if (this .index < this .getSize ())
273
+ this .sequence (this .index);
274
+ }
275
+ },
276
+ set_index__: function ()
277
+ {
278
+ this .index = -1;
279
+ },
280
+ });
281
+
282
+ return X3DSequencerNode;
283
+ });
284
+
285
+
286
+
287
+ /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
288
+ *******************************************************************************
289
+ *
290
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
291
+ *
292
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
293
+ *
294
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
295
+ *
296
+ * The copyright notice above does not evidence any actual of intended
297
+ * publication of such source code, and is an unpublished work by create3000.
298
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
299
+ * create3000.
300
+ *
301
+ * No permission is granted to copy, distribute, or create derivative works from
302
+ * the contents of this software, in whole or in part, without the prior written
303
+ * permission of create3000.
304
+ *
305
+ * NON-MILITARY USE ONLY
306
+ *
307
+ * All create3000 software are effectively free software with a non-military use
308
+ * restriction. It is free. Well commented source is provided. You may reuse the
309
+ * source in any way you please with the exception anything that uses it must be
310
+ * marked to indicate is contains 'non-military use only' components.
311
+ *
312
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
313
+ *
314
+ * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
315
+ *
316
+ * This file is part of the X_ITE Project.
317
+ *
318
+ * X_ITE is free software: you can redistribute it and/or modify it under the
319
+ * terms of the GNU General Public License version 3 only, as published by the
320
+ * Free Software Foundation.
321
+ *
322
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
323
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
324
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
325
+ * details (a copy is included in the LICENSE file that accompanied this code).
326
+ *
327
+ * You should have received a copy of the GNU General Public License version 3
328
+ * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
329
+ * copy of the GPLv3 License.
330
+ *
331
+ * For Silvio, Joy and Adi.
332
+ *
333
+ ******************************************************************************/
334
+
335
+
336
+ define ('x_ite/Components/EventUtilities/BooleanSequencer',[
337
+ "x_ite/Fields",
338
+ "x_ite/Basic/X3DFieldDefinition",
339
+ "x_ite/Basic/FieldDefinitionArray",
340
+ "x_ite/Components/EventUtilities/X3DSequencerNode",
341
+ "x_ite/Bits/X3DConstants",
342
+ ],
343
+ function (Fields,
344
+ X3DFieldDefinition,
345
+ FieldDefinitionArray,
346
+ X3DSequencerNode,
347
+ X3DConstants)
348
+ {
349
+ "use strict";
350
+
351
+ function BooleanSequencer (executionContext)
352
+ {
353
+ X3DSequencerNode .call (this, executionContext);
354
+
355
+ this .addType (X3DConstants .BooleanSequencer);
356
+ }
357
+
358
+ BooleanSequencer .prototype = Object .assign (Object .create (X3DSequencerNode .prototype),
359
+ {
360
+ constructor: BooleanSequencer,
361
+ fieldDefinitions: new FieldDefinitionArray ([
362
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
363
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_fraction", new Fields .SFFloat ()),
364
+ new X3DFieldDefinition (X3DConstants .inputOnly, "previous", new Fields .SFBool ()),
365
+ new X3DFieldDefinition (X3DConstants .inputOnly, "next", new Fields .SFBool ()),
366
+ new X3DFieldDefinition (X3DConstants .inputOutput, "key", new Fields .MFFloat ()),
367
+ new X3DFieldDefinition (X3DConstants .inputOutput, "keyValue", new Fields .MFBool ()),
368
+ new X3DFieldDefinition (X3DConstants .outputOnly, "value_changed", new Fields .SFBool ()),
369
+ ]),
370
+ getTypeName: function ()
371
+ {
372
+ return "BooleanSequencer";
373
+ },
374
+ getComponentName: function ()
375
+ {
376
+ return "EventUtilities";
377
+ },
378
+ getContainerField: function ()
379
+ {
380
+ return "children";
381
+ },
382
+ initialize: function ()
383
+ {
384
+ X3DSequencerNode .prototype .initialize .call (this);
385
+
386
+ this .keyValue_ .addInterest ("set_index__", this);
387
+ },
388
+ getSize: function ()
389
+ {
390
+ return this .keyValue_ .length;
391
+ },
392
+ sequence: function (index)
393
+ {
394
+ this .value_changed_ = this .keyValue_ [index];
395
+ },
396
+ });
397
+
398
+ return BooleanSequencer;
399
+ });
400
+
401
+
402
+
403
+ /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
404
+ *******************************************************************************
405
+ *
406
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
407
+ *
408
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
409
+ *
410
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
411
+ *
412
+ * The copyright notice above does not evidence any actual of intended
413
+ * publication of such source code, and is an unpublished work by create3000.
414
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
415
+ * create3000.
416
+ *
417
+ * No permission is granted to copy, distribute, or create derivative works from
418
+ * the contents of this software, in whole or in part, without the prior written
419
+ * permission of create3000.
420
+ *
421
+ * NON-MILITARY USE ONLY
422
+ *
423
+ * All create3000 software are effectively free software with a non-military use
424
+ * restriction. It is free. Well commented source is provided. You may reuse the
425
+ * source in any way you please with the exception anything that uses it must be
426
+ * marked to indicate is contains 'non-military use only' components.
427
+ *
428
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
429
+ *
430
+ * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
431
+ *
432
+ * This file is part of the X_ITE Project.
433
+ *
434
+ * X_ITE is free software: you can redistribute it and/or modify it under the
435
+ * terms of the GNU General Public License version 3 only, as published by the
436
+ * Free Software Foundation.
437
+ *
438
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
439
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
440
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
441
+ * details (a copy is included in the LICENSE file that accompanied this code).
442
+ *
443
+ * You should have received a copy of the GNU General Public License version 3
444
+ * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
445
+ * copy of the GPLv3 License.
446
+ *
447
+ * For Silvio, Joy and Adi.
448
+ *
449
+ ******************************************************************************/
450
+
451
+
452
+ define ('x_ite/Components/EventUtilities/BooleanToggle',[
453
+ "x_ite/Fields",
454
+ "x_ite/Basic/X3DFieldDefinition",
455
+ "x_ite/Basic/FieldDefinitionArray",
456
+ "x_ite/Components/Core/X3DChildNode",
457
+ "x_ite/Bits/X3DConstants",
458
+ ],
459
+ function (Fields,
460
+ X3DFieldDefinition,
461
+ FieldDefinitionArray,
462
+ X3DChildNode,
463
+ X3DConstants)
464
+ {
465
+ "use strict";
466
+
467
+ function BooleanToggle (executionContext)
468
+ {
469
+ X3DChildNode .call (this, executionContext);
470
+
471
+ this .addType (X3DConstants .BooleanToggle);
472
+ }
473
+
474
+ BooleanToggle .prototype = Object .assign (Object .create (X3DChildNode .prototype),
475
+ {
476
+ constructor: BooleanToggle,
477
+ fieldDefinitions: new FieldDefinitionArray ([
478
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
479
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_boolean", new Fields .SFBool ()),
480
+ new X3DFieldDefinition (X3DConstants .inputOutput, "toggle", new Fields .SFBool ()),
481
+ ]),
482
+ getTypeName: function ()
483
+ {
484
+ return "BooleanToggle";
485
+ },
486
+ getComponentName: function ()
487
+ {
488
+ return "EventUtilities";
489
+ },
490
+ getContainerField: function ()
491
+ {
492
+ return "children";
493
+ },
494
+ initialize: function ()
495
+ {
496
+ X3DChildNode .prototype .initialize .call (this);
497
+
498
+ this .set_boolean_ .addInterest ("set_boolean__", this);
499
+ },
500
+ set_boolean__: function ()
501
+ {
502
+ if (this .set_boolean_ .getValue ())
503
+ this .toggle_ = ! this .toggle_ .getValue ();
504
+ },
505
+ });
506
+
507
+ return BooleanToggle;
508
+ });
509
+
510
+
511
+
512
+ /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
513
+ *******************************************************************************
514
+ *
515
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
516
+ *
517
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
518
+ *
519
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
520
+ *
521
+ * The copyright notice above does not evidence any actual of intended
522
+ * publication of such source code, and is an unpublished work by create3000.
523
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
524
+ * create3000.
525
+ *
526
+ * No permission is granted to copy, distribute, or create derivative works from
527
+ * the contents of this software, in whole or in part, without the prior written
528
+ * permission of create3000.
529
+ *
530
+ * NON-MILITARY USE ONLY
531
+ *
532
+ * All create3000 software are effectively free software with a non-military use
533
+ * restriction. It is free. Well commented source is provided. You may reuse the
534
+ * source in any way you please with the exception anything that uses it must be
535
+ * marked to indicate is contains 'non-military use only' components.
536
+ *
537
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
538
+ *
539
+ * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
540
+ *
541
+ * This file is part of the X_ITE Project.
542
+ *
543
+ * X_ITE is free software: you can redistribute it and/or modify it under the
544
+ * terms of the GNU General Public License version 3 only, as published by the
545
+ * Free Software Foundation.
546
+ *
547
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
548
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
549
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
550
+ * details (a copy is included in the LICENSE file that accompanied this code).
551
+ *
552
+ * You should have received a copy of the GNU General Public License version 3
553
+ * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
554
+ * copy of the GPLv3 License.
555
+ *
556
+ * For Silvio, Joy and Adi.
557
+ *
558
+ ******************************************************************************/
559
+
560
+
561
+ define ('x_ite/Components/EventUtilities/X3DTriggerNode',[
562
+ "x_ite/Components/Core/X3DChildNode",
563
+ "x_ite/Bits/X3DConstants",
564
+ ],
565
+ function (X3DChildNode,
566
+ X3DConstants)
567
+ {
568
+ "use strict";
569
+
570
+ function X3DTriggerNode (executionContext)
571
+ {
572
+ X3DChildNode .call (this, executionContext);
573
+
574
+ this .addType (X3DConstants .X3DTriggerNode);
575
+ }
576
+
577
+ X3DTriggerNode .prototype = Object .assign (Object .create (X3DChildNode .prototype),
578
+ {
579
+ constructor: X3DTriggerNode,
580
+ });
581
+
582
+ return X3DTriggerNode;
583
+ });
584
+
585
+
586
+
587
+ /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
588
+ *******************************************************************************
589
+ *
590
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
591
+ *
592
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
593
+ *
594
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
595
+ *
596
+ * The copyright notice above does not evidence any actual of intended
597
+ * publication of such source code, and is an unpublished work by create3000.
598
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
599
+ * create3000.
600
+ *
601
+ * No permission is granted to copy, distribute, or create derivative works from
602
+ * the contents of this software, in whole or in part, without the prior written
603
+ * permission of create3000.
604
+ *
605
+ * NON-MILITARY USE ONLY
606
+ *
607
+ * All create3000 software are effectively free software with a non-military use
608
+ * restriction. It is free. Well commented source is provided. You may reuse the
609
+ * source in any way you please with the exception anything that uses it must be
610
+ * marked to indicate is contains 'non-military use only' components.
611
+ *
612
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
613
+ *
614
+ * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
615
+ *
616
+ * This file is part of the X_ITE Project.
617
+ *
618
+ * X_ITE is free software: you can redistribute it and/or modify it under the
619
+ * terms of the GNU General Public License version 3 only, as published by the
620
+ * Free Software Foundation.
621
+ *
622
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
623
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
624
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
625
+ * details (a copy is included in the LICENSE file that accompanied this code).
626
+ *
627
+ * You should have received a copy of the GNU General Public License version 3
628
+ * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
629
+ * copy of the GPLv3 License.
630
+ *
631
+ * For Silvio, Joy and Adi.
632
+ *
633
+ ******************************************************************************/
634
+
635
+
636
+ define ('x_ite/Components/EventUtilities/BooleanTrigger',[
637
+ "x_ite/Fields",
638
+ "x_ite/Basic/X3DFieldDefinition",
639
+ "x_ite/Basic/FieldDefinitionArray",
640
+ "x_ite/Components/EventUtilities/X3DTriggerNode",
641
+ "x_ite/Bits/X3DConstants",
642
+ ],
643
+ function (Fields,
644
+ X3DFieldDefinition,
645
+ FieldDefinitionArray,
646
+ X3DTriggerNode,
647
+ X3DConstants)
648
+ {
649
+ "use strict";
650
+
651
+ function BooleanTrigger (executionContext)
652
+ {
653
+ X3DTriggerNode .call (this, executionContext);
654
+
655
+ this .addType (X3DConstants .BooleanTrigger);
656
+ }
657
+
658
+ BooleanTrigger .prototype = Object .assign (Object .create (X3DTriggerNode .prototype),
659
+ {
660
+ constructor: BooleanTrigger,
661
+ fieldDefinitions: new FieldDefinitionArray ([
662
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
663
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_triggerTime", new Fields .SFTime ()),
664
+ new X3DFieldDefinition (X3DConstants .outputOnly, "triggerTrue", new Fields .SFBool ()),
665
+ ]),
666
+ getTypeName: function ()
667
+ {
668
+ return "BooleanTrigger";
669
+ },
670
+ getComponentName: function ()
671
+ {
672
+ return "EventUtilities";
673
+ },
674
+ getContainerField: function ()
675
+ {
676
+ return "children";
677
+ },
678
+ initialize: function ()
679
+ {
680
+ X3DTriggerNode .prototype .initialize .call (this);
681
+
682
+ this .set_triggerTime_ .addInterest ("set_triggerTime__", this);
683
+ },
684
+ set_triggerTime__: function ()
685
+ {
686
+ this .triggerTrue_ = true;
687
+ },
688
+ });
689
+
690
+ return BooleanTrigger;
691
+ });
692
+
693
+
694
+
695
+ /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
696
+ *******************************************************************************
697
+ *
698
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
699
+ *
700
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
701
+ *
702
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
703
+ *
704
+ * The copyright notice above does not evidence any actual of intended
705
+ * publication of such source code, and is an unpublished work by create3000.
706
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
707
+ * create3000.
708
+ *
709
+ * No permission is granted to copy, distribute, or create derivative works from
710
+ * the contents of this software, in whole or in part, without the prior written
711
+ * permission of create3000.
712
+ *
713
+ * NON-MILITARY USE ONLY
714
+ *
715
+ * All create3000 software are effectively free software with a non-military use
716
+ * restriction. It is free. Well commented source is provided. You may reuse the
717
+ * source in any way you please with the exception anything that uses it must be
718
+ * marked to indicate is contains 'non-military use only' components.
719
+ *
720
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
721
+ *
722
+ * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
723
+ *
724
+ * This file is part of the X_ITE Project.
725
+ *
726
+ * X_ITE is free software: you can redistribute it and/or modify it under the
727
+ * terms of the GNU General Public License version 3 only, as published by the
728
+ * Free Software Foundation.
729
+ *
730
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
731
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
732
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
733
+ * details (a copy is included in the LICENSE file that accompanied this code).
734
+ *
735
+ * You should have received a copy of the GNU General Public License version 3
736
+ * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
737
+ * copy of the GPLv3 License.
738
+ *
739
+ * For Silvio, Joy and Adi.
740
+ *
741
+ ******************************************************************************/
742
+
743
+
744
+ define ('x_ite/Components/EventUtilities/IntegerSequencer',[
745
+ "x_ite/Fields",
746
+ "x_ite/Basic/X3DFieldDefinition",
747
+ "x_ite/Basic/FieldDefinitionArray",
748
+ "x_ite/Components/EventUtilities/X3DSequencerNode",
749
+ "x_ite/Bits/X3DConstants",
750
+ ],
751
+ function (Fields,
752
+ X3DFieldDefinition,
753
+ FieldDefinitionArray,
754
+ X3DSequencerNode,
755
+ X3DConstants)
756
+ {
757
+ "use strict";
758
+
759
+ function IntegerSequencer (executionContext)
760
+ {
761
+ X3DSequencerNode .call (this, executionContext);
762
+
763
+ this .addType (X3DConstants .IntegerSequencer);
764
+ }
765
+
766
+ IntegerSequencer .prototype = Object .assign (Object .create (X3DSequencerNode .prototype),
767
+ {
768
+ constructor: IntegerSequencer,
769
+ fieldDefinitions: new FieldDefinitionArray ([
770
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
771
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_fraction", new Fields .SFFloat ()),
772
+ new X3DFieldDefinition (X3DConstants .inputOnly, "previous", new Fields .SFBool ()),
773
+ new X3DFieldDefinition (X3DConstants .inputOnly, "next", new Fields .SFBool ()),
774
+ new X3DFieldDefinition (X3DConstants .inputOutput, "key", new Fields .MFFloat ()),
775
+ new X3DFieldDefinition (X3DConstants .inputOutput, "keyValue", new Fields .MFInt32 ()),
776
+ new X3DFieldDefinition (X3DConstants .outputOnly, "value_changed", new Fields .SFInt32 ()),
777
+ ]),
778
+ getTypeName: function ()
779
+ {
780
+ return "IntegerSequencer";
781
+ },
782
+ getComponentName: function ()
783
+ {
784
+ return "EventUtilities";
785
+ },
786
+ getContainerField: function ()
787
+ {
788
+ return "children";
789
+ },
790
+ initialize: function ()
791
+ {
792
+ X3DSequencerNode .prototype .initialize .call (this);
793
+
794
+ this .keyValue_ .addInterest ("set_index__", this);
795
+ },
796
+ getSize: function ()
797
+ {
798
+ return this .keyValue_ .length;
799
+ },
800
+ sequence: function (index)
801
+ {
802
+ this .value_changed_ = this .keyValue_ [index];
803
+ },
804
+ });
805
+
806
+ return IntegerSequencer;
807
+ });
808
+
809
+
810
+
811
+ /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
812
+ *******************************************************************************
813
+ *
814
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
815
+ *
816
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
817
+ *
818
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
819
+ *
820
+ * The copyright notice above does not evidence any actual of intended
821
+ * publication of such source code, and is an unpublished work by create3000.
822
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
823
+ * create3000.
824
+ *
825
+ * No permission is granted to copy, distribute, or create derivative works from
826
+ * the contents of this software, in whole or in part, without the prior written
827
+ * permission of create3000.
828
+ *
829
+ * NON-MILITARY USE ONLY
830
+ *
831
+ * All create3000 software are effectively free software with a non-military use
832
+ * restriction. It is free. Well commented source is provided. You may reuse the
833
+ * source in any way you please with the exception anything that uses it must be
834
+ * marked to indicate is contains 'non-military use only' components.
835
+ *
836
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
837
+ *
838
+ * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
839
+ *
840
+ * This file is part of the X_ITE Project.
841
+ *
842
+ * X_ITE is free software: you can redistribute it and/or modify it under the
843
+ * terms of the GNU General Public License version 3 only, as published by the
844
+ * Free Software Foundation.
845
+ *
846
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
847
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
848
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
849
+ * details (a copy is included in the LICENSE file that accompanied this code).
850
+ *
851
+ * You should have received a copy of the GNU General Public License version 3
852
+ * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
853
+ * copy of the GPLv3 License.
854
+ *
855
+ * For Silvio, Joy and Adi.
856
+ *
857
+ ******************************************************************************/
858
+
859
+
860
+ define ('x_ite/Components/EventUtilities/IntegerTrigger',[
861
+ "x_ite/Fields",
862
+ "x_ite/Basic/X3DFieldDefinition",
863
+ "x_ite/Basic/FieldDefinitionArray",
864
+ "x_ite/Components/EventUtilities/X3DTriggerNode",
865
+ "x_ite/Bits/X3DConstants",
866
+ ],
867
+ function (Fields,
868
+ X3DFieldDefinition,
869
+ FieldDefinitionArray,
870
+ X3DTriggerNode,
871
+ X3DConstants)
872
+ {
873
+ "use strict";
874
+
875
+ function IntegerTrigger (executionContext)
876
+ {
877
+ X3DTriggerNode .call (this, executionContext);
878
+
879
+ this .addType (X3DConstants .IntegerTrigger);
880
+ }
881
+
882
+ IntegerTrigger .prototype = Object .assign (Object .create (X3DTriggerNode .prototype),
883
+ {
884
+ constructor: IntegerTrigger,
885
+ fieldDefinitions: new FieldDefinitionArray ([
886
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
887
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_boolean", new Fields .SFBool ()),
888
+ new X3DFieldDefinition (X3DConstants .inputOutput, "integerKey", new Fields .SFInt32 (-1)),
889
+ new X3DFieldDefinition (X3DConstants .outputOnly, "triggerValue", new Fields .SFInt32 ()),
890
+ ]),
891
+ getTypeName: function ()
892
+ {
893
+ return "IntegerTrigger";
894
+ },
895
+ getComponentName: function ()
896
+ {
897
+ return "EventUtilities";
898
+ },
899
+ getContainerField: function ()
900
+ {
901
+ return "children";
902
+ },
903
+ initialize: function ()
904
+ {
905
+ X3DTriggerNode .prototype .initialize .call (this);
906
+
907
+ this .set_boolean_ .addInterest ("set_boolean__", this);
908
+ },
909
+ set_boolean__: function ()
910
+ {
911
+ this .triggerValue_ = this .integerKey_;
912
+ },
913
+ });
914
+
915
+ return IntegerTrigger;
916
+ });
917
+
918
+
919
+
920
+ /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
921
+ *******************************************************************************
922
+ *
923
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
924
+ *
925
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
926
+ *
927
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
928
+ *
929
+ * The copyright notice above does not evidence any actual of intended
930
+ * publication of such source code, and is an unpublished work by create3000.
931
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
932
+ * create3000.
933
+ *
934
+ * No permission is granted to copy, distribute, or create derivative works from
935
+ * the contents of this software, in whole or in part, without the prior written
936
+ * permission of create3000.
937
+ *
938
+ * NON-MILITARY USE ONLY
939
+ *
940
+ * All create3000 software are effectively free software with a non-military use
941
+ * restriction. It is free. Well commented source is provided. You may reuse the
942
+ * source in any way you please with the exception anything that uses it must be
943
+ * marked to indicate is contains 'non-military use only' components.
944
+ *
945
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
946
+ *
947
+ * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
948
+ *
949
+ * This file is part of the X_ITE Project.
950
+ *
951
+ * X_ITE is free software: you can redistribute it and/or modify it under the
952
+ * terms of the GNU General Public License version 3 only, as published by the
953
+ * Free Software Foundation.
954
+ *
955
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
956
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
957
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
958
+ * details (a copy is included in the LICENSE file that accompanied this code).
959
+ *
960
+ * You should have received a copy of the GNU General Public License version 3
961
+ * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
962
+ * copy of the GPLv3 License.
963
+ *
964
+ * For Silvio, Joy and Adi.
965
+ *
966
+ ******************************************************************************/
967
+
968
+
969
+ define ('x_ite/Components/EventUtilities/TimeTrigger',[
970
+ "x_ite/Fields",
971
+ "x_ite/Basic/X3DFieldDefinition",
972
+ "x_ite/Basic/FieldDefinitionArray",
973
+ "x_ite/Components/EventUtilities/X3DTriggerNode",
974
+ "x_ite/Bits/X3DConstants",
975
+ ],
976
+ function (Fields,
977
+ X3DFieldDefinition,
978
+ FieldDefinitionArray,
979
+ X3DTriggerNode,
980
+ X3DConstants)
981
+ {
982
+ "use strict";
983
+
984
+ function TimeTrigger (executionContext)
985
+ {
986
+ X3DTriggerNode .call (this, executionContext);
987
+
988
+ this .addType (X3DConstants .TimeTrigger);
989
+ }
990
+
991
+ TimeTrigger .prototype = Object .assign (Object .create (X3DTriggerNode .prototype),
992
+ {
993
+ constructor: TimeTrigger,
994
+ fieldDefinitions: new FieldDefinitionArray ([
995
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
996
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_boolean", new Fields .SFBool ()),
997
+ new X3DFieldDefinition (X3DConstants .outputOnly, "triggerTime", new Fields .SFTime ()),
998
+ ]),
999
+ getTypeName: function ()
1000
+ {
1001
+ return "TimeTrigger";
1002
+ },
1003
+ getComponentName: function ()
1004
+ {
1005
+ return "EventUtilities";
1006
+ },
1007
+ getContainerField: function ()
1008
+ {
1009
+ return "children";
1010
+ },
1011
+ initialize: function ()
1012
+ {
1013
+ X3DTriggerNode .prototype .initialize .call (this);
1014
+
1015
+ this .set_boolean_ .addInterest ("set_boolean__", this);
1016
+ },
1017
+ set_boolean__: function ()
1018
+ {
1019
+ this .triggerTime_ = this .getBrowser () .getCurrentTime ();
1020
+ },
1021
+ });
1022
+
1023
+ return TimeTrigger;
1024
+ });
1025
+
1026
+
1027
+
1028
+ /*******************************************************************************
1029
+ *
1030
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1031
+ *
1032
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
1033
+ *
1034
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
1035
+ *
1036
+ * The copyright notice above does not evidence any actual of intended
1037
+ * publication of such source code, and is an unpublished work by create3000.
1038
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
1039
+ * create3000.
1040
+ *
1041
+ * No permission is granted to copy, distribute, or create derivative works from
1042
+ * the contents of this software, in whole or in part, without the prior written
1043
+ * permission of create3000.
1044
+ *
1045
+ * NON-MILITARY USE ONLY
1046
+ *
1047
+ * All create3000 software are effectively free software with a non-military use
1048
+ * restriction. It is free. Well commented source is provided. You may reuse the
1049
+ * source in any way you please with the exception anything that uses it must be
1050
+ * marked to indicate is contains 'non-military use only' components.
1051
+ *
1052
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1053
+ *
1054
+ * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
1055
+ *
1056
+ * This file is part of the X_ITE Project.
1057
+ *
1058
+ * X_ITE is free software: you can redistribute it and/or modify it under the
1059
+ * terms of the GNU General Public License version 3 only, as published by the
1060
+ * Free Software Foundation.
1061
+ *
1062
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
1063
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
1064
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
1065
+ * details (a copy is included in the LICENSE file that accompanied this code).
1066
+ *
1067
+ * You should have received a copy of the GNU General Public License version 3
1068
+ * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
1069
+ * copy of the GPLv3 License.
1070
+ *
1071
+ * For Silvio, Joy and Adi.
1072
+ *
1073
+ ******************************************************************************/
1074
+
1075
+
1076
+ define (require .getComponentUrl ("event-utilities"), [
1077
+ "x_ite/Components",
1078
+ "x_ite/Components/EventUtilities/BooleanFilter",
1079
+ "x_ite/Components/EventUtilities/BooleanSequencer",
1080
+ "x_ite/Components/EventUtilities/BooleanToggle",
1081
+ "x_ite/Components/EventUtilities/BooleanTrigger",
1082
+ "x_ite/Components/EventUtilities/IntegerSequencer",
1083
+ "x_ite/Components/EventUtilities/IntegerTrigger",
1084
+ "x_ite/Components/EventUtilities/TimeTrigger",
1085
+ "x_ite/Components/EventUtilities/X3DSequencerNode",
1086
+ "x_ite/Components/EventUtilities/X3DTriggerNode",
1087
+ ],
1088
+ function (Components,
1089
+ BooleanFilter,
1090
+ BooleanSequencer,
1091
+ BooleanToggle,
1092
+ BooleanTrigger,
1093
+ IntegerSequencer,
1094
+ IntegerTrigger,
1095
+ TimeTrigger,
1096
+ X3DSequencerNode,
1097
+ X3DTriggerNode)
1098
+ {
1099
+ "use strict";
1100
+
1101
+ Components .addComponent ({
1102
+ name: "EventUtilities",
1103
+ types:
1104
+ {
1105
+ BooleanFilter: BooleanFilter,
1106
+ BooleanSequencer: BooleanSequencer,
1107
+ BooleanToggle: BooleanToggle,
1108
+ BooleanTrigger: BooleanTrigger,
1109
+ IntegerSequencer: IntegerSequencer,
1110
+ IntegerTrigger: IntegerTrigger,
1111
+ TimeTrigger: TimeTrigger,
1112
+ },
1113
+ abstractTypes:
1114
+ {
1115
+ X3DSequencerNode: X3DSequencerNode,
1116
+ X3DTriggerNode: X3DTriggerNode,
1117
+ },
1118
+ });
1119
+ });
1120
+
1121
+
1122
+
1123
+ })
1124
+ (typeof module === "object" ? module : undefined, typeof require === "function" ? require : undefined);