x_ite 8.7.8 → 8.8.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 (646) hide show
  1. package/Makefile +3 -0
  2. package/build/bin/version.pl +1 -1
  3. package/dist/assets/components/Annotation.js +248 -169
  4. package/dist/assets/components/Annotation.min.js +1 -1
  5. package/dist/assets/components/CADGeometry.js +296 -233
  6. package/dist/assets/components/CADGeometry.min.js +1 -1
  7. package/dist/assets/components/CubeMapTexturing.js +217 -172
  8. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  9. package/dist/assets/components/DIS.js +451 -387
  10. package/dist/assets/components/DIS.min.js +1 -1
  11. package/dist/assets/components/EventUtilities.js +309 -208
  12. package/dist/assets/components/EventUtilities.min.js +1 -1
  13. package/dist/assets/components/Geometry2D.js +397 -333
  14. package/dist/assets/components/Geometry2D.min.js +1 -1
  15. package/dist/assets/components/Geospatial.js +705 -575
  16. package/dist/assets/components/Geospatial.min.js +1 -1
  17. package/dist/assets/components/HAnim.js +319 -259
  18. package/dist/assets/components/HAnim.min.js +1 -1
  19. package/dist/assets/components/KeyDeviceSensor.js +134 -99
  20. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  21. package/dist/assets/components/Layout.js +305 -240
  22. package/dist/assets/components/Layout.min.js +1 -1
  23. package/dist/assets/components/NURBS.js +781 -626
  24. package/dist/assets/components/NURBS.min.js +1 -1
  25. package/dist/assets/components/ParticleSystems.js +632 -460
  26. package/dist/assets/components/ParticleSystems.min.js +1 -1
  27. package/dist/assets/components/Picking.js +376 -295
  28. package/dist/assets/components/Picking.min.js +1 -1
  29. package/dist/assets/components/RigidBodyPhysics.js +936 -749
  30. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  31. package/dist/assets/components/Scripting.js +173 -103
  32. package/dist/assets/components/Scripting.min.js +1 -1
  33. package/dist/assets/components/Text.js +241 -207
  34. package/dist/assets/components/Text.min.js +1 -1
  35. package/dist/assets/components/TextureProjector.js +162 -129
  36. package/dist/assets/components/TextureProjector.min.js +1 -1
  37. package/dist/assets/components/Texturing3D.js +485 -384
  38. package/dist/assets/components/Texturing3D.min.js +1 -1
  39. package/dist/assets/components/VolumeRendering.js +741 -547
  40. package/dist/assets/components/VolumeRendering.min.js +1 -1
  41. package/dist/assets/components/X_ITE.js +66 -54
  42. package/dist/assets/components/X_ITE.min.js +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.js +61554 -59658
  45. package/dist/x_ite.min.js +1 -1
  46. package/dist/x_ite.zip +0 -0
  47. package/docs/_config.yml +2 -2
  48. package/package.json +4 -4
  49. package/src/assets/components/Annotation.js +14 -14
  50. package/src/assets/components/CADGeometry.js +14 -14
  51. package/src/assets/components/CubeMapTexturing.js +11 -11
  52. package/src/assets/components/DIS.js +13 -13
  53. package/src/assets/components/EventUtilities.js +16 -16
  54. package/src/assets/components/Geometry2D.js +15 -15
  55. package/src/assets/components/Geospatial.js +19 -19
  56. package/src/assets/components/HAnim.js +13 -13
  57. package/src/assets/components/KeyDeviceSensor.js +10 -10
  58. package/src/assets/components/Layout.js +13 -13
  59. package/src/assets/components/NURBS.js +24 -24
  60. package/src/assets/components/ParticleSystems.js +19 -19
  61. package/src/assets/components/Picking.js +14 -14
  62. package/src/assets/components/RigidBodyPhysics.js +24 -24
  63. package/src/assets/components/Scripting.js +9 -9
  64. package/src/assets/components/Text.js +10 -10
  65. package/src/assets/components/TextureProjector.js +10 -10
  66. package/src/assets/components/Texturing3D.js +16 -16
  67. package/src/assets/components/VolumeRendering.js +23 -23
  68. package/src/assets/components/X_ITE.js +8 -7
  69. package/src/assets/shaders/webgl1/include/Shadow.glsl.js +21 -25
  70. package/src/assets/shaders/webgl2/include/Shadow.glsl.js +23 -27
  71. package/src/bookmarks.js +2 -2
  72. package/src/lib/jquery.js +42 -30
  73. package/src/standard/Geospatial/Geodetic.js +8 -9
  74. package/src/standard/Geospatial/UniversalTransverseMercator.js +4 -5
  75. package/src/standard/Math/Algorithm.js +41 -56
  76. package/src/standard/Math/Algorithms/Bezier.js +2 -2
  77. package/src/standard/Math/Algorithms/MergeSort.js +6 -6
  78. package/src/standard/Math/Algorithms/PartialSort.js +5 -5
  79. package/src/standard/Math/Algorithms/QuickSort.js +5 -5
  80. package/src/standard/Math/Geometry/Box2.js +16 -17
  81. package/src/standard/Math/Geometry/Box3.js +18 -19
  82. package/src/standard/Math/Geometry/Camera.js +6 -5
  83. package/src/standard/Math/Geometry/Cylinder3.js +6 -7
  84. package/src/standard/Math/Geometry/Line2.js +20 -18
  85. package/src/standard/Math/Geometry/Line3.js +20 -18
  86. package/src/standard/Math/Geometry/Plane3.js +11 -12
  87. package/src/standard/Math/Geometry/Sphere3.js +6 -7
  88. package/src/standard/Math/Geometry/Spheroid3.js +6 -7
  89. package/src/standard/Math/Geometry/Triangle2.js +4 -3
  90. package/src/standard/Math/Geometry/Triangle3.js +5 -4
  91. package/src/standard/Math/Geometry/ViewVolume.js +6 -7
  92. package/src/standard/Math/Numbers/Color3.js +18 -19
  93. package/src/standard/Math/Numbers/Color4.js +20 -21
  94. package/src/standard/Math/Numbers/Complex.js +28 -29
  95. package/src/standard/Math/Numbers/Matrix2.js +22 -23
  96. package/src/standard/Math/Numbers/Matrix3.js +28 -29
  97. package/src/standard/Math/Numbers/Matrix4.js +29 -30
  98. package/src/standard/Math/Numbers/Quaternion.js +40 -41
  99. package/src/standard/Math/Numbers/Rotation4.js +34 -35
  100. package/src/standard/Math/Numbers/Vector2.js +29 -30
  101. package/src/standard/Math/Numbers/Vector3.js +32 -33
  102. package/src/standard/Math/Numbers/Vector4.js +34 -35
  103. package/src/standard/Math/Utility/BVH.js +14 -15
  104. package/src/standard/Math/Utility/MatrixStack.js +12 -12
  105. package/src/standard/Time/MicroTime.js +4 -3
  106. package/src/standard/Utility/BitSet.js +10 -11
  107. package/src/standard/Utility/DataStorage.js +10 -10
  108. package/src/standard/Utility/MapUtilities.js +2 -1
  109. package/src/standard/Utility/ObjectCache.js +3 -3
  110. package/src/tests.js +10 -0
  111. package/src/x_ite/Base/Events.js +3 -3
  112. package/src/x_ite/Base/FieldArray.js +11 -9
  113. package/src/x_ite/Base/FieldDefinitionArray.js +11 -9
  114. package/src/x_ite/Base/X3DArrayField.js +13 -14
  115. package/src/x_ite/Base/X3DBaseNode.js +219 -181
  116. package/src/x_ite/Base/X3DCast.js +1 -1
  117. package/src/x_ite/Base/X3DChildObject.js +162 -53
  118. package/src/x_ite/Base/X3DConstants.js +74 -60
  119. package/src/x_ite/Base/X3DEventObject.js +6 -12
  120. package/src/x_ite/Base/X3DField.js +45 -42
  121. package/src/x_ite/Base/X3DFieldDefinition.js +9 -7
  122. package/src/x_ite/Base/X3DInfoArray.js +75 -65
  123. package/src/x_ite/Base/X3DObject.js +59 -29
  124. package/src/x_ite/Base/X3DObjectArrayField.js +51 -117
  125. package/src/x_ite/Base/X3DTypedArrayField.js +48 -42
  126. package/src/x_ite/Browser/Core/BrowserOptions.js +55 -57
  127. package/src/x_ite/Browser/Core/BrowserProperties.js +18 -20
  128. package/src/x_ite/Browser/Core/BrowserTimings.js +29 -33
  129. package/src/x_ite/Browser/Core/Context.js +7 -7
  130. package/src/x_ite/Browser/Core/ContextMenu.js +61 -83
  131. package/src/x_ite/Browser/Core/Notification.js +12 -12
  132. package/src/x_ite/Browser/Core/RenderingProperties.js +28 -28
  133. package/src/x_ite/Browser/Core/X3DCoreContext.js +45 -37
  134. package/src/x_ite/Browser/DOMIntegration.js +4 -1
  135. package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +3 -3
  136. package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +1 -1
  137. package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +12 -12
  138. package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +8 -14
  139. package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +8 -14
  140. package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +13 -17
  141. package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +15 -19
  142. package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +12 -16
  143. package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +9 -9
  144. package/src/x_ite/Browser/Geometry3D/BoxOptions.js +12 -16
  145. package/src/x_ite/Browser/Geometry3D/ConeOptions.js +6 -12
  146. package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +6 -12
  147. package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +13 -17
  148. package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +17 -21
  149. package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -8
  150. package/src/x_ite/Browser/Geospatial/Geocentric.js +5 -6
  151. package/src/x_ite/Browser/Geospatial/Geospatial.js +10 -10
  152. package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +3 -3
  153. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +2 -3
  154. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +8 -9
  155. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +7 -8
  156. package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +3 -4
  157. package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +8 -8
  158. package/src/x_ite/Browser/Layering/X3DLayeringContext.js +4 -4
  159. package/src/x_ite/Browser/Layout/ScreenText.js +7 -8
  160. package/src/x_ite/Browser/Layout/X3DLayoutContext.js +3 -3
  161. package/src/x_ite/Browser/Legacy.js +32 -12
  162. package/src/x_ite/Browser/Lighting/X3DLightingContext.js +5 -5
  163. package/src/x_ite/Browser/NURBS/NURBS.js +10 -10
  164. package/src/x_ite/Browser/Navigation/ExamineViewer.js +32 -20
  165. package/src/x_ite/Browser/Navigation/FlyViewer.js +22 -10
  166. package/src/x_ite/Browser/Navigation/LookAtViewer.js +29 -17
  167. package/src/x_ite/Browser/Navigation/NoneViewer.js +15 -5
  168. package/src/x_ite/Browser/Navigation/PlaneViewer.js +24 -12
  169. package/src/x_ite/Browser/Navigation/WalkViewer.js +22 -10
  170. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +17 -18
  171. package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +19 -19
  172. package/src/x_ite/Browser/Navigation/X3DViewer.js +13 -19
  173. package/src/x_ite/Browser/Networking/URLs.js +5 -5
  174. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +16 -16
  175. package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +3 -3
  176. package/src/x_ite/Browser/Picking/VolumePicker.js +8 -8
  177. package/src/x_ite/Browser/Picking/X3DPickingContext.js +12 -12
  178. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +24 -20
  179. package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +6 -6
  180. package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +21 -21
  181. package/src/x_ite/Browser/Rendering/GeometryContext.js +4 -5
  182. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +18 -18
  183. package/src/x_ite/Browser/Scripting/X3DScriptingContext.js +4 -4
  184. package/src/x_ite/Browser/Shaders/ShaderCompiler.js +4 -4
  185. package/src/x_ite/Browser/Shaders/ShaderSource.js +1 -1
  186. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +13 -13
  187. package/src/x_ite/Browser/Shape/X3DShapeContext.js +12 -12
  188. package/src/x_ite/Browser/Sound/X3DSoundContext.js +0 -2
  189. package/src/x_ite/Browser/Text/PolygonText.js +10 -11
  190. package/src/x_ite/Browser/Text/X3DTextContext.js +6 -6
  191. package/src/x_ite/Browser/Text/X3DTextGeometry.js +18 -19
  192. package/src/x_ite/Browser/Texturing/GifMedia.js +7 -7
  193. package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +24 -24
  194. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +38 -38
  195. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +14 -14
  196. package/src/x_ite/Browser/Time/X3DTimeContext.js +5 -5
  197. package/src/x_ite/Browser/VERSION.js +1 -1
  198. package/src/x_ite/Browser/VolumeRendering/VolumeMaterial.js +39 -22
  199. package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +6 -6
  200. package/src/x_ite/Browser/X3DBrowser.js +170 -136
  201. package/src/x_ite/Browser/X3DBrowserContext.js +23 -24
  202. package/src/x_ite/Components/Annotation/AnnotationLayer.js +30 -19
  203. package/src/x_ite/Components/Annotation/AnnotationTarget.js +30 -19
  204. package/src/x_ite/Components/Annotation/GroupAnnotation.js +40 -29
  205. package/src/x_ite/Components/Annotation/IconAnnotation.js +38 -27
  206. package/src/x_ite/Components/Annotation/TextAnnotation.js +31 -20
  207. package/src/x_ite/Components/Annotation/URLAnnotation.js +30 -19
  208. package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +16 -3
  209. package/src/x_ite/Components/CADGeometry/CADAssembly.js +32 -21
  210. package/src/x_ite/Components/CADGeometry/CADFace.js +48 -37
  211. package/src/x_ite/Components/CADGeometry/CADLayer.js +30 -21
  212. package/src/x_ite/Components/CADGeometry/CADPart.js +37 -26
  213. package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +51 -46
  214. package/src/x_ite/Components/CADGeometry/QuadSet.js +48 -43
  215. package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +13 -2
  216. package/src/x_ite/Components/Core/MetadataBoolean.js +33 -22
  217. package/src/x_ite/Components/Core/MetadataDouble.js +33 -22
  218. package/src/x_ite/Components/Core/MetadataFloat.js +33 -22
  219. package/src/x_ite/Components/Core/MetadataInteger.js +33 -22
  220. package/src/x_ite/Components/Core/MetadataSet.js +33 -22
  221. package/src/x_ite/Components/Core/MetadataString.js +33 -22
  222. package/src/x_ite/Components/Core/WorldInfo.js +34 -23
  223. package/src/x_ite/Components/Core/X3DBindableNode.js +17 -4
  224. package/src/x_ite/Components/Core/X3DChildNode.js +19 -6
  225. package/src/x_ite/Components/Core/X3DInfoNode.js +13 -2
  226. package/src/x_ite/Components/Core/X3DMetadataObject.js +18 -5
  227. package/src/x_ite/Components/Core/X3DNode.js +66 -34
  228. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +68 -77
  229. package/src/x_ite/Components/Core/X3DSensorNode.js +13 -2
  230. package/src/x_ite/Components/Core.js +22 -29
  231. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +46 -35
  232. package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +39 -28
  233. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +47 -36
  234. package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +21 -8
  235. package/src/x_ite/Components/DIS/DISEntityManager.js +29 -20
  236. package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +41 -30
  237. package/src/x_ite/Components/DIS/EspduTransform.js +117 -106
  238. package/src/x_ite/Components/DIS/ReceiverPdu.js +60 -49
  239. package/src/x_ite/Components/DIS/SignalPdu.js +60 -49
  240. package/src/x_ite/Components/DIS/TransmitterPdu.js +76 -65
  241. package/src/x_ite/Components/EnvironmentalEffects/Background.js +47 -36
  242. package/src/x_ite/Components/EnvironmentalEffects/Fog.js +42 -31
  243. package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +39 -28
  244. package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +40 -29
  245. package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +48 -37
  246. package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +28 -15
  247. package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +30 -18
  248. package/src/x_ite/Components/EnvironmentalEffects.js +15 -22
  249. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +45 -34
  250. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +50 -39
  251. package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +41 -30
  252. package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +22 -9
  253. package/src/x_ite/Components/EnvironmentalSensor.js +12 -19
  254. package/src/x_ite/Components/EventUtilities/BooleanFilter.js +38 -27
  255. package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +38 -27
  256. package/src/x_ite/Components/EventUtilities/BooleanToggle.js +33 -22
  257. package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +32 -21
  258. package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +38 -27
  259. package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +33 -22
  260. package/src/x_ite/Components/EventUtilities/TimeTrigger.js +32 -21
  261. package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +20 -7
  262. package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +13 -2
  263. package/src/x_ite/Components/Followers/ColorChaser.js +47 -36
  264. package/src/x_ite/Components/Followers/ColorDamper.js +49 -38
  265. package/src/x_ite/Components/Followers/CoordinateChaser.js +33 -22
  266. package/src/x_ite/Components/Followers/CoordinateDamper.js +35 -24
  267. package/src/x_ite/Components/Followers/OrientationChaser.js +43 -32
  268. package/src/x_ite/Components/Followers/OrientationDamper.js +41 -30
  269. package/src/x_ite/Components/Followers/PositionChaser.js +33 -22
  270. package/src/x_ite/Components/Followers/PositionChaser2D.js +33 -22
  271. package/src/x_ite/Components/Followers/PositionDamper.js +35 -24
  272. package/src/x_ite/Components/Followers/PositionDamper2D.js +35 -24
  273. package/src/x_ite/Components/Followers/ScalarChaser.js +47 -36
  274. package/src/x_ite/Components/Followers/ScalarDamper.js +43 -32
  275. package/src/x_ite/Components/Followers/TexCoordChaser2D.js +33 -22
  276. package/src/x_ite/Components/Followers/TexCoordDamper2D.js +35 -24
  277. package/src/x_ite/Components/Followers/X3DChaserNode.js +27 -14
  278. package/src/x_ite/Components/Followers/X3DDamperNode.js +22 -9
  279. package/src/x_ite/Components/Followers/X3DFollowerNode.js +29 -16
  280. package/src/x_ite/Components/Followers.js +25 -32
  281. package/src/x_ite/Components/Geometry2D/Arc2D.js +38 -27
  282. package/src/x_ite/Components/Geometry2D/ArcClose2D.js +39 -28
  283. package/src/x_ite/Components/Geometry2D/Circle2D.js +35 -24
  284. package/src/x_ite/Components/Geometry2D/Disk2D.js +40 -29
  285. package/src/x_ite/Components/Geometry2D/Polyline2D.js +34 -23
  286. package/src/x_ite/Components/Geometry2D/Polypoint2D.js +34 -23
  287. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +34 -23
  288. package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +36 -25
  289. package/src/x_ite/Components/Geometry3D/Box.js +34 -23
  290. package/src/x_ite/Components/Geometry3D/Cone.js +40 -29
  291. package/src/x_ite/Components/Geometry3D/Cylinder.js +41 -30
  292. package/src/x_ite/Components/Geometry3D/ElevationGrid.js +63 -52
  293. package/src/x_ite/Components/Geometry3D/Extrusion.js +49 -38
  294. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +98 -95
  295. package/src/x_ite/Components/Geometry3D/Sphere.js +36 -25
  296. package/src/x_ite/Components/Geometry3D.js +15 -22
  297. package/src/x_ite/Components/Geospatial/GeoCoordinate.js +37 -26
  298. package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +63 -52
  299. package/src/x_ite/Components/Geospatial/GeoLOD.js +59 -48
  300. package/src/x_ite/Components/Geospatial/GeoLocation.js +45 -34
  301. package/src/x_ite/Components/Geospatial/GeoMetadata.js +38 -27
  302. package/src/x_ite/Components/Geospatial/GeoOrigin.js +37 -26
  303. package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +43 -32
  304. package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +48 -37
  305. package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +45 -34
  306. package/src/x_ite/Components/Geospatial/GeoTransform.js +49 -38
  307. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +56 -45
  308. package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +30 -17
  309. package/src/x_ite/Components/Grouping/Group.js +29 -20
  310. package/src/x_ite/Components/Grouping/StaticGroup.js +40 -48
  311. package/src/x_ite/Components/Grouping/Switch.js +51 -40
  312. package/src/x_ite/Components/Grouping/Transform.js +34 -25
  313. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +22 -9
  314. package/src/x_ite/Components/Grouping/X3DGroupingNode.js +224 -221
  315. package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +20 -7
  316. package/src/x_ite/Components/Grouping/X3DTransformNode.js +17 -4
  317. package/src/x_ite/Components/Grouping.js +16 -23
  318. package/src/x_ite/Components/HAnim/HAnimDisplacer.js +27 -18
  319. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +73 -62
  320. package/src/x_ite/Components/HAnim/HAnimJoint.js +61 -50
  321. package/src/x_ite/Components/HAnim/HAnimMotion.js +44 -33
  322. package/src/x_ite/Components/HAnim/HAnimSegment.js +36 -27
  323. package/src/x_ite/Components/HAnim/HAnimSite.js +36 -27
  324. package/src/x_ite/Components/Interpolation/ColorInterpolator.js +38 -27
  325. package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +38 -27
  326. package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +38 -27
  327. package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +39 -28
  328. package/src/x_ite/Components/Interpolation/NormalInterpolator.js +38 -27
  329. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +38 -27
  330. package/src/x_ite/Components/Interpolation/PositionInterpolator.js +38 -27
  331. package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +38 -27
  332. package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +39 -28
  333. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +44 -33
  334. package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +44 -33
  335. package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +44 -33
  336. package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +40 -29
  337. package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +21 -8
  338. package/src/x_ite/Components/Interpolation.js +22 -29
  339. package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +44 -33
  340. package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +38 -27
  341. package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +23 -10
  342. package/src/x_ite/Components/Layering/Layer.js +40 -29
  343. package/src/x_ite/Components/Layering/LayerSet.js +44 -33
  344. package/src/x_ite/Components/Layering/Viewport.js +48 -37
  345. package/src/x_ite/Components/Layering/X3DLayerNode.js +45 -32
  346. package/src/x_ite/Components/Layering/X3DViewportNode.js +13 -2
  347. package/src/x_ite/Components/Layering.js +13 -20
  348. package/src/x_ite/Components/Layout/Layout.js +60 -49
  349. package/src/x_ite/Components/Layout/LayoutGroup.js +48 -37
  350. package/src/x_ite/Components/Layout/LayoutLayer.js +41 -30
  351. package/src/x_ite/Components/Layout/ScreenFontStyle.js +41 -30
  352. package/src/x_ite/Components/Layout/ScreenGroup.js +42 -31
  353. package/src/x_ite/Components/Layout/X3DLayoutNode.js +13 -2
  354. package/src/x_ite/Components/Lighting/DirectionalLight.js +45 -35
  355. package/src/x_ite/Components/Lighting/EnvironmentLight.js +51 -41
  356. package/src/x_ite/Components/Lighting/PointLight.js +53 -43
  357. package/src/x_ite/Components/Lighting/SpotLight.js +62 -52
  358. package/src/x_ite/Components/Lighting/X3DLightNode.js +29 -16
  359. package/src/x_ite/Components/Lighting.js +13 -20
  360. package/src/x_ite/Components/NURBS/Contour2D.js +45 -45
  361. package/src/x_ite/Components/NURBS/ContourPolyline2D.js +34 -23
  362. package/src/x_ite/Components/NURBS/CoordinateDouble.js +23 -14
  363. package/src/x_ite/Components/NURBS/NurbsCurve.js +47 -36
  364. package/src/x_ite/Components/NURBS/NurbsCurve2D.js +44 -33
  365. package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +46 -35
  366. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +36 -27
  367. package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +46 -35
  368. package/src/x_ite/Components/NURBS/NurbsSet.js +52 -52
  369. package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +44 -33
  370. package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +40 -29
  371. package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +40 -29
  372. package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +43 -32
  373. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +59 -59
  374. package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +13 -2
  375. package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +30 -17
  376. package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +16 -3
  377. package/src/x_ite/Components/Navigation/Billboard.js +43 -32
  378. package/src/x_ite/Components/Navigation/Collision.js +49 -38
  379. package/src/x_ite/Components/Navigation/LOD.js +54 -43
  380. package/src/x_ite/Components/Navigation/NavigationInfo.js +58 -47
  381. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +69 -58
  382. package/src/x_ite/Components/Navigation/Viewpoint.js +53 -42
  383. package/src/x_ite/Components/Navigation/ViewpointGroup.js +44 -33
  384. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +48 -35
  385. package/src/x_ite/Components/Navigation.js +16 -23
  386. package/src/x_ite/Components/Networking/Anchor.js +51 -40
  387. package/src/x_ite/Components/Networking/Inline.js +54 -43
  388. package/src/x_ite/Components/Networking/LoadSensor.js +49 -38
  389. package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +13 -2
  390. package/src/x_ite/Components/Networking/X3DUrlObject.js +35 -22
  391. package/src/x_ite/Components/Networking.js +13 -20
  392. package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +37 -26
  393. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +44 -33
  394. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +41 -30
  395. package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +34 -23
  396. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +83 -72
  397. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +41 -30
  398. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +42 -31
  399. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +42 -31
  400. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +43 -32
  401. package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +38 -27
  402. package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +33 -20
  403. package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +16 -3
  404. package/src/x_ite/Components/Picking/LinePickSensor.js +49 -38
  405. package/src/x_ite/Components/Picking/PickableGroup.js +45 -34
  406. package/src/x_ite/Components/Picking/PointPickSensor.js +46 -35
  407. package/src/x_ite/Components/Picking/PrimitivePickSensor.js +46 -35
  408. package/src/x_ite/Components/Picking/VolumePickSensor.js +45 -34
  409. package/src/x_ite/Components/Picking/X3DPickSensorNode.js +31 -18
  410. package/src/x_ite/Components/Picking/X3DPickableObject.js +20 -7
  411. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +50 -39
  412. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +52 -45
  413. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +44 -33
  414. package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +30 -21
  415. package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +13 -2
  416. package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +22 -11
  417. package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +16 -3
  418. package/src/x_ite/Components/PointingDeviceSensor.js +15 -22
  419. package/src/x_ite/Components/Rendering/ClipPlane.js +44 -34
  420. package/src/x_ite/Components/Rendering/Color.js +37 -26
  421. package/src/x_ite/Components/Rendering/ColorRGBA.js +37 -26
  422. package/src/x_ite/Components/Rendering/Coordinate.js +23 -14
  423. package/src/x_ite/Components/Rendering/IndexedLineSet.js +52 -41
  424. package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +48 -37
  425. package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +44 -33
  426. package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +48 -37
  427. package/src/x_ite/Components/Rendering/LineSet.js +45 -34
  428. package/src/x_ite/Components/Rendering/Normal.js +39 -28
  429. package/src/x_ite/Components/Rendering/PointSet.js +45 -34
  430. package/src/x_ite/Components/Rendering/TriangleFanSet.js +47 -36
  431. package/src/x_ite/Components/Rendering/TriangleSet.js +41 -30
  432. package/src/x_ite/Components/Rendering/TriangleStripSet.js +47 -36
  433. package/src/x_ite/Components/Rendering/X3DColorNode.js +17 -4
  434. package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +33 -20
  435. package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +23 -10
  436. package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +13 -2
  437. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +96 -80
  438. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +21 -8
  439. package/src/x_ite/Components/Rendering/X3DNormalNode.js +13 -2
  440. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +20 -7
  441. package/src/x_ite/Components/Rendering.js +29 -36
  442. package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +43 -32
  443. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +48 -37
  444. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +52 -41
  445. package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +47 -36
  446. package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +41 -30
  447. package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +44 -33
  448. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +38 -29
  449. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +60 -49
  450. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +48 -39
  451. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +69 -58
  452. package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +61 -50
  453. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +49 -38
  454. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +47 -36
  455. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +36 -27
  456. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +24 -11
  457. package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +17 -4
  458. package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +34 -21
  459. package/src/x_ite/Components/Scripting/Script.js +83 -53
  460. package/src/x_ite/Components/Scripting/X3DScriptNode.js +17 -4
  461. package/src/x_ite/Components/Shaders/ComposedShader.js +46 -35
  462. package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +40 -29
  463. package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +38 -27
  464. package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +38 -27
  465. package/src/x_ite/Components/Shaders/PackagedShader.js +45 -34
  466. package/src/x_ite/Components/Shaders/ProgramShader.js +27 -18
  467. package/src/x_ite/Components/Shaders/ShaderPart.js +47 -36
  468. package/src/x_ite/Components/Shaders/ShaderProgram.js +42 -31
  469. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +51 -38
  470. package/src/x_ite/Components/Shaders/X3DShaderNode.js +19 -6
  471. package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +17 -4
  472. package/src/x_ite/Components/Shaders.js +19 -26
  473. package/src/x_ite/Components/Shape/AcousticProperties.js +28 -19
  474. package/src/x_ite/Components/Shape/Appearance.js +79 -68
  475. package/src/x_ite/Components/Shape/FillProperties.js +44 -33
  476. package/src/x_ite/Components/Shape/LineProperties.js +44 -33
  477. package/src/x_ite/Components/Shape/Material.js +75 -64
  478. package/src/x_ite/Components/Shape/PhysicalMaterial.js +65 -54
  479. package/src/x_ite/Components/Shape/PointProperties.js +43 -32
  480. package/src/x_ite/Components/Shape/Shape.js +48 -37
  481. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +60 -49
  482. package/src/x_ite/Components/Shape/UnlitMaterial.js +44 -33
  483. package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +13 -2
  484. package/src/x_ite/Components/Shape/X3DAppearanceNode.js +17 -4
  485. package/src/x_ite/Components/Shape/X3DMaterialNode.js +41 -33
  486. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +29 -16
  487. package/src/x_ite/Components/Shape/X3DShapeNode.js +28 -15
  488. package/src/x_ite/Components/Shape.js +23 -30
  489. package/src/x_ite/Components/Sound/Analyser.js +46 -37
  490. package/src/x_ite/Components/Sound/AudioClip.js +61 -50
  491. package/src/x_ite/Components/Sound/AudioDestination.js +35 -26
  492. package/src/x_ite/Components/Sound/BiquadFilter.js +45 -36
  493. package/src/x_ite/Components/Sound/BufferAudioSource.js +61 -50
  494. package/src/x_ite/Components/Sound/ChannelMerger.js +32 -23
  495. package/src/x_ite/Components/Sound/ChannelSelector.js +33 -24
  496. package/src/x_ite/Components/Sound/ChannelSplitter.js +33 -24
  497. package/src/x_ite/Components/Sound/Convolver.js +43 -34
  498. package/src/x_ite/Components/Sound/Delay.js +43 -34
  499. package/src/x_ite/Components/Sound/DynamicsCompressor.js +47 -38
  500. package/src/x_ite/Components/Sound/Gain.js +41 -32
  501. package/src/x_ite/Components/Sound/ListenerPointSource.js +39 -30
  502. package/src/x_ite/Components/Sound/MicrophoneSource.js +35 -26
  503. package/src/x_ite/Components/Sound/OscillatorSource.js +37 -28
  504. package/src/x_ite/Components/Sound/PeriodicWave.js +27 -18
  505. package/src/x_ite/Components/Sound/Sound.js +51 -40
  506. package/src/x_ite/Components/Sound/SpatialSound.js +42 -33
  507. package/src/x_ite/Components/Sound/StreamAudioDestination.js +35 -26
  508. package/src/x_ite/Components/Sound/StreamAudioSource.js +35 -26
  509. package/src/x_ite/Components/Sound/WaveShaper.js +43 -34
  510. package/src/x_ite/Components/Sound/X3DSoundChannelNode.js +13 -2
  511. package/src/x_ite/Components/Sound/X3DSoundDestinationNode.js +13 -2
  512. package/src/x_ite/Components/Sound/X3DSoundNode.js +13 -2
  513. package/src/x_ite/Components/Sound/X3DSoundProcessingNode.js +17 -4
  514. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +30 -17
  515. package/src/x_ite/Components/Sound.js +34 -41
  516. package/src/x_ite/Components/Text/FontStyle.js +37 -26
  517. package/src/x_ite/Components/Text/Text.js +50 -39
  518. package/src/x_ite/Components/Text/X3DFontStyleNode.js +32 -18
  519. package/src/x_ite/Components/TextureProjector/TextureProjector.js +49 -39
  520. package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +58 -48
  521. package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +27 -14
  522. package/src/x_ite/Components/Texturing/ImageTexture.js +50 -39
  523. package/src/x_ite/Components/Texturing/MovieTexture.js +67 -56
  524. package/src/x_ite/Components/Texturing/MultiTexture.js +52 -41
  525. package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +44 -33
  526. package/src/x_ite/Components/Texturing/MultiTextureTransform.js +39 -28
  527. package/src/x_ite/Components/Texturing/PixelTexture.js +42 -31
  528. package/src/x_ite/Components/Texturing/TextureCoordinate.js +41 -30
  529. package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +41 -30
  530. package/src/x_ite/Components/Texturing/TextureProperties.js +47 -36
  531. package/src/x_ite/Components/Texturing/TextureTransform.js +39 -28
  532. package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +20 -7
  533. package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +21 -8
  534. package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +20 -7
  535. package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +26 -13
  536. package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +13 -2
  537. package/src/x_ite/Components/Texturing/X3DTextureNode.js +17 -4
  538. package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +13 -2
  539. package/src/x_ite/Components/Texturing.js +25 -32
  540. package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +44 -33
  541. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +46 -35
  542. package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +54 -43
  543. package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +40 -29
  544. package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +41 -30
  545. package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +41 -30
  546. package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +39 -28
  547. package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +36 -25
  548. package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +26 -13
  549. package/src/x_ite/Components/Time/TimeSensor.js +55 -44
  550. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +38 -25
  551. package/src/x_ite/Components/Time.js +10 -17
  552. package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +51 -41
  553. package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +39 -28
  554. package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +42 -31
  555. package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +41 -30
  556. package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +41 -30
  557. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +50 -39
  558. package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +39 -28
  559. package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +38 -27
  560. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +49 -38
  561. package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +44 -33
  562. package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +42 -31
  563. package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +41 -30
  564. package/src/x_ite/Components/VolumeRendering/VolumeData.js +45 -34
  565. package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +13 -2
  566. package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +25 -12
  567. package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +22 -9
  568. package/src/x_ite/Components/X_ITE/BlendMode.js +48 -37
  569. package/src/x_ite/Components.js +38 -14
  570. package/src/x_ite/Configuration/AbstractNodes.js +50 -0
  571. package/src/x_ite/{Fallback.js → Configuration/AbstractNodesArray.js} +22 -29
  572. package/src/x_ite/Configuration/ComponentInfo.js +14 -10
  573. package/src/x_ite/Configuration/ComponentInfoArray.js +14 -10
  574. package/src/x_ite/Configuration/ConcreteNodes.js +50 -0
  575. package/src/x_ite/Configuration/{SupportedNodes.js → ConcreteNodesArray.js} +26 -40
  576. package/src/x_ite/Configuration/ProfileInfo.js +13 -9
  577. package/src/x_ite/Configuration/ProfileInfoArray.js +14 -13
  578. package/src/x_ite/Configuration/SupportedComponents.js +40 -78
  579. package/src/x_ite/Configuration/SupportedProfiles.js +16 -16
  580. package/src/x_ite/Configuration/UnitInfo.js +14 -10
  581. package/src/x_ite/Configuration/UnitInfoArray.js +10 -21
  582. package/src/x_ite/Execution/BindableList.js +14 -10
  583. package/src/x_ite/Execution/BindableStack.js +14 -10
  584. package/src/x_ite/Execution/ExportedNodesArray.js +11 -9
  585. package/src/x_ite/Execution/ImportedNodesArray.js +11 -9
  586. package/src/x_ite/Execution/NamedNodesArray.js +11 -22
  587. package/src/x_ite/Execution/X3DExecutionContext.js +181 -152
  588. package/src/x_ite/Execution/X3DExportedNode.js +18 -10
  589. package/src/x_ite/Execution/X3DImportedNode.js +35 -22
  590. package/src/x_ite/Execution/X3DScene.js +93 -64
  591. package/src/x_ite/Execution/X3DWorld.js +21 -17
  592. package/src/x_ite/Fields/ArrayFields.js +87 -153
  593. package/src/x_ite/Fields/SFBool.js +21 -25
  594. package/src/x_ite/Fields/SFColor.js +43 -39
  595. package/src/x_ite/Fields/SFColorRGBA.js +39 -35
  596. package/src/x_ite/Fields/SFDouble.js +20 -21
  597. package/src/x_ite/Fields/SFFloat.js +20 -21
  598. package/src/x_ite/Fields/SFImage.js +50 -48
  599. package/src/x_ite/Fields/SFInt32.js +20 -21
  600. package/src/x_ite/Fields/SFMatrix3.js +23 -16
  601. package/src/x_ite/Fields/SFMatrix4.js +24 -17
  602. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +31 -31
  603. package/src/x_ite/Fields/SFNode.js +57 -88
  604. package/src/x_ite/Fields/SFNodeCache.js +7 -11
  605. package/src/x_ite/Fields/SFRotation.js +73 -62
  606. package/src/x_ite/Fields/SFString.js +35 -36
  607. package/src/x_ite/Fields/SFTime.js +20 -21
  608. package/src/x_ite/Fields/SFVec2.js +17 -14
  609. package/src/x_ite/Fields/SFVec3.js +20 -17
  610. package/src/x_ite/Fields/SFVec4.js +21 -18
  611. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +36 -36
  612. package/src/x_ite/Fields.js +6 -13
  613. package/src/x_ite/InputOutput/FileLoader.js +36 -40
  614. package/src/x_ite/InputOutput/Generator.js +50 -51
  615. package/src/x_ite/Parser/GLB2Parser.js +12 -13
  616. package/src/x_ite/Parser/GLTF2Parser.js +111 -112
  617. package/src/x_ite/Parser/GoldenGate.js +11 -13
  618. package/src/x_ite/Parser/HTMLSupport.js +15 -5
  619. package/src/x_ite/Parser/JSONParser.js +21 -22
  620. package/src/x_ite/Parser/OBJParser.js +56 -57
  621. package/src/x_ite/Parser/STLAParser.js +22 -23
  622. package/src/x_ite/Parser/STLBParser.js +12 -13
  623. package/src/x_ite/Parser/SVGParser.js +85 -86
  624. package/src/x_ite/Parser/VRMLParser.js +495 -878
  625. package/src/x_ite/Parser/X3DOptimizer.js +7 -7
  626. package/src/x_ite/Parser/X3DParser.js +17 -17
  627. package/src/x_ite/Parser/XMLParser.js +215 -269
  628. package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +11 -9
  629. package/src/x_ite/Prototype/ProtoDeclarationArray.js +11 -9
  630. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +35 -27
  631. package/src/x_ite/Prototype/X3DProtoDeclaration.js +28 -20
  632. package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +18 -10
  633. package/src/x_ite/Rendering/DependentRenderer.js +11 -12
  634. package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +9 -10
  635. package/src/x_ite/Rendering/PointingBuffer.js +6 -7
  636. package/src/x_ite/Rendering/TextureBuffer.js +11 -12
  637. package/src/x_ite/Rendering/VertexArray.js +5 -5
  638. package/src/x_ite/Rendering/X3DRenderObject.js +51 -52
  639. package/src/x_ite/Routing/RouteArray.js +11 -9
  640. package/src/x_ite/Routing/X3DRoute.js +35 -19
  641. package/src/x_ite/Routing/X3DRoutingContext.js +8 -9
  642. package/src/x_ite/X3D.js +27 -26
  643. package/src/x_ite/X3DCanvasElement.js +18 -7
  644. package/src/x_ite.css +2 -1
  645. package/webpack.config.js +2 -2
  646. /package/src/x_ite/{DEBUG.js → DEVELOPMENT.js} +0 -0
