x_ite 4.7.12 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (759) hide show
  1. package/.vscode/settings.json +9 -2
  2. package/Makefile +27 -24
  3. package/build/bin/version-number.pl +1 -1
  4. package/build/bin/version.pl +3 -3
  5. package/build/parts/default.start.frag.js +2 -2
  6. package/build/parts/x_ite.end.frag.js +1 -2
  7. package/build/parts/x_ite.start.frag.js +4 -7
  8. package/dist/assets/components/annotation.js +312 -312
  9. package/dist/assets/components/annotation.min.js +1 -1
  10. package/dist/assets/components/cad-geometry.js +536 -538
  11. package/dist/assets/components/cad-geometry.min.js +1 -1
  12. package/dist/assets/components/cube-map-texturing.js +797 -796
  13. package/dist/assets/components/cube-map-texturing.min.js +1 -1
  14. package/dist/assets/components/dis.js +487 -472
  15. package/dist/assets/components/dis.min.js +1 -1
  16. package/dist/assets/components/event-utilities.js +486 -505
  17. package/dist/assets/components/event-utilities.min.js +1 -1
  18. package/dist/assets/components/geometry2d.js +1221 -1271
  19. package/dist/assets/components/geometry2d.min.js +1 -1
  20. package/dist/assets/components/geospatial.js +2657 -2653
  21. package/dist/assets/components/geospatial.min.js +1 -2
  22. package/dist/assets/components/h-anim.js +640 -640
  23. package/dist/assets/components/h-anim.min.js +1 -1
  24. package/dist/assets/components/key-device-sensor.js +547 -549
  25. package/dist/assets/components/key-device-sensor.min.js +1 -1
  26. package/dist/assets/components/layout.js +1435 -1433
  27. package/dist/assets/components/layout.min.js +1 -1
  28. package/dist/assets/components/nurbs.js +3942 -3964
  29. package/dist/assets/components/nurbs.min.js +1 -2
  30. package/dist/assets/components/particle-systems.js +3227 -3238
  31. package/dist/assets/components/particle-systems.min.js +1 -2
  32. package/dist/assets/components/picking.js +1704 -1712
  33. package/dist/assets/components/picking.min.js +1 -1
  34. package/dist/assets/components/projective-texture-mapping.js +553 -553
  35. package/dist/assets/components/projective-texture-mapping.min.js +1 -1
  36. package/dist/assets/components/rigid-body-physics.js +3255 -3265
  37. package/dist/assets/components/rigid-body-physics.min.js +1 -59
  38. package/dist/assets/components/scripting.js +544 -549
  39. package/dist/assets/components/scripting.min.js +1 -1
  40. package/dist/assets/components/texturing-3d.js +2716 -2651
  41. package/dist/assets/components/texturing-3d.min.js +131 -48
  42. package/dist/assets/components/volume-rendering.js +2815 -2804
  43. package/dist/assets/components/volume-rendering.min.js +1 -3
  44. package/dist/assets/components/x_ite.js +142 -144
  45. package/dist/assets/components/x_ite.min.js +1 -1
  46. package/dist/assets/shaders/webgl1/Gouraud.fs +52 -15
  47. package/dist/assets/shaders/webgl1/Gouraud.vs +8 -9
  48. package/dist/assets/shaders/webgl1/{Wireframe.fs → Line.fs} +0 -0
  49. package/dist/assets/shaders/webgl1/{Wireframe.vs → Line.vs} +1 -1
  50. package/dist/assets/shaders/webgl1/PBR.fs +785 -0
  51. package/dist/assets/shaders/webgl1/PBR.vs +37 -0
  52. package/dist/assets/shaders/webgl1/Phong.fs +204 -32
  53. package/dist/assets/shaders/webgl1/Phong.vs +2 -3
  54. package/dist/assets/shaders/webgl1/{PointSet.fs → Point.fs} +59 -33
  55. package/dist/assets/shaders/webgl1/{PointSet.vs → Point.vs} +2 -2
  56. package/dist/assets/shaders/webgl1/Unlit.fs +73 -18
  57. package/dist/assets/shaders/webgl1/Unlit.vs +2 -3
  58. package/dist/assets/shaders/webgl2/Gouraud.fs +31 -19
  59. package/dist/assets/shaders/webgl2/Gouraud.vs +8 -9
  60. package/dist/assets/shaders/webgl2/{Wireframe.fs → Line.fs} +0 -0
  61. package/dist/assets/shaders/webgl2/{Wireframe.vs → Line.vs} +1 -1
  62. package/dist/assets/shaders/webgl2/PBR.fs +913 -0
  63. package/dist/assets/shaders/webgl2/PBR.vs +37 -0
  64. package/dist/assets/shaders/webgl2/Phong.fs +196 -35
  65. package/dist/assets/shaders/webgl2/Phong.vs +2 -3
  66. package/dist/assets/shaders/webgl2/{PointSet.fs → Point.fs} +87 -86
  67. package/dist/assets/shaders/webgl2/{PointSet.vs → Point.vs} +2 -2
  68. package/dist/assets/shaders/webgl2/Unlit.fs +55 -22
  69. package/dist/assets/shaders/webgl2/Unlit.vs +2 -3
  70. package/dist/example.html +2 -2
  71. package/dist/x_ite.css +316 -328
  72. package/dist/x_ite.js +55663 -52034
  73. package/dist/x_ite.min.js +79 -41
  74. package/dist/x_ite.zip +0 -0
  75. package/docs/Custom-Shaders.md +4 -3
  76. package/docs/_config.yml +1 -1
  77. package/docs/index.md +60 -7
  78. package/package.json +20 -20
  79. package/src/assets/components/annotation.js +24 -24
  80. package/src/assets/components/cad-geometry.js +24 -25
  81. package/src/assets/components/cube-map-texturing.js +18 -19
  82. package/src/assets/components/dis.js +22 -23
  83. package/src/assets/components/event-utilities.js +28 -29
  84. package/src/assets/components/geometry2d.js +28 -29
  85. package/src/assets/components/geospatial.js +34 -35
  86. package/src/assets/components/h-anim.js +22 -22
  87. package/src/assets/components/key-device-sensor.js +18 -19
  88. package/src/assets/components/layout.js +24 -25
  89. package/src/assets/components/nurbs.js +44 -45
  90. package/src/assets/components/particle-systems.js +36 -37
  91. package/src/assets/components/picking.js +25 -25
  92. package/src/assets/components/projective-texture-mapping.js +16 -16
  93. package/src/assets/components/rigid-body-physics.js +48 -48
  94. package/src/assets/components/scripting.js +14 -15
  95. package/src/assets/components/texturing-3d.js +26 -27
  96. package/src/assets/components/volume-rendering.js +46 -46
  97. package/src/assets/components/x_ite.js +12 -12
  98. package/src/assets/shaders/Types.glsl +230 -51
  99. package/src/assets/shaders/webgl1/Background.fs +2 -2
  100. package/src/assets/shaders/webgl1/Background.vs +4 -4
  101. package/src/assets/shaders/webgl1/Depth.fs +2 -2
  102. package/src/assets/shaders/webgl1/Depth.vs +3 -3
  103. package/src/assets/shaders/webgl1/Fallback.fs +15 -15
  104. package/src/assets/shaders/webgl1/Fallback.vs +5 -5
  105. package/src/assets/shaders/webgl1/FallbackUnlit.fs +4 -4
  106. package/src/assets/shaders/webgl1/FallbackUnlit.vs +3 -3
  107. package/src/assets/shaders/webgl1/Gouraud.fs +14 -14
  108. package/src/assets/shaders/webgl1/Gouraud.vs +54 -69
  109. package/src/assets/shaders/webgl1/Line.fs +74 -0
  110. package/src/assets/shaders/webgl1/Line.vs +63 -0
  111. package/src/assets/shaders/webgl1/PBR.fs +364 -0
  112. package/src/assets/shaders/webgl1/PBR.vs +46 -0
  113. package/src/assets/shaders/webgl1/Phong.fs +207 -84
  114. package/src/assets/shaders/webgl1/Phong.vs +17 -18
  115. package/src/assets/shaders/webgl1/Point.fs +88 -0
  116. package/src/assets/shaders/webgl1/Point.vs +70 -0
  117. package/src/assets/shaders/webgl1/Unlit.fs +53 -28
  118. package/src/assets/shaders/webgl1/Unlit.vs +17 -18
  119. package/src/assets/shaders/webgl1/include/ClipPlanes.glsl +7 -7
  120. package/src/assets/shaders/webgl1/include/Colors.glsl +27 -0
  121. package/src/assets/shaders/webgl1/include/Fog.glsl +17 -17
  122. package/src/assets/shaders/webgl1/include/Hatch.glsl +8 -8
  123. package/src/assets/shaders/webgl1/include/Normal.glsl +44 -0
  124. package/src/assets/shaders/webgl1/include/Pack.glsl +11 -11
  125. package/src/assets/shaders/webgl1/include/Perlin.glsl +19 -19
  126. package/src/assets/shaders/webgl1/include/Shadow.glsl +212 -212
  127. package/src/assets/shaders/webgl1/include/SpotFactor.glsl +12 -0
  128. package/src/assets/shaders/webgl1/include/Texture.glsl +444 -393
  129. package/src/assets/shaders/webgl2/Background.fs +2 -2
  130. package/src/assets/shaders/webgl2/Background.vs +4 -4
  131. package/src/assets/shaders/webgl2/Depth.fs +2 -2
  132. package/src/assets/shaders/webgl2/Depth.vs +3 -3
  133. package/src/assets/shaders/webgl2/Gouraud.fs +14 -14
  134. package/src/assets/shaders/webgl2/Gouraud.vs +54 -69
  135. package/src/assets/shaders/webgl2/Line.fs +73 -0
  136. package/src/assets/shaders/webgl2/Line.vs +64 -0
  137. package/src/assets/shaders/webgl2/PBR.fs +370 -0
  138. package/src/assets/shaders/webgl2/PBR.vs +48 -0
  139. package/src/assets/shaders/webgl2/Phong.fs +219 -84
  140. package/src/assets/shaders/webgl2/Phong.vs +17 -18
  141. package/src/assets/shaders/webgl2/Point.fs +87 -0
  142. package/src/assets/shaders/webgl2/Point.vs +71 -0
  143. package/src/assets/shaders/webgl2/Unlit.fs +56 -28
  144. package/src/assets/shaders/webgl2/Unlit.vs +17 -18
  145. package/src/assets/shaders/webgl2/include/ClipPlanes.glsl +7 -7
  146. package/src/assets/shaders/webgl2/include/Colors.glsl +27 -0
  147. package/src/assets/shaders/webgl2/include/Fog.glsl +34 -34
  148. package/src/assets/shaders/webgl2/include/Hatch.glsl +8 -8
  149. package/src/assets/shaders/webgl2/include/Normal.glsl +46 -0
  150. package/src/assets/shaders/webgl2/include/Pack.glsl +11 -11
  151. package/src/assets/shaders/webgl2/include/Perlin.glsl +19 -20
  152. package/src/assets/shaders/webgl2/include/Shadow.glsl +226 -226
  153. package/src/assets/shaders/webgl2/include/SpotFactor.glsl +12 -0
  154. package/src/assets/shaders/webgl2/include/Texture.glsl +557 -537
  155. package/src/bookmarks.js +92 -92
  156. package/src/examples.js +147 -147
  157. package/src/lib/ammojs/AmmoJS.js +2 -2
  158. package/src/lib/ammojs/Makefile +14 -15
  159. package/src/lib/jquery.fullscreen-min.js +2 -2
  160. package/src/lib/nurbs/extras/sample.js +215 -215
  161. package/src/lib/nurbs/nurbs.js +326 -326
  162. package/src/lib/nurbs/src/evaluate.js +405 -405
  163. package/src/lib/nurbs/src/numerical-derivative.js +48 -48
  164. package/src/lib/nurbs/src/support.js +143 -143
  165. package/src/lib/nurbs/src/transform.js +70 -70
  166. package/src/lib/nurbs/src/utils/accessor-preamble.js +23 -23
  167. package/src/lib/nurbs/src/utils/bisection-search.js +18 -18
  168. package/src/lib/nurbs/src/utils/cache-key.js +49 -50
  169. package/src/lib/nurbs/src/utils/create-accessors.js +101 -101
  170. package/src/lib/nurbs/src/utils/infer-type.js +43 -43
  171. package/src/lib/nurbs/src/utils/is-array-like.js +5 -5
  172. package/src/lib/nurbs/src/utils/is-ndarray-like.js +11 -11
  173. package/src/lib/nurbs/src/utils/is-ndarray.js +13 -13
  174. package/src/lib/nurbs/src/utils/ndloop.js +18 -18
  175. package/src/lib/nurbs/src/utils/size-getter.js +15 -15
  176. package/src/lib/nurbs/src/utils/variable.js +25 -25
  177. package/src/lib/opentype.js/bin/ot +27 -27
  178. package/src/lib/opentype.js/dist/opentype.js +5 -5
  179. package/src/lib/opentype.js/font-inspector.html +1 -1
  180. package/src/lib/opentype.js/site.css +1 -3
  181. package/src/locale/gettext.js +73 -73
  182. package/src/spinner.css +40 -43
  183. package/src/standard/Geospatial/Geodetic.js +195 -195
  184. package/src/standard/Geospatial/ReferenceEllipsoids.js +43 -43
  185. package/src/standard/Geospatial/UniversalTransverseMercator.js +159 -159
  186. package/src/standard/Math/Algorithm.js +199 -187
  187. package/src/standard/Math/Algorithms/Bezier.js +80 -80
  188. package/src/standard/Math/Algorithms/MergeSort.js +49 -49
  189. package/src/standard/Math/Algorithms/PartialSort.js +36 -36
  190. package/src/standard/Math/Algorithms/QuickSort.js +51 -51
  191. package/src/standard/Math/Algorithms/SAT.js +62 -62
  192. package/src/standard/Math/Algorithms/eigendecomposition.js +141 -141
  193. package/src/standard/Math/Geometry/Box2.js +205 -205
  194. package/src/standard/Math/Geometry/Box3.js +624 -624
  195. package/src/standard/Math/Geometry/Camera.js +68 -68
  196. package/src/standard/Math/Geometry/Cylinder3.js +112 -112
  197. package/src/standard/Math/Geometry/Line3.js +188 -153
  198. package/src/standard/Math/Geometry/Plane3.js +120 -120
  199. package/src/standard/Math/Geometry/Sphere3.js +148 -148
  200. package/src/standard/Math/Geometry/Spheroid3.js +38 -38
  201. package/src/standard/Math/Geometry/Triangle2.js +19 -19
  202. package/src/standard/Math/Geometry/Triangle3.js +148 -148
  203. package/src/standard/Math/Geometry/ViewVolume.js +359 -359
  204. package/src/standard/Math/Numbers/Color3.js +219 -214
  205. package/src/standard/Math/Numbers/Color4.js +148 -142
  206. package/src/standard/Math/Numbers/Complex.js +139 -139
  207. package/src/standard/Math/Numbers/Matrix2.js +193 -193
  208. package/src/standard/Math/Numbers/Matrix3.js +679 -679
  209. package/src/standard/Math/Numbers/Matrix4.js +883 -883
  210. package/src/standard/Math/Numbers/Quaternion.js +496 -496
  211. package/src/standard/Math/Numbers/Rotation4.js +421 -415
  212. package/src/standard/Math/Numbers/Vector2.js +220 -220
  213. package/src/standard/Math/Numbers/Vector3.js +280 -280
  214. package/src/standard/Math/Numbers/Vector4.js +296 -296
  215. package/src/standard/Math/Utility/BVH.js +303 -303
  216. package/src/standard/Math/Utility/MatrixStack.js +64 -64
  217. package/src/standard/Networking/BinaryTransport.js +67 -67
  218. package/src/standard/Time/MicroTime.js +22 -22
  219. package/src/standard/Utility/DataStorage.js +85 -81
  220. package/src/standard/Utility/MapUtilities.js +14 -1
  221. package/src/standard/Utility/ObjectCache.js +24 -24
  222. package/src/standard/Utility/Shuffle.js +13 -13
  223. package/src/tests.js +355 -384
  224. package/src/x_ite/Base/Events.js +64 -55
  225. package/src/x_ite/{Basic/X3DArrayField.js → Base/FieldArray.js} +19 -12
  226. package/src/x_ite/Base/FieldDefinitionArray.js +75 -0
  227. package/src/x_ite/{Basic/FieldDefinitionArray.js → Base/X3DArrayField.js} +35 -59
  228. package/src/x_ite/Base/X3DBaseNode.js +588 -0
  229. package/src/x_ite/{Bits → Base}/X3DCast.js +23 -22
  230. package/src/x_ite/Base/X3DChildObject.js +68 -62
  231. package/src/x_ite/{Bits → Base}/X3DConstants.js +85 -85
  232. package/src/x_ite/Base/X3DEventObject.js +73 -68
  233. package/src/x_ite/Base/X3DField.js +450 -0
  234. package/src/x_ite/Base/X3DFieldDefinition.js +78 -0
  235. package/src/x_ite/Base/X3DInfoArray.js +291 -0
  236. package/src/x_ite/Base/X3DObject.js +152 -109
  237. package/src/x_ite/Base/X3DObjectArrayField.js +573 -0
  238. package/src/x_ite/Base/X3DTypedArrayField.js +866 -0
  239. package/src/x_ite/Browser/Core/BrowserOptions.js +376 -394
  240. package/src/x_ite/Browser/Core/BrowserProperties.js +38 -38
  241. package/src/x_ite/Browser/Core/BrowserTimings.js +173 -172
  242. package/src/x_ite/Browser/Core/ContextMenu.js +547 -551
  243. package/src/x_ite/Browser/Core/Notification.js +57 -56
  244. package/src/x_ite/Browser/Core/PrimitiveQuality.js +8 -8
  245. package/src/x_ite/Browser/Core/RenderingProperties.js +55 -55
  246. package/src/x_ite/Browser/Core/Shading.js +10 -10
  247. package/src/x_ite/Browser/Core/TextureQuality.js +8 -8
  248. package/src/x_ite/Browser/Core/X3DCoreContext.js +746 -724
  249. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +33 -25
  250. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +23 -23
  251. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +127 -127
  252. package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +25 -25
  253. package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +25 -25
  254. package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +56 -55
  255. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +116 -116
  256. package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +59 -59
  257. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +80 -77
  258. package/src/x_ite/Browser/Geometry3D/BoxOptions.js +70 -70
  259. package/src/x_ite/Browser/Geometry3D/ConeOptions.js +26 -26
  260. package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +27 -27
  261. package/src/x_ite/Browser/Geometry3D/IcoSphere.js +357 -357
  262. package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +61 -61
  263. package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +243 -241
  264. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +37 -34
  265. package/src/x_ite/Browser/Geospatial/Geocentric.js +27 -27
  266. package/src/x_ite/Browser/Geospatial/Geospatial.js +157 -156
  267. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +38 -33
  268. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +128 -130
  269. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +39 -41
  270. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator2.js +3 -3
  271. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator3.js +3 -3
  272. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +54 -56
  273. package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +54 -56
  274. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +44 -41
  275. package/src/x_ite/Browser/Layering/X3DLayeringContext.js +20 -18
  276. package/src/x_ite/Browser/Layout/ScreenText.js +406 -405
  277. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +36 -30
  278. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +54 -50
  279. package/src/x_ite/Browser/NURBS/NURBS.js +417 -417
  280. package/src/x_ite/Browser/Navigation/ExamineViewer.js +753 -753
  281. package/src/x_ite/Browser/Navigation/FlyViewer.js +39 -39
  282. package/src/x_ite/Browser/Navigation/LookAtViewer.js +461 -461
  283. package/src/x_ite/Browser/Navigation/NoneViewer.js +18 -18
  284. package/src/x_ite/Browser/Navigation/PlaneViewer.js +193 -193
  285. package/src/x_ite/Browser/Navigation/WalkViewer.js +61 -61
  286. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +709 -710
  287. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +188 -182
  288. package/src/x_ite/Browser/Navigation/X3DViewer.js +160 -160
  289. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +152 -143
  290. package/src/x_ite/Browser/Networking/urls.js +31 -31
  291. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +17 -13
  292. package/src/x_ite/Browser/Picking/IntersectionType.js +7 -7
  293. package/src/x_ite/Browser/Picking/MatchCriterion.js +8 -8
  294. package/src/x_ite/Browser/Picking/SortOrder.js +9 -9
  295. package/src/x_ite/Browser/Picking/VolumePicker.js +138 -138
  296. package/src/x_ite/Browser/Picking/X3DPickingContext.js +80 -69
  297. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +208 -209
  298. package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +34 -34
  299. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +269 -263
  300. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +132 -119
  301. package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +14 -14
  302. package/src/x_ite/Browser/Scripting/X3DScriptingContext.js +20 -19
  303. package/src/x_ite/Browser/Scripting/evaluate.js +7 -7
  304. package/src/x_ite/Browser/Shaders/Shader.js +152 -159
  305. package/src/x_ite/Browser/Shaders/ShaderSource.js +81 -63
  306. package/src/x_ite/Browser/Shaders/ShaderTest.js +97 -98
  307. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +256 -249
  308. package/src/x_ite/Browser/Shape/AlphaMode.js +9 -9
  309. package/src/x_ite/Browser/Shape/X3DShapeContext.js +111 -89
  310. package/src/x_ite/Browser/Sound/X3DSoundContext.js +11 -11
  311. package/src/x_ite/Browser/Text/PolygonText.js +319 -319
  312. package/src/x_ite/Browser/Text/TextAlignment.js +9 -9
  313. package/src/x_ite/Browser/Text/X3DTextContext.js +72 -65
  314. package/src/x_ite/Browser/Text/X3DTextGeometry.js +506 -506
  315. package/src/x_ite/Browser/Texturing/MultiTextureFunctionType.js +8 -8
  316. package/src/x_ite/Browser/Texturing/MultiTextureModeType.js +25 -25
  317. package/src/x_ite/Browser/Texturing/MultiTextureSourceType.js +9 -9
  318. package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +17 -17
  319. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +259 -224
  320. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1066 -1066
  321. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +641 -630
  322. package/src/x_ite/Browser/Time/X3DTimeContext.js +54 -37
  323. package/src/x_ite/Browser/VERSION.js +1 -1
  324. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.fs +55 -55
  325. package/src/x_ite/Browser/VolumeRendering/VolumeStyle.vs +5 -5
  326. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +52 -41
  327. package/src/x_ite/Browser/X3DBrowser.js +819 -755
  328. package/src/x_ite/Browser/X3DBrowserContext.js +253 -220
  329. package/src/x_ite/Components/Annotation/AnnotationLayer.js +43 -43
  330. package/src/x_ite/Components/Annotation/AnnotationTarget.js +38 -38
  331. package/src/x_ite/Components/Annotation/GroupAnnotation.js +48 -48
  332. package/src/x_ite/Components/Annotation/IconAnnotation.js +46 -46
  333. package/src/x_ite/Components/Annotation/TextAnnotation.js +39 -39
  334. package/src/x_ite/Components/Annotation/URLAnnotation.js +38 -38
  335. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +16 -16
  336. package/src/x_ite/Components/CADGeometry/CADAssembly.js +41 -41
  337. package/src/x_ite/Components/CADGeometry/CADFace.js +189 -189
  338. package/src/x_ite/Components/CADGeometry/CADLayer.js +38 -38
  339. package/src/x_ite/Components/CADGeometry/CADPart.js +46 -46
  340. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +67 -67
  341. package/src/x_ite/Components/CADGeometry/QuadSet.js +64 -63
  342. package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +13 -15
  343. package/src/x_ite/Components/Core/MetadataBoolean.js +38 -40
  344. package/src/x_ite/Components/Core/MetadataDouble.js +38 -40
  345. package/src/x_ite/Components/Core/MetadataFloat.js +38 -40
  346. package/src/x_ite/Components/Core/MetadataInteger.js +38 -40
  347. package/src/x_ite/Components/Core/MetadataSet.js +38 -40
  348. package/src/x_ite/Components/Core/MetadataString.js +38 -40
  349. package/src/x_ite/Components/Core/WorldInfo.js +42 -42
  350. package/src/x_ite/Components/Core/X3DBindableNode.js +20 -20
  351. package/src/x_ite/Components/Core/X3DChildNode.js +38 -40
  352. package/src/x_ite/Components/Core/X3DInfoNode.js +13 -15
  353. package/src/x_ite/Components/Core/X3DMetadataObject.js +11 -13
  354. package/src/x_ite/Components/Core/X3DNode.js +795 -14
  355. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +585 -479
  356. package/src/x_ite/Components/Core/X3DSensorNode.js +13 -15
  357. package/src/x_ite/Components/Core.js +39 -39
  358. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +193 -200
  359. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +209 -206
  360. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +213 -219
  361. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +69 -60
  362. package/src/x_ite/Components/DIS/DISEntityManager.js +38 -40
  363. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +59 -41
  364. package/src/x_ite/Components/DIS/EspduTransform.js +128 -128
  365. package/src/x_ite/Components/DIS/ReceiverPdu.js +68 -68
  366. package/src/x_ite/Components/DIS/SignalPdu.js +68 -68
  367. package/src/x_ite/Components/DIS/TransmitterPdu.js +84 -84
  368. package/src/x_ite/Components/EnvironmentalEffects/Background.js +87 -89
  369. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +59 -59
  370. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +78 -78
  371. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +56 -56
  372. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +86 -88
  373. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +582 -589
  374. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +105 -105
  375. package/src/x_ite/Components/EnvironmentalEffects.js +25 -25
  376. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +229 -229
  377. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +256 -256
  378. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +114 -114
  379. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +71 -71
  380. package/src/x_ite/Components/EnvironmentalSensor.js +19 -19
  381. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +50 -52
  382. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +50 -52
  383. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +43 -45
  384. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +42 -44
  385. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +50 -52
  386. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +43 -45
  387. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +43 -45
  388. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +92 -94
  389. package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +13 -15
  390. package/src/x_ite/Components/Followers/ColorChaser.js +78 -78
  391. package/src/x_ite/Components/Followers/ColorDamper.js +78 -78
  392. package/src/x_ite/Components/Followers/CoordinateChaser.js +46 -46
  393. package/src/x_ite/Components/Followers/CoordinateDamper.js +48 -48
  394. package/src/x_ite/Components/Followers/OrientationChaser.js +64 -64
  395. package/src/x_ite/Components/Followers/OrientationDamper.js +61 -61
  396. package/src/x_ite/Components/Followers/PositionChaser.js +42 -42
  397. package/src/x_ite/Components/Followers/PositionChaser2D.js +42 -42
  398. package/src/x_ite/Components/Followers/PositionDamper.js +44 -44
  399. package/src/x_ite/Components/Followers/PositionDamper2D.js +44 -44
  400. package/src/x_ite/Components/Followers/ScalarChaser.js +70 -70
  401. package/src/x_ite/Components/Followers/ScalarDamper.js +60 -60
  402. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +46 -46
  403. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +48 -48
  404. package/src/x_ite/Components/Followers/X3DChaserNode.js +194 -194
  405. package/src/x_ite/Components/Followers/X3DDamperNode.js +120 -120
  406. package/src/x_ite/Components/Followers/X3DFollowerNode.js +83 -83
  407. package/src/x_ite/Components/Followers.js +45 -45
  408. package/src/x_ite/Components/Geometry2D/Arc2D.js +99 -113
  409. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +164 -166
  410. package/src/x_ite/Components/Geometry2D/Circle2D.js +59 -67
  411. package/src/x_ite/Components/Geometry2D/Disk2D.js +207 -211
  412. package/src/x_ite/Components/Geometry2D/Polyline2D.js +43 -52
  413. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +43 -60
  414. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +76 -73
  415. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +69 -71
  416. package/src/x_ite/Components/Geometry3D/Box.js +90 -86
  417. package/src/x_ite/Components/Geometry3D/Cone.js +185 -187
  418. package/src/x_ite/Components/Geometry3D/Cylinder.js +246 -246
  419. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +383 -384
  420. package/src/x_ite/Components/Geometry3D/Extrusion.js +653 -647
  421. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +437 -445
  422. package/src/x_ite/Components/Geometry3D/Sphere.js +72 -74
  423. package/src/x_ite/Components/Geometry3D.js +25 -25
  424. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +189 -191
  425. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +381 -383
  426. package/src/x_ite/Components/Geospatial/GeoLOD.js +397 -397
  427. package/src/x_ite/Components/Geospatial/GeoLocation.js +56 -56
  428. package/src/x_ite/Components/Geospatial/GeoMetadata.js +54 -36
  429. package/src/x_ite/Components/Geospatial/GeoOrigin.js +50 -52
  430. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +81 -83
  431. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +95 -97
  432. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +77 -79
  433. package/src/x_ite/Components/Geospatial/GeoTransform.js +79 -79
  434. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +278 -278
  435. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +216 -218
  436. package/src/x_ite/Components/Grouping/Group.js +37 -37
  437. package/src/x_ite/Components/Grouping/StaticGroup.js +245 -245
  438. package/src/x_ite/Components/Grouping/Switch.js +234 -234
  439. package/src/x_ite/Components/Grouping/Transform.js +42 -42
  440. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +93 -93
  441. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +654 -649
  442. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +99 -99
  443. package/src/x_ite/Components/Grouping/X3DTransformNode.js +31 -31
  444. package/src/x_ite/Components/Grouping.js +27 -27
  445. package/src/x_ite/Components/HAnim/HAnimDisplacer.js +35 -35
  446. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +293 -293
  447. package/src/x_ite/Components/HAnim/HAnimJoint.js +137 -137
  448. package/src/x_ite/Components/HAnim/HAnimMotion.js +50 -50
  449. package/src/x_ite/Components/HAnim/HAnimSegment.js +44 -44
  450. package/src/x_ite/Components/HAnim/HAnimSite.js +43 -43
  451. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +61 -63
  452. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +60 -62
  453. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +57 -59
  454. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +79 -80
  455. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +96 -93
  456. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +70 -70
  457. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +57 -59
  458. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +57 -59
  459. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +53 -55
  460. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +78 -80
  461. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +77 -79
  462. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +78 -80
  463. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +66 -66
  464. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +67 -69
  465. package/src/x_ite/Components/Interpolation.js +39 -39
  466. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +304 -306
  467. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +102 -104
  468. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +51 -51
  469. package/src/x_ite/Components/Layering/Layer.js +50 -50
  470. package/src/x_ite/Components/Layering/LayerSet.js +160 -161
  471. package/src/x_ite/Components/Layering/Viewport.js +118 -118
  472. package/src/x_ite/Components/Layering/X3DLayerNode.js +322 -322
  473. package/src/x_ite/Components/Layering/X3DViewportNode.js +13 -13
  474. package/src/x_ite/Components/Layering.js +21 -21
  475. package/src/x_ite/Components/Layout/Layout.js +576 -578
  476. package/src/x_ite/Components/Layout/LayoutGroup.js +126 -126
  477. package/src/x_ite/Components/Layout/LayoutLayer.js +53 -53
  478. package/src/x_ite/Components/Layout/ScreenFontStyle.js +48 -48
  479. package/src/x_ite/Components/Layout/ScreenGroup.js +136 -136
  480. package/src/x_ite/Components/Layout/X3DLayoutNode.js +12 -14
  481. package/src/x_ite/Components/Lighting/DirectionalLight.js +239 -246
  482. package/src/x_ite/Components/Lighting/PointLight.js +296 -303
  483. package/src/x_ite/Components/Lighting/SpotLight.js +321 -316
  484. package/src/x_ite/Components/Lighting/X3DLightNode.js +153 -153
  485. package/src/x_ite/Components/Lighting.js +19 -19
  486. package/src/x_ite/Components/NURBS/Contour2D.js +81 -83
  487. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +100 -102
  488. package/src/x_ite/Components/NURBS/CoordinateDouble.js +32 -34
  489. package/src/x_ite/Components/NURBS/NurbsCurve.js +167 -169
  490. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +149 -149
  491. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +166 -166
  492. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +45 -47
  493. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +154 -154
  494. package/src/x_ite/Components/NURBS/NurbsSet.js +125 -125
  495. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +128 -130
  496. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +120 -122
  497. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +120 -122
  498. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +93 -93
  499. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +88 -90
  500. package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +13 -15
  501. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +339 -339
  502. package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +18 -20
  503. package/src/x_ite/Components/Navigation/Billboard.js +132 -132
  504. package/src/x_ite/Components/Navigation/Collision.js +116 -116
  505. package/src/x_ite/Components/Navigation/LOD.js +308 -308
  506. package/src/x_ite/Components/Navigation/NavigationInfo.js +279 -285
  507. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +258 -258
  508. package/src/x_ite/Components/Navigation/Viewpoint.js +137 -137
  509. package/src/x_ite/Components/Navigation/ViewpointGroup.js +169 -171
  510. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +450 -453
  511. package/src/x_ite/Components/Navigation.js +27 -27
  512. package/src/x_ite/Components/Networking/Anchor.js +140 -128
  513. package/src/x_ite/Components/Networking/Inline.js +156 -197
  514. package/src/x_ite/Components/Networking/LoadSensor.js +193 -195
  515. package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +13 -15
  516. package/src/x_ite/Components/Networking/X3DUrlObject.js +170 -116
  517. package/src/x_ite/Components/Networking.js +21 -21
  518. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +62 -64
  519. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +81 -83
  520. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +59 -61
  521. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +42 -44
  522. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1433 -1433
  523. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +77 -79
  524. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +196 -196
  525. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +195 -195
  526. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +250 -250
  527. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +69 -71
  528. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +346 -346
  529. package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +15 -17
  530. package/src/x_ite/Components/Picking/LinePickSensor.js +284 -286
  531. package/src/x_ite/Components/Picking/PickableGroup.js +155 -155
  532. package/src/x_ite/Components/Picking/PointPickSensor.js +272 -272
  533. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +207 -209
  534. package/src/x_ite/Components/Picking/VolumePickSensor.js +182 -184
  535. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +382 -382
  536. package/src/x_ite/Components/Picking/X3DPickableObject.js +28 -30
  537. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +257 -259
  538. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +245 -247
  539. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +173 -175
  540. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +61 -63
  541. package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +14 -16
  542. package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +57 -59
  543. package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +19 -21
  544. package/src/x_ite/Components/PointingDeviceSensor.js +25 -25
  545. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +191 -191
  546. package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +162 -162
  547. package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +156 -156
  548. package/src/x_ite/Components/Rendering/ClipPlane.js +120 -120
  549. package/src/x_ite/Components/Rendering/Color.js +112 -112
  550. package/src/x_ite/Components/Rendering/ColorRGBA.js +114 -114
  551. package/src/x_ite/Components/Rendering/Coordinate.js +33 -35
  552. package/src/x_ite/Components/Rendering/IndexedLineSet.js +236 -243
  553. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +102 -102
  554. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +55 -55
  555. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +110 -110
  556. package/src/x_ite/Components/Rendering/LineSet.js +172 -179
  557. package/src/x_ite/Components/Rendering/Normal.js +100 -100
  558. package/src/x_ite/Components/Rendering/PointSet.js +142 -154
  559. package/src/x_ite/Components/Rendering/TriangleFanSet.js +73 -73
  560. package/src/x_ite/Components/Rendering/TriangleSet.js +51 -53
  561. package/src/x_ite/Components/Rendering/TriangleStripSet.js +76 -76
  562. package/src/x_ite/Components/Rendering/X3DColorNode.js +25 -27
  563. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +318 -321
  564. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +132 -132
  565. package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +13 -15
  566. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +1190 -1171
  567. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +231 -189
  568. package/src/x_ite/Components/Rendering/X3DNormalNode.js +13 -15
  569. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +267 -0
  570. package/src/x_ite/Components/Rendering.js +53 -53
  571. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +149 -149
  572. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +229 -229
  573. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +465 -465
  574. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +152 -154
  575. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +223 -223
  576. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +117 -117
  577. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +54 -56
  578. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +245 -245
  579. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +68 -70
  580. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +453 -453
  581. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +326 -326
  582. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +171 -171
  583. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +169 -169
  584. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +50 -52
  585. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +101 -101
  586. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +15 -15
  587. package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +161 -163
  588. package/src/x_ite/Components/Scripting/Script.js +506 -510
  589. package/src/x_ite/Components/Scripting/X3DScriptNode.js +15 -15
  590. package/src/x_ite/Components/Shaders/ComposedShader.js +215 -178
  591. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +84 -83
  592. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +74 -74
  593. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +73 -73
  594. package/src/x_ite/Components/Shaders/PackagedShader.js +52 -49
  595. package/src/x_ite/Components/Shaders/ProgramShader.js +36 -38
  596. package/src/x_ite/Components/Shaders/ShaderPart.js +135 -147
  597. package/src/x_ite/Components/Shaders/ShaderProgram.js +49 -46
  598. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1259 -1255
  599. package/src/x_ite/Components/Shaders/X3DShaderNode.js +83 -93
  600. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +13 -15
  601. package/src/x_ite/Components/Shaders.js +33 -33
  602. package/src/x_ite/{Execution/ExportedNode.js → Components/Shape/AcousticProperties.js} +41 -71
  603. package/src/x_ite/Components/Shape/Appearance.js +331 -318
  604. package/src/x_ite/Components/Shape/FillProperties.js +101 -98
  605. package/src/x_ite/Components/Shape/LineProperties.js +71 -69
  606. package/src/x_ite/Components/Shape/Material.js +344 -116
  607. package/src/x_ite/Components/Shape/PhysicalMaterial.js +310 -0
  608. package/src/x_ite/Components/Shape/PointProperties.js +79 -95
  609. package/src/x_ite/Components/Shape/Shape.js +178 -181
  610. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +200 -200
  611. package/src/x_ite/Components/Shape/UnlitMaterial.js +93 -46
  612. package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +13 -15
  613. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +24 -24
  614. package/src/x_ite/Components/Shape/X3DMaterialNode.js +24 -24
  615. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +158 -54
  616. package/src/x_ite/Components/Shape/X3DShapeNode.js +147 -147
  617. package/src/x_ite/Components/Shape.js +43 -37
  618. package/src/x_ite/Components/Sound/AudioClip.js +135 -140
  619. package/src/x_ite/Components/Sound/Sound.js +246 -246
  620. package/src/x_ite/Components/Sound/X3DSoundNode.js +13 -15
  621. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +165 -179
  622. package/src/x_ite/Components/Sound.js +19 -19
  623. package/src/x_ite/Components/Text/FontStyle.js +49 -49
  624. package/src/x_ite/Components/Text/Text.js +135 -135
  625. package/src/x_ite/Components/Text/X3DFontStyleNode.js +207 -205
  626. package/src/x_ite/Components/Text.js +17 -17
  627. package/src/x_ite/Components/Texturing/ImageTexture.js +181 -194
  628. package/src/x_ite/Components/Texturing/MovieTexture.js +180 -190
  629. package/src/x_ite/Components/Texturing/MultiTexture.js +255 -262
  630. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +124 -118
  631. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +82 -76
  632. package/src/x_ite/Components/Texturing/PixelTexture.js +222 -221
  633. package/src/x_ite/Components/Texturing/TextureCoordinate.js +116 -116
  634. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +90 -90
  635. package/src/x_ite/Components/Texturing/TextureProperties.js +158 -160
  636. package/src/x_ite/Components/Texturing/TextureTransform.js +99 -99
  637. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +33 -28
  638. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +54 -54
  639. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +22 -17
  640. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +135 -124
  641. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +16 -16
  642. package/src/x_ite/Components/Texturing/X3DTextureNode.js +24 -24
  643. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +22 -22
  644. package/src/x_ite/Components/Texturing.js +45 -45
  645. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +125 -123
  646. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +115 -131
  647. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +158 -160
  648. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +116 -116
  649. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +116 -116
  650. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +88 -88
  651. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +46 -46
  652. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +135 -121
  653. package/src/x_ite/Components/Time/TimeSensor.js +155 -152
  654. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +299 -302
  655. package/src/x_ite/Components/Time.js +15 -15
  656. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +338 -338
  657. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +80 -80
  658. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +228 -228
  659. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +163 -163
  660. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +117 -117
  661. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +334 -334
  662. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +116 -116
  663. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +167 -167
  664. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +247 -247
  665. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +198 -198
  666. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +116 -116
  667. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +126 -126
  668. package/src/x_ite/Components/VolumeRendering/VolumeData.js +173 -173
  669. package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +12 -12
  670. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +167 -167
  671. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +70 -70
  672. package/src/x_ite/Components/X_ITE/BlendMode.js +143 -145
  673. package/src/x_ite/Components.js +47 -47
  674. package/src/x_ite/Configuration/ComponentInfo.js +47 -42
  675. package/src/x_ite/Configuration/ComponentInfoArray.js +21 -19
  676. package/src/x_ite/Configuration/ProfileInfo.js +33 -23
  677. package/src/x_ite/Configuration/ProfileInfoArray.js +26 -16
  678. package/src/x_ite/Configuration/SupportedComponents.js +311 -311
  679. package/src/x_ite/Configuration/SupportedNodes.js +53 -38
  680. package/src/x_ite/Configuration/SupportedProfiles.js +190 -190
  681. package/src/x_ite/Configuration/UnitInfo.js +60 -51
  682. package/src/x_ite/Configuration/UnitInfoArray.js +17 -10
  683. package/src/x_ite/DEBUG.js +2 -2
  684. package/src/x_ite/Execution/BindableList.js +146 -149
  685. package/src/x_ite/Execution/BindableStack.js +130 -123
  686. package/src/x_ite/Execution/ExportedNodesArray.js +75 -0
  687. package/src/x_ite/Execution/ImportedNodesArray.js +75 -0
  688. package/src/x_ite/{Basic/X3DFieldDefinition.js → Execution/NamedNodesArray.js} +20 -10
  689. package/src/x_ite/Execution/Scene.js +93 -90
  690. package/src/x_ite/Execution/X3DExecutionContext.js +957 -781
  691. package/src/x_ite/Execution/X3DExportedNode.js +152 -0
  692. package/src/x_ite/Execution/X3DImportedNode.js +393 -0
  693. package/src/x_ite/Execution/X3DScene.js +546 -493
  694. package/src/x_ite/Execution/X3DWorld.js +171 -0
  695. package/src/x_ite/Fallback.js +31 -31
  696. package/src/x_ite/Fields/ArrayFields.js +463 -443
  697. package/src/x_ite/Fields/SFBool.js +50 -47
  698. package/src/x_ite/Fields/SFColor.js +163 -160
  699. package/src/x_ite/Fields/SFColorRGBA.js +155 -152
  700. package/src/x_ite/Fields/SFDouble.js +51 -48
  701. package/src/x_ite/Fields/SFFloat.js +51 -48
  702. package/src/x_ite/Fields/SFImage.js +216 -213
  703. package/src/x_ite/Fields/SFInt32.js +47 -44
  704. package/src/x_ite/Fields/SFMatrix3.js +74 -71
  705. package/src/x_ite/Fields/SFMatrix4.js +68 -65
  706. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +98 -98
  707. package/src/x_ite/Fields/SFNode.js +392 -299
  708. package/src/x_ite/Fields/SFNodeCache.js +22 -33
  709. package/src/x_ite/Fields/SFRotation.js +178 -175
  710. package/src/x_ite/Fields/SFString.js +71 -68
  711. package/src/x_ite/Fields/SFTime.js +47 -44
  712. package/src/x_ite/Fields/SFVec2.js +73 -70
  713. package/src/x_ite/Fields/SFVec3.js +105 -102
  714. package/src/x_ite/Fields/SFVec4.js +118 -115
  715. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +94 -94
  716. package/src/x_ite/Fields.js +44 -44
  717. package/src/x_ite/InputOutput/FileLoader.js +426 -531
  718. package/src/x_ite/InputOutput/Generator.js +379 -376
  719. package/src/x_ite/{Configuration/X3DInfoArray.js → Parser/GoldenGate.js} +54 -86
  720. package/src/x_ite/Parser/HTMLSupport.js +28 -6
  721. package/src/x_ite/Parser/JSONParser.js +414 -388
  722. package/src/x_ite/Parser/VRMLParser.js +2964 -0
  723. package/src/x_ite/Parser/X3DParser.js +128 -128
  724. package/src/x_ite/Parser/XMLParser.js +1231 -1178
  725. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +17 -27
  726. package/src/x_ite/Prototype/ProtoDeclarationArray.js +17 -27
  727. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +279 -297
  728. package/src/x_ite/Prototype/X3DProtoDeclaration.js +264 -263
  729. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +58 -35
  730. package/src/x_ite/Rendering/DependentRenderer.js +83 -80
  731. package/src/x_ite/Rendering/TextureBuffer.js +171 -168
  732. package/src/x_ite/{Bits → Rendering}/TraverseType.js +11 -11
  733. package/src/x_ite/Rendering/X3DRenderObject.js +895 -906
  734. package/src/x_ite/Routing/RouteArray.js +19 -71
  735. package/src/x_ite/Routing/X3DRoute.js +185 -179
  736. package/src/x_ite/Routing/X3DRoutingContext.js +60 -54
  737. package/src/x_ite/X3D.js +191 -175
  738. package/src/x_ite.config.js +83 -83
  739. package/src/x_ite.css +279 -288
  740. package/src/x_ite.html +226 -193
  741. package/src/x_ite.js +100 -127
  742. package/x_ite.min.html +220 -187
  743. package/src/assets/shaders/webgl1/PointSet.fs +0 -100
  744. package/src/assets/shaders/webgl1/PointSet.vs +0 -70
  745. package/src/assets/shaders/webgl1/Wireframe.fs +0 -74
  746. package/src/assets/shaders/webgl1/Wireframe.vs +0 -63
  747. package/src/assets/shaders/webgl2/PointSet.fs +0 -99
  748. package/src/assets/shaders/webgl2/PointSet.vs +0 -71
  749. package/src/assets/shaders/webgl2/Wireframe.fs +0 -73
  750. package/src/assets/shaders/webgl2/Wireframe.vs +0 -64
  751. package/src/x_ite/Basic/X3DBaseNode.js +0 -1253
  752. package/src/x_ite/Basic/X3DField.js +0 -370
  753. package/src/x_ite/Basic/X3DObjectArrayField.js +0 -545
  754. package/src/x_ite/Basic/X3DTypedArrayField.js +0 -839
  755. package/src/x_ite/Browser/Core/X3DCoreContext.js.~1~ +0 -714
  756. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js.~1~ +0 -209
  757. package/src/x_ite/Execution/ImportedNode.js +0 -375
  758. package/src/x_ite/Execution/World.js +0 -162
  759. package/src/x_ite/Parser/Parser.js +0 -2944
