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,2944 +0,0 @@
1
- /* -*- Mode: JavaScript; coding: utf-8; tab-width: 3; indent-tabs-mode: tab; c-basic-offset: 3 -*-
2
- *******************************************************************************
3
- *
4
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5
- *
6
- * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011.
7
- *
8
- * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
9
- *
10
- * The copyright notice above does not evidence any actual of intended
11
- * publication of such source code, and is an unpublished work by create3000.
12
- * This material contains CONFIDENTIAL INFORMATION that is the property of
13
- * create3000.
14
- *
15
- * No permission is granted to copy, distribute, or create derivative works from
16
- * the contents of this software, in whole or in part, without the prior written
17
- * permission of create3000.
18
- *
19
- * NON-MILITARY USE ONLY
20
- *
21
- * All create3000 software are effectively free software with a non-military use
22
- * restriction. It is free. Well commented source is provided. You may reuse the
23
- * source in any way you please with the exception anything that uses it must be
24
- * marked to indicate is contains 'non-military use only' components.
25
- *
26
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
27
- *
28
- * Copyright 2015, 2016 Holger Seelig <holger.seelig@yahoo.de>.
29
- *
30
- * This file is part of the X_ITE Project.
31
- *
32
- * X_ITE is free software: you can redistribute it and/or modify it under the
33
- * terms of the GNU General Public License version 3 only, as published by the
34
- * Free Software Foundation.
35
- *
36
- * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
37
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
38
- * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
39
- * details (a copy is included in the LICENSE file that accompanied this code).
40
- *
41
- * You should have received a copy of the GNU General Public License version 3
42
- * along with X_ITE. If not, see <http://www.gnu.org/licenses/gpl.html> for a
43
- * copy of the GPLv3 License.
44
- *
45
- * For Silvio, Joy and Adi.
46
- *
47
- ******************************************************************************/
48
-
49
-
50
- define ([
51
- "x_ite/Fields",
52
- "x_ite/Parser/X3DParser",
53
- "x_ite/Prototype/X3DExternProtoDeclaration",
54
- "x_ite/Prototype/X3DProtoDeclaration",
55
- "x_ite/Bits/X3DConstants",
56
- ],
57
- function (Fields,
58
- X3DParser,
59
- X3DExternProtoDeclaration,
60
- X3DProtoDeclaration,
61
- X3DConstants)
62
- {
63
- "use strict";
64
-
65
- function accessTypeToString (accessType)
66
- {
67
- switch (accessType)
68
- {
69
- case X3DConstants .inializeOnly:
70
- return "initializeOnly";
71
- case X3DConstants .inputOnly:
72
- return "inputOnly";
73
- case X3DConstants .outputOnly:
74
- return "outputOnly";
75
- case X3DConstants .inputOutput:
76
- return "inputOutput";
77
- }
78
- }
79
-
80
- /*
81
- * Grammar
82
- */
83
-
84
-
85
- // Comment out scriptBody function fragments
86
- //
87
- // // VRML lexical elements
88
- // var Grammar =
89
- // {
90
- // // General
91
- // Whitespaces: /^([\x20\n,\t\r]+)/,
92
- // Comment: /^#(.*?)(?=[\n\r])/,
93
- //
94
- // // Header
95
- // Header: /^#(VRML|X3D) V(.*?) (utf8)(?: (.*?))?[\n\r]/,
96
- //
97
- // // Keywords
98
- // AS: /^AS/,
99
- // COMPONENT: /^COMPONENT/,
100
- // DEF: /^DEF/,
101
- // EXPORT: /^EXPORT/,
102
- // EXTERNPROTO: /^EXTERNPROTO/,
103
- // FALSE: /^FALSE/,
104
- // false: /^false/,
105
- // IMPORT: /^IMPORT/,
106
- // IS: /^IS/,
107
- // META: /^META/,
108
- // NULL: /^NULL/,
109
- // TRUE: /^TRUE/,
110
- // true: /^true/,
111
- // PROFILE: /^PROFILE/,
112
- // PROTO: /^PROTO/,
113
- // ROUTE: /^ROUTE/,
114
- // TO: /^TO/,
115
- // UNIT: /^UNIT/,
116
- // USE: /^USE/,
117
- //
118
- // // Terminal symbols
119
- // OpenBrace: /^\{/,
120
- // CloseBrace: /^\}/,
121
- // OpenBracket: /^\[/,
122
- // CloseBracket: /^\]/,
123
- // Period: /^\./,
124
- // Colon: /^\:/,
125
- //
126
- // Id: /^([^\x30-\x39\x00-\x20\x22\x23\x27\x2b\x2c\x2d\x2e\x5b\x5c\x5d\x7b\x7d\x7f]{1}[^\x00-\x20\x22\x23\x27\x2c\x2e\x5b\x5c\x5d\x7b\x7d\x7f]*)/,
127
- // ComponentNameId: /^([^\x30-\x39\x00-\x20\x22\x23\x27\x2b\x2c\x2d\x2e\x5b\x5c\x5d\x7b\x7d\x7f\x3a]{1}[^\x00-\x20\x22\x23\x27\x2c\x2e\x5b\x5c\x5d\x7b\x7d\x7f\x3a]*)/,
128
- //
129
- // initializeOnly: /^initializeOnly/,
130
- // inputOnly: /^inputOnly/,
131
- // outputOnly: /^outputOnly/,
132
- // inputOutput: /^inputOutput/,
133
- //
134
- // field: /^field/,
135
- // eventIn: /^eventIn/,
136
- // eventOut: /^eventOut/,
137
- // exposedField: /^exposedField/,
138
- //
139
- // FieldType: /^(MFBool|MFColorRGBA|MFColor|MFDouble|MFFloat|MFImage|MFInt32|MFMatrix3d|MFMatrix3f|MFMatrix4d|MFMatrix4f|MFNode|MFRotation|MFString|MFTime|MFVec2d|MFVec2f|MFVec3d|MFVec3f|MFVec4d|MFVec4f|SFBool|SFColorRGBA|SFColor|SFDouble|SFFloat|SFImage|SFInt32|SFMatrix3d|SFMatrix3f|SFMatrix4d|SFMatrix4f|SFNode|SFRotation|SFString|SFTime|SFVec2d|SFVec2f|SFVec3d|SFVec3f|SFVec4d|SFVec4f)/,
140
- //
141
- // // Values
142
- // int32: /^((?:0[xX][\da-fA-F]+)|(?:[+-]?\d+))/,
143
- // double: /^([+-]?(?:(?:(?:\d*\.\d+)|(?:\d+(?:\.)?))(?:[eE][+-]?\d+)?))/,
144
- // string: /^"((?:[^"\\]|\\\\|\\")*)"/,
145
- //
146
- // Inf: /^[+]?inf/i,
147
- // NegativeInf: /^-inf/i,
148
- // NaN: /^[+-]?nan/i,
149
- //
150
- // // Misc
151
- // Break: /\r?\n/g,
152
- // };
153
- //
154
- // function parse (parser)
155
- // {
156
- // this .lastIndex = 0;
157
- // parser .result = this .exec (parser .input);
158
- //
159
- // if (parser .result)
160
- // {
161
- // parser .input = parser .input .slice (parser .result [0] .length);
162
- // return true;
163
- // }
164
- //
165
- // return false;
166
- // }
167
-
168
-
169
- // Comment out scriptBody function fragments
170
- //
171
- // VRML lexical elements
172
- var Grammar =
173
- {
174
- // General
175
- Whitespaces: new RegExp ('([\\x20\\n,\\t\\r]+)', 'gy'),
176
- Comment: new RegExp ('#(.*?)(?=[\\n\\r])', 'gy'),
177
-
178
- // Header
179
- Header: new RegExp ("^#(VRML|X3D) V(.*?) (utf8)(?:[ \\t]+(.*?))?[ \\t]*[\\n\\r]", 'gy'),
180
-
181
- // Keywords
182
- AS: new RegExp ('AS', 'gy'),
183
- COMPONENT: new RegExp ('COMPONENT', 'gy'),
184
- DEF: new RegExp ('DEF', 'gy'),
185
- EXPORT: new RegExp ('EXPORT', 'gy'),
186
- EXTERNPROTO: new RegExp ('EXTERNPROTO', 'gy'),
187
- FALSE: new RegExp ('FALSE|false', 'gy'),
188
- IMPORT: new RegExp ('IMPORT', 'gy'),
189
- IS: new RegExp ('IS', 'gy'),
190
- META: new RegExp ('META', 'gy'),
191
- NULL: new RegExp ('NULL', 'gy'),
192
- TRUE: new RegExp ('TRUE|true', 'gy'),
193
- PROFILE: new RegExp ('PROFILE', 'gy'),
194
- PROTO: new RegExp ('PROTO', 'gy'),
195
- ROUTE: new RegExp ('ROUTE', 'gy'),
196
- TO: new RegExp ('TO', 'gy'),
197
- UNIT: new RegExp ('UNIT', 'gy'),
198
- USE: new RegExp ('USE', 'gy'),
199
-
200
- // Terminal symbols
201
- OpenBrace: new RegExp ('\\{', 'gy'),
202
- CloseBrace: new RegExp ('\\}', 'gy'),
203
- OpenBracket: new RegExp ('\\[', 'gy'),
204
- CloseBracket: new RegExp ('\\]', 'gy'),
205
- Period: new RegExp ('\\.', 'gy'),
206
- Colon: new RegExp ('\\:', 'gy'),
207
-
208
- Id: new RegExp ('([^\\x30-\\x39\\x00-\\x20\\x22\\x23\\x27\\x2b\\x2c\\x2d\\x2e\\x5b\\x5c\\x5d\\x7b\\x7d\\x7f]{1}[^\\x00-\\x20\\x22\\x23\\x27\\x2c\\x2e\\x5b\\x5c\\x5d\\x7b\\x7d\\x7f]*)', 'gy'),
209
- ComponentNameId: new RegExp ('([^\\x30-\\x39\\x00-\\x20\\x22\\x23\\x27\\x2b\\x2c\\x2d\\x2e\\x5b\\x5c\\x5d\\x7b\\x7d\\x7f\\x3a]{1}[^\\x00-\\x20\\x22\\x23\\x27\\x2c\\x2e\\x5b\\x5c\\x5d\\x7b\\x7d\\x7f\\x3a]*)', 'gy'),
210
-
211
- initializeOnly: new RegExp ('initializeOnly', 'gy'),
212
- inputOnly: new RegExp ('inputOnly', 'gy'),
213
- outputOnly: new RegExp ('outputOnly', 'gy'),
214
- inputOutput: new RegExp ('inputOutput', 'gy'),
215
-
216
- field: new RegExp ('field', 'gy'),
217
- eventIn: new RegExp ('eventIn', 'gy'),
218
- eventOut: new RegExp ('eventOut', 'gy'),
219
- exposedField: new RegExp ('exposedField', 'gy'),
220
-
221
- FieldType: new RegExp ('(MFBool|MFColorRGBA|MFColor|MFDouble|MFFloat|MFImage|MFInt32|MFMatrix3d|MFMatrix3f|MFMatrix4d|MFMatrix4f|MFNode|MFRotation|MFString|MFTime|MFVec2d|MFVec2f|MFVec3d|MFVec3f|MFVec4d|MFVec4f|SFBool|SFColorRGBA|SFColor|SFDouble|SFFloat|SFImage|SFInt32|SFMatrix3d|SFMatrix3f|SFMatrix4d|SFMatrix4f|SFNode|SFRotation|SFString|SFTime|SFVec2d|SFVec2f|SFVec3d|SFVec3f|SFVec4d|SFVec4f)', 'gy'),
222
-
223
- // Values
224
- int32: new RegExp ('((?:0[xX][\\da-fA-F]+)|(?:[+-]?\\d+))', 'gy'),
225
- double: new RegExp ('([+-]?(?:(?:(?:\\d*\\.\\d+)|(?:\\d+(?:\\.)?))(?:[eE][+-]?\\d+)?))', 'gy'),
226
- string: new RegExp ('"((?:[^\\\\"]|\\\\\\\\|\\\\\\")*)"', 'gy'),
227
-
228
- Inf: new RegExp ('[+]?(?:inf|Infinity)', 'gy'),
229
- NegativeInf: new RegExp ('-(?:inf|Infinity)', 'gy'),
230
- NaN: new RegExp ('[+-]?(nan|NaN)', 'gy'),
231
-
232
- // Misc
233
- Break: new RegExp ('\\r?\\n', 'g'),
234
- };
235
-
236
- function parse (parser)
237
- {
238
- this .lastIndex = parser .lastIndex;
239
-
240
- parser .result = this .exec (parser .input);
241
-
242
- if (parser .result)
243
- {
244
- parser .lastIndex = this .lastIndex;
245
- return true;
246
- }
247
-
248
- return false;
249
- }
250
-
251
- for (var key in Grammar)
252
- Grammar [key] .parse = parse;
253
-
254
- /*
255
- * Parser
256
- */
257
-
258
- function Parser (scene)
259
- {
260
- X3DParser .call (this, scene);
261
- }
262
-
263
- Parser .prototype = Object .assign (Object .create (X3DParser .prototype),
264
- {
265
- accessTypes:
266
- {
267
- field: X3DConstants .initializeOnly,
268
- eventIn: X3DConstants .inputOnly,
269
- eventOut: X3DConstants .outputOnly,
270
- exposedField: X3DConstants .inputOutput,
271
- initializeOnly: X3DConstants .initializeOnly,
272
- inputOnly: X3DConstants .inputOnly,
273
- outputOnly: X3DConstants .outputOnly,
274
- inputOutput: X3DConstants .inputOutput,
275
- },
276
- SFBool: new Fields .SFBool (),
277
- SFColor: new Fields .SFColor (),
278
- SFColorRGBA: new Fields .SFColorRGBA (),
279
- SFDouble: new Fields .SFDouble (),
280
- SFFloat: new Fields .SFFloat (),
281
- SFImage: new Fields .SFImage (),
282
- SFInt32: new Fields .SFInt32 (),
283
- SFMatrix3f: new Fields .SFMatrix3f (),
284
- SFMatrix3d: new Fields .SFMatrix3d (),
285
- SFMatrix4f: new Fields .SFMatrix4f (),
286
- SFMatrix4d: new Fields .SFMatrix4d (),
287
- SFNode: new Fields .SFNode (),
288
- SFRotation: new Fields .SFRotation (),
289
- SFString: new Fields .SFString (),
290
- SFTime: new Fields .SFTime (),
291
- SFVec2d: new Fields .SFVec2d (),
292
- SFVec2f: new Fields .SFVec2f (),
293
- SFVec3d: new Fields .SFVec3d (),
294
- SFVec3f: new Fields .SFVec3f (),
295
- SFVec4d: new Fields .SFVec4d (),
296
- SFVec4f: new Fields .SFVec4f (),
297
- MFBool: new Fields .MFBool (),
298
- MFColor: new Fields .MFColor (),
299
- MFColorRGBA: new Fields .MFColorRGBA (),
300
- MFDouble: new Fields .MFDouble (),
301
- MFFloat: new Fields .MFFloat (),
302
- MFImage: new Fields .MFImage (),
303
- MFInt32: new Fields .MFInt32 (),
304
- MFMatrix3d: new Fields .MFMatrix3d (),
305
- MFMatrix3f: new Fields .MFMatrix3f (),
306
- MFMatrix4d: new Fields .MFMatrix4d (),
307
- MFMatrix4f: new Fields .MFMatrix4f (),
308
- MFNode: new Fields .MFNode (),
309
- MFRotation: new Fields .MFRotation (),
310
- MFString: new Fields .MFString (),
311
- MFTime: new Fields .MFTime (),
312
- MFVec2d: new Fields .MFVec2d (),
313
- MFVec2f: new Fields .MFVec2f (),
314
- MFVec3d: new Fields .MFVec3d (),
315
- MFVec3f: new Fields .MFVec3f (),
316
- MFVec4d: new Fields .MFVec4d (),
317
- MFVec4f: new Fields .MFVec4f (),
318
- setInput: function (value)
319
- {
320
- this .input = value;
321
- this .lineNumber = 1;
322
- this .lastIndex = 0;
323
- },
324
- getInput: function ()
325
- {
326
- return this .input;
327
- },
328
- exception: function (string)
329
- {
330
- if (this .getBrowser () .isStrict ())
331
- throw new Error (string);
332
-
333
- console .warn (string);
334
- },
335
- parseIntoScene: function (input, success, error)
336
- {
337
- try
338
- {
339
- this .success = success;
340
- this .error = error;
341
-
342
- this .getScene () .setEncoding ("VRML");
343
- this .getScene () .setProfile (this .getBrowser () .getProfile ("Full"));
344
-
345
- this .setInput (input);
346
- this .x3dScene ();
347
- return;
348
- }
349
- catch (error)
350
- {
351
- //console .log (error);
352
- throw new Error (this .getError (error));
353
- }
354
- },
355
- getError: function (error)
356
- {
357
- //console .log (error);
358
-
359
- var string = error .message;
360
-
361
- var
362
- rest = this .getLine (),
363
- line = this .getLastLine (),
364
- lastLine = this .getLastLine (),
365
- linePos = line .length - rest .length + 1;
366
-
367
- if (line .length > 80)
368
- {
369
- line = line .substr (linePos - 40, 80);
370
- lastLine = "";
371
- linePos = 40;
372
- }
373
-
374
- // Format error
375
-
376
- var message = "\n"
377
- + "********************************************************************************" + "\n"
378
- + "Parser error at line " + this .lineNumber + ":" + linePos + "\n"
379
- + "in '" + this .getScene () .getWorldURL () + "'" + "\n"
380
- + "\n"
381
- + lastLine + "\n"
382
- + line + "\n"
383
- + Array (linePos) .join (" ") + "^" + "\n"
384
- + string + "\n"
385
- + "********************************************************************************"
386
- + "\n"
387
- ;
388
-
389
- return message;
390
- },
391
- getLine: function ()
392
- {
393
- var
394
- input = this .input,
395
- lastIndex = this .lastIndex,
396
- line = "";
397
-
398
- while (lastIndex < input .length && input [lastIndex] !== "\n" && input [lastIndex] !== "\r")
399
- line += input [lastIndex ++];
400
-
401
- this .lastIndex = lastIndex;
402
-
403
- return line;
404
- },
405
- getLastLine: function ()
406
- {
407
- var
408
- input = this .input,
409
- lastIndex = this .lastIndex,
410
- line = "";
411
-
412
- if (lastIndex < input .length && (input [lastIndex] !== "\n" || input [lastIndex] !== "\r"))
413
- -- lastIndex;
414
-
415
- while (lastIndex >= 0 && input [lastIndex] !== "\n" && input [lastIndex] !== "\r")
416
- line = input [lastIndex --] + line;
417
-
418
- this .lastIndex = lastIndex;
419
-
420
- return line;
421
- },
422
- comments: function ()
423
- {
424
- while (this .comment ())
425
- ;
426
- },
427
- comment: function ()
428
- {
429
- if (this .whitespaces ())
430
- return true;
431
-
432
- return Grammar .Comment .parse (this);
433
- },
434
- whitespaces: function ()
435
- {
436
- if (Grammar .Whitespaces .parse (this))
437
- {
438
- if (!this .xml)
439
- this .lines (this .result [1]);
440
-
441
- return true;
442
- }
443
-
444
- return false;
445
- },
446
- lines: function (string)
447
- {
448
- var match = string .match (Grammar .Break);
449
-
450
- if (match)
451
- this .lineNumber += match .length;
452
- },
453
- x3dScene: function ()
454
- {
455
- this .pushExecutionContext (this .getScene ());
456
-
457
- this .headerStatement ();
458
- this .profileStatement ();
459
- this .componentStatements ();
460
- this .unitStatements ();
461
- this .metaStatements ();
462
-
463
- try
464
- {
465
- this .setUnits (this .getScene () .getMetaData ("generator"));
466
- }
467
- catch (error)
468
- { }
469
-
470
- if (this .success)
471
- {
472
- require (this .getProviderUrls (),
473
- function ()
474
- {
475
- try
476
- {
477
- this .statements ();
478
- this .popExecutionContext ();
479
-
480
- if (this .lastIndex < this .input .length)
481
- throw new Error ("Unknown statement.");
482
-
483
- this .success (this .getScene ());
484
- }
485
- catch (error)
486
- {
487
- this .error (new Error (this .getError (error)));
488
- }
489
- }
490
- .bind (this),
491
- function (error)
492
- {
493
- this .error (error);
494
- }
495
- .bind (this));
496
- }
497
- else
498
- {
499
- this .statements ();
500
- this .popExecutionContext ();
501
-
502
- if (this .lastIndex < this .input .length)
503
- throw new Error ("Unknown statement.");
504
- }
505
- },
506
- headerStatement: function ()
507
- {
508
- Grammar .Header .lastIndex = 0;
509
-
510
- var result = Grammar .Header .exec (this .input);
511
-
512
- if (result)
513
- {
514
- this .getScene () .setSpecificationVersion (result [2]);
515
- this .getScene () .setEncoding ("VRML");
516
- return true;
517
- }
518
-
519
- return false;
520
- },
521
- profileStatement: function ()
522
- {
523
- this .comments ();
524
-
525
- if (Grammar .PROFILE .parse (this))
526
- {
527
- if (this .profileNameId ())
528
- {
529
- var profile = this .getBrowser () .getProfile (this .result [1]);
530
-
531
- this .getScene () .setProfile (profile);
532
- return;
533
- }
534
-
535
- throw new Error ("Expected a profile name.");
536
- }
537
- },
538
- componentStatements: function ()
539
- {
540
- var component = this .componentStatement ();
541
-
542
- while (component)
543
- {
544
- this .getScene () .addComponent (component);
545
-
546
- component = this .componentStatement ();
547
- }
548
- },
549
- componentStatement: function ()
550
- {
551
- this .comments ();
552
-
553
- if (Grammar .COMPONENT .parse (this))
554
- {
555
- if (this .componentNameId ())
556
- {
557
- var componentNameIdCharacters = this .result [1];
558
-
559
- this .comments ();
560
-
561
- if (Grammar .Colon .parse (this))
562
- {
563
- if (this .componentSupportLevel ())
564
- {
565
- var componentSupportLevel = this .value;
566
-
567
- return this .getBrowser () .getComponent (componentNameIdCharacters, componentSupportLevel);
568
- }
569
-
570
- throw new Error ("Expected a component support level.");
571
- }
572
-
573
- throw new Error ("Expected a ':' after component name.");
574
- }
575
-
576
- throw new Error ("Expected a component name.");
577
- }
578
-
579
- return null;
580
- },
581
- componentSupportLevel: function ()
582
- {
583
- return this .int32 ();
584
- },
585
- unitStatements: function ()
586
- {
587
- while (this .unitStatement ())
588
- ;
589
- },
590
- unitStatement: function ()
591
- {
592
- this .comments ();
593
-
594
- if (Grammar .UNIT .parse (this))
595
- {
596
- if (this .categoryNameId ())
597
- {
598
- var categoryNameId = this .result [1];
599
-
600
- if (this .unitNameId ())
601
- {
602
- var unitNameId = this .result [1];
603
-
604
- if (this .unitConversionFactor ())
605
- {
606
- var unitConversionFactor = this .value;
607
-
608
- try
609
- {
610
- this .getScene () .updateUnit (categoryNameId, unitNameId, unitConversionFactor);
611
- return true;
612
- }
613
- catch (error)
614
- {
615
- console .log (error .message);
616
- return true;
617
- }
618
- }
619
-
620
- throw new Error ("Expected unit conversion factor.");
621
- }
622
-
623
- throw new Error ("Expected unit name identificator.");
624
- }
625
-
626
- throw new Error ("Expected category name identificator after UNIT statement.");
627
- }
628
-
629
- return false;
630
- },
631
- unitConversionFactor: function ()
632
- {
633
- return this .double ();
634
- },
635
- metaStatements: function ()
636
- {
637
- while (this .metaStatement ())
638
- ;
639
- },
640
- metaStatement: function ()
641
- {
642
- this .comments ();
643
-
644
- if (Grammar .META .parse (this))
645
- {
646
- if (this .metakey ())
647
- {
648
- var metakey = this .value;
649
-
650
- if (this .metavalue ())
651
- {
652
- var metavalue = this .value;
653
-
654
- this .getScene () .setMetaData (metakey, metavalue);
655
- return true;
656
- }
657
-
658
- throw new Error ("Expected metadata value.");
659
- }
660
-
661
- throw new Error ("Expected metadata key.");
662
- }
663
-
664
- return false;
665
- },
666
- metakey: function ()
667
- {
668
- return this .string ();
669
- },
670
- metavalue: function ()
671
- {
672
- return this .string ();
673
- },
674
- exportStatement: function ()
675
- {
676
- this .comments ();
677
-
678
- if (Grammar .EXPORT .parse (this))
679
- {
680
- if (this .nodeNameId ())
681
- {
682
- var
683
- localNodeNameId = this .result [1],
684
- exportedNodeNameId = "";
685
-
686
- this .comments ();
687
-
688
- var node = this .getScene () .getLocalNode (localNodeNameId);
689
-
690
- if (Grammar .AS .parse (this))
691
- {
692
- if (this .exportedNodeNameId ())
693
- exportedNodeNameId = this .result [1];
694
- else
695
- throw new Error ("No name given after AS.");
696
- }
697
- else
698
- exportedNodeNameId = localNodeNameId;
699
-
700
- this .getScene () .updateExportedNode (exportedNodeNameId, node);
701
- return true;
702
- }
703
-
704
- throw new Error ("No name given after EXPORT.");
705
- }
706
-
707
- return false;
708
- },
709
- importStatement: function ()
710
- {
711
- this .comments ();
712
-
713
- if (Grammar .IMPORT .parse (this))
714
- {
715
- if (this .nodeNameId ())
716
- {
717
- var
718
- inlineNodeNameId = this .result [1],
719
- namedNode = this .getExecutionContext () .getNamedNode (inlineNodeNameId);
720
-
721
- this .comments ();
722
-
723
- if (Grammar .Period .parse (this))
724
- {
725
- if (this .exportedNodeNameId ())
726
- {
727
- var
728
- exportedNodeNameId = this .result [1],
729
- nodeNameId = exportedNodeNameId;
730
-
731
- this .comments ();
732
-
733
- if (Grammar .AS .parse (this))
734
- {
735
- if (this .nodeNameId ())
736
- nodeNameId = this .result [1];
737
-
738
- else
739
- throw new Error ("No name given after AS.");
740
- }
741
-
742
- this .getExecutionContext () .updateImportedNode (namedNode, exportedNodeNameId, nodeNameId);
743
- return true;
744
- }
745
-
746
- throw new Error ("Expected exported node name.");
747
- }
748
-
749
- throw new Error ("Expected a '.' after exported node name.");
750
- }
751
-
752
- throw new Error ("No name given after IMPORT statement.");
753
- }
754
- return false;
755
- },
756
- statements: function ()
757
- {
758
- while (this .statement ())
759
- ;
760
- },
761
- statement: function ()
762
- {
763
- if (this .protoStatement ())
764
- return true;
765
-
766
- if (this .routeStatement ())
767
- return true;
768
-
769
- if (this .importStatement ())
770
- return true;
771
-
772
- if (this .exportStatement ())
773
- return true;
774
-
775
- var node = this .nodeStatement ();
776
-
777
- if (node !== false)
778
- {
779
- this .addRootNode (node);
780
- return true;
781
- }
782
-
783
- return false;
784
- },
785
- nodeStatement: function ()
786
- {
787
- this .comments ();
788
-
789
- if (Grammar .DEF .parse (this))
790
- {
791
- if (this .nodeNameId ())
792
- return this .node (this .result [1]);
793
-
794
- throw new Error ("No name given after DEF.");
795
- }
796
-
797
- if (Grammar .USE .parse (this))
798
- {
799
- if (this .nodeNameId ())
800
- return this .getExecutionContext () .getNamedNode (this .result [1]) .getValue ();
801
-
802
- throw new Error ("No name given after USE.");
803
- }
804
-
805
- if (Grammar .NULL .parse (this))
806
- return null;
807
-
808
- return this .node ("");
809
- },
810
- protoStatement: function ()
811
- {
812
- if (this .proto ())
813
- return true;
814
-
815
- if (this .externproto ())
816
- return true;
817
-
818
- return false;
819
- },
820
- protoStatements: function ()
821
- {
822
- while (this .protoStatement ())
823
- ;
824
- },
825
- proto: function ()
826
- {
827
- this .comments ();
828
-
829
- if (Grammar .PROTO .parse (this))
830
- {
831
- if (this .nodeTypeId ())
832
- {
833
- var nodeTypeId = this .result [1];
834
-
835
- this .comments ();
836
-
837
- if (Grammar .OpenBracket .parse (this))
838
- {
839
- var interfaceDeclarations = this .interfaceDeclarations ();
840
-
841
- this .comments ();
842
-
843
- if (Grammar .CloseBracket .parse (this))
844
- {
845
- this .comments ();
846
-
847
- if (Grammar .OpenBrace .parse (this))
848
- {
849
- var proto = new X3DProtoDeclaration (this .getExecutionContext ());
850
-
851
- for (var i = 0, length = interfaceDeclarations .length; i < length; ++ i)
852
- {
853
- var field = interfaceDeclarations [i];
854
-
855
- proto .addUserDefinedField (field .getAccessType (), field .getName (), field);
856
- }
857
-
858
- this .pushPrototype (proto);
859
- this .pushExecutionContext (proto .getBody ());
860
-
861
- this .protoBody ();
862
-
863
- this .popExecutionContext ();
864
- this .popPrototype ();
865
-
866
- this .comments ();
867
-
868
- if (Grammar .CloseBrace .parse (this))
869
- {
870
- proto .setName (nodeTypeId);
871
- proto .setup ();
872
-
873
- this .getExecutionContext () .protos .add (nodeTypeId, proto);
874
- return true;
875
- }
876
-
877
- throw new Error ("Expected a '}' at the end of PROTO body.");
878
- }
879
-
880
- throw new Error ("Expected a '{' at the beginning of PROTO body.");
881
- }
882
-
883
- throw new Error ("Expected a ']' at the end of PROTO interface declaration.");
884
- }
885
-
886
- throw new Error ("Expected a '[' at the beginning of PROTO interface declaration.");
887
- }
888
-
889
- throw new Error ("Invalid PROTO definition name.");
890
- }
891
-
892
- return false;
893
- },
894
- protoBody: function ()
895
- {
896
- this .protoStatements ();
897
-
898
- var rootNodeStatement = this .rootNodeStatement ();
899
-
900
- if (rootNodeStatement !== false)
901
- this .addRootNode (rootNodeStatement);
902
-
903
- this .statements ();
904
- },
905
- rootNodeStatement: function ()
906
- {
907
- this .comments ();
908
-
909
- if (Grammar .DEF .parse (this))
910
- {
911
- if (this .nodeNameId ())
912
- {
913
- var
914
- nodeNameId = this .result [0],
915
- baseNode = this .node (nodeNameId);
916
-
917
- if (baseNode !== false)
918
- return baseNode;
919
-
920
- throw new Error ("Expected node type name after DEF.");
921
- }
922
-
923
- throw new Error ("No name given after DEF.");
924
- }
925
-
926
- var baseNode = this .node ("");
927
-
928
- if (baseNode !== false)
929
- return baseNode;
930
-
931
- return false;
932
- },
933
- interfaceDeclarations: function ()
934
- {
935
- var
936
- interfaceDeclarations = [ ],
937
- field = this .interfaceDeclaration ();
938
-
939
- while (field)
940
- {
941
- interfaceDeclarations .push (field);
942
-
943
- field = this .interfaceDeclaration ();
944
- }
945
-
946
- return interfaceDeclarations;
947
- },
948
- restrictedInterfaceDeclaration: function ()
949
- {
950
- this .comments ();
951
-
952
- if (Grammar .inputOnly .parse (this) || Grammar .eventIn .parse (this))
953
- {
954
- if (this .fieldType ())
955
- {
956
- var fieldType = this .result [1];
957
-
958
- if (this .inputOnlyId ())
959
- {
960
- var
961
- fieldId = this .result [1],
962
- field = new (this [fieldType] .constructor) ();
963
-
964
- field .setAccessType (X3DConstants .inputOnly);
965
- field .setName (fieldId);
966
- return field;
967
- }
968
-
969
- throw new Error ("Expected a name for field.");
970
- }
971
-
972
- this .Id ()
973
-
974
- throw new Error ("Unknown event or field type: '" + this .result [1] + "'.");
975
- }
976
-
977
- if (Grammar .outputOnly .parse (this) || Grammar .eventOut .parse (this))
978
- {
979
- if (this .fieldType ())
980
- {
981
- var fieldType = this .result [1];
982
-
983
- if (this .outputOnlyId ())
984
- {
985
- var
986
- fieldId = this .result [1],
987
- field = new (this [fieldType] .constructor) ();
988
-
989
- field .setAccessType (X3DConstants .outputOnly);
990
- field .setName (fieldId);
991
- return field;
992
- }
993
-
994
- throw new Error ("Expected a name for field.");
995
- }
996
-
997
- this .Id ()
998
-
999
- throw new Error ("Unknown event or field type: '" + this .result [1] + "'.");
1000
- }
1001
-
1002
- if (Grammar .initializeOnly .parse (this) || Grammar .field .parse (this))
1003
- {
1004
- if (this .fieldType ())
1005
- {
1006
- var fieldType = this .result [1];
1007
-
1008
- if (this .initializeOnlyId ())
1009
- {
1010
- var
1011
- fieldId = this .result [1],
1012
- field = new (this [fieldType] .constructor) ();
1013
-
1014
- if (this .fieldValue (field))
1015
- {
1016
- field .setAccessType (X3DConstants .initializeOnly);
1017
- field .setName (fieldId);
1018
- return field;
1019
- }
1020
-
1021
- throw new Error ("Couldn't read value for field '" + fieldId + "'.");
1022
- }
1023
-
1024
- throw new Error ("Expected a name for field.");
1025
- }
1026
-
1027
- this .Id ()
1028
-
1029
- throw new Error ("Unknown event or field type: '" + this .result [1] + "'.");
1030
- }
1031
-
1032
- return null;
1033
- },
1034
- interfaceDeclaration: function ()
1035
- {
1036
- var field = this .restrictedInterfaceDeclaration ();
1037
-
1038
- if (field)
1039
- return field;
1040
-
1041
- this .comments ();
1042
-
1043
- if (Grammar .inputOutput .parse (this) || Grammar .exposedField .parse (this))
1044
- {
1045
- if (this .fieldType ())
1046
- {
1047
- var fieldType = this .result [1];
1048
-
1049
- if (this .inputOutputId ())
1050
- {
1051
- var
1052
- fieldId = this .result [1],
1053
- field = new (this [fieldType] .constructor) ();
1054
-
1055
- if (this .fieldValue (field))
1056
- {
1057
- field .setAccessType (X3DConstants .inputOutput);
1058
- field .setName (fieldId);
1059
- return field;
1060
- }
1061
-
1062
- throw new Error ("Couldn't read value for field '" + fieldId + "'.");
1063
- }
1064
-
1065
- throw new Error ("Expected a name for field.");
1066
- }
1067
-
1068
- this .Id ();
1069
-
1070
- throw new Error ("Unknown event or field type: '" + this .result [1] + "'.");
1071
- }
1072
-
1073
- return null;
1074
- },
1075
- externproto: function ()
1076
- {
1077
- this .comments ();
1078
-
1079
- if (Grammar .EXTERNPROTO .parse (this))
1080
- {
1081
- if (this .nodeTypeId ())
1082
- {
1083
- var nodeTypeId = this .result [1];
1084
-
1085
- this .comments ();
1086
-
1087
- if (Grammar .OpenBracket .parse (this))
1088
- {
1089
- var externInterfaceDeclarations = this .externInterfaceDeclarations ();
1090
-
1091
- this .comments ();
1092
-
1093
- if (Grammar .CloseBracket .parse (this))
1094
- {
1095
- if (this .URLList (this .MFString))
1096
- {
1097
- var externproto = new X3DExternProtoDeclaration (this .getExecutionContext ());
1098
-
1099
- for (var i = 0, length = externInterfaceDeclarations .length; i < length; ++ i)
1100
- {
1101
- var field = externInterfaceDeclarations [i];
1102
-
1103
- externproto .addUserDefinedField (field .getAccessType (), field .getName (), field);
1104
- }
1105
-
1106
- externproto .setName (nodeTypeId);
1107
- externproto .url_ = this .MFString;
1108
- externproto .setup ();
1109
-
1110
- this .getExecutionContext () .externprotos .add (nodeTypeId, externproto);
1111
- return true;
1112
- }
1113
-
1114
- throw new Error ("Expected a URL list after EXTERNPROTO interface declaration '" + nodeTypeId + "'.");
1115
- }
1116
-
1117
- throw new Error ("Expected a ']' at the end of EXTERNPROTO interface declaration.");
1118
- }
1119
-
1120
- throw new Error ("Expected a '[' at the beginning of EXTERNPROTO interface declaration.");
1121
- }
1122
-
1123
- throw new Error ("Invalid EXTERNPROTO definition name.");
1124
- }
1125
-
1126
- return false;
1127
- },
1128
- externInterfaceDeclarations: function ()
1129
- {
1130
- var
1131
- externInterfaceDeclarations = [ ],
1132
- field = this .externInterfaceDeclaration ();
1133
-
1134
- while (field)
1135
- {
1136
- externInterfaceDeclarations .push (field);
1137
-
1138
- field = this .externInterfaceDeclaration ();
1139
- }
1140
-
1141
- return externInterfaceDeclarations;
1142
- },
1143
- externInterfaceDeclaration: function ()
1144
- {
1145
- this .comments ();
1146
-
1147
- if (Grammar .inputOnly .parse (this) || Grammar .eventIn .parse (this))
1148
- {
1149
- if (this .fieldType ())
1150
- {
1151
- var fieldType = this .result [1];
1152
-
1153
- if (this .inputOnlyId ())
1154
- {
1155
- var
1156
- fieldId = this .result [1],
1157
- field = new (this [fieldType] .constructor) ();
1158
-
1159
- field .setAccessType (X3DConstants .inputOnly);
1160
- field .setName (fieldId);
1161
- return field;
1162
- }
1163
-
1164
- throw new Error ("Expected a name for field.");
1165
- }
1166
-
1167
- this .Id ()
1168
-
1169
- throw new Error ("Unknown event or field type: '" + this .result [1] + "'.");
1170
- }
1171
-
1172
- if (Grammar .outputOnly .parse (this) || Grammar .eventOut .parse (this))
1173
- {
1174
- if (this .fieldType ())
1175
- {
1176
- var fieldType = this .result [1];
1177
-
1178
- if (this .outputOnlyId ())
1179
- {
1180
- var
1181
- fieldId = this .result [1],
1182
- field = new (this [fieldType] .constructor) ();
1183
-
1184
- field .setAccessType (X3DConstants .outputOnly);
1185
- field .setName (fieldId);
1186
- return field;
1187
- }
1188
-
1189
- throw new Error ("Expected a name for field.");
1190
- }
1191
-
1192
- this .Id ()
1193
-
1194
- throw new Error ("Unknown event or field type: '" + this .result [1] + "'.");
1195
- }
1196
-
1197
- if (Grammar .initializeOnly .parse (this) || Grammar .field .parse (this))
1198
- {
1199
- if (this .fieldType ())
1200
- {
1201
- var fieldType = this .result [1];
1202
-
1203
- if (this .initializeOnlyId ())
1204
- {
1205
- var
1206
- fieldId = this .result [1],
1207
- field = new (this [fieldType] .constructor) ();
1208
-
1209
- field .setAccessType (X3DConstants .initializeOnly);
1210
- field .setName (fieldId);
1211
- return field;
1212
- }
1213
-
1214
- throw new Error ("Expected a name for field.");
1215
- }
1216
-
1217
- this .Id ()
1218
-
1219
- throw new Error ("Unknown event or field type: '" + this .result [1] + "'.");
1220
- }
1221
-
1222
- if (Grammar .inputOutput .parse (this) || Grammar .exposedField .parse (this))
1223
- {
1224
- if (this .fieldType ())
1225
- {
1226
- var fieldType = this .result [1];
1227
-
1228
- if (this .inputOutputId ())
1229
- {
1230
- var
1231
- fieldId = this .result [1],
1232
- field = new (this [fieldType] .constructor) ();
1233
-
1234
- field .setAccessType (X3DConstants .inputOutput);
1235
- field .setName (fieldId);
1236
- return field;
1237
- }
1238
-
1239
- throw new Error ("Expected a name for field.");
1240
- }
1241
-
1242
- this .Id ()
1243
-
1244
- throw new Error ("Unknown event or field type: '" + this .result [1] + "'.");
1245
- }
1246
-
1247
- return null;
1248
- },
1249
- URLList: function (field)
1250
- {
1251
- return this .mfstringValue (field);
1252
- },
1253
- routeStatement: function ()
1254
- {
1255
- this .comments ();
1256
-
1257
- if (Grammar .ROUTE .parse (this))
1258
- {
1259
- if (this .nodeNameId ())
1260
- {
1261
- var
1262
- fromNodeId = this .result [1],
1263
- fromNode = this .getExecutionContext () .getLocalNode (fromNodeId);
1264
-
1265
- this .comments ();
1266
-
1267
- if (Grammar .Period .parse (this))
1268
- {
1269
- if (this .outputOnlyId ())
1270
- {
1271
- var eventOutId = this .result [1];
1272
-
1273
- this .comments ();
1274
-
1275
- if (Grammar .TO .parse (this))
1276
- {
1277
- if (this .nodeNameId ())
1278
- {
1279
- var
1280
- toNodeId = this .result [1],
1281
- toNode = this .getExecutionContext () .getLocalNode (toNodeId);
1282
-
1283
- this .comments ();
1284
-
1285
- if (Grammar .Period .parse (this))
1286
- {
1287
- if (this .inputOnlyId ())
1288
- {
1289
- try
1290
- {
1291
- var eventInId = this .result [1];
1292
-
1293
- this .getExecutionContext () .addRoute (fromNode, eventOutId, toNode, eventInId);
1294
- return true;
1295
- }
1296
- catch (error)
1297
- {
1298
- this .exception (error .message);
1299
-
1300
- return true;
1301
- }
1302
- }
1303
-
1304
- throw new Error ("Bad ROUTE specification: Expected a field name.");
1305
- }
1306
-
1307
- throw new Error ("Bad ROUTE specification: Expected a '.' after node name.");
1308
- }
1309
-
1310
- throw new Error ("Bad ROUTE specification: Expected a node name.");
1311
- }
1312
-
1313
- throw new Error ("Bad ROUTE specification: Expected a 'TO'.");
1314
- }
1315
-
1316
- throw new Error ("Bad ROUTE specification: Expected a field name.");
1317
- }
1318
-
1319
- throw new Error ("Bad ROUTE specification: Expected a '.' after node name.");
1320
- }
1321
-
1322
- throw new Error ("Bad ROUTE specification: Expected a node name.");
1323
- }
1324
-
1325
- return false;
1326
- },
1327
- node: function (nodeNameId)
1328
- {
1329
- if (this .nodeTypeId ())
1330
- {
1331
- var
1332
- nodeTypeId = this .result [1],
1333
- baseNode = this .getExecutionContext () .createNode (nodeTypeId, false);
1334
-
1335
- if (! baseNode)
1336
- {
1337
- baseNode = this .getExecutionContext () .createProto (nodeTypeId, false);
1338
-
1339
- if (! baseNode)
1340
- throw new Error ("Unknown node type or proto '" + nodeTypeId + "', you probably have insufficient component/profile statements.");
1341
- }
1342
-
1343
- if (nodeNameId .length)
1344
- {
1345
- try
1346
- {
1347
- var namedNode = this .getExecutionContext () .getNamedNode (nodeNameId);
1348
-
1349
- this .getExecutionContext () .updateNamedNode (this .getExecutionContext () .getUniqueName (nodeNameId), namedNode);
1350
- }
1351
- catch (error)
1352
- { }
1353
-
1354
- this .getExecutionContext () .updateNamedNode (nodeNameId, baseNode);
1355
- }
1356
-
1357
- this .comments ();
1358
-
1359
- if (Grammar .OpenBrace .parse (this))
1360
- {
1361
- if (baseNode .hasUserDefinedFields ())
1362
- this .scriptBody (baseNode);
1363
-
1364
- else
1365
- this .nodeBody (baseNode);
1366
-
1367
- this .comments ();
1368
-
1369
- if (Grammar .CloseBrace .parse (this))
1370
- {
1371
- if (! this .isInsideProtoDefinition ())
1372
- baseNode .setup ();
1373
-
1374
- return baseNode;
1375
- }
1376
-
1377
- throw new Error ("Expected '}' at the end of node body.");
1378
- }
1379
-
1380
- throw new Error ("Expected '{' at the beginning of node body.");
1381
- }
1382
-
1383
- return false;
1384
- },
1385
- scriptBody: function (baseNode)
1386
- {
1387
- while (this .scriptBodyElement (baseNode))
1388
- ;
1389
- },
1390
- scriptBodyElement: function (baseNode)
1391
- {
1392
- var
1393
- lastIndex = this .lastIndex,
1394
- lineNumber = this .lineNumber;
1395
-
1396
- // var
1397
- // input = this .input,
1398
- // lineNumber = this .lineNumber;
1399
-
1400
- if (this .Id ())
1401
- {
1402
- var accessType = this .accessTypes [this .result [1]];
1403
-
1404
- if (accessType)
1405
- {
1406
- if (this .fieldType ())
1407
- {
1408
- var fieldType = this .result [1];
1409
-
1410
- if (this .Id ())
1411
- {
1412
- var fieldId = this .result [1];
1413
-
1414
- this .comments ();
1415
-
1416
- if (Grammar .IS .parse (this))
1417
- {
1418
- if (this .isInsideProtoDefinition ())
1419
- {
1420
- if (this .Id ())
1421
- {
1422
- var isId = this .result [1];
1423
-
1424
- try
1425
- {
1426
- var reference = this .getPrototype () .getField (isId);
1427
- }
1428
- catch (error)
1429
- {
1430
- this .exception ("No such event or field '" + isId + "' inside PROTO " + this .getPrototype () .getName () + " interface declaration.");
1431
-
1432
- return true;
1433
- }
1434
-
1435
- var supportedField = this [fieldType];
1436
-
1437
- if (supportedField .getType () === reference .getType ())
1438
- {
1439
- if (reference .isReference (accessType))
1440
- {
1441
- try
1442
- {
1443
- var field = baseNode .getField (fieldId);
1444
-
1445
- if (! (accessType === field .getAccessType () && reference .getType () === field .getType ()))
1446
- {
1447
- field = this .createUserDefinedField (baseNode, accessType, fieldId, supportedField);
1448
- }
1449
- }
1450
- catch (error)
1451
- {
1452
- var field = this .createUserDefinedField (baseNode, accessType, fieldId, supportedField);
1453
- }
1454
-
1455
- field .addReference (reference);
1456
- return true;
1457
- }
1458
-
1459
- throw new Error ("Field '" + fieldId + "' and '" + reference .getName () + "' in PROTO '" + this .getPrototype () .getName () + "' are incompatible as an IS mapping.");
1460
- }
1461
-
1462
- throw new Error ("Field '" + fieldId + "' and '" + reference .getName () + "' in PROTO '" + this .getPrototype () .getName () + "' have different types.");
1463
- }
1464
-
1465
- throw new Error ("No name give after IS statement.");
1466
- }
1467
-
1468
- throw new Error ("IS statement outside PROTO definition.");
1469
- }
1470
- }
1471
- }
1472
- }
1473
- }
1474
-
1475
- this .lastIndex = lastIndex;
1476
- this .lineNumber = lineNumber;
1477
-
1478
- // this .input = input;
1479
- // this .lineNumber = lineNumber;
1480
-
1481
- var field = this .interfaceDeclaration ();
1482
-
1483
- if (field)
1484
- {
1485
- try
1486
- {
1487
- if (field .getAccessType () === X3DConstants .inputOutput)
1488
- {
1489
- var existingField = baseNode .getField (field .getName ());
1490
-
1491
- if (existingField .getAccessType () === X3DConstants .inputOutput)
1492
- {
1493
- if (field .getType () === existingField .getType ())
1494
- {
1495
- existingField .setValue (field);
1496
- return true;
1497
- }
1498
- }
1499
- }
1500
- }
1501
- catch (error)
1502
- { }
1503
-
1504
- baseNode .addUserDefinedField (field .getAccessType (), field .getName (), field);
1505
- return true;
1506
- }
1507
-
1508
- return this .nodeBodyElement (baseNode);
1509
- },
1510
- createUserDefinedField: function (baseNode, accessType, fieldId, supportedField)
1511
- {
1512
- var field = new (supportedField .constructor) ();
1513
-
1514
- baseNode .addUserDefinedField (accessType, fieldId, field);
1515
-
1516
- return field;
1517
- },
1518
- nodeBody: function (baseNode)
1519
- {
1520
- while (this .nodeBodyElement (baseNode))
1521
- ;
1522
- },
1523
- nodeBodyElement: function (baseNode)
1524
- {
1525
- if (this .protoStatement ())
1526
- return true;
1527
-
1528
- if (this .routeStatement ())
1529
- return true;
1530
-
1531
- if (this .Id ())
1532
- {
1533
- var fieldId = this .result [1];
1534
-
1535
- try
1536
- {
1537
- var field = baseNode .getField (fieldId);
1538
- }
1539
- catch (error)
1540
- {
1541
- throw new Error ("Unknown field '" + fieldId + "' in class '" + baseNode .getTypeName () + "'.");
1542
- }
1543
-
1544
- this .comments ();
1545
-
1546
- if (Grammar .IS .parse (this))
1547
- {
1548
- if (this .isInsideProtoDefinition ())
1549
- {
1550
- if (this .Id ())
1551
- {
1552
- var isId = this .result [1];
1553
-
1554
- try
1555
- {
1556
- var reference = this .getPrototype () .getField (isId);
1557
- }
1558
- catch (error)
1559
- {
1560
- this .exception ("No such event or field '" + isId + "' inside PROTO " + this .getPrototype () .getName ());
1561
-
1562
- return true;
1563
- }
1564
-
1565
- if (field .getType () === reference .getType ())
1566
- {
1567
- if (reference .isReference (field .getAccessType ()))
1568
- {
1569
- field .addReference (reference);
1570
- return true;
1571
- }
1572
-
1573
- throw new Error ("Field '" + field .getName () + "' and '" + reference .getName () + "' in PROTO " + this .getPrototype () . getName () + " are incompatible as an IS mapping.");
1574
- }
1575
-
1576
- throw new Error ("Field '" + field .getName () + "' and '" + reference .getName () + "' in PROTO " + this .getPrototype () .getName () + " have different types.");
1577
- }
1578
-
1579
- throw new Error("No name give after IS statement.");
1580
- }
1581
-
1582
- throw new Error ("IS statement outside PROTO definition.");
1583
- }
1584
-
1585
- if (field .isInitializable ())
1586
- {
1587
- if (this .fieldValue (field))
1588
- return true;
1589
-
1590
- throw new Error ("Couldn't read value for field '" + fieldId + "'.");
1591
- }
1592
-
1593
- throw new Error ("Couldn't assign value to " + accessTypeToString (field .getAccessType ()) + " field '" + fieldId + "'.");
1594
- }
1595
-
1596
- return false;
1597
- },
1598
- profileNameId: function () { return this .Id (); },
1599
- componentNameId: function ()
1600
- {
1601
- this .comments ();
1602
-
1603
- return Grammar .ComponentNameId .parse (this);
1604
- },
1605
- categoryNameId: function () { return this .Id (); },
1606
- unitNameId: function () { return this .Id (); },
1607
- exportedNodeNameId: function () { return this .Id (); },
1608
- nodeNameId: function () { return this .Id (); },
1609
- nodeTypeId: function () { return this .Id (); },
1610
- initializeOnlyId: function () { return this .Id (); },
1611
- inputOnlyId: function () { return this .Id (); },
1612
- outputOnlyId: function () { return this .Id (); },
1613
- inputOutputId: function () { return this .Id (); },
1614
- Id: function ()
1615
- {
1616
- this .comments ();
1617
-
1618
- return Grammar .Id .parse (this);
1619
- },
1620
- fieldType: function ()
1621
- {
1622
- this .comments ();
1623
-
1624
- return Grammar .FieldType .parse (this);
1625
- },
1626
- fieldValue: function (field)
1627
- {
1628
- return this .fieldTypes [field .getType ()] .call (this, field);
1629
- },
1630
- double: function ()
1631
- {
1632
- this .comments ();
1633
-
1634
- if (Grammar .double .parse (this))
1635
- {
1636
- this .value = parseFloat (this .result [1]);
1637
- return true;
1638
- }
1639
-
1640
- if (Grammar .Inf .parse (this))
1641
- {
1642
- this .value = Number .POSITIVE_INFINITY;
1643
- return true;
1644
- }
1645
-
1646
- if (Grammar .NegativeInf .parse (this))
1647
- {
1648
- this .value = Number .NEGATIVE_INFINITY;
1649
- return true;
1650
- }
1651
-
1652
- if (Grammar .NaN .parse (this))
1653
- {
1654
- this .value = Number .NaN;
1655
- return true;
1656
- }
1657
-
1658
- return false;
1659
- },
1660
- int32: function ()
1661
- {
1662
- this .comments ();
1663
-
1664
- if (Grammar .int32 .parse (this))
1665
- {
1666
- this .value = parseInt (this .result [1]);
1667
- return true;
1668
- }
1669
-
1670
- return false;
1671
- },
1672
- string: function ()
1673
- {
1674
- this .comments ();
1675
-
1676
- if (Grammar .string .parse (this))
1677
- {
1678
- this .value = Fields .SFString .unescape (this .result [1]);
1679
-
1680
- this .lines (this .value);
1681
-
1682
- return true;
1683
- }
1684
-
1685
- return false;
1686
- },
1687
- sfboolValue: function (field)
1688
- {
1689
- this .comments ();
1690
-
1691
- if (Grammar .TRUE .parse (this))
1692
- {
1693
- field .setValue (true);
1694
- return true;
1695
- }
1696
-
1697
- if (Grammar .FALSE .parse (this))
1698
- {
1699
- field .setValue (false);
1700
- return true;
1701
- }
1702
-
1703
- return false;
1704
- },
1705
- mfboolValue: function (field)
1706
- {
1707
- field .length = 0;
1708
-
1709
- if (this .sfboolValue (this .SFBool))
1710
- {
1711
- field .push (this .SFBool);
1712
- return true;
1713
- }
1714
-
1715
- if (Grammar .OpenBracket .parse (this))
1716
- {
1717
- this .sfboolValues (field);
1718
-
1719
- this .comments ();
1720
-
1721
- if (Grammar .CloseBracket .parse (this))
1722
- return true;
1723
-
1724
- throw new Error ("Expected ']'.");
1725
- }
1726
-
1727
- return false;
1728
- },
1729
- sfboolValues: function (field)
1730
- {
1731
- field .length = 0;
1732
- field = field .getTarget ();
1733
-
1734
- while (this .sfboolValue (this .SFBool))
1735
- {
1736
- field .push (this .SFBool);
1737
- }
1738
- },
1739
- sfcolorValue: function (field)
1740
- {
1741
- if (this .double ())
1742
- {
1743
- var r = this .value;
1744
-
1745
- if (this .double ())
1746
- {
1747
- var g = this .value;
1748
-
1749
- if (this .double ())
1750
- {
1751
- var b = this .value;
1752
-
1753
- field .r = r;
1754
- field .g = g;
1755
- field .b = b;
1756
-
1757
- return true;
1758
- }
1759
- }
1760
- }
1761
-
1762
- return false;
1763
- },
1764
- mfcolorValue: function (field)
1765
- {
1766
- field .length = 0;
1767
-
1768
- if (this .sfcolorValue (this .SFColor))
1769
- {
1770
- field .push (this .SFColor);
1771
- return true;
1772
- }
1773
-
1774
- if (Grammar .OpenBracket .parse (this))
1775
- {
1776
- this .sfcolorValues (field);
1777
-
1778
- this .comments ();
1779
-
1780
- if (Grammar .CloseBracket .parse (this))
1781
- return true;
1782
-
1783
- throw new Error ("Expected ']'.");
1784
- }
1785
-
1786
- return false;
1787
- },
1788
- sfcolorValues: function (field)
1789
- {
1790
- field .length = 0;
1791
- field = field .getTarget ();
1792
-
1793
- while (this .sfcolorValue (this .SFColor))
1794
- {
1795
- field .push (this .SFColor);
1796
- }
1797
- },
1798
- sfcolorrgbaValue: function (field)
1799
- {
1800
- if (this .double ())
1801
- {
1802
- var r = this .value;
1803
-
1804
- if (this .double ())
1805
- {
1806
- var g = this .value;
1807
-
1808
- if (this .double ())
1809
- {
1810
- var b = this .value;
1811
-
1812
- if (this .double ())
1813
- {
1814
- var a = this .value;
1815
-
1816
- field .r = r;
1817
- field .g = g;
1818
- field .b = b;
1819
- field .a = a;
1820
-
1821
- return true;
1822
- }
1823
- }
1824
- }
1825
- }
1826
-
1827
- return false;
1828
- },
1829
- mfcolorrgbaValue: function (field)
1830
- {
1831
- field .length = 0;
1832
-
1833
- if (this .sfcolorrgbaValue (this .SFColorRGBA))
1834
- {
1835
- field .push (this .SFColorRGBA);
1836
- return true;
1837
- }
1838
-
1839
- if (Grammar .OpenBracket .parse (this))
1840
- {
1841
- this .sfcolorrgbaValues (field);
1842
-
1843
- this .comments ();
1844
-
1845
- if (Grammar .CloseBracket .parse (this))
1846
- return true;
1847
-
1848
- throw new Error ("Expected ']'.");
1849
- }
1850
-
1851
- return false;
1852
- },
1853
- sfcolorrgbaValues: function (field)
1854
- {
1855
- field .length = 0;
1856
- field = field .getTarget ();
1857
-
1858
- while (this .sfcolorrgbaValue (this .SFColorRGBA))
1859
- {
1860
- field .push (this .SFColorRGBA);
1861
- }
1862
- },
1863
- sfdoubleValue: function (field)
1864
- {
1865
- if (this .double ())
1866
- {
1867
- field .setValue (this .fromUnit (field .getUnit (), this .value));
1868
- return true;
1869
- }
1870
-
1871
- return false;
1872
- },
1873
- mfdoubleValue: function (field)
1874
- {
1875
- field .length = 0;
1876
-
1877
- this .SFDouble .setUnit (field .getUnit ());
1878
-
1879
- if (this .sfdoubleValue (this .SFDouble))
1880
- {
1881
- field .push (this .SFDouble);
1882
- return true;
1883
- }
1884
-
1885
- if (Grammar .OpenBracket .parse (this))
1886
- {
1887
- this .sfdoubleValues (field);
1888
-
1889
- this .comments ();
1890
-
1891
- if (Grammar .CloseBracket .parse (this))
1892
- return true;
1893
-
1894
- throw new Error ("Expected ']'.");
1895
- }
1896
-
1897
- return false;
1898
- },
1899
- sfdoubleValues: function (field)
1900
- {
1901
- field .length = 0;
1902
- field = field .getTarget ();
1903
-
1904
- this .SFDouble .setUnit (field .getUnit ());
1905
-
1906
- while (this .sfdoubleValue (this .SFDouble))
1907
- {
1908
- field .push (this .SFDouble);
1909
- }
1910
- },
1911
- sffloatValue: function (field)
1912
- {
1913
- return this .sfdoubleValue (field);
1914
- },
1915
- mffloatValue: function (field)
1916
- {
1917
- field .length = 0;
1918
-
1919
- this .SFFloat .setUnit (field .getUnit ());
1920
-
1921
- if (this .sffloatValue (this .SFFloat))
1922
- {
1923
- field .push (this .SFFloat);
1924
- return true;
1925
- }
1926
-
1927
- if (Grammar .OpenBracket .parse (this))
1928
- {
1929
- this .sffloatValues (field);
1930
-
1931
- this .comments ();
1932
-
1933
- if (Grammar .CloseBracket .parse (this))
1934
- return true;
1935
-
1936
- throw new Error ("Expected ']'.");
1937
- }
1938
-
1939
- return false;
1940
- },
1941
- sffloatValues: function (field)
1942
- {
1943
- field .length = 0;
1944
- field = field .getTarget ();
1945
-
1946
- this .SFFloat .setUnit (field .getUnit ());
1947
-
1948
- while (this .sffloatValue (this .SFFloat))
1949
- {
1950
- field .push (this .SFFloat);
1951
- }
1952
- },
1953
- sfimageValue: function (field)
1954
- {
1955
- if (this .int32 ())
1956
- {
1957
- var width = this .value;
1958
-
1959
- if (this .int32 ())
1960
- {
1961
- var height = this .value;
1962
-
1963
- if (this .int32 ())
1964
- {
1965
- var
1966
- comp = this .value,
1967
- size = width * height;
1968
-
1969
- field .width = width;
1970
- field .height = height;
1971
- field .comp = comp;
1972
-
1973
- var array = field .array;
1974
-
1975
- for (var i = 0; i < size; ++ i)
1976
- {
1977
- if (this .int32 ())
1978
- {
1979
- array [i] = this .value;
1980
- continue;
1981
- }
1982
-
1983
- return false;
1984
- }
1985
-
1986
- return true;
1987
- }
1988
- }
1989
- }
1990
-
1991
- return false;
1992
- },
1993
- mfimageValue: function (field)
1994
- {
1995
- field .length = 0;
1996
-
1997
- if (this .sfimageValue (this .SFImage))
1998
- {
1999
- field .push (this .SFImage);
2000
- return true;
2001
- }
2002
-
2003
- if (Grammar .OpenBracket .parse (this))
2004
- {
2005
- this .sfimageValues (field);
2006
-
2007
- this .comments ();
2008
-
2009
- if (Grammar .CloseBracket .parse (this))
2010
- return true;
2011
-
2012
- throw new Error ("Expected ']'.");
2013
- }
2014
-
2015
- return false;
2016
- },
2017
- sfimageValues: function (field)
2018
- {
2019
- field .length = 0;
2020
- field = field .getTarget ();
2021
-
2022
- while (this .sfimageValue (this .SFImage))
2023
- {
2024
- field .push (this .SFImage);
2025
- }
2026
- },
2027
- sfint32Value: function (field)
2028
- {
2029
- if (this .int32 ())
2030
- {
2031
- field .setValue (this .value);
2032
- return true;
2033
- }
2034
-
2035
- return false;
2036
- },
2037
- mfint32Value: function (field)
2038
- {
2039
- field .length = 0;
2040
-
2041
- if (this .sfint32Value (this .SFInt32))
2042
- {
2043
- field .push (this .SFInt32);
2044
- return true;
2045
- }
2046
-
2047
- if (Grammar .OpenBracket .parse (this))
2048
- {
2049
- this .sfint32Values (field);
2050
-
2051
- this .comments ();
2052
-
2053
- if (Grammar .CloseBracket .parse (this))
2054
- return true;
2055
-
2056
- throw new Error ("Expected ']'.");
2057
- }
2058
-
2059
- return false;
2060
- },
2061
- sfint32Values: function (field)
2062
- {
2063
- field .length = 0;
2064
- field = field .getTarget ();
2065
-
2066
- while (this .sfint32Value (this .SFInt32))
2067
- {
2068
- field .push (this .SFInt32);
2069
- }
2070
- },
2071
- sfmatrix3dValue: function (field)
2072
- {
2073
- if (this .double ())
2074
- {
2075
- var m00 = this .value;
2076
-
2077
- if (this .double ())
2078
- {
2079
- var m01 = this .value;
2080
-
2081
- if (this .double ())
2082
- {
2083
- var m02 = this .value;
2084
-
2085
- if (this .double ())
2086
- {
2087
- var m10 = this .value;
2088
-
2089
- if (this .double ())
2090
- {
2091
- var m11 = this .value;
2092
-
2093
- if (this .double ())
2094
- {
2095
- var m12 = this .value;
2096
-
2097
- if (this .double ())
2098
- {
2099
- var m20 = this .value;
2100
-
2101
- if (this .double ())
2102
- {
2103
- var m21 = this .value;
2104
-
2105
- if (this .double ())
2106
- {
2107
- var m22 = this .value;
2108
-
2109
- field [0] = m00;
2110
- field [1] = m01;
2111
- field [2] = m02;
2112
- field [3] = m10;
2113
- field [4] = m11;
2114
- field [5] = m12;
2115
- field [6] = m20;
2116
- field [7] = m21;
2117
- field [8] = m22;
2118
-
2119
- return true;
2120
- }
2121
- }
2122
- }
2123
- }
2124
- }
2125
- }
2126
- }
2127
- }
2128
- }
2129
-
2130
- return false;
2131
- },
2132
- mfmatrix3dValue: function (field)
2133
- {
2134
- field .length = 0;
2135
-
2136
- if (this .sfmatrix3dValue (this .SFMatrix3d))
2137
- {
2138
- field .push (this .SFMatrix3d);
2139
- return true;
2140
- }
2141
-
2142
- if (Grammar .OpenBracket .parse (this))
2143
- {
2144
- this .sfmatrix3dValues (field);
2145
-
2146
- this .comments ();
2147
-
2148
- if (Grammar .CloseBracket .parse (this))
2149
- return true;
2150
-
2151
- throw new Error ("Expected ']'.");
2152
- }
2153
-
2154
- return false;
2155
- },
2156
- sfmatrix3dValues: function (field)
2157
- {
2158
- field .length = 0;
2159
- field = field .getTarget ();
2160
-
2161
- while (this .sfmatrix3dValue (this .SFMatrix3d))
2162
- {
2163
- field .push (this .SFMatrix3d);
2164
- }
2165
- },
2166
- sfmatrix3fValue: function (field)
2167
- {
2168
- return this .sfmatrix3dValue (field);
2169
- },
2170
- mfmatrix3fValue: function (field)
2171
- {
2172
- field .length = 0;
2173
-
2174
- if (this .sfmatrix3fValue (this .SFMatrix3f))
2175
- {
2176
- field .push (this .SFMatrix3f);
2177
- return true;
2178
- }
2179
-
2180
- if (Grammar .OpenBracket .parse (this))
2181
- {
2182
- this .sfmatrix3fValues (field);
2183
-
2184
- this .comments ();
2185
-
2186
- if (Grammar .CloseBracket .parse (this))
2187
- return true;
2188
-
2189
- throw new Error ("Expected ']'.");
2190
- }
2191
-
2192
- return false;
2193
- },
2194
- sfmatrix3fValues: function (field)
2195
- {
2196
- field .length = 0;
2197
- field = field .getTarget ();
2198
-
2199
- while (this .sfmatrix3fValue (this .SFMatrix3f))
2200
- {
2201
- field .push (this .SFMatrix3f);
2202
- }
2203
- },
2204
- sfmatrix4dValue: function (field)
2205
- {
2206
- if (this .double ())
2207
- {
2208
- var m00 = this .value;
2209
-
2210
- if (this .double ())
2211
- {
2212
- var m01 = this .value;
2213
-
2214
- if (this .double ())
2215
- {
2216
- var m02 = this .value;
2217
-
2218
- if (this .double ())
2219
- {
2220
- var m03 = this .value;
2221
-
2222
- if (this .double ())
2223
- {
2224
- var m10 = this .value;
2225
-
2226
- if (this .double ())
2227
- {
2228
- var m11 = this .value;
2229
-
2230
- if (this .double ())
2231
- {
2232
- var m12 = this .value;
2233
-
2234
- if (this .double ())
2235
- {
2236
- var m13 = this .value;
2237
-
2238
- if (this .double ())
2239
- {
2240
- var m20 = this .value;
2241
-
2242
- if (this .double ())
2243
- {
2244
- var m21 = this .value;
2245
-
2246
- if (this .double ())
2247
- {
2248
- var m22 = this .value;
2249
-
2250
- if (this .double ())
2251
- {
2252
- var m23 = this .value;
2253
-
2254
- if (this .double ())
2255
- {
2256
- var m30 = this .value;
2257
-
2258
- if (this .double ())
2259
- {
2260
- var m31 = this .value;
2261
-
2262
- if (this .double ())
2263
- {
2264
- var m32 = this .value;
2265
-
2266
- if (this .double ())
2267
- {
2268
- var m33 = this .value;
2269
-
2270
- field [ 0] = m00;
2271
- field [ 1] = m01;
2272
- field [ 2] = m02;
2273
- field [ 3] = m03;
2274
- field [ 4] = m10;
2275
- field [ 5] = m11;
2276
- field [ 6] = m12;
2277
- field [ 7] = m13;
2278
- field [ 8] = m20;
2279
- field [ 9] = m21;
2280
- field [10] = m22;
2281
- field [11] = m23;
2282
- field [12] = m30;
2283
- field [13] = m31;
2284
- field [14] = m32;
2285
- field [15] = m33;
2286
-
2287
- return true;
2288
- }
2289
- }
2290
- }
2291
- }
2292
- }
2293
- }
2294
- }
2295
- }
2296
- }
2297
- }
2298
- }
2299
- }
2300
- }
2301
- }
2302
- }
2303
- }
2304
-
2305
- return false;
2306
- },
2307
- mfmatrix4dValue: function (field)
2308
- {
2309
- field .length = 0;
2310
-
2311
- if (this .sfmatrix4dValue (this .SFMatrix4d))
2312
- {
2313
- field .push (this .SFMatrix4d);
2314
- return true;
2315
- }
2316
-
2317
- if (Grammar .OpenBracket .parse (this))
2318
- {
2319
- this .sfmatrix4dValues (field);
2320
-
2321
- this .comments ();
2322
-
2323
- if (Grammar .CloseBracket .parse (this))
2324
- return true;
2325
-
2326
- throw new Error ("Expected ']'.");
2327
- }
2328
-
2329
- return false;
2330
- },
2331
- sfmatrix4dValues: function (field)
2332
- {
2333
- field .length = 0;
2334
- field = field .getTarget ();
2335
-
2336
- while (this .sfmatrix4dValue (this .SFMatrix4d))
2337
- {
2338
- field .push (this .SFMatrix4d);
2339
- }
2340
- },
2341
- sfmatrix4fValue: function (field)
2342
- {
2343
- return this .sfmatrix4dValue (field);
2344
- },
2345
- mfmatrix4fValue: function (field)
2346
- {
2347
- field .length = 0;
2348
-
2349
- if (this .sfmatrix4fValue (this .SFMatrix4f))
2350
- {
2351
- field .push (this .SFMatrix4f);
2352
- return true;
2353
- }
2354
-
2355
- if (Grammar .OpenBracket .parse (this))
2356
- {
2357
- this .sfmatrix4fValues (field);
2358
-
2359
- this .comments ();
2360
-
2361
- if (Grammar .CloseBracket .parse (this))
2362
- return true;
2363
-
2364
- throw new Error ("Expected ']'.");
2365
- }
2366
-
2367
- return false;
2368
- },
2369
- sfmatrix4fValues: function (field)
2370
- {
2371
- field .length = 0;
2372
- field = field .getTarget ();
2373
-
2374
- while (this .sfmatrix4fValue (this .SFMatrix4f))
2375
- {
2376
- field .push (this .SFMatrix4f);
2377
- }
2378
- },
2379
- sfnodeValue: function (field)
2380
- {
2381
- var baseNode = this .nodeStatement ();
2382
-
2383
- if (baseNode !== false)
2384
- {
2385
- field .setValue (baseNode);
2386
- return true;
2387
- }
2388
-
2389
- return false;
2390
- },
2391
- mfnodeValue: function (field)
2392
- {
2393
- field .length = 0;
2394
-
2395
- var node = this .nodeStatement ();
2396
-
2397
- if (node !== false)
2398
- {
2399
- field .push (node);
2400
- return true;
2401
- }
2402
-
2403
- if (Grammar .OpenBracket .parse (this))
2404
- {
2405
- this .nodeStatements (field);
2406
-
2407
- this .comments ();
2408
-
2409
- if (Grammar .CloseBracket .parse (this))
2410
- return true;
2411
-
2412
- throw new Error ("Expected ']'.");
2413
- }
2414
-
2415
- return false;
2416
- },
2417
- nodeStatements: function (field)
2418
- {
2419
- var node = this .nodeStatement ();
2420
-
2421
- while (node !== false)
2422
- {
2423
- field .push (node);
2424
-
2425
- node = this .nodeStatement ();
2426
- }
2427
- },
2428
- sfrotationValue: function (field)
2429
- {
2430
- if (this .double ())
2431
- {
2432
- var x = this .value;
2433
-
2434
- if (this .double ())
2435
- {
2436
- var y = this .value;
2437
-
2438
- if (this .double ())
2439
- {
2440
- var z = this .value;
2441
-
2442
- if (this .double ())
2443
- {
2444
- var angle = this .value;
2445
-
2446
- field .x = x;
2447
- field .y = y;
2448
- field .z = z;
2449
- field .angle = this .fromUnit ("angle", angle);
2450
-
2451
- return true;
2452
- }
2453
- }
2454
- }
2455
- }
2456
-
2457
- return false;
2458
- },
2459
- mfrotationValue: function (field)
2460
- {
2461
- field .length = 0;
2462
-
2463
- if (this .sfrotationValue (this .SFRotation))
2464
- {
2465
- field .push (this .SFRotation);
2466
- return true;
2467
- }
2468
-
2469
- if (Grammar .OpenBracket .parse (this))
2470
- {
2471
- this .sfrotationValues (field);
2472
-
2473
- this .comments ();
2474
-
2475
- if (Grammar .CloseBracket .parse (this))
2476
- return true;
2477
-
2478
- throw new Error ("Expected ']'.");
2479
- }
2480
-
2481
- return false;
2482
- },
2483
- sfrotationValues: function (field)
2484
- {
2485
- field .length = 0;
2486
- field = field .getTarget ();
2487
-
2488
- while (this .sfrotationValue (this .SFRotation))
2489
- {
2490
- field .push (this .SFRotation);
2491
- }
2492
- },
2493
- sfstringValue: function (field)
2494
- {
2495
- if (this .string ())
2496
- {
2497
- field .setValue (this .value);
2498
- return true;
2499
- }
2500
-
2501
- return false;
2502
- },
2503
- mfstringValue: function (field)
2504
- {
2505
- field .length = 0;
2506
-
2507
- if (this .sfstringValue (this .SFString))
2508
- {
2509
- field .push (this .SFString);
2510
- return true;
2511
- }
2512
-
2513
- if (Grammar .OpenBracket .parse (this))
2514
- {
2515
- this .sfstringValues (field);
2516
-
2517
- this .comments ();
2518
-
2519
- if (Grammar .CloseBracket .parse (this))
2520
- return true;
2521
-
2522
- throw new Error ("Expected ']'.");
2523
- }
2524
-
2525
- return false;
2526
- },
2527
- sfstringValues: function (field)
2528
- {
2529
- field .length = 0;
2530
- field = field .getTarget ();
2531
-
2532
- while (this .sfstringValue (this .SFString))
2533
- {
2534
- field .push (this .SFString);
2535
- }
2536
- },
2537
- sftimeValue: function (field)
2538
- {
2539
- return this .sfdoubleValue (field);
2540
- },
2541
- mftimeValue: function (field)
2542
- {
2543
- field .length = 0;
2544
-
2545
- if (this .sftimeValue (this .SFTime))
2546
- {
2547
- field .push (this .SFTime);
2548
- return true;
2549
- }
2550
-
2551
- if (Grammar .OpenBracket .parse (this))
2552
- {
2553
- this .sftimeValues (field);
2554
-
2555
- this .comments ();
2556
-
2557
- if (Grammar .CloseBracket .parse (this))
2558
- return true;
2559
-
2560
- throw new Error ("Expected ']'.");
2561
- }
2562
-
2563
- return false;
2564
- },
2565
- sftimeValues: function (field)
2566
- {
2567
- field .length = 0;
2568
- field = field .getTarget ();
2569
-
2570
- while (this .sftimeValue (this .SFTime))
2571
- {
2572
- field .push (this .SFTime);
2573
- }
2574
- },
2575
- sfvec2dValue: function (field)
2576
- {
2577
- if (this .double ())
2578
- {
2579
- var x = this .value;
2580
-
2581
- if (this .double ())
2582
- {
2583
- var
2584
- y = this .value,
2585
- category = field .getUnit ();
2586
-
2587
- field .x = this .fromUnit (category, x);
2588
- field .y = this .fromUnit (category, y);
2589
-
2590
- return true;
2591
- }
2592
- }
2593
-
2594
- return false;
2595
- },
2596
- mfvec2dValue: function (field)
2597
- {
2598
- field .length = 0;
2599
-
2600
- this .SFVec2d .setUnit (field .getUnit ());
2601
-
2602
- if (this .sfvec2dValue (this .SFVec2d))
2603
- {
2604
- field .push (this .SFVec2d);
2605
- return true;
2606
- }
2607
-
2608
- if (Grammar .OpenBracket .parse (this))
2609
- {
2610
- this .sfvec2dValues (field);
2611
-
2612
- this .comments ();
2613
-
2614
- if (Grammar .CloseBracket .parse (this))
2615
- return true;
2616
-
2617
- throw new Error ("Expected ']'.");
2618
- }
2619
-
2620
- return false;
2621
- },
2622
- sfvec2dValues: function (field)
2623
- {
2624
- field .length = 0;
2625
- field = field .getTarget ();
2626
-
2627
- this .SFVec2d .setUnit (field .getUnit ());
2628
-
2629
- while (this .sfvec2dValue (this .SFVec2d))
2630
- {
2631
- field .push (this .SFVec2d);
2632
- }
2633
- },
2634
- sfvec2fValue: function (field)
2635
- {
2636
- return this .sfvec2dValue (field);
2637
- },
2638
- mfvec2fValue: function (field)
2639
- {
2640
- field .length = 0;
2641
-
2642
- this .SFVec2f .setUnit (field .getUnit ());
2643
-
2644
- if (this .sfvec2fValue (this .SFVec2f))
2645
- {
2646
- field .push (this .SFVec2f);
2647
- return true;
2648
- }
2649
-
2650
- if (Grammar .OpenBracket .parse (this))
2651
- {
2652
- this .sfvec2fValues (field);
2653
-
2654
- this .comments ();
2655
-
2656
- if (Grammar .CloseBracket .parse (this))
2657
- return true;
2658
-
2659
- throw new Error ("Expected ']'.");
2660
- }
2661
-
2662
- return false;
2663
- },
2664
- sfvec2fValues: function (field)
2665
- {
2666
- field .length = 0;
2667
- field = field .getTarget ();
2668
-
2669
- this .SFVec2f .setUnit (field .getUnit ());
2670
-
2671
- while (this .sfvec2fValue (this .SFVec2f))
2672
- {
2673
- field .push (this .SFVec2f);
2674
- }
2675
- },
2676
- sfvec3dValue: function (field)
2677
- {
2678
- if (this .double ())
2679
- {
2680
- var x = this .value;
2681
-
2682
- if (this .double ())
2683
- {
2684
- var y = this .value;
2685
-
2686
- if (this .double ())
2687
- {
2688
- var
2689
- z = this .value,
2690
- category = field .getUnit ();
2691
-
2692
- field .x = this .fromUnit (category, x);
2693
- field .y = this .fromUnit (category, y);
2694
- field .z = this .fromUnit (category, z);
2695
-
2696
- return true;
2697
- }
2698
- }
2699
- }
2700
-
2701
- return false;
2702
- },
2703
- mfvec3dValue: function (field)
2704
- {
2705
- field .length = 0;
2706
-
2707
- this .SFVec3d .setUnit (field .getUnit ());
2708
-
2709
- if (this .sfvec3dValue (this .SFVec3d))
2710
- {
2711
- field .push (this .SFVec3d);
2712
- return true;
2713
- }
2714
-
2715
- if (Grammar .OpenBracket .parse (this))
2716
- {
2717
- this .sfvec3dValues (field);
2718
-
2719
- this .comments ();
2720
-
2721
- if (Grammar .CloseBracket .parse (this))
2722
- return true;
2723
-
2724
- throw new Error ("Expected ']'.");
2725
- }
2726
-
2727
- return false;
2728
- },
2729
- sfvec3dValues: function (field)
2730
- {
2731
- field .length = 0;
2732
- field = field .getTarget ();
2733
-
2734
- this .SFVec3d .setUnit (field .getUnit ());
2735
-
2736
- while (this .sfvec3dValue (this .SFVec3d))
2737
- {
2738
- field .push (this .SFVec3d);
2739
- }
2740
- },
2741
- sfvec3fValue: function (field)
2742
- {
2743
- return this .sfvec3dValue (field);
2744
- },
2745
- mfvec3fValue: function (field)
2746
- {
2747
- field .length = 0;
2748
-
2749
- this .SFVec3f .setUnit (field .getUnit ());
2750
-
2751
- if (this .sfvec3fValue (this .SFVec3f))
2752
- {
2753
- field .push (this .SFVec3f);
2754
- return true;
2755
- }
2756
-
2757
- if (Grammar .OpenBracket .parse (this))
2758
- {
2759
- this .sfvec3fValues (field);
2760
-
2761
- this .comments ();
2762
-
2763
- if (Grammar .CloseBracket .parse (this))
2764
- return true;
2765
-
2766
- throw new Error ("Expected ']'.");
2767
- }
2768
-
2769
- return false;
2770
- },
2771
- sfvec3fValues: function (field)
2772
- {
2773
- field .length = 0;
2774
- field = field .getTarget ();
2775
-
2776
- this .SFVec3f .setUnit (field .getUnit ());
2777
-
2778
- while (this .sfvec3fValue (this .SFVec3f))
2779
- {
2780
- field .push (this .SFVec3f);
2781
- }
2782
- },
2783
- sfvec4dValue: function (field)
2784
- {
2785
- if (this .double ())
2786
- {
2787
- var x = this .value;
2788
-
2789
- if (this .double ())
2790
- {
2791
- var y = this .value;
2792
-
2793
- if (this .double ())
2794
- {
2795
- var z = this .value;
2796
-
2797
- if (this .double ())
2798
- {
2799
- var
2800
- w = this .value,
2801
- category = field .getUnit ();
2802
-
2803
- field .x = this .fromUnit (category, x);
2804
- field .y = this .fromUnit (category, y);
2805
- field .z = this .fromUnit (category, z);
2806
- field .w = this .fromUnit (category, w);
2807
-
2808
- return true;
2809
- }
2810
- }
2811
- }
2812
- }
2813
-
2814
- return false;
2815
- },
2816
- mfvec4dValue: function (field)
2817
- {
2818
- field .length = 0;
2819
-
2820
- this .SFVec4d .setUnit (field .getUnit ());
2821
-
2822
- if (this .sfvec4dValue (this .SFVec4d))
2823
- {
2824
- field .push (this .SFVec4d);
2825
- return true;
2826
- }
2827
-
2828
- if (Grammar .OpenBracket .parse (this))
2829
- {
2830
- this .sfvec4dValues (field);
2831
-
2832
- this .comments ();
2833
-
2834
- if (Grammar .CloseBracket .parse (this))
2835
- return true;
2836
-
2837
- throw new Error ("Expected ']'.");
2838
- }
2839
-
2840
- return false;
2841
- },
2842
- sfvec4dValues: function (field)
2843
- {
2844
- field .length = 0;
2845
- field = field .getTarget ();
2846
-
2847
- this .SFVec4d .setUnit (field .getUnit ());
2848
-
2849
- while (this .sfvec4dValue (this .SFVec4d))
2850
- {
2851
- field .push (this .SFVec4d);
2852
- }
2853
- },
2854
- sfvec4fValue: function (field)
2855
- {
2856
- return this .sfvec4dValue (field);
2857
- },
2858
- mfvec4fValue: function (field)
2859
- {
2860
- field .length = 0;
2861
-
2862
- this .SFVec4f .setUnit (field .getUnit ());
2863
-
2864
- if (this .sfvec4fValue (this .SFVec4f))
2865
- {
2866
- field .push (this .SFVec4f);
2867
- return true;
2868
- }
2869
-
2870
- if (Grammar .OpenBracket .parse (this))
2871
- {
2872
- this .sfvec4fValues (field);
2873
-
2874
- this .comments ();
2875
-
2876
- if (Grammar .CloseBracket .parse (this))
2877
- return true;
2878
-
2879
- throw new Error ("Expected ']'.");
2880
- }
2881
-
2882
- return false;
2883
- },
2884
- sfvec4fValues: function (field)
2885
- {
2886
- field .length = 0;
2887
- field = field .getTarget ();
2888
-
2889
- this .SFVec4f .setUnit (field .getUnit ());
2890
-
2891
- while (this .sfvec4fValue (this .SFVec4f))
2892
- {
2893
- field .push (this .SFVec4f);
2894
- }
2895
- },
2896
- });
2897
-
2898
- Parser .prototype .fieldTypes = [ ];
2899
- Parser .prototype .fieldTypes [X3DConstants .SFBool] = Parser .prototype .sfboolValue;
2900
- Parser .prototype .fieldTypes [X3DConstants .SFColor] = Parser .prototype .sfcolorValue;
2901
- Parser .prototype .fieldTypes [X3DConstants .SFColorRGBA] = Parser .prototype .sfcolorrgbaValue;
2902
- Parser .prototype .fieldTypes [X3DConstants .SFDouble] = Parser .prototype .sfdoubleValue;
2903
- Parser .prototype .fieldTypes [X3DConstants .SFFloat] = Parser .prototype .sffloatValue;
2904
- Parser .prototype .fieldTypes [X3DConstants .SFImage] = Parser .prototype .sfimageValue;
2905
- Parser .prototype .fieldTypes [X3DConstants .SFInt32] = Parser .prototype .sfint32Value;
2906
- Parser .prototype .fieldTypes [X3DConstants .SFMatrix3f] = Parser .prototype .sfmatrix3dValue;
2907
- Parser .prototype .fieldTypes [X3DConstants .SFMatrix3d] = Parser .prototype .sfmatrix3fValue;
2908
- Parser .prototype .fieldTypes [X3DConstants .SFMatrix4f] = Parser .prototype .sfmatrix4dValue;
2909
- Parser .prototype .fieldTypes [X3DConstants .SFMatrix4d] = Parser .prototype .sfmatrix4fValue;
2910
- Parser .prototype .fieldTypes [X3DConstants .SFNode] = Parser .prototype .sfnodeValue;
2911
- Parser .prototype .fieldTypes [X3DConstants .SFRotation] = Parser .prototype .sfrotationValue;
2912
- Parser .prototype .fieldTypes [X3DConstants .SFString] = Parser .prototype .sfstringValue;
2913
- Parser .prototype .fieldTypes [X3DConstants .SFTime] = Parser .prototype .sftimeValue;
2914
- Parser .prototype .fieldTypes [X3DConstants .SFVec2d] = Parser .prototype .sfvec2dValue;
2915
- Parser .prototype .fieldTypes [X3DConstants .SFVec2f] = Parser .prototype .sfvec2fValue;
2916
- Parser .prototype .fieldTypes [X3DConstants .SFVec3d] = Parser .prototype .sfvec3dValue;
2917
- Parser .prototype .fieldTypes [X3DConstants .SFVec3f] = Parser .prototype .sfvec3fValue;
2918
- Parser .prototype .fieldTypes [X3DConstants .SFVec4d] = Parser .prototype .sfvec4dValue;
2919
- Parser .prototype .fieldTypes [X3DConstants .SFVec4f] = Parser .prototype .sfvec4fValue;
2920
-
2921
- Parser .prototype .fieldTypes [X3DConstants .MFBool] = Parser .prototype .mfboolValue;
2922
- Parser .prototype .fieldTypes [X3DConstants .MFColor] = Parser .prototype .mfcolorValue;
2923
- Parser .prototype .fieldTypes [X3DConstants .MFColorRGBA] = Parser .prototype .mfcolorrgbaValue;
2924
- Parser .prototype .fieldTypes [X3DConstants .MFDouble] = Parser .prototype .mfdoubleValue;
2925
- Parser .prototype .fieldTypes [X3DConstants .MFFloat] = Parser .prototype .mffloatValue;
2926
- Parser .prototype .fieldTypes [X3DConstants .MFImage] = Parser .prototype .mfimageValue;
2927
- Parser .prototype .fieldTypes [X3DConstants .MFInt32] = Parser .prototype .mfint32Value;
2928
- Parser .prototype .fieldTypes [X3DConstants .MFMatrix3d] = Parser .prototype .mfmatrix3dValue;
2929
- Parser .prototype .fieldTypes [X3DConstants .MFMatrix3f] = Parser .prototype .mfmatrix3fValue;
2930
- Parser .prototype .fieldTypes [X3DConstants .MFMatrix4d] = Parser .prototype .mfmatrix4dValue;
2931
- Parser .prototype .fieldTypes [X3DConstants .MFMatrix4f] = Parser .prototype .mfmatrix4fValue;
2932
- Parser .prototype .fieldTypes [X3DConstants .MFNode] = Parser .prototype .mfnodeValue;
2933
- Parser .prototype .fieldTypes [X3DConstants .MFRotation] = Parser .prototype .mfrotationValue;
2934
- Parser .prototype .fieldTypes [X3DConstants .MFString] = Parser .prototype .mfstringValue;
2935
- Parser .prototype .fieldTypes [X3DConstants .MFTime] = Parser .prototype .mftimeValue;
2936
- Parser .prototype .fieldTypes [X3DConstants .MFVec2d] = Parser .prototype .mfvec2dValue;
2937
- Parser .prototype .fieldTypes [X3DConstants .MFVec2f] = Parser .prototype .mfvec2fValue;
2938
- Parser .prototype .fieldTypes [X3DConstants .MFVec3d] = Parser .prototype .mfvec3dValue;
2939
- Parser .prototype .fieldTypes [X3DConstants .MFVec3f] = Parser .prototype .mfvec3fValue;
2940
- Parser .prototype .fieldTypes [X3DConstants .MFVec4d] = Parser .prototype .mfvec4dValue;
2941
- Parser .prototype .fieldTypes [X3DConstants .MFVec4f] = Parser .prototype .mfvec4fValue;
2942
-
2943
- return Parser;
2944
- });