@@ -73,45 +73,9 @@ function ElevationGrid (executionContext)
73
73
  this .coordNode = null;
74
74
  }
75
75
 
76
- ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prototype),
76
+ Object .assign (Object .setPrototypeOf (ElevationGrid .prototype, X3DGeometryNode .prototype),
77
77
  {
78
- constructor: ElevationGrid,
79
- [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new FieldDefinitionArray ([
80
- new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
81
- new X3DFieldDefinition (X3DConstants .inputOnly, "set_height", new Fields .MFFloat ()),
82
- new X3DFieldDefinition (X3DConstants .initializeOnly, "xDimension", new Fields .SFInt32 ()),
83
- new X3DFieldDefinition (X3DConstants .initializeOnly, "zDimension", new Fields .SFInt32 ()),
84
- new X3DFieldDefinition (X3DConstants .initializeOnly, "xSpacing", new Fields .SFFloat (1)),
85
- new X3DFieldDefinition (X3DConstants .initializeOnly, "zSpacing", new Fields .SFFloat (1)),
86
- new X3DFieldDefinition (X3DConstants .initializeOnly, "solid", new Fields .SFBool (true)),
87
- new X3DFieldDefinition (X3DConstants .initializeOnly, "ccw", new Fields .SFBool (true)),
88
- new X3DFieldDefinition (X3DConstants .initializeOnly, "creaseAngle", new Fields .SFFloat ()),
89
- new X3DFieldDefinition (X3DConstants .initializeOnly, "colorPerVertex", new Fields .SFBool (true)),
90
- new X3DFieldDefinition (X3DConstants .initializeOnly, "normalPerVertex", new Fields .SFBool (true)),
91
- new X3DFieldDefinition (X3DConstants .inputOutput, "attrib", new Fields .MFNode ()),
92
- new X3DFieldDefinition (X3DConstants .inputOutput, "fogCoord", new Fields .SFNode ()),
93
- new X3DFieldDefinition (X3DConstants .inputOutput, "color", new Fields .SFNode ()),
94
- new X3DFieldDefinition (X3DConstants .inputOutput, "texCoord", new Fields .SFNode ()),
95
- new X3DFieldDefinition (X3DConstants .inputOutput, "normal", new Fields .SFNode ()),
96
- new X3DFieldDefinition (X3DConstants .initializeOnly, "height", new Fields .MFFloat ()),
97
- ]),
98
- getTypeName: function ()
99
- {
100
- return "ElevationGrid";
101
- },
102
- getComponentName: function ()
103
- {
104
- return "Geometry3D";
105
- },
106
- getContainerField: function ()
107
- {
108
- return "geometry";
109
- },
110
- getSpecificationRange: function ()
111
- {
112
- return ["2.0", "Infinity"];
113
- },
114
- initialize: function ()
78
+ initialize ()
115
79
  {
116
80
  X3DGeometryNode .prototype .initialize .call (this);
117
81
 
@@ -128,7 +92,7 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
128
92
  this .set_texCoord__ ();
129
93
  this .set_normal__ ();
130
94
  },
131
- set_attrib__: function ()
95
+ set_attrib__ ()
132
96
  {
133
97
  const attribNodes = this .getAttrib ();
134
98
 
@@ -156,7 +120,7 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
156
120
 
157
121
  this .updateVertexArrays ();
158
122
  },
159
- set_fogCoord__: function ()
123
+ set_fogCoord__ ()
160
124
  {
161
125
  this .fogCoordNode ?.removeInterest ("requestRebuild", this);
162
126
 
@@ -164,7 +128,7 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
164
128
 
165
129
  this .fogCoordNode ?.addInterest ("requestRebuild", this);
166
130
  },
167
- set_color__: function ()
131
+ set_color__ ()
168
132
  {
169
133
  this .colorNode ?.removeInterest ("requestRebuild", this);
170
134
 
@@ -174,7 +138,7 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
174
138
 
175
139
  this .setTransparent (this .colorNode ?.isTransparent () ?? false);
176
140
  },
177
- set_texCoord__: function ()
141
+ set_texCoord__ ()
178
142
  {
179
143
  this .texCoordNode ?.removeInterest ("requestRebuild", this);
180
144
 
@@ -184,7 +148,7 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
184
148
 
185
149
  this .setTextureCoordinate (this .texCoordNode);
186
150
  },
187
- set_normal__: function ()
151
+ set_normal__ ()
188
152
  {
189
153
  this .normalNode ?.removeInterest ("requestRebuild", this);
190
154
 
@@ -192,26 +156,26 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
192
156
 
193
157
  this .normalNode ?.addInterest ("requestRebuild", this);
194
158
  },
195
- getColor: function ()
159
+ getColor ()
196
160
  {
197
161
  return this .colorNode;
198
162
  },
199
- getTexCoord: function ()
163
+ getTexCoord ()
200
164
  {
201
165
  return this .texCoordNode;
202
166
  },
203
- getNormal: function ()
167
+ getNormal ()
204
168
  {
205
169
  return this .normalNode;
206
170
  },
207
- getHeight: function (index)
171
+ getHeight (index)
208
172
  {
209
173
  if (index < this ._height .length)
210
174
  return this ._height [index];
211
175
 
212
176
  return 0;
213
177
  },
214
- createTexCoords: function ()
178
+ createTexCoords ()
215
179
  {
216
180
  const
217
181
  texCoords = [ ],
@@ -228,7 +192,7 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
228
192
 
229
193
  return texCoords;
230
194
  },
231
- createNormals: function (points, coordIndex, creaseAngle)
195
+ createNormals (points, coordIndex, creaseAngle)
232
196
  {
233
197
  const
234
198
  cw = ! this ._ccw .getValue (),
@@ -261,7 +225,7 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
261
225
 
262
226
  return this .refineNormals (normalIndex, normals, this ._creaseAngle .getValue ());
263
227
  },
264
- createCoordIndex: function ()
228
+ createCoordIndex ()
265
229
  {
266
230
  // p1 - p4
267
231
  // | \ |
@@ -296,7 +260,7 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
296
260
 
297
261
  return coordIndex;
298
262
  },
299
- createPoints: function ()
263
+ createPoints ()
300
264
  {
301
265
  const
302
266
  points = [ ],
@@ -317,7 +281,7 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
317
281
 
318
282
  return points;
319
283
  },
320
- build: function ()
284
+ build ()
321
285
  {
322
286
  if (this ._xDimension .getValue () < 2 || this ._zDimension .getValue () < 2)
323
287
  return;
@@ -419,4 +383,51 @@ ElevationGrid .prototype = Object .assign (Object .create (X3DGeometryNode .prot
419
383
  },
420
384
  });
421
385
 
386
+ Object .defineProperties (ElevationGrid,
387
+ {
388
+ typeName:
389
+ {
390
+ value: "ElevationGrid",
391
+ enumerable: true,
392
+ },
393
+ componentName:
394
+ {
395
+ value: "Geometry3D",
396
+ enumerable: true,
397
+ },
398
+ containerField:
399
+ {
400
+ value: "geometry",
401
+ enumerable: true,
402
+ },
403
+ specificationRange:
404
+ {
405
+ value: Object .freeze (["2.0", "Infinity"]),
406
+ enumerable: true,
407
+ },
408
+ fieldDefinitions:
409
+ {
410
+ value: new FieldDefinitionArray ([
411
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
412
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_height", new Fields .MFFloat ()),
413
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "xDimension", new Fields .SFInt32 ()),
414
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "zDimension", new Fields .SFInt32 ()),
415
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "xSpacing", new Fields .SFFloat (1)),
416
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "zSpacing", new Fields .SFFloat (1)),
417
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "solid", new Fields .SFBool (true)),
418
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "ccw", new Fields .SFBool (true)),
419
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "creaseAngle", new Fields .SFFloat ()),
420
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "colorPerVertex", new Fields .SFBool (true)),
421
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "normalPerVertex", new Fields .SFBool (true)),
422
+ new X3DFieldDefinition (X3DConstants .inputOutput, "attrib", new Fields .MFNode ()),
423
+ new X3DFieldDefinition (X3DConstants .inputOutput, "fogCoord", new Fields .SFNode ()),
424
+ new X3DFieldDefinition (X3DConstants .inputOutput, "color", new Fields .SFNode ()),
425
+ new X3DFieldDefinition (X3DConstants .inputOutput, "texCoord", new Fields .SFNode ()),
426
+ new X3DFieldDefinition (X3DConstants .inputOutput, "normal", new Fields .SFNode ()),
427
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "height", new Fields .MFFloat ()),
428
+ ]),
429
+ enumerable: true,
430
+ },
431
+ });
432
+
422
433
  export default ElevationGrid;