@@ -1 +1 @@
1
- !function(){const e=X3D.define,t=X3D.require;e("x_ite/Browser/Picking/MatchCriterion",[],function(){"use strict";var e=0;return{MATCH_ANY:e++,MATCH_EVERY:e++,MATCH_ONLY_ONE:e++}}),e("x_ite/Browser/Picking/IntersectionType",[],function(){"use strict";var e=0;return{BOUNDS:e++,GEOMETRY:e++}}),e("x_ite/Browser/Picking/SortOrder",[],function(){"use strict";var e=0;return{ANY:e++,CLOSEST:e++,ALL:e++,ALL_SORTED:e++}}),e("x_ite/Components/Picking/X3DPickSensorNode",["x_ite/Fields","x_ite/Components/Core/X3DSensorNode","x_ite/Bits/TraverseType","x_ite/Bits/X3DConstants","x_ite/Browser/Picking/MatchCriterion","x_ite/Browser/Picking/IntersectionType","x_ite/Browser/Picking/SortOrder","standard/Math/Numbers/Matrix4","standard/Math/Algorithms/QuickSort","standard/Utility/ObjectCache"],function(e,t,i,n,o,s,r,c,a,h){"use strict";function p(e,t){return e.distance<t.distance}function g(i){t.call(this,i),this.addType(n.X3DPickSensorNode),this.objectType=new Set,this.intersectionType=s.BOUNDS,this.sortOrder=r.CLOSEST,this.pickTargetNodes=new Set,this.modelMatrices=[],this.targets=[],this.targets.size=0,this.pickedTargets=[],this.pickedTargetsSorter=new a(this.pickedTargets,p),this.pickedGeometries=new e.MFNode}var u=h(c);return g.prototype=Object.assign(Object.create(t.prototype),{constructor:g,initialize:function(){this.isLive().addInterest("set_live__",this),this.enabled_.addInterest("set_live__",this),this.objectType_.addInterest("set_objectType__",this),this.matchCriterion_.addInterest("set_matchCriterion__",this),this.intersectionType_.addInterest("set_intersectionType__",this),this.sortOrder_.addInterest("set_sortOrder__",this),this.pickTarget_.addInterest("set_pickTarget__",this),this.set_objectType__(),this.set_matchCriterion__(),this.set_intersectionType__(),this.set_sortOrder__(),this.set_pickTarget__()},getObjectType:function(){return this.objectType},getMatchCriterion:function(){return this.matchCriterion},getIntersectionType:function(){return this.intersectionType},getSortOrder:function(){return this.sortOrder},getModelMatrices:function(){return this.modelMatrices},getTargets:function(){return this.targets},getPickShape:function(){var e=new WeakMap;return function(t){var i=e.get(t);if(void 0!==i)return i;var n=this.getExecutionContext().createNode("Shape",!1),o=this.getExecutionContext().createNode("CollidableShape",!1);return n.setPrivate(!0),o.setPrivate(!0),o.setConvex(!0),n.geometry_=t,o.shape_=n,n.setup(),o.setup(),e.set(t,o),o}}(),getPickedGeometries:function(){return function(){var e=this.targets,t=e.size,i=this.pickedTargets,n=this.pickedGeometries;i.length=0;for(var o=0;o<t;++o){var s=e[o];s.intersected&&i.push(s)}if(0===i.length)return n.length=0,n;switch(this.sortOrder){case r.ANY:i.length=1,n[0]=this.getPickedGeometry(i[0]),n.length=1;break;case r.CLOSEST:this.pickedTargetsSorter.sort(0,i.length),i.length=1,n[0]=this.getPickedGeometry(i[0]),n.length=1;break;case r.ALL:for(var o=0,c=i.length;o<c;++o)n[o]=this.getPickedGeometry(i[o]);n.length=c;break;case r.ALL_SORTED:this.pickedTargetsSorter.sort(0,i.length);for(var o=0,c=i.length;o<c;++o)n[o]=this.getPickedGeometry(i[o]);n.length=c}return n}}(),getPickedGeometry:function(e){var t=this.getExecutionContext(),i=e.geometryNode;if(i.getExecutionContext()===t)return i;var o=i.getExecutionContext();if(o.getType().indexOf(n.X3DPrototypeInstance)!==-1&&o.getExecutionContext()===t)return o;for(var s=e.pickingHierarchy,r=s.length-1;r>=0;--r){var c=s[r];if(c.getExecutionContext()===t)return c;var o=c.getExecutionContext();if(o.getType().indexOf(n.X3DPrototypeInstance)!==-1&&o.getExecutionContext()===t)return o}return null},getPickedTargets:function(){return this.pickedTargets},set_live__:function(){this.isLive().getValue()&&this.enabled_.getValue()&&!this.objectType.has("NONE")?(this.getBrowser().addPickSensor(this),this.setPickableObject(!0)):(this.getBrowser().removePickSensor(this),this.setPickableObject(!1))},set_objectType__:function(){this.objectType.clear();for(var e=0,t=this.objectType_.length;e<t;++e)this.objectType.add(this.objectType_[e]);this.set_live__()},set_matchCriterion__:function(){var e=new Map([["MATCH_ANY",o.MATCH_ANY],["MATCH_EVERY",o.MATCH_EVERY],["MATCH_ONLY_ONE",o.MATCH_ONLY_ONE]]);return function(){this.matchCriterion=e.get(this.matchCriterion_.getValue()),void 0===this.matchCriterion&&(this.matchCriterion=MatchCriterionType.MATCH_ANY)}}(),set_intersectionType__:function(){var e=new Map([["BOUNDS",s.BOUNDS],["GEOMETRY",s.GEOMETRY]]);return function(){this.intersectionType=e.get(this.intersectionType_.getValue()),void 0===this.intersectionType&&(this.intersectionType=s.BOUNDS)}}(),set_sortOrder__:function(){var e=new Map([["ANY",r.ANY],["CLOSEST",r.CLOSEST],["ALL",r.ALL],["ALL_SORTED",r.ALL_SORTED]]);return function(){this.sortOrder=e.get(this.sortOrder_.getValue()),void 0===this.sortOrder&&(this.sortOrder=r.CLOSEST)}}(),set_pickTarget__:function(){this.pickTargetNodes.clear();for(var e=0,t=this.pickTarget_.length;e<t;++e)try{for(var i=this.pickTarget_[e].getValue().getInnerNode(),o=i.getType(),s=o.length-1;s>=0;--s)switch(o[s]){case n.Inline:case n.Shape:case n.X3DGroupingNode:this.pickTargetNodes.add(i);break;default:continue}}catch(e){}},traverse:function(e,t){e===i.PICKING&&this.getPickableObject()&&this.modelMatrices.push(u.pop().assign(t.getModelViewMatrix().get()))},collect:function(e,t,i){var n=this.pickTargetNodes;if(i.some(function(e){return n.has(e)})){var o=this.targets;if(o.size<o.length)var s=o[o.size];else{var s={modelMatrix:new c,pickingHierarchy:[],pickedPoint:[],intersections:[]};o.push(s)}++o.size,s.intersected=!1,s.geometryNode=e,s.pickedPoint.length=0,s.intersections.length=0,s.modelMatrix.assign(t);for(var r=s.pickingHierarchy,a=0,h=i.length;a<h;++a)r[a]=i[a];r.length=h}},process:function(){for(var e=this.modelMatrices,t=0,i=e.length;t<i;++t)u.push(e[t]);this.modelMatrices.length=0,this.targets.size=0}}),g}),e("x_ite/Components/Picking/LinePickSensor",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Picking/X3DPickSensorNode","x_ite/Bits/X3DConstants","x_ite/Browser/Picking/IntersectionType","standard/Math/Numbers/Vector3","standard/Math/Numbers/Matrix4","standard/Math/Geometry/Box3","standard/Math/Geometry/Line3"],function(e,t,i,n,o,s,r,c,a,h){"use strict";function p(e){n.call(this,e),this.addType(o.LinePickSensor),this.pickingGeometryNode=null}return p.prototype=Object.assign(Object.create(n.prototype),{constructor:p,fieldDefinitions:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOutput,"enabled",new e.SFBool(!0)),new t(o.inputOutput,"objectType",new e.MFString("ALL")),new t(o.inputOutput,"matchCriterion",new e.SFString("MATCH_ANY")),new t(o.initializeOnly,"intersectionType",new e.SFString("BOUNDS")),new t(o.initializeOnly,"sortOrder",new e.SFString("CLOSEST")),new t(o.outputOnly,"isActive",new e.SFBool),new t(o.outputOnly,"pickedTextureCoordinate",new e.MFVec3f),new t(o.outputOnly,"pickedNormal",new e.MFVec3f),new t(o.outputOnly,"pickedPoint",new e.MFVec3f),new t(o.inputOutput,"pickingGeometry",new e.SFNode),new t(o.inputOutput,"pickTarget",new e.MFNode),new t(o.outputOnly,"pickedGeometry",new e.MFNode)]),getTypeName:function(){return"LinePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this.pickingGeometry_.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=null;try{for(var e=this.pickingGeometry_.getValue().getInnerNode(),t=e.getType(),i=t.length-1;i>=0;--i)switch(t[i]){case o.IndexedLineSet:case o.LineSet:this.pickingGeometryNode=e;break;default:continue}}catch(e){}},process:function(){var t=new a,i=new a,o=new r(0,0,0),p=new r(0,0,0),g=new c,u=new r(0,0,0),d=new r(0,0,0),l=new h(r.Zero,r.zAxis),m=new r(0,0,0),_=new r(0,0,0),y=[],k=[],f=new r(0,0,0),w=new e.MFVec3f,S=new e.MFVec3f,C=new e.MFVec3f;return function(){if(this.pickingGeometryNode){var e=this.getModelMatrices(),r=this.getTargets();switch(this.getIntersectionType()){case s.BOUNDS:for(var c=0,a=e.length;c<a;++c){var h=e[c];t.assign(this.pickingGeometryNode.getBBox()).multRight(h);for(var v=0,T=r.size;v<T;++v){var N=r[v];i.assign(N.geometryNode.getBBox()).multRight(N.modelMatrix),t.intersectsBox(i)&&(o.assign(t.center),p.assign(i.center),N.intersected=!0,N.distance=o.distance(p))}}var b=this.getPickedGeometries(),O=Boolean(b.length);b.remove(0,b.length,null),O!==this.isActive_.getValue()&&(this.isActive_=O),this.pickedGeometry_.equals(b)||(this.pickedGeometry_=b);break;case s.GEOMETRY:for(var c=0,a=e.length;c<a;++c){var h=e[c];t.assign(this.pickingGeometryNode.getBBox()).multRight(h);for(var v=0,T=r.size;v<T;++v)try{var N=r[v],x=N.geometryNode,P=this.pickingGeometryNode.getVertices();i.assign(x.getBBox()).multRight(N.modelMatrix),g.assign(N.modelMatrix).inverse().multLeft(h);for(var B=0,M=P.length;B<M;B+=8)if(g.multVecMatrix(u.set(P[B+0],P[B+1],P[B+2])),g.multVecMatrix(d.set(P[B+4],P[B+5],P[B+6])),l.setPoints(u,d),k.length=0,x.intersectsLine(l,y,N.modelMatrix,k))for(var G=0,F=k.length;G<F;++G){var D=k[G];m.assign(D.point).subtract(u),_.assign(D.point).subtract(d);var A=m.add(_).abs(),V=u.distance(d);A<=V&&N.intersections.push(D)}N.intersections.length&&(o.assign(t.center),p.assign(i.center),N.intersected=!0,N.distance=o.distance(p))}catch(e){console.log(e)}}var b=this.getPickedGeometries(),O=Boolean(b.length);b.remove(0,b.length,null),O!==this.isActive_.getValue()&&(this.isActive_=O),this.pickedGeometry_.equals(b)||(this.pickedGeometry_=b);var j=this.getPickedTargets();w.length=0,S.length=0,C.length=0;for(var v=0,T=j.length;v<T;++v)for(var L=j[v].intersections,G=0,F=L.length;G<F;++G){var D=L[G],v=D.texCoord;f.set(v.x,v.y,v.z),w.push(f),S.push(D.normal),C.push(D.point)}this.pickedTextureCoordinate_.equals(w)||(this.pickedTextureCoordinate_=w),this.pickedNormal_.equals(S)||(this.pickedNormal_=S),this.pickedPoint_.equals(C)||(this.pickedPoint_=C)}}n.prototype.process.call(this)}}()}),p}),e("x_ite/Components/Picking/X3DPickableObject",["x_ite/Bits/X3DConstants"],function(e){"use strict";function t(t){this.addType(e.X3DPickableObject),this.objectType=new Set}return t.prototype={constructor:t,initialize:function(){this.objectType_.addInterest("set_objectType__",this),this.set_objectType__()},getObjectType:function(){return this.objectType},set_objectType__:function(){this.objectType.clear();for(var e=0,t=this.objectType_.length;e<t;++e)this.objectType.add(this.objectType_[e])}},t}),e("x_ite/Components/Picking/PickableGroup",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Grouping/X3DGroupingNode","x_ite/Components/Picking/X3DPickableObject","x_ite/Browser/Picking/MatchCriterion","x_ite/Bits/X3DConstants","x_ite/Bits/TraverseType"],function(e,t,i,n,o,s,r,c){"use strict";function a(e){n.call(this,e),o.call(this,e),this.addType(r.PickableGroup)}return a.prototype=Object.assign(Object.create(n.prototype),o.prototype,{constructor:a,fieldDefinitions:new i([new t(r.inputOutput,"metadata",new e.SFNode),new t(r.inputOutput,"pickable",new e.SFBool(!0)),new t(r.inputOutput,"objectType",new e.MFString("ALL")),new t(r.inputOutput,"visible",new e.SFBool(!0)),new t(r.inputOutput,"bboxDisplay",new e.SFBool),new t(r.initializeOnly,"bboxSize",new e.SFVec3f(-1,-1,-1)),new t(r.initializeOnly,"bboxCenter",new e.SFVec3f),new t(r.inputOnly,"addChildren",new e.MFNode),new t(r.inputOnly,"removeChildren",new e.MFNode),new t(r.inputOutput,"children",new e.MFNode)]),getTypeName:function(){return"PickableGroup"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),o.prototype.initialize.call(this),this.pickable_.addInterest("set_pickable__",this),this.set_pickable__()},set_pickableObjects__:function(){this.set_pickable__()},set_pickable__:function(){this.setPickableObject(Boolean(this.pickable_.getValue()||this.getTransformSensors().size))},traverse:function(){const e=new Set;return function(t,i){if(t===c.PICKING){if(this.pickable_.getValue()){if(this.getObjectType().has("NONE"))return;const o=i.getBrowser(),r=o.getPickable();if(this.getObjectType().has("ALL"))r.push(!0),n.prototype.traverse.call(this,t,i),r.pop();else{const c=o.getPickSensors();for(const t of c.at(-1)){if(!t.getObjectType().has("ALL")){let e=0;for(const i of this.getObjectType())if(t.getObjectType().has(i)){++e;break}switch(t.getMatchCriterion()){case s.MATCH_ANY:if(0===e)continue;break;case s.MATCH_EVERY:if(e!==pickSensor.getObjectType().size)continue;break;case s.MATCH_ONLY_ONE:if(1!==e)continue}}e.add(t)}r.push(!0),c.push(e),n.prototype.traverse.call(this,t,i),c.pop(),r.pop(),e.clear()}}}else n.prototype.traverse.call(this,t,i)}}()}),a}),e("x_ite/Browser/Picking/VolumePicker",["standard/Math/Numbers/Vector3","standard/Math/Numbers/Rotation4","standard/Math/Numbers/Matrix4",t.getComponentUrl("rigid-body-physics")],function(e,t,i,n){"use strict";function o(){this.broadphase=new s.btDbvtBroadphase,this.collisionConfiguration=new s.btDefaultCollisionConfiguration,this.dispatcher=new s.btCollisionDispatcher(this.collisionConfiguration),this.collisionWorld=new s.btCollisionWorld(this.dispatcher,this.broadphase,this.collisionConfiguration),this.compoundShape1=new s.btCompoundShape,this.motionState1=new s.btDefaultMotionState,this.constructionInfo1=new s.btRigidBodyConstructionInfo(0,this.motionState1,this.compoundShape1),this.rigidBody1=new s.btRigidBody(this.constructionInfo1),this.compoundShape2=new s.btCompoundShape,this.motionState2=new s.btDefaultMotionState,this.constructionInfo2=new s.btRigidBodyConstructionInfo(0,this.motionState2,this.compoundShape2),this.rigidBody2=new s.btRigidBody(this.constructionInfo2),this.collisionWorld.addCollisionObject(this.rigidBody1),this.collisionWorld.addCollisionObject(this.rigidBody2)}var s=n.Ammo;return o.prototype={constuctor:o,setChildShape1:function(e,t){this.setChildShape(this.compoundShape1,e,t)},setChildShape2:function(e,t){this.setChildShape(this.compoundShape2,e,t)},setChildShape1Components:function(e,t,i){this.setChildShapeComponents(this.compoundShape1,e,t,i)},setChildShape2Components:function(e,t,i){this.setChildShapeComponents(this.compoundShape2,e,t,i)},setChildShape:function(){var i=new e(0,0,0),n=new t(0,0,1,0),o=new e(1,1,1),r=new s.btVector3(0,0,0);return function(e,t,s){try{e.getNumChildShapes()&&e.removeChildShapeByIndex(0),s.getNumChildShapes()&&(t.get(i,n,o),r.setValue(o.x,o.y,o.z),s.setLocalScaling(r),e.addChildShape(this.getTransform(i,n),s))}catch(e){}}}(),setChildShapeComponents:function(e,t,i,n){e.getNumChildShapes()&&e.removeChildShapeByIndex(0),n.getNumChildShapes()&&(n.setLocalScaling(i),e.addChildShape(t,n))},contactTest:function(){this.collisionWorld.performDiscreteCollisionDetection();for(var e=this.dispatcher.getNumManifolds(),t=0;t<e;++t)for(var i=this.dispatcher.getManifoldByIndexInternal(t),n=i.getNumContacts(),o=0;o<n;++o){var s=i.getContactPoint(o);if(s.getDistance()<=0)return!0}return!1},getTransform:function(){var e=new s.btTransform,t=new s.btVector3(0,0,0),n=new i;return function(i,o,s){var r=s||e;return n.set(i,o),t.setValue(n[12],n[13],n[14]),r.getBasis().setValue(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),r.setOrigin(t),r}}()},o}),e("x_ite/Components/Picking/PointPickSensor",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Picking/X3DPickSensorNode","x_ite/Bits/X3DCast","x_ite/Bits/X3DConstants","x_ite/Browser/Picking/IntersectionType","x_ite/Browser/Picking/VolumePicker","standard/Math/Numbers/Vector3","standard/Math/Numbers/Rotation4","standard/Math/Geometry/Box3",t.getComponentUrl("rigid-body-physics")],function(e,t,i,n,o,s,r,c,a,h,p,g){"use strict";function u(e){n.call(this,e),this.addType(s.PointPickSensor),this.pickingGeometryNode=null,this.picker=new c,this.compoundShapes=[]}var d=g.Ammo;return u.prototype=Object.assign(Object.create(n.prototype),{constructor:u,fieldDefinitions:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.inputOutput,"enabled",new e.SFBool(!0)),new t(s.inputOutput,"objectType",new e.MFString("ALL")),new t(s.inputOutput,"matchCriterion",new e.SFString("MATCH_ANY")),new t(s.initializeOnly,"intersectionType",new e.SFString("BOUNDS")),new t(s.initializeOnly,"sortOrder",new e.SFString("CLOSEST")),new t(s.outputOnly,"isActive",new e.SFBool),new t(s.outputOnly,"pickedPoint",new e.MFVec3f),new t(s.inputOutput,"pickingGeometry",new e.SFNode),new t(s.inputOutput,"pickTarget",new e.MFNode),new t(s.outputOnly,"pickedGeometry",new e.MFNode)]),getTypeName:function(){return"PointPickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this.pickingGeometry_.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode&&this.pickingGeometryNode.rebuild_.removeInterest("set_geometry__",this),this.pickingGeometryNode=o(s.PointSet,this.pickingGeometry_),this.pickingGeometryNode&&this.pickingGeometryNode.rebuild_.addInterest("set_geometry__",this),this.set_geometry__()},set_geometry__:function(){var e=new d.btVector3(1,1,1),t=new d.btVector3,i=new d.btTransform;return function(){var n=this.compoundShapes;if(this.pickingGeometryNode){var o=this.pickingGeometryNode.getCoord();if(o){for(var s=0,r=o.getSize();s<r;++s)if(s<n.length){var c=n[s],h=o.get1Point(s,c.point);t.setValue(h.x,h.y,h.z),i.setOrigin(t),c.setLocalScaling(e),c.updateChildTransform(0,i)}else{var c=new d.btCompoundShape,p=new d.btSphereShape(0),h=o.get1Point(s,new a(0,0,0));c.point=h,t.setValue(h.x,h.y,h.z),i.setOrigin(t),c.addChildShape(i,p),n.push(c)}n.length=r}else n.length=0}else n.length=0}}(),process:function(){var t=new p,i=new p,o=new a(0,0,0),s=new a(0,0,0),c=new d.btTransform,g=new d.btVector3,u=new a(0,0,0),l=new h(0,0,1,0),m=new a(1,1,1),_=new e.MFVec3f;return function(){if(this.pickingGeometryNode){var e=this.getModelMatrices(),a=this.getTargets();switch(this.getIntersectionType()){case r.BOUNDS:for(var h=0,p=e.length;h<p;++h){var d=e[h];t.assign(this.pickingGeometryNode.getBBox()).multRight(d);for(var y=0,k=a.size;y<k;++y){var f=a[y];i.assign(f.geometryNode.getBBox()).multRight(f.modelMatrix),t.intersectsBox(i)&&(o.assign(t.center),s.assign(i.center),f.intersected=!0,f.distance=o.distance(s))}}var w=this.getPickedGeometries(),S=Boolean(w.length);w.remove(0,w.length,null),S!==this.isActive_.getValue()&&(this.isActive_=S),this.pickedGeometry_.equals(w)||(this.pickedGeometry_=w);break;case r.GEOMETRY:for(var C=this.picker,v=this.compoundShapes,h=0,p=e.length;h<p;++h){var d=e[h];t.assign(this.pickingGeometryNode.getBBox()).multRight(d),d.get(u,l,m),C.getTransform(u,l,c),g.setValue(m.x,m.y,m.z);for(var T=0,N=v.length;T<N;++T){var b=v[T];C.setChildShape1Components(c,g,b);for(var y=0,k=a.size;y<k;++y){var f=a[y],O=this.getPickShape(f.geometryNode);i.assign(f.geometryNode.getBBox()).multRight(f.modelMatrix),C.setChildShape2(f.modelMatrix,O.getCompoundShape()),C.contactTest()&&(o.assign(t.center),s.assign(i.center),f.intersected=!0,f.distance=o.distance(s),f.pickedPoint.push(b.point))}}}var w=this.getPickedGeometries(),S=Boolean(w.length);w.remove(0,w.length,null),S!==this.isActive_.getValue()&&(this.isActive_=S),this.pickedGeometry_.equals(w)||(this.pickedGeometry_=w);var x=this.getPickedTargets();_.length=0;for(var y=0,k=x.length;y<k;++y)for(var P=x[y].pickedPoint,B=0,M=P.length;B<M;++B)_.push(P[B]);this.pickedPoint_.equals(_)||(this.pickedPoint_=_)}}n.prototype.process.call(this)}}()}),u}),e("x_ite/Components/Picking/PrimitivePickSensor",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Picking/X3DPickSensorNode","x_ite/Bits/X3DConstants","x_ite/Browser/Picking/IntersectionType","x_ite/Browser/Picking/VolumePicker","standard/Math/Numbers/Vector3","standard/Math/Geometry/Box3"],function(e,t,i,n,o,s,r,c,a){"use strict";function h(e){n.call(this,e),this.addType(o.PrimitivePickSensor),this.pickingGeometryNode=null,this.picker=new r}return h.prototype=Object.assign(Object.create(n.prototype),{constructor:h,fieldDefinitions:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOutput,"enabled",new e.SFBool(!0)),new t(o.inputOutput,"objectType",new e.MFString("ALL")),new t(o.inputOutput,"matchCriterion",new e.SFString("MATCH_ANY")),new t(o.initializeOnly,"intersectionType",new e.SFString("BOUNDS")),new t(o.initializeOnly,"sortOrder",new e.SFString("CLOSEST")),new t(o.outputOnly,"isActive",new e.SFBool),new t(o.inputOutput,"pickingGeometry",new e.SFNode),new t(o.inputOutput,"pickTarget",new e.MFNode),new t(o.outputOnly,"pickedGeometry",new e.MFNode)]),getTypeName:function(){return"PrimitivePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this.pickingGeometry_.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=null;try{for(var e=this.pickingGeometry_.getValue().getInnerNode(),t=e.getType(),i=t.length-1;i>=0;--i)switch(t[i]){case o.Box:case o.Cone:case o.Cylinder:case o.Sphere:this.pickingGeometryNode=e;break;default:continue}}catch(e){}},process:function(){var e=new a,t=new a,i=new c(0,0,0),o=new c(0,0,0);return function(){if(this.pickingGeometryNode){var r=this.getModelMatrices(),c=this.getTargets();switch(this.getIntersectionType()){case s.BOUNDS:for(var a=0,h=r.length;a<h;++a){var p=r[a];e.assign(this.pickingGeometryNode.getBBox()).multRight(p);for(var g=0,u=c.size;g<u;++g){var d=c[g];t.assign(d.geometryNode.getBBox()).multRight(d.modelMatrix),e.intersectsBox(t)&&(i.assign(e.center),o.assign(t.center),d.intersected=!0,d.distance=i.distance(o))}}var l=this.getPickedGeometries(),m=Boolean(l.length);l.remove(0,l.length,null),m!==this.isActive_.getValue()&&(this.isActive_=m),this.pickedGeometry_.equals(l)||(this.pickedGeometry_=l);break;case s.GEOMETRY:for(var _=this.picker,a=0,h=r.length;a<h;++a){var p=r[a],y=this.getPickShape(this.pickingGeometryNode);e.assign(this.pickingGeometryNode.getBBox()).multRight(p),_.setChildShape1(p,y.getCompoundShape());for(var g=0,u=c.size;g<u;++g){var d=c[g],k=this.getPickShape(d.geometryNode);t.assign(d.geometryNode.getBBox()).multRight(d.modelMatrix),_.setChildShape2(d.modelMatrix,k.getCompoundShape()),_.contactTest()&&(i.assign(e.center),o.assign(t.center),d.intersected=!0,d.distance=i.distance(o))}}var l=this.getPickedGeometries(),m=Boolean(l.length);l.remove(0,l.length,null),m!==this.isActive_.getValue()&&(this.isActive_=m),this.pickedGeometry_.equals(l)||(this.pickedGeometry_=l)}}n.prototype.process.call(this)}}()}),h}),e("x_ite/Components/Picking/VolumePickSensor",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Picking/X3DPickSensorNode","x_ite/Bits/X3DCast","x_ite/Bits/X3DConstants","x_ite/Browser/Picking/IntersectionType","x_ite/Browser/Picking/VolumePicker","standard/Math/Numbers/Vector3","standard/Math/Geometry/Box3"],function(e,t,i,n,o,s,r,c,a,h){"use strict";function p(e){n.call(this,e),this.addType(s.VolumePickSensor),this.pickingGeometryNode=null,this.picker=new c}return p.prototype=Object.assign(Object.create(n.prototype),{constructor:p,fieldDefinitions:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.inputOutput,"enabled",new e.SFBool(!0)),new t(s.inputOutput,"objectType",new e.MFString("ALL")),new t(s.inputOutput,"matchCriterion",new e.SFString("MATCH_ANY")),new t(s.initializeOnly,"intersectionType",new e.SFString("BOUNDS")),new t(s.initializeOnly,"sortOrder",new e.SFString("CLOSEST")),new t(s.outputOnly,"isActive",new e.SFBool),new t(s.inputOutput,"pickingGeometry",new e.SFNode),new t(s.inputOutput,"pickTarget",new e.MFNode),new t(s.outputOnly,"pickedGeometry",new e.MFNode)]),getTypeName:function(){return"VolumePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this.pickingGeometry_.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=o(s.X3DGeometryNode,this.pickingGeometry_)},process:function(){var e=new h,t=new h,i=new a(0,0,0),o=new a(0,0,0);return function(){if(this.pickingGeometryNode){var s=this.getModelMatrices(),c=this.getTargets();switch(this.getIntersectionType()){case r.BOUNDS:for(var a=0,h=s.length;a<h;++a){var p=s[a];e.assign(this.pickingGeometryNode.getBBox()).multRight(p);for(var g=0,u=c.size;g<u;++g){var d=c[g];t.assign(d.geometryNode.getBBox()).multRight(d.modelMatrix),e.intersectsBox(t)&&(i.assign(e.center),o.assign(t.center),d.intersected=!0,d.distance=i.distance(o))}}var l=this.getPickedGeometries(),m=Boolean(l.length);l.remove(0,l.length,null),m!==this.isActive_.getValue()&&(this.isActive_=m),this.pickedGeometry_.equals(l)||(this.pickedGeometry_=l);break;case r.GEOMETRY:for(var _=this.picker,a=0,h=s.length;a<h;++a){var p=s[a],y=this.getPickShape(this.pickingGeometryNode);e.assign(this.pickingGeometryNode.getBBox()).multRight(p),_.setChildShape1(p,y.getCompoundShape());for(var g=0,u=c.size;g<u;++g){var d=c[g],k=this.getPickShape(d.geometryNode);t.assign(d.geometryNode.getBBox()).multRight(d.modelMatrix),_.setChildShape2(d.modelMatrix,k.getCompoundShape()),_.contactTest()&&(i.assign(e.center),o.assign(t.center),d.intersected=!0,d.distance=i.distance(o))}}var l=this.getPickedGeometries(),m=Boolean(l.length);l.remove(0,l.length,null),m!==this.isActive_.getValue()&&(this.isActive_=m),this.pickedGeometry_.equals(l)||(this.pickedGeometry_=l)}}n.prototype.process.call(this)}}()}),p}),e(t.getComponentUrl("picking"),["x_ite/Components","x_ite/Components/Picking/LinePickSensor","x_ite/Components/Picking/PickableGroup","x_ite/Components/Picking/PointPickSensor","x_ite/Components/Picking/PrimitivePickSensor","x_ite/Components/Picking/VolumePickSensor","x_ite/Components/Picking/X3DPickSensorNode","x_ite/Components/Picking/X3DPickableObject",t.getComponentUrl("rigid-body-physics")],function(e,t,i,n,o,s,r,c){"use strict";e.addComponent({name:"Picking",types:{LinePickSensor:t,PickableGroup:i,PointPickSensor:n,PrimitivePickSensor:o,VolumePickSensor:s},abstractTypes:{X3DPickSensorNode:r,X3DPickableObject:c}})})}();
1
+ !function(){const e=window[Symbol.for("X_ITE.X3D-5.0.0")].define,t=window[Symbol.for("X_ITE.X3D-5.0.0")].require;e("x_ite/Browser/Picking/MatchCriterion",[],(function(){"use strict";let e=0;return{MATCH_ANY:e++,MATCH_EVERY:e++,MATCH_ONLY_ONE:e++}})),e("x_ite/Browser/Picking/IntersectionType",[],(function(){"use strict";let e=0;return{BOUNDS:e++,GEOMETRY:e++}})),e("x_ite/Browser/Picking/SortOrder",[],(function(){"use strict";let e=0;return{ANY:e++,CLOSEST:e++,ALL:e++,ALL_SORTED:e++}})),e("x_ite/Components/Picking/X3DPickSensorNode",["x_ite/Fields","x_ite/Components/Core/X3DSensorNode","x_ite/Rendering/TraverseType","x_ite/Base/X3DConstants","x_ite/Browser/Picking/MatchCriterion","x_ite/Browser/Picking/IntersectionType","x_ite/Browser/Picking/SortOrder","standard/Math/Numbers/Matrix4","standard/Math/Algorithms/QuickSort","standard/Utility/ObjectCache"],(function(e,t,i,n,o,s,r,c,a,h){"use strict";var p,d,g,l,u=h(c);function m(e,t){return e.distance<t.distance}function _(i){t.call(this,i),this.addType(n.X3DPickSensorNode),this.objectType=new Set,this.intersectionType=s.BOUNDS,this.sortOrder=r.CLOSEST,this.pickTargetNodes=new Set,this.modelMatrices=[],this.targets=[],this.targets.size=0,this.pickedTargets=[],this.pickedTargetsSorter=new a(this.pickedTargets,m),this.pickedGeometries=new e.MFNode}return _.prototype=Object.assign(Object.create(t.prototype),{constructor:_,initialize:function(){this.isLive().addInterest("set_live__",this),this._enabled.addInterest("set_live__",this),this._objectType.addInterest("set_objectType__",this),this._matchCriterion.addInterest("set_matchCriterion__",this),this._intersectionType.addInterest("set_intersectionType__",this),this._sortOrder.addInterest("set_sortOrder__",this),this._pickTarget.addInterest("set_pickTarget__",this),this.set_objectType__(),this.set_matchCriterion__(),this.set_intersectionType__(),this.set_sortOrder__(),this.set_pickTarget__()},getObjectType:function(){return this.objectType},getMatchCriterion:function(){return this.matchCriterion},getIntersectionType:function(){return this.intersectionType},getSortOrder:function(){return this.sortOrder},getModelMatrices:function(){return this.modelMatrices},getTargets:function(){return this.targets},getPickShape:(l=new WeakMap,function(e){var t=l.get(e);if(void 0!==t)return t;var i=this.getExecutionContext().createNode("Shape",!1),n=this.getExecutionContext().createNode("CollidableShape",!1);return i.setPrivate(!0),n.setPrivate(!0),n.setConvex(!0),i._geometry=e,n._shape=i,i.setup(),n.setup(),l.set(e,n),n}),getPickedGeometries:function(){var e=this.targets,t=e.size,i=this.pickedTargets,n=this.pickedGeometries;i.length=0;for(var o=0;o<t;++o){var s=e[o];s.intersected&&i.push(s)}if(0===i.length)return n.length=0,n;switch(this.sortOrder){case r.ANY:i.length=1,n[0]=this.getPickedGeometry(i[0]),n.length=1;break;case r.CLOSEST:this.pickedTargetsSorter.sort(0,i.length),i.length=1,n[0]=this.getPickedGeometry(i[0]),n.length=1;break;case r.ALL:o=0;for(var c=i.length;o<c;++o)n[o]=this.getPickedGeometry(i[o]);n.length=c;break;case r.ALL_SORTED:for(this.pickedTargetsSorter.sort(0,i.length),o=0,c=i.length;o<c;++o)n[o]=this.getPickedGeometry(i[o]);n.length=c}return n},getPickedGeometry:function(e){var t=this.getExecutionContext(),i=e.geometryNode;if(i.getExecutionContext()===t)return i;if(-1!==(r=i.getExecutionContext()).getType().indexOf(n.X3DPrototypeInstance)&&r.getExecutionContext()===t)return r;for(var o=e.pickingHierarchy,s=o.length-1;s>=0;--s){var r,c=o[s];if(c.getExecutionContext()===t)return c;if(-1!==(r=c.getExecutionContext()).getType().indexOf(n.X3DPrototypeInstance)&&r.getExecutionContext()===t)return r}return null},getPickedTargets:function(){return this.pickedTargets},set_live__:function(){this.isLive().getValue()&&this._enabled.getValue()&&!this.objectType.has("NONE")?(this.getBrowser().addPickSensor(this),this.setPickableObject(!0)):(this.getBrowser().removePickSensor(this),this.setPickableObject(!1))},set_objectType__:function(){this.objectType.clear();for(var e=0,t=this._objectType.length;e<t;++e)this.objectType.add(this._objectType[e]);this.set_live__()},set_matchCriterion__:(g=new Map([["MATCH_ANY",o.MATCH_ANY],["MATCH_EVERY",o.MATCH_EVERY],["MATCH_ONLY_ONE",o.MATCH_ONLY_ONE]]),function(){this.matchCriterion=g.get(this._matchCriterion.getValue()),void 0===this.matchCriterion&&(this.matchCriterion=MatchCriterionType.MATCH_ANY)}),set_intersectionType__:(d=new Map([["BOUNDS",s.BOUNDS],["GEOMETRY",s.GEOMETRY]]),function(){this.intersectionType=d.get(this._intersectionType.getValue()),void 0===this.intersectionType&&(this.intersectionType=s.BOUNDS)}),set_sortOrder__:(p=new Map([["ANY",r.ANY],["CLOSEST",r.CLOSEST],["ALL",r.ALL],["ALL_SORTED",r.ALL_SORTED]]),function(){this.sortOrder=p.get(this._sortOrder.getValue()),void 0===this.sortOrder&&(this.sortOrder=r.CLOSEST)}),set_pickTarget__:function(){this.pickTargetNodes.clear();for(var e=0,t=this._pickTarget.length;e<t;++e)try{for(var i=this._pickTarget[e].getValue().getInnerNode(),o=i.getType(),s=o.length-1;s>=0;--s)switch(o[s]){case n.Inline:case n.Shape:case n.X3DGroupingNode:this.pickTargetNodes.add(i);break;default:continue}}catch(e){}},traverse:function(e,t){e===i.PICKING&&this.getPickableObject()&&this.modelMatrices.push(u.pop().assign(t.getModelViewMatrix().get()))},collect:function(e,t,i){var n=this.pickTargetNodes;if(i.some((function(e){return n.has(e)}))){var o=this.targets;if(o.size<o.length)var s=o[o.size];else{s={modelMatrix:new c,pickingHierarchy:[],pickedPoint:[],intersections:[]};o.push(s)}++o.size,s.intersected=!1,s.geometryNode=e,s.pickedPoint.length=0,s.intersections.length=0,s.modelMatrix.assign(t);for(var r=s.pickingHierarchy,a=0,h=i.length;a<h;++a)r[a]=i[a];r.length=h}},process:function(){for(var e=this.modelMatrices,t=0,i=e.length;t<i;++t)u.push(e[t]);this.modelMatrices.length=0,this.targets.size=0}}),_})),e("x_ite/Components/Picking/LinePickSensor",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Picking/X3DPickSensorNode","x_ite/Base/X3DConstants","x_ite/Browser/Picking/IntersectionType","standard/Math/Numbers/Vector3","standard/Math/Numbers/Matrix4","standard/Math/Geometry/Box3","standard/Math/Geometry/Line3"],(function(e,t,i,n,o,s,r,c,a,h){"use strict";function p(e){n.call(this,e),this.addType(o.LinePickSensor),this.pickingGeometryNode=null}var d,g,l,u,m,_,y,k,f,w,S,C,T,b,N,O;return p.prototype=Object.assign(Object.create(n.prototype),{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOutput,"enabled",new e.SFBool(!0)),new t(o.inputOutput,"objectType",new e.MFString("ALL")),new t(o.inputOutput,"matchCriterion",new e.SFString("MATCH_ANY")),new t(o.initializeOnly,"intersectionType",new e.SFString("BOUNDS")),new t(o.initializeOnly,"sortOrder",new e.SFString("CLOSEST")),new t(o.outputOnly,"isActive",new e.SFBool),new t(o.outputOnly,"pickedTextureCoordinate",new e.MFVec3f),new t(o.outputOnly,"pickedNormal",new e.MFVec3f),new t(o.outputOnly,"pickedPoint",new e.MFVec3f),new t(o.inputOutput,"pickingGeometry",new e.SFNode),new t(o.inputOutput,"pickTarget",new e.MFNode),new t(o.outputOnly,"pickedGeometry",new e.MFNode)]),getTypeName:function(){return"LinePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=null;try{for(var e=this._pickingGeometry.getValue().getInnerNode(),t=e.getType(),i=t.length-1;i>=0;--i)switch(t[i]){case o.IndexedLineSet:case o.LineSet:this.pickingGeometryNode=e;break;default:continue}}catch(e){}},process:(d=new a,g=new a,l=new r(0,0,0),u=new r(0,0,0),m=new c,_=new r(0,0,0),y=new r(0,0,0),k=new h(r.Zero,r.zAxis),f=new r(0,0,0),w=new r(0,0,0),S=[],C=[],T=new r(0,0,0),b=new e.MFVec3f,N=new e.MFVec3f,O=new e.MFVec3f,function(){if(this.pickingGeometryNode){var e=this.getModelMatrices(),t=this.getTargets();switch(this.getIntersectionType()){case s.BOUNDS:for(var i=0,o=e.length;i<o;++i){var r=e[i];d.assign(this.pickingGeometryNode.getBBox()).multRight(r);for(var c=0,a=t.size;c<a;++c){var h=t[c];g.assign(h.geometryNode.getBBox()).multRight(h.modelMatrix),d.intersectsBox(g)&&(l.assign(d.center),u.assign(g.center),h.intersected=!0,h.distance=l.distance(u))}}var p=this.getPickedGeometries(),x=Boolean(p.length);p.remove(0,p.length,null),x!==this._isActive.getValue()&&(this._isActive=x),this._pickedGeometry.equals(p)||(this._pickedGeometry=p);break;case s.GEOMETRY:for(i=0,o=e.length;i<o;++i)for(r=e[i],d.assign(this.pickingGeometryNode.getBBox()).multRight(r),c=0,a=t.size;c<a;++c)try{var P=(h=t[c]).geometryNode,v=this.pickingGeometryNode.getVertices();g.assign(P.getBBox()).multRight(h.modelMatrix),m.assign(h.modelMatrix).inverse().multLeft(r);for(var B=0,M=v.length;B<M;B+=8)if(m.multVecMatrix(_.set(v[B+0],v[B+1],v[B+2])),m.multVecMatrix(y.set(v[B+4],v[B+5],v[B+6])),k.setPoints(_,y),C.length=0,P.intersectsLine(k,S,h.modelMatrix,C))for(var G=0,D=C.length;G<D;++G){var F=C[G];f.assign(F.point).subtract(_),w.assign(F.point).subtract(y),f.add(w).abs()<=_.distance(y)&&h.intersections.push(F)}h.intersections.length&&(l.assign(d.center),u.assign(g.center),h.intersected=!0,h.distance=l.distance(u))}catch(e){console.error(e)}p=this.getPickedGeometries(),x=Boolean(p.length),p.remove(0,p.length,null),x!==this._isActive.getValue()&&(this._isActive=x),this._pickedGeometry.equals(p)||(this._pickedGeometry=p);var A=this.getPickedTargets();for(b.length=0,N.length=0,O.length=0,c=0,a=A.length;c<a;++c){var V=A[c].intersections;for(G=0,D=V.length;G<D;++G)c=(F=V[G]).texCoord,T.set(c.x,c.y,c.z),b.push(T),N.push(F.normal),O.push(F.point)}this._pickedTextureCoordinate.equals(b)||(this._pickedTextureCoordinate=b),this._pickedNormal.equals(N)||(this._pickedNormal=N),this._pickedPoint.equals(O)||(this._pickedPoint=O)}}n.prototype.process.call(this)})}),p})),e("x_ite/Components/Picking/X3DPickableObject",["x_ite/Base/X3DConstants"],(function(e){"use strict";function t(t){this.addType(e.X3DPickableObject),this.objectType=new Set}return t.prototype={constructor:t,initialize:function(){this._objectType.addInterest("set_objectType__",this),this.set_objectType__()},getObjectType:function(){return this.objectType},set_objectType__:function(){this.objectType.clear();for(var e=0,t=this._objectType.length;e<t;++e)this.objectType.add(this._objectType[e])}},t})),e("x_ite/Components/Picking/PickableGroup",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Grouping/X3DGroupingNode","x_ite/Components/Picking/X3DPickableObject","x_ite/Browser/Picking/MatchCriterion","x_ite/Base/X3DConstants","x_ite/Rendering/TraverseType"],(function(e,t,i,n,o,s,r,c){"use strict";function a(e){n.call(this,e),o.call(this,e),this.addType(r.PickableGroup)}return a.prototype=Object.assign(Object.create(n.prototype),o.prototype,{constructor:a,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(r.inputOutput,"metadata",new e.SFNode),new t(r.inputOutput,"pickable",new e.SFBool(!0)),new t(r.inputOutput,"objectType",new e.MFString("ALL")),new t(r.inputOutput,"visible",new e.SFBool(!0)),new t(r.inputOutput,"bboxDisplay",new e.SFBool),new t(r.initializeOnly,"bboxSize",new e.SFVec3f(-1,-1,-1)),new t(r.initializeOnly,"bboxCenter",new e.SFVec3f),new t(r.inputOnly,"addChildren",new e.MFNode),new t(r.inputOnly,"removeChildren",new e.MFNode),new t(r.inputOutput,"children",new e.MFNode)]),getTypeName:function(){return"PickableGroup"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),o.prototype.initialize.call(this),this._pickable.addInterest("set_pickable__",this),this.set_pickable__()},set_pickableObjects__:function(){this.set_pickable__()},set_pickable__:function(){this.setPickableObject(Boolean(this._pickable.getValue()||this.getTransformSensors().size))},traverse:function(){const e=new Set;return function(t,i){if(t===c.PICKING){if(this._pickable.getValue()){if(this.getObjectType().has("NONE"))return;const o=i.getBrowser(),r=o.getPickable();if(this.getObjectType().has("ALL"))r.push(!0),n.prototype.traverse.call(this,t,i),r.pop();else{const c=o.getPickSensors();for(const t of c.at(-1)){if(!t.getObjectType().has("ALL")){let e=0;for(const i of this.getObjectType())if(t.getObjectType().has(i)){++e;break}switch(t.getMatchCriterion()){case s.MATCH_ANY:if(0===e)continue;break;case s.MATCH_EVERY:if(e!==pickSensor.getObjectType().size)continue;break;case s.MATCH_ONLY_ONE:if(1!==e)continue}}e.add(t)}r.push(!0),c.push(e),n.prototype.traverse.call(this,t,i),c.pop(),r.pop(),e.clear()}}}else n.prototype.traverse.call(this,t,i)}}()}),a})),e("x_ite/Browser/Picking/VolumePicker",["standard/Math/Numbers/Vector3","standard/Math/Numbers/Rotation4","standard/Math/Numbers/Matrix4",t.getComponentUrl("rigid-body-physics")],(function(e,t,i,n){"use strict";const o=n.Ammo;function s(){this.broadphase=new o.btDbvtBroadphase,this.collisionConfiguration=new o.btDefaultCollisionConfiguration,this.dispatcher=new o.btCollisionDispatcher(this.collisionConfiguration),this.collisionWorld=new o.btCollisionWorld(this.dispatcher,this.broadphase,this.collisionConfiguration),this.compoundShape1=new o.btCompoundShape,this.motionState1=new o.btDefaultMotionState,this.constructionInfo1=new o.btRigidBodyConstructionInfo(0,this.motionState1,this.compoundShape1),this.rigidBody1=new o.btRigidBody(this.constructionInfo1),this.compoundShape2=new o.btCompoundShape,this.motionState2=new o.btDefaultMotionState,this.constructionInfo2=new o.btRigidBodyConstructionInfo(0,this.motionState2,this.compoundShape2),this.rigidBody2=new o.btRigidBody(this.constructionInfo2),this.collisionWorld.addCollisionObject(this.rigidBody1),this.collisionWorld.addCollisionObject(this.rigidBody2)}return s.prototype={constuctor:s,setChildShape1:function(e,t){this.setChildShape(this.compoundShape1,e,t)},setChildShape2:function(e,t){this.setChildShape(this.compoundShape2,e,t)},setChildShape1Components:function(e,t,i){this.setChildShapeComponents(this.compoundShape1,e,t,i)},setChildShape2Components:function(e,t,i){this.setChildShapeComponents(this.compoundShape2,e,t,i)},setChildShape:function(){const i=new e(0,0,0),n=new t(0,0,1,0),s=new e(1,1,1),r=new o.btVector3(0,0,0);return function(e,t,o){try{e.getNumChildShapes()&&e.removeChildShapeByIndex(0),o.getNumChildShapes()&&(t.get(i,n,s),r.setValue(s.x,s.y,s.z),o.setLocalScaling(r),e.addChildShape(this.getTransform(i,n),o))}catch(e){}}}(),setChildShapeComponents:function(e,t,i,n){e.getNumChildShapes()&&e.removeChildShapeByIndex(0),n.getNumChildShapes()&&(n.setLocalScaling(i),e.addChildShape(t,n))},contactTest:function(){this.collisionWorld.performDiscreteCollisionDetection();const e=this.dispatcher.getNumManifolds();for(let t=0;t<e;++t){const e=this.dispatcher.getManifoldByIndexInternal(t),i=e.getNumContacts();for(let t=0;t<i;++t){if(e.getContactPoint(t).getDistance()<=0)return!0}}return!1},getTransform:function(){const e=new o.btTransform,t=new o.btVector3(0,0,0),n=new i;return function(i,o,s){const r=s||e;return n.set(i,o),t.setValue(n[12],n[13],n[14]),r.getBasis().setValue(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),r.setOrigin(t),r}}()},s})),e("x_ite/Components/Picking/PointPickSensor",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Picking/X3DPickSensorNode","x_ite/Base/X3DCast","x_ite/Base/X3DConstants","x_ite/Browser/Picking/IntersectionType","x_ite/Browser/Picking/VolumePicker","standard/Math/Numbers/Vector3","standard/Math/Numbers/Rotation4","standard/Math/Geometry/Box3",t.getComponentUrl("rigid-body-physics")],(function(e,t,i,n,o,s,r,c,a,h,p,d){"use strict";var g,l,u,m,_,y,k,f,w,S,C,T,b,N=d.Ammo;function O(e){n.call(this,e),this.addType(s.PointPickSensor),this.pickingGeometryNode=null,this.picker=new c,this.compoundShapes=[]}return O.prototype=Object.assign(Object.create(n.prototype),{constructor:O,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.inputOutput,"enabled",new e.SFBool(!0)),new t(s.inputOutput,"objectType",new e.MFString("ALL")),new t(s.inputOutput,"matchCriterion",new e.SFString("MATCH_ANY")),new t(s.initializeOnly,"intersectionType",new e.SFString("BOUNDS")),new t(s.initializeOnly,"sortOrder",new e.SFString("CLOSEST")),new t(s.outputOnly,"isActive",new e.SFBool),new t(s.outputOnly,"pickedPoint",new e.MFVec3f),new t(s.inputOutput,"pickingGeometry",new e.SFNode),new t(s.inputOutput,"pickTarget",new e.MFNode),new t(s.outputOnly,"pickedGeometry",new e.MFNode)]),getTypeName:function(){return"PointPickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode&&this.pickingGeometryNode._rebuild.removeInterest("set_geometry__",this),this.pickingGeometryNode=o(s.PointSet,this._pickingGeometry),this.pickingGeometryNode&&this.pickingGeometryNode._rebuild.addInterest("set_geometry__",this),this.set_geometry__()},set_geometry__:(C=new N.btVector3(1,1,1),T=new N.btVector3,b=new N.btTransform,function(){var e=this.compoundShapes;if(this.pickingGeometryNode){var t=this.pickingGeometryNode.getCoord();if(t){for(var i=0,n=t.getSize();i<n;++i)if(i<e.length){var o=e[i],s=t.get1Point(i,o.point);T.setValue(s.x,s.y,s.z),b.setOrigin(T),o.setLocalScaling(C),o.updateChildTransform(0,b)}else{o=new N.btCompoundShape;var r=new N.btSphereShape(0);s=t.get1Point(i,new a(0,0,0)),o.point=s,T.setValue(s.x,s.y,s.z),b.setOrigin(T),o.addChildShape(b,r),e.push(o)}e.length=n}else e.length=0}else e.length=0}),process:(g=new p,l=new p,u=new a(0,0,0),m=new a(0,0,0),_=new N.btTransform,y=new N.btVector3,k=new a(0,0,0),f=new h(0,0,1,0),w=new a(1,1,1),S=new e.MFVec3f,function(){if(this.pickingGeometryNode){var e=this.getModelMatrices(),t=this.getTargets();switch(this.getIntersectionType()){case r.BOUNDS:for(var i=0,o=e.length;i<o;++i){var s=e[i];g.assign(this.pickingGeometryNode.getBBox()).multRight(s);for(var c=0,a=t.size;c<a;++c){var h=t[c];l.assign(h.geometryNode.getBBox()).multRight(h.modelMatrix),g.intersectsBox(l)&&(u.assign(g.center),m.assign(l.center),h.intersected=!0,h.distance=u.distance(m))}}var p=this.getPickedGeometries(),d=Boolean(p.length);p.remove(0,p.length,null),d!==this._isActive.getValue()&&(this._isActive=d),this._pickedGeometry.equals(p)||(this._pickedGeometry=p);break;case r.GEOMETRY:var C=this.picker,T=this.compoundShapes;for(i=0,o=e.length;i<o;++i){s=e[i],g.assign(this.pickingGeometryNode.getBBox()).multRight(s),s.get(k,f,w),C.getTransform(k,f,_),y.setValue(w.x,w.y,w.z);for(var b=0,N=T.length;b<N;++b){var O=T[b];for(C.setChildShape1Components(_,y,O),c=0,a=t.size;c<a;++c){h=t[c];var x=this.getPickShape(h.geometryNode);l.assign(h.geometryNode.getBBox()).multRight(h.modelMatrix),C.setChildShape2(h.modelMatrix,x.getCompoundShape()),C.contactTest()&&(u.assign(g.center),m.assign(l.center),h.intersected=!0,h.distance=u.distance(m),h.pickedPoint.push(O.point))}}}p=this.getPickedGeometries(),d=Boolean(p.length),p.remove(0,p.length,null),d!==this._isActive.getValue()&&(this._isActive=d),this._pickedGeometry.equals(p)||(this._pickedGeometry=p);var P=this.getPickedTargets();for(S.length=0,c=0,a=P.length;c<a;++c)for(var v=P[c].pickedPoint,B=0,M=v.length;B<M;++B)S.push(v[B]);this._pickedPoint.equals(S)||(this._pickedPoint=S)}}n.prototype.process.call(this)})}),O})),e("x_ite/Components/Picking/PrimitivePickSensor",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Picking/X3DPickSensorNode","x_ite/Base/X3DConstants","x_ite/Browser/Picking/IntersectionType","x_ite/Browser/Picking/VolumePicker","standard/Math/Numbers/Vector3","standard/Math/Geometry/Box3"],(function(e,t,i,n,o,s,r,c,a){"use strict";function h(e){n.call(this,e),this.addType(o.PrimitivePickSensor),this.pickingGeometryNode=null,this.picker=new r}var p,d,g,l;return h.prototype=Object.assign(Object.create(n.prototype),{constructor:h,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(o.inputOutput,"metadata",new e.SFNode),new t(o.inputOutput,"enabled",new e.SFBool(!0)),new t(o.inputOutput,"objectType",new e.MFString("ALL")),new t(o.inputOutput,"matchCriterion",new e.SFString("MATCH_ANY")),new t(o.initializeOnly,"intersectionType",new e.SFString("BOUNDS")),new t(o.initializeOnly,"sortOrder",new e.SFString("CLOSEST")),new t(o.outputOnly,"isActive",new e.SFBool),new t(o.inputOutput,"pickingGeometry",new e.SFNode),new t(o.inputOutput,"pickTarget",new e.MFNode),new t(o.outputOnly,"pickedGeometry",new e.MFNode)]),getTypeName:function(){return"PrimitivePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=null;try{for(var e=this._pickingGeometry.getValue().getInnerNode(),t=e.getType(),i=t.length-1;i>=0;--i)switch(t[i]){case o.Box:case o.Cone:case o.Cylinder:case o.Sphere:this.pickingGeometryNode=e;break;default:continue}}catch(e){}},process:(p=new a,d=new a,g=new c(0,0,0),l=new c(0,0,0),function(){if(this.pickingGeometryNode){var e=this.getModelMatrices(),t=this.getTargets();switch(this.getIntersectionType()){case s.BOUNDS:for(var i=0,o=e.length;i<o;++i){var r=e[i];p.assign(this.pickingGeometryNode.getBBox()).multRight(r);for(var c=0,a=t.size;c<a;++c){var h=t[c];d.assign(h.geometryNode.getBBox()).multRight(h.modelMatrix),p.intersectsBox(d)&&(g.assign(p.center),l.assign(d.center),h.intersected=!0,h.distance=g.distance(l))}}var u=this.getPickedGeometries(),m=Boolean(u.length);u.remove(0,u.length,null),m!==this._isActive.getValue()&&(this._isActive=m),this._pickedGeometry.equals(u)||(this._pickedGeometry=u);break;case s.GEOMETRY:var _=this.picker;for(i=0,o=e.length;i<o;++i){r=e[i];var y=this.getPickShape(this.pickingGeometryNode);for(p.assign(this.pickingGeometryNode.getBBox()).multRight(r),_.setChildShape1(r,y.getCompoundShape()),c=0,a=t.size;c<a;++c){h=t[c];var k=this.getPickShape(h.geometryNode);d.assign(h.geometryNode.getBBox()).multRight(h.modelMatrix),_.setChildShape2(h.modelMatrix,k.getCompoundShape()),_.contactTest()&&(g.assign(p.center),l.assign(d.center),h.intersected=!0,h.distance=g.distance(l))}}u=this.getPickedGeometries(),m=Boolean(u.length),u.remove(0,u.length,null),m!==this._isActive.getValue()&&(this._isActive=m),this._pickedGeometry.equals(u)||(this._pickedGeometry=u)}}n.prototype.process.call(this)})}),h})),e("x_ite/Components/Picking/VolumePickSensor",["x_ite/Fields","x_ite/Base/X3DFieldDefinition","x_ite/Base/FieldDefinitionArray","x_ite/Components/Picking/X3DPickSensorNode","x_ite/Base/X3DCast","x_ite/Base/X3DConstants","x_ite/Browser/Picking/IntersectionType","x_ite/Browser/Picking/VolumePicker","standard/Math/Numbers/Vector3","standard/Math/Geometry/Box3"],(function(e,t,i,n,o,s,r,c,a,h){"use strict";function p(e){n.call(this,e),this.addType(s.VolumePickSensor),this.pickingGeometryNode=null,this.picker=new c}var d,g,l,u;return p.prototype=Object.assign(Object.create(n.prototype),{constructor:p,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new i([new t(s.inputOutput,"metadata",new e.SFNode),new t(s.inputOutput,"enabled",new e.SFBool(!0)),new t(s.inputOutput,"objectType",new e.MFString("ALL")),new t(s.inputOutput,"matchCriterion",new e.SFString("MATCH_ANY")),new t(s.initializeOnly,"intersectionType",new e.SFString("BOUNDS")),new t(s.initializeOnly,"sortOrder",new e.SFString("CLOSEST")),new t(s.outputOnly,"isActive",new e.SFBool),new t(s.inputOutput,"pickingGeometry",new e.SFNode),new t(s.inputOutput,"pickTarget",new e.MFNode),new t(s.outputOnly,"pickedGeometry",new e.MFNode)]),getTypeName:function(){return"VolumePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){n.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=o(s.X3DGeometryNode,this._pickingGeometry)},process:(d=new h,g=new h,l=new a(0,0,0),u=new a(0,0,0),function(){if(this.pickingGeometryNode){var e=this.getModelMatrices(),t=this.getTargets();switch(this.getIntersectionType()){case r.BOUNDS:for(var i=0,o=e.length;i<o;++i){var s=e[i];d.assign(this.pickingGeometryNode.getBBox()).multRight(s);for(var c=0,a=t.size;c<a;++c){var h=t[c];g.assign(h.geometryNode.getBBox()).multRight(h.modelMatrix),d.intersectsBox(g)&&(l.assign(d.center),u.assign(g.center),h.intersected=!0,h.distance=l.distance(u))}}var p=this.getPickedGeometries(),m=Boolean(p.length);p.remove(0,p.length,null),m!==this._isActive.getValue()&&(this._isActive=m),this._pickedGeometry.equals(p)||(this._pickedGeometry=p);break;case r.GEOMETRY:var _=this.picker;for(i=0,o=e.length;i<o;++i){s=e[i];var y=this.getPickShape(this.pickingGeometryNode);for(d.assign(this.pickingGeometryNode.getBBox()).multRight(s),_.setChildShape1(s,y.getCompoundShape()),c=0,a=t.size;c<a;++c){h=t[c];var k=this.getPickShape(h.geometryNode);g.assign(h.geometryNode.getBBox()).multRight(h.modelMatrix),_.setChildShape2(h.modelMatrix,k.getCompoundShape()),_.contactTest()&&(l.assign(d.center),u.assign(g.center),h.intersected=!0,h.distance=l.distance(u))}}p=this.getPickedGeometries(),m=Boolean(p.length),p.remove(0,p.length,null),m!==this._isActive.getValue()&&(this._isActive=m),this._pickedGeometry.equals(p)||(this._pickedGeometry=p)}}n.prototype.process.call(this)})}),p})),e(t.getComponentUrl("picking"),["x_ite/Components","x_ite/Components/Picking/LinePickSensor","x_ite/Components/Picking/PickableGroup","x_ite/Components/Picking/PointPickSensor","x_ite/Components/Picking/PrimitivePickSensor","x_ite/Components/Picking/VolumePickSensor","x_ite/Components/Picking/X3DPickSensorNode","x_ite/Components/Picking/X3DPickableObject",t.getComponentUrl("rigid-body-physics")],(function(e,t,i,n,o,s,r,c){"use strict";e.addComponent({name:"Picking",types:{LinePickSensor:t,PickableGroup:i,PointPickSensor:n,PrimitivePickSensor:o,VolumePickSensor:s},abstractTypes:{X3DPickSensorNode:r,X3DPickableObject:c}})}))}();