@@ -67,43 +67,9 @@ function Extrusion (executionContext)
67
67
  this ._spine .setUnit ("length");
68
68
  }
69
69
 
70
- Extrusion .prototype = Object .assign (Object .create (X3DGeometryNode .prototype),
70
+ Object .assign (Object .setPrototypeOf (Extrusion .prototype, X3DGeometryNode .prototype),
71
71
  {
72
- constructor: Extrusion,
73
- [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new FieldDefinitionArray ([
74
- new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
75
- new X3DFieldDefinition (X3DConstants .inputOnly, "set_crossSection", new Fields .MFVec2f ()),
76
- new X3DFieldDefinition (X3DConstants .inputOnly, "set_orientation", new Fields .MFRotation ()),
77
- new X3DFieldDefinition (X3DConstants .inputOnly, "set_scale", new Fields .MFVec2f ()),
78
- new X3DFieldDefinition (X3DConstants .inputOnly, "set_spine", new Fields .MFVec3f ()),
79
- new X3DFieldDefinition (X3DConstants .initializeOnly, "beginCap", new Fields .SFBool (true)),
80
- new X3DFieldDefinition (X3DConstants .initializeOnly, "endCap", new Fields .SFBool (true)),
81
- new X3DFieldDefinition (X3DConstants .initializeOnly, "solid", new Fields .SFBool (true)),
82
- new X3DFieldDefinition (X3DConstants .initializeOnly, "ccw", new Fields .SFBool (true)),
83
- new X3DFieldDefinition (X3DConstants .initializeOnly, "convex", new Fields .SFBool (true)),
84
- new X3DFieldDefinition (X3DConstants .initializeOnly, "creaseAngle", new Fields .SFFloat ()),
85
- new X3DFieldDefinition (X3DConstants .initializeOnly, "crossSection", new Fields .MFVec2f (new Vector2 (1, 1), new Vector2 (1, -1), new Vector2 (-1, -1), new Vector2 (-1, 1), new Vector2 (1, 1))),
86
- new X3DFieldDefinition (X3DConstants .initializeOnly, "orientation", new Fields .MFRotation (new Rotation4 ())),
87
- new X3DFieldDefinition (X3DConstants .initializeOnly, "scale", new Fields .MFVec2f (new Vector2 (1, 1))),
88
- new X3DFieldDefinition (X3DConstants .initializeOnly, "spine", new Fields .MFVec3f (new Vector3 (0, 0, 0), new Vector3 (0, 1, 0))),
89
- ]),
90
- getTypeName: function ()
91
- {
92
- return "Extrusion";
93
- },
94
- getComponentName: function ()
95
- {
96
- return "Geometry3D";
97
- },
98
- getContainerField: function ()
99
- {
100
- return "geometry";
101
- },
102
- getSpecificationRange: function ()
103
- {
104
- return ["2.0", "Infinity"];
105
- },
106
- initialize: function ()
72
+ initialize ()
107
73
  {
108
74
  X3DGeometryNode .prototype .initialize .call (this);
109
75
 
@@ -112,7 +78,7 @@ Extrusion .prototype = Object .assign (Object .create (X3DGeometryNode .prototyp
112
78
  this ._set_scale .addFieldInterest (this ._scale);
113
79
  this ._set_spine .addFieldInterest (this ._spine);
114
80
  },
115
- getClosedOrientation: function ()
81
+ getClosedOrientation ()
116
82
  {
117
83
  const orientation = this ._orientation;
118
84
 
@@ -675,7 +641,7 @@ Extrusion .prototype = Object .assign (Object .create (X3DGeometryNode .prototyp
675
641
  this .setCCW (this ._ccw .getValue ());
676
642
  };
677
643
  })(),
678
- addCap: function (texCoordArray, texCoord, normal, vertices, triangles)
644
+ addCap (texCoordArray, texCoord, normal, vertices, triangles)
679
645
  {
680
646
  const
681
647
  normalArray = this .getNormals (),
@@ -706,4 +672,49 @@ Extrusion .prototype = Object .assign (Object .create (X3DGeometryNode .prototyp
706
672
  },
707
673
  });
708
674
 
675
+ Object .defineProperties (Extrusion,
676
+ {
677
+ typeName:
678
+ {
679
+ value: "Extrusion",
680
+ enumerable: true,
681
+ },
682
+ componentName:
683
+ {
684
+ value: "Geometry3D",
685
+ enumerable: true,
686
+ },
687
+ containerField:
688
+ {
689
+ value: "geometry",
690
+ enumerable: true,
691
+ },
692
+ specificationRange:
693
+ {
694
+ value: Object .freeze (["2.0", "Infinity"]),
695
+ enumerable: true,
696
+ },
697
+ fieldDefinitions:
698
+ {
699
+ value: new FieldDefinitionArray ([
700
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
701
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_crossSection", new Fields .MFVec2f ()),
702
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_orientation", new Fields .MFRotation ()),
703
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_scale", new Fields .MFVec2f ()),
704
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_spine", new Fields .MFVec3f ()),
705
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "beginCap", new Fields .SFBool (true)),
706
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "endCap", new Fields .SFBool (true)),
707
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "solid", new Fields .SFBool (true)),
708
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "ccw", new Fields .SFBool (true)),
709
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "convex", new Fields .SFBool (true)),
710
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "creaseAngle", new Fields .SFFloat ()),
711
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "crossSection", new Fields .MFVec2f (new Vector2 (1, 1), new Vector2 (1, -1), new Vector2 (-1, -1), new Vector2 (-1, 1), new Vector2 (1, 1))),
712
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "orientation", new Fields .MFRotation (new Rotation4 ())),
713
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "scale", new Fields .MFVec2f (new Vector2 (1, 1))),
714
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "spine", new Fields .MFVec3f (new Vector3 (0, 0, 0), new Vector3 (0, 1, 0))),
715
+ ]),
716
+ enumerable: true,
717
+ },
718
+ });
719
+
709
720
  export default Extrusion;
@@ -63,49 +63,9 @@ function IndexedFaceSet (executionContext)
63
63
  this ._creaseAngle .setUnit ("angle");
64
64
  }
65
65
 
66
- IndexedFaceSet .prototype = Object .assign (Object .create (X3DComposedGeometryNode .prototype),
66
+ Object .assign (Object .setPrototypeOf (IndexedFaceSet .prototype, X3DComposedGeometryNode .prototype),
67
67
  {
68
- constructor: IndexedFaceSet,
69
- [Symbol .for ("X_ITE.X3DBaseNode.fieldDefinitions")]: new FieldDefinitionArray ([
70
- new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
71
- new X3DFieldDefinition (X3DConstants .inputOnly, "set_colorIndex", new Fields .MFInt32 ()),
72
- new X3DFieldDefinition (X3DConstants .inputOnly, "set_texCoordIndex", new Fields .MFInt32 ()),
73
- new X3DFieldDefinition (X3DConstants .inputOnly, "set_normalIndex", new Fields .MFInt32 ()),
74
- new X3DFieldDefinition (X3DConstants .inputOnly, "set_coordIndex", new Fields .MFInt32 ()),
75
- new X3DFieldDefinition (X3DConstants .initializeOnly, "solid", new Fields .SFBool (true)),
76
- new X3DFieldDefinition (X3DConstants .initializeOnly, "ccw", new Fields .SFBool (true)),
77
- new X3DFieldDefinition (X3DConstants .initializeOnly, "convex", new Fields .SFBool (true)),
78
- new X3DFieldDefinition (X3DConstants .initializeOnly, "creaseAngle", new Fields .SFFloat ()),
79
- new X3DFieldDefinition (X3DConstants .initializeOnly, "colorPerVertex", new Fields .SFBool (true)),
80
- new X3DFieldDefinition (X3DConstants .initializeOnly, "normalPerVertex", new Fields .SFBool (true)),
81
- new X3DFieldDefinition (X3DConstants .initializeOnly, "colorIndex", new Fields .MFInt32 ()),
82
- new X3DFieldDefinition (X3DConstants .initializeOnly, "texCoordIndex", new Fields .MFInt32 ()),
83
- new X3DFieldDefinition (X3DConstants .initializeOnly, "normalIndex", new Fields .MFInt32 ()),
84
- new X3DFieldDefinition (X3DConstants .initializeOnly, "coordIndex", new Fields .MFInt32 ()),
85
- new X3DFieldDefinition (X3DConstants .inputOutput, "attrib", new Fields .MFNode ()),
86
- new X3DFieldDefinition (X3DConstants .inputOutput, "fogCoord", new Fields .SFNode ()),
87
- new X3DFieldDefinition (X3DConstants .inputOutput, "color", new Fields .SFNode ()),
88
- new X3DFieldDefinition (X3DConstants .inputOutput, "texCoord", new Fields .SFNode ()),
89
- new X3DFieldDefinition (X3DConstants .inputOutput, "normal", new Fields .SFNode ()),
90
- new X3DFieldDefinition (X3DConstants .inputOutput, "coord", new Fields .SFNode ()),
91
- ]),
92
- getTypeName: function ()
93
- {
94
- return "IndexedFaceSet";
95
- },
96
- getComponentName: function ()
97
- {
98
- return "Geometry3D";
99
- },
100
- getContainerField: function ()
101
- {
102
- return "geometry";
103
- },
104
- getSpecificationRange: function ()
105
- {
106
- return ["2.0", "Infinity"];
107
- },
108
- initialize: function ()
68
+ initialize ()
109
69
  {
110
70
  X3DComposedGeometryNode .prototype .initialize .call (this);
111
71
 
@@ -114,42 +74,42 @@ IndexedFaceSet .prototype = Object .assign (Object .create (X3DComposedGeometryN
114
74
  this ._set_normalIndex .addFieldInterest (this ._normalIndex);
115
75
  this ._set_coordIndex .addFieldInterest (this ._coordIndex);
116
76
  },
117
- getTexCoordPerVertexIndex: function (index)
77
+ getTexCoordPerVertexIndex (index)
118
78
  {
119
79
  if (index < this ._texCoordIndex .length)
120
80
  return this ._texCoordIndex [index];
121
81
 
122
82
  return this ._coordIndex [index];
123
83
  },
124
- getColorPerVertexIndex: function (index)
84
+ getColorPerVertexIndex (index)
125
85
  {
126
86
  if (index < this ._colorIndex .length)
127
87
  return this ._colorIndex [index];
128
88
 
129
89
  return this ._coordIndex [index];
130
90
  },
131
- getColorIndex: function (index)
91
+ getColorIndex (index)
132
92
  {
133
93
  if (index < this ._colorIndex .length)
134
94
  return this ._colorIndex [index];
135
95
 
136
96
  return index;
137
97
  },
138
- getNormalPerVertexIndex: function (index)
98
+ getNormalPerVertexIndex (index)
139
99
  {
140
100
  if (index < this ._normalIndex .length)
141
101
  return this ._normalIndex [index];
142
102
 
143
103
  return this ._coordIndex [index];
144
104
  },
145
- getNormalIndex: function (index)
105
+ getNormalIndex (index)
146
106
  {
147
107
  if (index < this ._normalIndex .length)
148
108
  return this ._normalIndex [index];
149
109
 
150
110
  return index;
151
111
  },
152
- build: function ()
112
+ build ()
153
113
  {
154
114
  // Triangulate
155
115
 
@@ -228,7 +188,7 @@ IndexedFaceSet .prototype = Object .assign (Object .create (X3DComposedGeometryN
228
188
  this .setSolid (this ._solid .getValue ());
229
189
  this .setCCW (this ._ccw .getValue ());
230
190
  },
231
- triangulate: function ()
191
+ triangulate ()
232
192
  {
233
193
  const
234
194
  convex = this ._convex .getValue (),
@@ -250,9 +210,7 @@ IndexedFaceSet .prototype = Object .assign (Object .create (X3DComposedGeometryN
250
210
 
251
211
  // Construct triangle array and determine the number of used points.
252
212
 
253
- let vertices = [ ];
254
-
255
- for (let i = 0, face = 0; i < coordLength; ++ i)
213
+ for (let i = 0, face = 0, vertices = [ ]; i < coordLength; ++ i)
256
214
  {
257
215
  const index = coordIndex [i];
258
216
 
@@ -263,54 +221,48 @@ IndexedFaceSet .prototype = Object .assign (Object .create (X3DComposedGeometryN
263
221
  }
264
222
  else
265
223
  {
266
- // Negativ index.
224
+ // Negative index.
267
225
 
268
- if (vertices .length)
226
+ switch (vertices .length)
269
227
  {
270
- // Closed polygon.
271
- //if (coordIndex [vertices [0]] === coordIndex [vertices [vertices .length - 1]])
272
- // vertices .pop ();
273
-
274
- switch (vertices .length)
228
+ case 0:
229
+ case 1:
230
+ case 2:
231
+ {
232
+ vertices .length = 0;
233
+ break;
234
+ }
235
+ case 3:
236
+ {
237
+ // Add polygon with one triangle.
238
+ polygons .push ({ vertices: vertices, triangles: vertices, face: face });
239
+ vertices = [ ];
240
+ break;
241
+ }
242
+ default:
275
243
  {
276
- case 0:
277
- case 1:
278
- case 2:
244
+ // Triangulate polygon.
245
+
246
+ const
247
+ triangles = [ ],
248
+ polygon = { vertices: vertices, triangles: triangles, face: face };
249
+
250
+ if (convex)
251
+ Triangle3 .triangulateConvexPolygon (vertices, triangles);
252
+ else
253
+ this .triangulatePolygon (vertices, triangles);
254
+
255
+ if (triangles .length < 3)
279
256
  {
280
257
  vertices .length = 0;
281
- break;
282
258
  }
283
- case 3:
259
+ else
284
260
  {
285
- // Add polygon with one triangle.
286
- polygons .push ({ vertices: vertices, triangles: vertices, face: face });
261
+ polygons .push (polygon);
287
262
  vertices = [ ];
288
- break;
289
- }
290
- default:
291
- {
292
- // Triangulate polygons.
293
- const
294
- triangles = [ ],
295
- polygon = { vertices: vertices, triangles: triangles, face: face };
296
-
297
- if (convex)
298
- Triangle3 .triangulateConvexPolygon (vertices, triangles);
299
- else
300
- this .triangulatePolygon (vertices, triangles);
301
-
302
- if (triangles .length < 3)
303
- {
304
- vertices .length = 0;
305
- }
306
- else
307
- {
308
- polygons .push (polygon);
309
- vertices = [ ];
310
- }
311
-
312
- break;
313
263
  }
264
+
265
+ break;
314
266
  }
315
267
  }
316
268
 
@@ -351,7 +303,7 @@ IndexedFaceSet .prototype = Object .assign (Object .create (X3DComposedGeometryN
351
303
  Triangle3 .triangulatePolygon (polygon, triangles);
352
304
  };
353
305
  })(),
354
- buildNormals: function (polygons)
306
+ buildNormals (polygons)
355
307
  {
356
308
  const
357
309
  normals = this .createNormals (polygons),
@@ -376,9 +328,9 @@ IndexedFaceSet .prototype = Object .assign (Object .create (X3DComposedGeometryN
376
328
  return function (polygons)
377
329
  {
378
330
  const
379
- cw = ! this ._ccw .getValue (),
380
- coordIndex = this ._coordIndex .getValue (),
381
- coord = this .getCoord ();
331
+ cw = ! this ._ccw .getValue (),
332
+ coordIndex = this ._coordIndex .getValue (),
333
+ coord = this .getCoord ();
382
334
 
383
335
  normals .length = 0;
384
336
  normalIndex .length = 0;
@@ -474,4 +426,55 @@ IndexedFaceSet .prototype = Object .assign (Object .create (X3DComposedGeometryN
474
426
  })(),
475
427
  });
476
428
 
429
+ Object .defineProperties (IndexedFaceSet,
430
+ {
431
+ typeName:
432
+ {
433
+ value: "IndexedFaceSet",
434
+ enumerable: true,
435
+ },
436
+ componentName:
437
+ {
438
+ value: "Geometry3D",
439
+ enumerable: true,
440
+ },
441
+ containerField:
442
+ {
443
+ value: "geometry",
444
+ enumerable: true,
445
+ },
446
+ specificationRange:
447
+ {
448
+ value: Object .freeze (["2.0", "Infinity"]),
449
+ enumerable: true,
450
+ },
451
+ fieldDefinitions:
452
+ {
453
+ value: new FieldDefinitionArray ([
454
+ new X3DFieldDefinition (X3DConstants .inputOutput, "metadata", new Fields .SFNode ()),
455
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_colorIndex", new Fields .MFInt32 ()),
456
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_texCoordIndex", new Fields .MFInt32 ()),
457
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_normalIndex", new Fields .MFInt32 ()),
458
+ new X3DFieldDefinition (X3DConstants .inputOnly, "set_coordIndex", new Fields .MFInt32 ()),
459
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "solid", new Fields .SFBool (true)),
460
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "ccw", new Fields .SFBool (true)),
461
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "convex", new Fields .SFBool (true)),
462
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "creaseAngle", new Fields .SFFloat ()),
463
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "colorPerVertex", new Fields .SFBool (true)),
464
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "normalPerVertex", new Fields .SFBool (true)),
465
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "colorIndex", new Fields .MFInt32 ()),
466
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "texCoordIndex", new Fields .MFInt32 ()),
467
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "normalIndex", new Fields .MFInt32 ()),
468
+ new X3DFieldDefinition (X3DConstants .initializeOnly, "coordIndex", new Fields .MFInt32 ()),
469
+ new X3DFieldDefinition (X3DConstants .inputOutput, "attrib", new Fields .MFNode ()),
470
+ new X3DFieldDefinition (X3DConstants .inputOutput, "fogCoord", new Fields .SFNode ()),
471
+ new X3DFieldDefinition (X3DConstants .inputOutput, "color", new Fields .SFNode ()),
472
+ new X3DFieldDefinition (X3DConstants .inputOutput, "texCoord", new Fields .SFNode ()),
473
+ new X3DFieldDefinition (X3DConstants .inputOutput, "normal", new Fields .SFNode ()),
474
+ new X3DFieldDefinition (X3DConstants .inputOutput, "coord", new Fields .SFNode ()),
475
+ ]),
476
+ enumerable: true,
477
+ },
478
+ });
479
+
477
480
  export default IndexedFaceSet;