x_ite 8.4.3 → 8.5.3

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 (568) hide show
  1. package/.vscode/settings.json +5 -1
  2. package/Makefile +0 -3
  3. package/build/bin/components.js +173 -0
  4. package/build/bin/tags.pl +28 -0
  5. package/build/bin/tests.pl +80 -2
  6. package/build/bin/version.pl +12 -7
  7. package/dist/assets/components/Annotation.js +13 -13
  8. package/dist/assets/components/Annotation.min.js +1 -1
  9. package/dist/assets/components/CADGeometry.js +13 -13
  10. package/dist/assets/components/CADGeometry.min.js +1 -1
  11. package/dist/assets/components/CubeMapTexturing.js +28 -29
  12. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  13. package/dist/assets/components/DIS.js +13 -13
  14. package/dist/assets/components/DIS.min.js +1 -1
  15. package/dist/assets/components/EventUtilities.js +9 -9
  16. package/dist/assets/components/EventUtilities.min.js +1 -1
  17. package/dist/assets/components/Geometry2D.js +19 -19
  18. package/dist/assets/components/Geometry2D.min.js +1 -1
  19. package/dist/assets/components/Geospatial.js +33 -33
  20. package/dist/assets/components/Geospatial.min.js +1 -1
  21. package/dist/assets/components/HAnim.js +63 -42
  22. package/dist/assets/components/HAnim.min.js +1 -1
  23. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  24. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  25. package/dist/assets/components/Layout.js +37 -29
  26. package/dist/assets/components/Layout.min.js +1 -1
  27. package/dist/assets/components/NURBS.js +29 -31
  28. package/dist/assets/components/NURBS.min.js +1 -1
  29. package/dist/assets/components/ParticleSystems.js +23 -23
  30. package/dist/assets/components/ParticleSystems.min.js +1 -1
  31. package/dist/assets/components/Picking.js +19 -19
  32. package/dist/assets/components/Picking.min.js +1 -1
  33. package/dist/assets/components/RigidBodyPhysics.js +24 -19
  34. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  35. package/dist/assets/components/Scripting.js +30 -30
  36. package/dist/assets/components/Scripting.min.js +1 -1
  37. package/dist/assets/components/Text.js +172 -594
  38. package/dist/assets/components/Text.min.js +1 -1
  39. package/dist/assets/components/TextureProjector.js +31 -47
  40. package/dist/assets/components/TextureProjector.min.js +1 -1
  41. package/dist/assets/components/Texturing3D.js +367 -346
  42. package/dist/assets/components/Texturing3D.min.js +1 -1
  43. package/dist/assets/components/VolumeRendering.js +19 -19
  44. package/dist/assets/components/VolumeRendering.min.js +1 -1
  45. package/dist/assets/components/X_ITE.js +9 -9
  46. package/dist/assets/components/X_ITE.min.js +1 -1
  47. package/dist/x_ite.css +1 -1
  48. package/dist/x_ite.js +12174 -3553
  49. package/dist/x_ite.min.js +1 -1
  50. package/dist/x_ite.zip +0 -0
  51. package/docs/_config.yml +5 -136
  52. package/docs/_data/nav/components-CADGeometry.yml +14 -0
  53. package/docs/_data/nav/components-Core.yml +16 -0
  54. package/docs/_data/nav/components-CubeMapTexturing.yml +8 -0
  55. package/docs/_data/nav/components-DIS.yml +14 -0
  56. package/docs/_data/nav/components-EnvironmentalEffects.yml +12 -0
  57. package/docs/_data/nav/components-EnvironmentalSensor.yml +8 -0
  58. package/docs/_data/nav/components-EventUtilities.yml +16 -0
  59. package/docs/_data/nav/components-Followers.yml +30 -0
  60. package/docs/_data/nav/components-Geometry2D.yml +18 -0
  61. package/docs/_data/nav/components-Geometry3D.yml +16 -0
  62. package/docs/_data/nav/components-Geospatial.yml +24 -0
  63. package/docs/_data/nav/components-Grouping.yml +10 -0
  64. package/docs/_data/nav/components-HAnim.yml +14 -0
  65. package/docs/_data/nav/components-Interpolation.yml +28 -0
  66. package/docs/_data/nav/components-KeyDeviceSensor.yml +6 -0
  67. package/docs/_data/nav/components-Layering.yml +8 -0
  68. package/docs/_data/nav/components-Layout.yml +12 -0
  69. package/docs/_data/nav/components-Lighting.yml +10 -0
  70. package/docs/_data/nav/components-NURBS.yml +30 -0
  71. package/docs/_data/nav/components-Navigation.yml +16 -0
  72. package/docs/_data/nav/components-Networking.yml +8 -0
  73. package/docs/_data/nav/components-ParticleSystems.yml +22 -0
  74. package/docs/_data/nav/components-Picking.yml +12 -0
  75. package/docs/_data/nav/components-PointingDeviceSensor.yml +10 -0
  76. package/docs/_data/nav/components-Rendering.yml +30 -0
  77. package/docs/_data/nav/components-RigidBodyPhysics.yml +30 -0
  78. package/docs/_data/nav/components-Scripting.yml +4 -0
  79. package/docs/_data/nav/components-Shaders.yml +18 -0
  80. package/docs/_data/nav/components-Shape.yml +22 -0
  81. package/docs/_data/nav/components-Sound.yml +44 -0
  82. package/docs/_data/nav/components-Text.yml +6 -0
  83. package/docs/_data/nav/components-TextureProjector.yml +6 -0
  84. package/docs/_data/nav/components-Texturing.yml +22 -0
  85. package/docs/_data/nav/components-Texturing3D.yml +18 -0
  86. package/docs/_data/nav/components-Time.yml +4 -0
  87. package/docs/_data/nav/components-VolumeRendering.yml +28 -0
  88. package/docs/_data/nav/components-X_ITE.yml +4 -0
  89. package/docs/_data/nav/main.yml +26 -0
  90. package/docs/_data/nav/reference.yml +18 -0
  91. package/docs/_data/nav/tutorials-animation-sensors-and-geometry.yml +18 -0
  92. package/docs/_data/nav/tutorials-basic.yml +6 -0
  93. package/docs/_data/nav/tutorials-optimize-your-scene.yml +6 -0
  94. package/docs/_data/nav/tutorials-scripts-and-prototypes.yml +12 -0
  95. package/docs/_data/nav/tutorials-shapes-geometry-and-appearance.yml +16 -0
  96. package/docs/_data/nav/tutorials-textures-lights-and-environment.yml +20 -0
  97. package/docs/_includes/nav.html +2 -2
  98. package/docs/_includes/scripts.html +2 -1
  99. package/docs/_posts/accessing-the-external-browser.md +1 -1
  100. package/docs/_posts/browser-support.md +1 -1
  101. package/docs/_posts/components/CADGeometry/CADAssembly.md +83 -0
  102. package/docs/_posts/components/CADGeometry/CADFace.md +70 -0
  103. package/docs/_posts/components/CADGeometry/CADLayer.md +84 -0
  104. package/docs/_posts/components/CADGeometry/CADPart.md +117 -0
  105. package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +125 -0
  106. package/docs/_posts/components/CADGeometry/QuadSet.md +113 -0
  107. package/docs/_posts/components/Core/MetadataBoolean.md +90 -0
  108. package/docs/_posts/components/Core/MetadataDouble.md +67 -0
  109. package/docs/_posts/components/Core/MetadataFloat.md +67 -0
  110. package/docs/_posts/components/Core/MetadataInteger.md +66 -0
  111. package/docs/_posts/components/Core/MetadataSet.md +63 -0
  112. package/docs/_posts/components/Core/MetadataString.md +66 -0
  113. package/docs/_posts/components/Core/WorldInfo.md +54 -0
  114. package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +76 -0
  115. package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +65 -0
  116. package/docs/_posts/components/CubeMapTexturing/ImageCubeMapTexture.md +66 -0
  117. package/docs/_posts/components/DIS/DISEntityManager.md +73 -0
  118. package/docs/_posts/components/DIS/DISEntityTypeMapping.md +88 -0
  119. package/docs/_posts/components/DIS/EspduTransform.md +416 -0
  120. package/docs/_posts/components/DIS/ReceiverPdu.md +168 -0
  121. package/docs/_posts/components/DIS/SignalPdu.md +168 -0
  122. package/docs/_posts/components/DIS/TransmitterPdu.md +232 -0
  123. package/docs/_posts/components/EnvironmentalEffects/Background.md +189 -0
  124. package/docs/_posts/components/EnvironmentalEffects/Fog.md +97 -0
  125. package/docs/_posts/components/EnvironmentalEffects/FogCoordinate.md +40 -0
  126. package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +84 -0
  127. package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +142 -0
  128. package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +90 -0
  129. package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +91 -0
  130. package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +73 -0
  131. package/docs/_posts/components/EventUtilities/BooleanFilter.md +62 -0
  132. package/docs/_posts/components/EventUtilities/BooleanSequencer.md +86 -0
  133. package/docs/_posts/components/EventUtilities/BooleanToggle.md +46 -0
  134. package/docs/_posts/components/EventUtilities/BooleanTrigger.md +47 -0
  135. package/docs/_posts/components/EventUtilities/IntegerSequencer.md +90 -0
  136. package/docs/_posts/components/EventUtilities/IntegerTrigger.md +51 -0
  137. package/docs/_posts/components/EventUtilities/TimeTrigger.md +47 -0
  138. package/docs/_posts/components/Followers/ColorChaser.md +77 -0
  139. package/docs/_posts/components/Followers/ColorDamper.md +85 -0
  140. package/docs/_posts/components/Followers/CoordinateChaser.md +76 -0
  141. package/docs/_posts/components/Followers/CoordinateDamper.md +80 -0
  142. package/docs/_posts/components/Followers/OrientationChaser.md +72 -0
  143. package/docs/_posts/components/Followers/OrientationDamper.md +80 -0
  144. package/docs/_posts/components/Followers/PositionChaser.md +72 -0
  145. package/docs/_posts/components/Followers/PositionChaser2D.md +72 -0
  146. package/docs/_posts/components/Followers/PositionDamper.md +80 -0
  147. package/docs/_posts/components/Followers/PositionDamper2D.md +80 -0
  148. package/docs/_posts/components/Followers/ScalarChaser.md +76 -0
  149. package/docs/_posts/components/Followers/ScalarDamper.md +80 -0
  150. package/docs/_posts/components/Followers/TexCoordChaser2D.md +72 -0
  151. package/docs/_posts/components/Followers/TexCoordDamper2D.md +80 -0
  152. package/docs/_posts/components/Geometry2D/Arc2D.md +71 -0
  153. package/docs/_posts/components/Geometry2D/ArcClose2D.md +91 -0
  154. package/docs/_posts/components/Geometry2D/Circle2D.md +55 -0
  155. package/docs/_posts/components/Geometry2D/Disk2D.md +75 -0
  156. package/docs/_posts/components/Geometry2D/Polyline2D.md +54 -0
  157. package/docs/_posts/components/Geometry2D/Polypoint2D.md +54 -0
  158. package/docs/_posts/components/Geometry2D/Rectangle2D.md +66 -0
  159. package/docs/_posts/components/Geometry2D/TriangleSet2D.md +66 -0
  160. package/docs/_posts/components/Geometry3D/Box.md +66 -0
  161. package/docs/_posts/components/Geometry3D/Cone.md +90 -0
  162. package/docs/_posts/components/Geometry3D/Cylinder.md +98 -0
  163. package/docs/_posts/components/Geometry3D/ElevationGrid.md +162 -0
  164. package/docs/_posts/components/Geometry3D/Extrusion.md +170 -0
  165. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +208 -0
  166. package/docs/_posts/components/Geometry3D/Sphere.md +66 -0
  167. package/docs/_posts/components/Geospatial/GeoCoordinate.md +65 -0
  168. package/docs/_posts/components/Geospatial/GeoElevationGrid.md +180 -0
  169. package/docs/_posts/components/Geospatial/GeoLOD.md +128 -0
  170. package/docs/_posts/components/Geospatial/GeoLocation.md +93 -0
  171. package/docs/_posts/components/Geospatial/GeoMetadata.md +75 -0
  172. package/docs/_posts/components/Geospatial/GeoOrigin.md +69 -0
  173. package/docs/_posts/components/Geospatial/GeoPositionInterpolator.md +95 -0
  174. package/docs/_posts/components/Geospatial/GeoProximitySensor.md +109 -0
  175. package/docs/_posts/components/Geospatial/GeoTouchSensor.md +108 -0
  176. package/docs/_posts/components/Geospatial/GeoTransform.md +121 -0
  177. package/docs/_posts/components/Geospatial/GeoViewpoint.md +126 -0
  178. package/docs/_posts/components/Grouping/Group.md +75 -0
  179. package/docs/_posts/components/Grouping/StaticGroup.md +65 -0
  180. package/docs/_posts/components/Grouping/Switch.md +89 -0
  181. package/docs/_posts/components/Grouping/Transform.md +126 -0
  182. package/docs/_posts/components/HAnim/HAnimDisplacer.md +89 -0
  183. package/docs/_posts/components/HAnim/HAnimHumanoid.md +136 -0
  184. package/docs/_posts/components/HAnim/HAnimJoint.md +165 -0
  185. package/docs/_posts/components/HAnim/HAnimMotion.md +68 -0
  186. package/docs/_posts/components/HAnim/HAnimSegment.md +107 -0
  187. package/docs/_posts/components/HAnim/HAnimSite.md +108 -0
  188. package/docs/_posts/components/Interpolation/ColorInterpolator.md +73 -0
  189. package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +76 -0
  190. package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +73 -0
  191. package/docs/_posts/components/Interpolation/EaseInEaseOut.md +67 -0
  192. package/docs/_posts/components/Interpolation/NormalInterpolator.md +68 -0
  193. package/docs/_posts/components/Interpolation/OrientationInterpolator.md +72 -0
  194. package/docs/_posts/components/Interpolation/PositionInterpolator.md +72 -0
  195. package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +77 -0
  196. package/docs/_posts/components/Interpolation/ScalarInterpolator.md +76 -0
  197. package/docs/_posts/components/Interpolation/SplinePositionInterpolator.md +93 -0
  198. package/docs/_posts/components/Interpolation/SplinePositionInterpolator2D.md +93 -0
  199. package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +106 -0
  200. package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +78 -0
  201. package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +78 -0
  202. package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +70 -0
  203. package/docs/_posts/components/Layering/Layer.md +67 -0
  204. package/docs/_posts/components/Layering/LayerSet.md +78 -0
  205. package/docs/_posts/components/Layering/Viewport.md +80 -0
  206. package/docs/_posts/components/Layout/Layout.md +107 -0
  207. package/docs/_posts/components/Layout/LayoutGroup.md +85 -0
  208. package/docs/_posts/components/Layout/LayoutLayer.md +74 -0
  209. package/docs/_posts/components/Layout/ScreenFontStyle.md +137 -0
  210. package/docs/_posts/components/Layout/ScreenGroup.md +71 -0
  211. package/docs/_posts/components/Lighting/DirectionalLight.md +100 -0
  212. package/docs/_posts/components/Lighting/EnvironmentLight.md +91 -0
  213. package/docs/_posts/components/Lighting/PointLight.md +103 -0
  214. package/docs/_posts/components/Lighting/SpotLight.md +132 -0
  215. package/docs/_posts/components/NURBS/Contour2D.md +57 -0
  216. package/docs/_posts/components/NURBS/ContourPolyline2D.md +46 -0
  217. package/docs/_posts/components/NURBS/CoordinateDouble.md +47 -0
  218. package/docs/_posts/components/NURBS/NurbsCurve.md +71 -0
  219. package/docs/_posts/components/NURBS/NurbsCurve2D.md +66 -0
  220. package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +70 -0
  221. package/docs/_posts/components/NURBS/NurbsPatchSurface.md +106 -0
  222. package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +70 -0
  223. package/docs/_posts/components/NURBS/NurbsSet.md +66 -0
  224. package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +90 -0
  225. package/docs/_posts/components/NURBS/NurbsSweptSurface.md +69 -0
  226. package/docs/_posts/components/NURBS/NurbsSwungSurface.md +65 -0
  227. package/docs/_posts/components/NURBS/NurbsTextureCoordinate.md +77 -0
  228. package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +114 -0
  229. package/docs/_posts/components/Navigation/Billboard.md +88 -0
  230. package/docs/_posts/components/Navigation/Collision.md +102 -0
  231. package/docs/_posts/components/Navigation/LOD.md +99 -0
  232. package/docs/_posts/components/Navigation/NavigationInfo.md +122 -0
  233. package/docs/_posts/components/Navigation/OrthoViewpoint.md +117 -0
  234. package/docs/_posts/components/Navigation/Viewpoint.md +117 -0
  235. package/docs/_posts/components/Navigation/ViewpointGroup.md +80 -0
  236. package/docs/_posts/components/Networking/Anchor.md +111 -0
  237. package/docs/_posts/components/Networking/Inline.md +115 -0
  238. package/docs/_posts/components/Networking/LoadSensor.md +91 -0
  239. package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +54 -0
  240. package/docs/_posts/components/ParticleSystems/ConeEmitter.md +76 -0
  241. package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +72 -0
  242. package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +58 -0
  243. package/docs/_posts/components/ParticleSystems/ParticleSystem.md +177 -0
  244. package/docs/_posts/components/ParticleSystems/PointEmitter.md +76 -0
  245. package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +94 -0
  246. package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +90 -0
  247. package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +90 -0
  248. package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +68 -0
  249. package/docs/_posts/components/Picking/LinePickSensor.md +125 -0
  250. package/docs/_posts/components/Picking/PickableGroup.md +93 -0
  251. package/docs/_posts/components/Picking/PointPickSensor.md +112 -0
  252. package/docs/_posts/components/Picking/PrimitivePickSensor.md +114 -0
  253. package/docs/_posts/components/Picking/VolumePickSensor.md +107 -0
  254. package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +122 -0
  255. package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +114 -0
  256. package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +89 -0
  257. package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +87 -0
  258. package/docs/_posts/components/Rendering/ClipPlane.md +67 -0
  259. package/docs/_posts/components/Rendering/Color.md +56 -0
  260. package/docs/_posts/components/Rendering/ColorRGBA.md +61 -0
  261. package/docs/_posts/components/Rendering/Coordinate.md +45 -0
  262. package/docs/_posts/components/Rendering/IndexedLineSet.md +128 -0
  263. package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +128 -0
  264. package/docs/_posts/components/Rendering/IndexedTriangleSet.md +128 -0
  265. package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +116 -0
  266. package/docs/_posts/components/Rendering/LineSet.md +85 -0
  267. package/docs/_posts/components/Rendering/Normal.md +41 -0
  268. package/docs/_posts/components/Rendering/PointSet.md +76 -0
  269. package/docs/_posts/components/Rendering/TriangleFanSet.md +112 -0
  270. package/docs/_posts/components/Rendering/TriangleSet.md +108 -0
  271. package/docs/_posts/components/Rendering/TriangleStripSet.md +116 -0
  272. package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +78 -0
  273. package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +75 -0
  274. package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +83 -0
  275. package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +90 -0
  276. package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +65 -0
  277. package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +70 -0
  278. package/docs/_posts/components/RigidBodyPhysics/Contact.md +117 -0
  279. package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +162 -0
  280. package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +183 -0
  281. package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +175 -0
  282. package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +120 -0
  283. package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +108 -0
  284. package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +106 -0
  285. package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +119 -0
  286. package/docs/_posts/components/Scripting/Script.md +81 -0
  287. package/docs/_posts/components/Shaders/ComposedShader.md +81 -0
  288. package/docs/_posts/components/Shaders/FloatVertexAttribute.md +65 -0
  289. package/docs/_posts/components/Shaders/Matrix3VertexAttribute.md +53 -0
  290. package/docs/_posts/components/Shaders/Matrix4VertexAttribute.md +53 -0
  291. package/docs/_posts/components/Shaders/PackagedShader.md +77 -0
  292. package/docs/_posts/components/Shaders/ProgramShader.md +71 -0
  293. package/docs/_posts/components/Shaders/ShaderPart.md +76 -0
  294. package/docs/_posts/components/Shaders/ShaderProgram.md +68 -0
  295. package/docs/_posts/components/Shape/AcousticProperties.md +52 -0
  296. package/docs/_posts/components/Shape/Appearance.md +123 -0
  297. package/docs/_posts/components/Shape/FillProperties.md +67 -0
  298. package/docs/_posts/components/Shape/LineProperties.md +63 -0
  299. package/docs/_posts/components/Shape/Material.md +217 -0
  300. package/docs/_posts/components/Shape/PhysicalMaterial.md +173 -0
  301. package/docs/_posts/components/Shape/PointProperties.md +84 -0
  302. package/docs/_posts/components/Shape/Shape.md +63 -0
  303. package/docs/_posts/components/Shape/TwoSidedMaterial.md +149 -0
  304. package/docs/_posts/components/Shape/UnlitMaterial.md +115 -0
  305. package/docs/_posts/components/Sound/Analyser.md +72 -0
  306. package/docs/_posts/components/Sound/AudioClip.md +139 -0
  307. package/docs/_posts/components/Sound/AudioDestination.md +52 -0
  308. package/docs/_posts/components/Sound/BiquadFilter.md +70 -0
  309. package/docs/_posts/components/Sound/BufferAudioSource.md +86 -0
  310. package/docs/_posts/components/Sound/ChannelMerger.md +46 -0
  311. package/docs/_posts/components/Sound/ChannelSelector.md +48 -0
  312. package/docs/_posts/components/Sound/ChannelSplitter.md +48 -0
  313. package/docs/_posts/components/Sound/Convolver.md +66 -0
  314. package/docs/_posts/components/Sound/Delay.md +66 -0
  315. package/docs/_posts/components/Sound/DynamicsCompressor.md +74 -0
  316. package/docs/_posts/components/Sound/Gain.md +62 -0
  317. package/docs/_posts/components/Sound/ListenerPointSource.md +62 -0
  318. package/docs/_posts/components/Sound/MicrophoneSource.md +54 -0
  319. package/docs/_posts/components/Sound/OscillatorSource.md +58 -0
  320. package/docs/_posts/components/Sound/PeriodicWave.md +42 -0
  321. package/docs/_posts/components/Sound/Sound.md +92 -0
  322. package/docs/_posts/components/Sound/SpatialSound.md +68 -0
  323. package/docs/_posts/components/Sound/StreamAudioDestination.md +52 -0
  324. package/docs/_posts/components/Sound/StreamAudioSource.md +54 -0
  325. package/docs/_posts/components/Sound/WaveShaper.md +66 -0
  326. package/docs/_posts/components/Text/FontStyle.md +145 -0
  327. package/docs/_posts/components/Text/Text.md +102 -0
  328. package/docs/_posts/components/TextureProjector/TextureProjector.md +52 -0
  329. package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +52 -0
  330. package/docs/_posts/components/Texturing/ImageTexture.md +134 -0
  331. package/docs/_posts/components/Texturing/MovieTexture.md +221 -0
  332. package/docs/_posts/components/Texturing/MultiTexture.md +100 -0
  333. package/docs/_posts/components/Texturing/MultiTextureCoordinate.md +47 -0
  334. package/docs/_posts/components/Texturing/MultiTextureTransform.md +47 -0
  335. package/docs/_posts/components/Texturing/PixelTexture.md +80 -0
  336. package/docs/_posts/components/Texturing/TextureCoordinate.md +52 -0
  337. package/docs/_posts/components/Texturing/TextureCoordinateGenerator.md +64 -0
  338. package/docs/_posts/components/Texturing/TextureProperties.md +137 -0
  339. package/docs/_posts/components/Texturing/TextureTransform.md +73 -0
  340. package/docs/_posts/components/Texturing3D/ComposedTexture3D.md +76 -0
  341. package/docs/_posts/components/Texturing3D/ImageTexture3D.md +132 -0
  342. package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +131 -0
  343. package/docs/_posts/components/Texturing3D/PixelTexture3D.md +75 -0
  344. package/docs/_posts/components/Texturing3D/TextureCoordinate3D.md +53 -0
  345. package/docs/_posts/components/Texturing3D/TextureCoordinate4D.md +52 -0
  346. package/docs/_posts/components/Texturing3D/TextureTransform3D.md +69 -0
  347. package/docs/_posts/components/Texturing3D/TextureTransformMatrix3D.md +57 -0
  348. package/docs/_posts/components/Time/TimeSensor.md +136 -0
  349. package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +92 -0
  350. package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +53 -0
  351. package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +83 -0
  352. package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +51 -0
  353. package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +67 -0
  354. package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +99 -0
  355. package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +51 -0
  356. package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +48 -0
  357. package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +80 -0
  358. package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +75 -0
  359. package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +63 -0
  360. package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +71 -0
  361. package/docs/_posts/components/VolumeRendering/VolumeData.md +71 -0
  362. package/docs/_posts/components/X_ITE/BlendMode.md +94 -0
  363. package/docs/_posts/custom-shaders.md +9 -4
  364. package/docs/_posts/dom-integration.md +1 -6
  365. package/docs/_posts/features.md +2 -2
  366. package/docs/_posts/getting-started.md +100 -57
  367. package/docs/_posts/glossary.md +1 -1
  368. package/docs/_posts/how-to-configure-your-web-server.md +1 -1
  369. package/docs/_posts/reference/browser-services.md +78 -18
  370. package/docs/_posts/reference/constants-services.md +1 -1
  371. package/docs/_posts/reference/ecmascript-object-and-function-definitions.md +1 -1
  372. package/docs/_posts/reference/field-services-and-objects.md +8 -8
  373. package/docs/_posts/reference/prototype-services.md +7 -7
  374. package/docs/_posts/reference/route-services.md +1 -1
  375. package/docs/_posts/reference/scene-services.md +5 -5
  376. package/docs/_posts/reference/script-node-authoring-interface.md +1 -1
  377. package/docs/_posts/report-a-bug.md +1 -1
  378. package/docs/_posts/setup-a-localhost-server.md +5 -1
  379. package/docs/_posts/supported-nodes.md +239 -238
  380. package/docs/_posts/tutorials/adding-backgrounds.md +3 -3
  381. package/docs/_posts/tutorials/adding-fog.md +2 -2
  382. package/docs/_posts/tutorials/adding-sound.md +19 -19
  383. package/docs/_posts/tutorials/animating-transforms.md +17 -17
  384. package/docs/_posts/tutorials/basic-nodes.md +30 -30
  385. package/docs/_posts/tutorials/building-a-x3d-world.md +3 -3
  386. package/docs/_posts/tutorials/building-elevation-grids.md +7 -7
  387. package/docs/_posts/tutorials/building-extruded-shapes.md +7 -7
  388. package/docs/_posts/tutorials/building-primitive-shapes.md +13 -13
  389. package/docs/_posts/tutorials/building-shapes-out-of-points-lines-and-faces.md +21 -21
  390. package/docs/_posts/tutorials/controlling-appearance-with-materials.md +7 -7
  391. package/docs/_posts/tutorials/controlling-color-on-coordinate-based-geometry.md +11 -11
  392. package/docs/_posts/tutorials/controlling-detail.md +4 -4
  393. package/docs/_posts/tutorials/controlling-how-textures-are-mapped.md +7 -7
  394. package/docs/_posts/tutorials/controlling-navigation.md +3 -3
  395. package/docs/_posts/tutorials/controlling-shading-on-coordinate-based-geometry.md +13 -13
  396. package/docs/_posts/tutorials/controlling-the-viewpoint.md +3 -3
  397. package/docs/_posts/tutorials/creating-new-node-types.md +4 -4
  398. package/docs/_posts/tutorials/grouping-nodes.md +13 -13
  399. package/docs/_posts/tutorials/hello-world.md +1 -1
  400. package/docs/_posts/tutorials/improving-performance.md +1 -1
  401. package/docs/_posts/tutorials/increasing-rendering-speed.md +1 -1
  402. package/docs/_posts/tutorials/introducing-animation.md +10 -10
  403. package/docs/_posts/tutorials/introducing-script-use.md +3 -3
  404. package/docs/_posts/tutorials/introducing-x3d.md +1 -1
  405. package/docs/_posts/tutorials/lighting-your-world.md +4 -4
  406. package/docs/_posts/tutorials/mapping-textures.md +7 -7
  407. package/docs/_posts/tutorials/naming-nodes.md +1 -1
  408. package/docs/_posts/tutorials/overview.md +1 -1
  409. package/docs/_posts/tutorials/providing-information-about-your-world.md +2 -2
  410. package/docs/_posts/tutorials/sensing-the-viewer.md +15 -15
  411. package/docs/_posts/tutorials/sensing-viewer-actions.md +10 -10
  412. package/docs/_posts/tutorials/transforming-shapes.md +4 -4
  413. package/docs/_posts/tutorials/writing-program-scripts-with-ecmascript.md +5 -5
  414. package/docs/_posts/what's-new.md +40 -2
  415. package/docs/_tabs/components.md +383 -0
  416. package/docs/_tabs/imprint.md +1 -1
  417. package/docs/_tabs/laboratory.md +38 -6
  418. package/docs/_tabs/playground.html +22 -66
  419. package/docs/_tabs/reference.md +2 -1
  420. package/docs/_tabs/tags.md +1 -1
  421. package/docs/_tabs/tutorials.md +1 -1
  422. package/docs/assets/X3D/Michroma-Regular.ttf +0 -0
  423. package/docs/assets/X3D/peakpx.jpg +0 -0
  424. package/docs/assets/X3D/teaser.x3d +55 -0
  425. package/docs/assets/css/style.scss +120 -11
  426. package/docs/assets/img/laboratory/blend-mode.png +0 -0
  427. package/docs/assets/img/laboratory/dicom-nrrd.png +0 -0
  428. package/docs/assets/img/laboratory/earthquake.png +0 -0
  429. package/docs/assets/img/laboratory/gltf.png +0 -0
  430. package/docs/assets/img/laboratory/l-system.png +0 -0
  431. package/docs/assets/js/autoupdate.js +25 -0
  432. package/docs/laboratory/gltf-sample-viewer.html +318 -0
  433. package/docs/laboratory/x3d-visual-blend-mode-editor.html +1 -0
  434. package/package.json +9 -2
  435. package/src/assets/components/Texturing3D.js +5 -3
  436. package/src/assets/shaders/Types.glsl.js +5 -5
  437. package/src/assets/shaders/webgl1/PBR.fs.js +1 -1
  438. package/src/assets/shaders/webgl1/include/Colors.glsl.js +5 -7
  439. package/src/assets/shaders/webgl1/include/Fragment.glsl.js +4 -0
  440. package/src/assets/shaders/webgl1/include/Hatch.glsl.js +1 -1
  441. package/src/assets/shaders/webgl1/include/Texture.glsl.js +3 -3
  442. package/src/assets/shaders/webgl2/include/Colors.glsl.js +5 -7
  443. package/src/assets/shaders/webgl2/include/Hatch.glsl.js +1 -1
  444. package/src/assets/shaders/webgl2/include/Particle.glsl.js +2 -2
  445. package/src/assets/shaders/webgl2/include/Texture.glsl.js +2 -2
  446. package/src/bookmarks.js +12 -8
  447. package/src/examples.js +3 -0
  448. package/src/lib/jquery.js +20 -0
  449. package/src/lib/libgif/libgif.js +1004 -0
  450. package/src/lib/libtess.js +1 -0
  451. package/src/lib/nurbs/extras/sample.js +5 -7
  452. package/src/standard/Math/Algorithms/Bezier.js +175 -33
  453. package/src/standard/Math/Geometry/Box2.js +15 -55
  454. package/src/standard/Math/Geometry/Box3.js +19 -66
  455. package/src/standard/Math/Geometry/Triangle3.js +14 -79
  456. package/src/standard/Math/Numbers/Color3.js +4 -0
  457. package/src/standard/Math/Numbers/Color4.js +4 -0
  458. package/src/standard/Math/Numbers/Matrix3.js +11 -3
  459. package/src/standard/Math/Numbers/Matrix4.js +9 -6
  460. package/src/standard/Math/Numbers/Rotation4.js +72 -65
  461. package/src/tests.js +3 -0
  462. package/src/x_ite/Base/X3DArrayField.js +0 -2
  463. package/src/x_ite/Base/X3DInfoArray.js +2 -2
  464. package/src/x_ite/Base/X3DObjectArrayField.js +19 -0
  465. package/src/x_ite/Base/X3DTypedArrayField.js +149 -0
  466. package/src/x_ite/Browser/Core/BrowserOptions.js +108 -64
  467. package/src/x_ite/Browser/Core/Context.js +1 -1
  468. package/src/x_ite/Browser/Core/ContextMenu.js +2 -2
  469. package/src/x_ite/Browser/Core/Notification.js +1 -1
  470. package/src/x_ite/Browser/Core/RenderingProperties.js +4 -0
  471. package/src/x_ite/Browser/Core/X3DCoreContext.js +99 -54
  472. package/src/x_ite/Browser/Navigation/ExamineViewer.js +4 -14
  473. package/src/x_ite/Browser/Navigation/LookAtViewer.js +3 -13
  474. package/src/x_ite/Browser/Navigation/PlaneViewer.js +3 -12
  475. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +25 -22
  476. package/src/x_ite/Browser/Navigation/X3DViewer.js +12 -3
  477. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +2 -2
  478. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +19 -15
  479. package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +30 -10
  480. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +1 -1
  481. package/src/x_ite/Browser/Shape/X3DShapeContext.js +30 -3
  482. package/src/x_ite/Browser/Text/PolygonText.js +137 -134
  483. package/src/x_ite/Browser/Texturing/GifMedia.js +113 -0
  484. package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1 -6
  485. package/src/x_ite/Browser/Texturing3D/NRRDParser.js +81 -310
  486. package/src/x_ite/Browser/VERSION.js +1 -1
  487. package/src/x_ite/Browser/X3DBrowser.js +162 -122
  488. package/src/x_ite/Browser/X3DBrowserContext.js +7 -5
  489. package/src/x_ite/Components/Core/WorldInfo.js +3 -3
  490. package/src/x_ite/Components/Core/X3DNode.js +7 -7
  491. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +1 -1
  492. package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +2 -3
  493. package/src/x_ite/Components/Geometry3D/Extrusion.js +27 -23
  494. package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +10 -19
  495. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +1 -3
  496. package/src/x_ite/Components/HAnim/HAnimHumanoid.js +39 -15
  497. package/src/x_ite/Components/HAnim/HAnimJoint.js +6 -9
  498. package/src/x_ite/Components/Layering/X3DLayerNode.js +21 -2
  499. package/src/x_ite/Components/Layout/Layout.js +4 -2
  500. package/src/x_ite/Components/Layout/ScreenFontStyle.js +6 -0
  501. package/src/x_ite/Components/Lighting/DirectionalLight.js +4 -11
  502. package/src/x_ite/Components/Lighting/EnvironmentLight.js +1 -1
  503. package/src/x_ite/Components/Lighting/PointLight.js +4 -11
  504. package/src/x_ite/Components/Lighting/SpotLight.js +4 -11
  505. package/src/x_ite/Components/Lighting/X3DLightNode.js +7 -9
  506. package/src/x_ite/Components/Navigation/OrthoViewpoint.js +2 -2
  507. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +14 -6
  508. package/src/x_ite/Components/Networking/Inline.js +48 -59
  509. package/src/x_ite/Components/Networking/X3DUrlObject.js +1 -1
  510. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +2 -2
  511. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +7 -13
  512. package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +4 -2
  513. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +4 -2
  514. package/src/x_ite/Components/Scripting/Script.js +2 -2
  515. package/src/x_ite/Components/Shaders/ShaderPart.js +1 -1
  516. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1 -3
  517. package/src/x_ite/Components/Shape/Appearance.js +27 -1
  518. package/src/x_ite/Components/Shape/FillProperties.js +1 -0
  519. package/src/x_ite/Components/Shape/LineProperties.js +15 -9
  520. package/src/x_ite/Components/Shape/Material.js +33 -22
  521. package/src/x_ite/Components/Shape/PhysicalMaterial.js +22 -15
  522. package/src/x_ite/Components/Shape/PointProperties.js +23 -7
  523. package/src/x_ite/Components/Shape/UnlitMaterial.js +3 -2
  524. package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +25 -19
  525. package/src/x_ite/Components/Sound/AudioClip.js +5 -5
  526. package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +26 -34
  527. package/src/x_ite/Components/Text/X3DFontStyleNode.js +1 -1
  528. package/src/x_ite/Components/TextureProjector/TextureProjector.js +4 -12
  529. package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +6 -14
  530. package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +7 -7
  531. package/src/x_ite/Components/Texturing/ImageTexture.js +15 -10
  532. package/src/x_ite/Components/Texturing/MovieTexture.js +51 -11
  533. package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +2 -2
  534. package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +230 -0
  535. package/src/x_ite/Components/Time/X3DTimeDependentNode.js +12 -10
  536. package/src/x_ite/Execution/BindableList.js +35 -37
  537. package/src/x_ite/Execution/BindableStack.js +25 -7
  538. package/src/x_ite/Execution/X3DScene.js +2 -2
  539. package/src/x_ite/Execution/X3DWorld.js +1 -1
  540. package/src/x_ite/Fields/SFRotation.js +2 -1
  541. package/src/x_ite/Fields/SFString.js +1 -1
  542. package/src/x_ite/InputOutput/FileLoader.js +105 -236
  543. package/src/x_ite/InputOutput/Generator.js +12 -8
  544. package/src/x_ite/Parser/Expressions.js +85 -0
  545. package/src/x_ite/Parser/GLB2Parser.js +147 -0
  546. package/src/x_ite/Parser/GLTF2Parser.js +2221 -0
  547. package/src/x_ite/Parser/GoldenGate.js +64 -13
  548. package/src/x_ite/Parser/JSONParser.js +7 -36
  549. package/src/x_ite/Parser/OBJParser.js +1076 -0
  550. package/src/x_ite/Parser/STLAParser.js +376 -0
  551. package/src/x_ite/Parser/STLBParser.js +156 -0
  552. package/src/x_ite/Parser/SVGParser.js +2476 -0
  553. package/src/x_ite/Parser/VRMLParser.js +127 -183
  554. package/src/x_ite/Parser/X3DOptimizer.js +191 -0
  555. package/src/x_ite/Parser/X3DParser.js +34 -0
  556. package/src/x_ite/Parser/XMLParser.js +11 -109
  557. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +2 -2
  558. package/src/x_ite/Prototype/X3DProtoDeclaration.js +3 -3
  559. package/src/x_ite/Rendering/DependentRenderer.js +1 -1
  560. package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +150 -0
  561. package/src/x_ite/Rendering/TextureBuffer.js +3 -5
  562. package/src/x_ite/Rendering/X3DRenderObject.js +2 -7
  563. package/src/x_ite/X3D.js +1 -0
  564. package/src/x_ite/X3DCanvas.js +10 -0
  565. package/src/x_ite.html +39 -17
  566. package/webpack.config.js +1 -0
  567. package/x_ite.min.html +38 -17
  568. package/src/standard/Networking/BinaryTransport.js +0 -116
@@ -0,0 +1,94 @@
1
+ ---
2
+ title: PolylineEmitter
3
+ date: 2022-01-07
4
+ nav: components-ParticleSystems
5
+ categories: [components, ParticleSystems]
6
+ tags: [PolylineEmitter, ParticleSystems]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ PolylineEmitter emits particles along a single polyline. The coordinates for the line along which particles should be randomly generated are taken from a combination of the coord and coordIndex fields. The starting point for generating particles is randomly distributed along this line and given the initial speed and direction.
17
+
18
+ The PolylineEmitter node belongs to the **ParticleSystems** component and its default container field is *emitter.* It is available since X3D version 3.2 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ + X3DParticleEmitterNode
25
+ + PolylineEmitter
26
+ ```
27
+
28
+ ## Fields
29
+
30
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
31
+
32
+ Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
33
+
34
+ ### SFVec3f [in, out] **direction** 0 1 0 <small>[-1,1]</small>
35
+
36
+ Initial direction from which particles emanate.
37
+
38
+ ### SFFloat [in, out] **speed** 0 <small>[0,∞)</small>
39
+
40
+ Initial linear speed (default is m/s) imparted to all particles along their direction of movement.
41
+
42
+ ### SFFloat [in, out] **variation** 0.25 <small>[0,∞)</small>
43
+
44
+ Multiplier for the randomness used to control the range of possible output values. The bigger the value, the more random the output and the bigger the range of possible initial values possible.
45
+
46
+ #### Hint
47
+
48
+ - Variation of zero does not allow any randomness.
49
+
50
+ ### SFFloat [ ] **mass** 0 <small>[0,∞)</small>
51
+
52
+ Basic mass of each particle in mass base units (default is grams).
53
+
54
+ #### Hint
55
+
56
+ - Mass is needed if gravity or other force-related calculations are performed per-particle.
57
+
58
+ ### SFFloat [ ] **surfaceArea** 0 <small>[0,∞)</small>
59
+
60
+ Particle surface area in area base units (default is meters squared). Surface area is used for calculations such as wind effects per particle.
61
+
62
+ #### Hints
63
+
64
+ - SurfaceArea value represents average frontal area presented to the wind. Assumes spherical model for each particle (i.e., surface area is the same regardless of direction).
65
+
66
+ ### MFInt32 [in, out] **coordIndex** -1 <small>[0,∞) or -1</small>
67
+
68
+ *coordIndex* indices are applied to contained Coordinate values in order to define randomly generated initial geometry of the particles.
69
+
70
+ #### Warning
71
+
72
+ - If no coordinates are available, PolylineEmitter acts like a point source located at local origin.
73
+
74
+ ### SFNode [in, out] **coord** NULL <small>[X3DCoordinateNode]</small>
75
+
76
+ *coord*inates for the line along which particles are randomly generated.
77
+
78
+ #### Warning
79
+
80
+ - If no coordinates are available, PolylineEmitter acts like a point source located at local origin.
81
+
82
+ ## Description
83
+
84
+ ### Hint
85
+
86
+ - If no coordinates are available, PolylineEmitter acts like a point source located at local origin.
87
+
88
+ ## Example
89
+
90
+ <x3d-canvas src="https://create3000.github.io/media/examples/ParticleSystems/PolylineEmitter/PolylineEmitter.x3d"></x3d-canvas>
91
+
92
+ ## External Links
93
+
94
+ - [X3D Specification of PolylineEmitter](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/particleSystems.html#PolylineEmitter){:target="_blank"}
@@ -0,0 +1,90 @@
1
+ ---
2
+ title: SurfaceEmitter
3
+ date: 2022-01-07
4
+ nav: components-ParticleSystems
5
+ categories: [components, ParticleSystems]
6
+ tags: [SurfaceEmitter, ParticleSystems]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ SurfaceEmitter generates particles from the surface of an object. New particles are generated by first randomly choosing a face on the tessellated geometry and then a random position on that face. Particles are generated with an initial direction of the normal to that point (including any normal averaging due to normalPerVertex and creaseAngle field settings).
17
+
18
+ The SurfaceEmitter node belongs to the **ParticleSystems** component and its default container field is *emitter.* It is available since X3D version 3.2 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ + X3DParticleEmitterNode
25
+ + SurfaceEmitter
26
+ ```
27
+
28
+ ## Fields
29
+
30
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
31
+
32
+ Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
33
+
34
+ ### SFFloat [in, out] **speed** 0 <small>[0,∞)</small>
35
+
36
+ Initial linear speed (default is m/s) imparted to all particles along their direction of movement.
37
+
38
+ ### SFFloat [in, out] **variation** 0.25 <small>[0,∞)</small>
39
+
40
+ Multiplier for the randomness used to control the range of possible output values. The bigger the value, the more random the output and the bigger the range of possible initial values possible.
41
+
42
+ #### Hint
43
+
44
+ - Variation of zero does not allow any randomness.
45
+
46
+ ### SFFloat [ ] **mass** 0 <small>[0,∞)</small>
47
+
48
+ Basic mass of each particle in mass base units (default is grams).
49
+
50
+ #### Hint
51
+
52
+ - Mass is needed if gravity or other force-related calculations are performed per-particle.
53
+
54
+ ### SFFloat [ ] **surfaceArea** 0 <small>[0,∞)</small>
55
+
56
+ Particle surface area in area base units (default is meters squared). Surface area is used for calculations such as wind effects per particle.
57
+
58
+ #### Hints
59
+
60
+ - SurfaceArea value represents average frontal area presented to the wind. Assumes spherical model for each particle (i.e., surface area is the same regardless of direction).
61
+
62
+ ### SFNode [ ] **surface** NULL <small>[X3DGeometryNode]</small>
63
+
64
+ The geometry node provides geometry used as the emitting surface.
65
+
66
+ #### Hint
67
+
68
+ - If the surface is indicated as not being solid (solid field set to false), randomly choose from which side of the surface to emit, negating the normal direction when generating from the back side.
69
+
70
+ #### Warning
71
+
72
+ - Only valid geometry shall be used.
73
+
74
+ ## Description
75
+
76
+ ### Hint
77
+
78
+ - Ff surface is not solid (solid=false), randomly choose from which side of the surface to emit, negating the normal direction when generating from the back side.
79
+
80
+ ### Warning
81
+
82
+ - Only valid geometry shall be used.
83
+
84
+ ## Example
85
+
86
+ <x3d-canvas src="https://create3000.github.io/media/examples/ParticleSystems/SurfaceEmitter/SurfaceEmitter.x3d"></x3d-canvas>
87
+
88
+ ## External Links
89
+
90
+ - [X3D Specification of SurfaceEmitter](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/particleSystems.html#SurfaceEmitter){:target="_blank"}
@@ -0,0 +1,90 @@
1
+ ---
2
+ title: VolumeEmitter
3
+ date: 2022-01-07
4
+ nav: components-ParticleSystems
5
+ categories: [components, ParticleSystems]
6
+ tags: [VolumeEmitter, ParticleSystems]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ VolumeEmitter emits particles from a random position confined within the given closed geometry volume.
17
+
18
+ The VolumeEmitter node belongs to the **ParticleSystems** component and its default container field is *emitter.* It is available since X3D version 3.2 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ + X3DParticleEmitterNode
25
+ + VolumeEmitter
26
+ ```
27
+
28
+ ## Fields
29
+
30
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
31
+
32
+ Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
33
+
34
+ ### SFBool [ ] **internal** TRUE
35
+
36
+ TODO, X3D specification is undefined.
37
+
38
+ ### SFVec3f [in, out] **direction** 0 1 0 <small>[-1,1]</small>
39
+
40
+ Initial direction from which particles emanate.
41
+
42
+ ### SFFloat [in, out] **speed** 0 <small>[0,∞)</small>
43
+
44
+ Initial linear speed (default is m/s) imparted to all particles along their direction of movement.
45
+
46
+ ### SFFloat [in, out] **variation** 0.25 <small>[0,∞)</small>
47
+
48
+ Multiplier for the randomness used to control the range of possible output values. The bigger the value, the more random the output and the bigger the range of possible initial values possible.
49
+
50
+ #### Hint
51
+
52
+ - Variation of zero does not allow any randomness.
53
+
54
+ ### SFFloat [ ] **mass** 0 <small>[0,∞)</small>
55
+
56
+ Basic mass of each particle in mass base units (default is grams).
57
+
58
+ #### Hint
59
+
60
+ - Mass is needed if gravity or other force-related calculations are performed per-particle.
61
+
62
+ ### SFFloat [ ] **surfaceArea** 0 <small>[0,∞)</small>
63
+
64
+ Particle surface area in area base units (default is meters squared). Surface area is used for calculations such as wind effects per particle.
65
+
66
+ #### Hints
67
+
68
+ - SurfaceArea value represents average frontal area presented to the wind. Assumes spherical model for each particle (i.e., surface area is the same regardless of direction).
69
+
70
+ ### MFInt32 [in, out] **coordIndex** -1 <small>[0,∞) or -1</small>
71
+
72
+ *coordIndex* indices are applied to contained Coordinate values in order to define randomly generated initial geometry of the particles.
73
+
74
+ ### SFNode [in, out] **coord** NULL <small>[X3DCoordinateNode]</small>
75
+
76
+ *coord*inates for the geometry used as the emitting volume.
77
+
78
+ ## Description
79
+
80
+ ### Hint
81
+
82
+ - Otherwise, a VolumeEmitter node acts like a PolylineEmitter node.
83
+
84
+ ## Example
85
+
86
+ <x3d-canvas src="https://create3000.github.io/media/examples/ParticleSystems/VolumeEmitter/VolumeEmitter.x3d"></x3d-canvas>
87
+
88
+ ## External Links
89
+
90
+ - [X3D Specification of VolumeEmitter](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/particleSystems.html#VolumeEmitter){:target="_blank"}
@@ -0,0 +1,68 @@
1
+ ---
2
+ title: WindPhysicsModel
3
+ date: 2022-01-07
4
+ nav: components-ParticleSystems
5
+ categories: [components, ParticleSystems]
6
+ tags: [WindPhysicsModel, ParticleSystems]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ WindPhysicsModel applies a wind effect to the particles. The wind includes a random variation factor to model gustiness.
17
+
18
+ The WindPhysicsModel node belongs to the **ParticleSystems** component and its default container field is *physics.* It is available since X3D version 3.2 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ + X3DParticlePhysicsModelNode
25
+ + WindPhysicsModel
26
+ ```
27
+
28
+ ## Fields
29
+
30
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
31
+
32
+ Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
33
+
34
+ ### SFBool [in, out] **enabled** TRUE
35
+
36
+ Enables/disables node operation.
37
+
38
+ ### SFVec3f [in, out] **direction** 0 0 0 <small>(∞,∞)</small>
39
+
40
+ *direction* in which wind is travelling in the form of a normalized, unit vector.
41
+
42
+ ### SFFloat [in, out] **speed** 0.1 <small>[0,∞)</small>
43
+
44
+ Initial linear speed (default is m/s) imparted to all particles along their direction of movement.
45
+
46
+ ### SFFloat [in, out] **gustiness** 0.1 <small>[0,∞)</small>
47
+
48
+ *gustiness* specifies how much wind speed varies from the average speed.
49
+
50
+ #### Hint
51
+
52
+ - Wind speed variation is calculated once per frame and applied equally to all particles.
53
+
54
+ ### SFFloat [in, out] **turbulence** 0 <small>[0,1]</small>
55
+
56
+ *turbulence* field specifies how much the wind acts directly in line with the direction, and how much variation is applied in directions other than the wind direction.
57
+
58
+ #### Hint
59
+
60
+ - This is determined per-particle to model how each is effected by turbulence.
61
+
62
+ ## Example
63
+
64
+ <x3d-canvas src="https://create3000.github.io/media/examples/ParticleSystems/WindPhysicsModel/WindPhysicsModel.x3d"></x3d-canvas>
65
+
66
+ ## External Links
67
+
68
+ - [X3D Specification of WindPhysicsModel](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/particleSystems.html#WindPhysicsModel){:target="_blank"}
@@ -0,0 +1,125 @@
1
+ ---
2
+ title: LinePickSensor
3
+ date: 2022-01-07
4
+ nav: components-Picking
5
+ categories: [components, Picking]
6
+ tags: [LinePickSensor, Picking]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ LinePickSensor uses one or more pickingGeometry line segments to compute intersections with pickTarget shapes. As each line intersection generates a known point in space, useful event information is returned including normal, geometry and texCoord values.
17
+
18
+ The LinePickSensor node belongs to the **Picking** component and its default container field is *children.* It is available since X3D version 3.2 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ + X3DChildNode
25
+ + X3DSensorNode
26
+ + X3DPickSensorNode
27
+ + LinePickSensor
28
+ ```
29
+
30
+ ## Fields
31
+
32
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
33
+
34
+ Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
35
+
36
+ ### SFBool [in, out] **enabled** TRUE
37
+
38
+ Enables/disables node operation.
39
+
40
+ ### SFBool [out] **isActive**
41
+
42
+ *isActive* indicates when the intersecting object is picked by the picking geometry. Output event isActive=true gets sent once a picked item is found. Output event isActive=false gets sent once no picked item is found.
43
+
44
+ ### MFString [in, out] **objectType** "ALL" <small>["ALL","NONE","TERRAIN",...]</small>
45
+
46
+ The objectType field specifies a set of labels used in the picking process. Each string specified is treated as an independent label that needs to be matched against the same type in one of the pick sensor instances.
47
+
48
+ #### Hints
49
+
50
+ - Authors may define any value for objectType. MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
51
+
52
+ ### SFNode [in, out] **pickingGeometry** NULL <small>[IndexedLineSet|LineSet]</small>
53
+
54
+ *pickingGeometry* specifies the exact geometry coordinates that are used to perform the intersection testing of the picking operation.
55
+
56
+ ### MFNode [in, out] **pickTarget** [ ] <small>[X3DGroupingNode|X3DShapeNode|Inline]</small>
57
+
58
+ *pickTarget* specifies the list of nodes against which picking operations are performed. All nodes declared in this field and their descendents are evaluated for intersections.
59
+
60
+ ### MFNode [out] **pickedGeometry**
61
+
62
+ Output event containing the node or nodes that have been found to intersect with the picking geometry from the last time this node performed a picking operation, given in the local coordinate system.
63
+
64
+ ### SFString [ ] **intersectionType** "BOUNDS" <small>["GEOMETRY"|"BOUNDS"|...]</small>
65
+
66
+ *intersectionType* specifies precision of the collision computation.
67
+
68
+ #### Hint
69
+
70
+ - IntersectionType constants may be extended by the browser to provide additional options.
71
+
72
+ #### Warning
73
+
74
+ - Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
75
+
76
+ ### SFString [ ] **sortOrder** "CLOSEST" <small>["ANY"|"CLOSEST"|"ALL"|"ALL_SORTED"]</small>
77
+
78
+ The sortOrder field determines the order provided for picked output events.
79
+
80
+ #### Hint
81
+
82
+ - Browser implementations may define additional values and algorithms beyond these four required values.
83
+
84
+ #### Warning
85
+
86
+ - Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
87
+
88
+ ### MFVec3f [out] **pickedNormal**
89
+
90
+ Output event containing surface normal vectors computed by the picking intersection computations.
91
+
92
+ ### MFVec3f [out] **pickedPoint**
93
+
94
+ Output event containing 3D points on surface of underlying pickingGeometry computed by the picking intersection computations, given in the local coordinate system.
95
+
96
+ ### MFVec3f [out] **pickedTextureCoordinate**
97
+
98
+ Output event containing 3D texture coordinates of surfaces computed by the picking intersection computations. Picked texture coordinates are in three dimensions. If the target texture coordinate has two dimensions, the third coordinate (z component of an SFVec3f) shall be zero.
99
+
100
+ #### Warning
101
+
102
+ - If the target object has multiple textures defined, only texture coordinates for the first texture are returned and all other textures are ignored.
103
+
104
+ ## Description
105
+
106
+ ### Hints
107
+
108
+ - Sort order for line picking is based on each pair of coordinates that defining a line segment, with first declared vertex of the segment defined to be the start of the line to which the intersection points are closest.
109
+ - Picking is performed between rendered frames of the event model. An author sets up the picking request in one frame by placing a LinePickSensor in the desired location. At the start of the next frame, any picking intersections are reported by the pick sensor.
110
+ - Picking notification is performed at the start of the frame for all enabled pick sensors once all other sensors are processed.
111
+ - IndexedLineSet or LineSet can be used for pickingGeometry node.
112
+
113
+ ### Warning
114
+
115
+ - Order of contained nodes is significant, single pickingGeometry node must precede pickTarget node array.
116
+
117
+ ## Example
118
+
119
+ <x3d-canvas src="https://create3000.github.io/media/examples/Picking/LinePickSensor/LinePickSensor.x3d"></x3d-canvas>
120
+
121
+ ## External Links
122
+
123
+ - [X3D Specification of LinePickSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#LinePickSensor){:target="_blank"}
124
+ - [When the picking line segment intersects a coplanar polygon, computed intersection point(s) are illustrated in Figure 38.1](https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/picking.html#f-LineIntersection){:target="_blank"}
125
+ - [Event timing details are explained in 4.4.8.3 Execution model](https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/concepts.html#ExecutionModel){:target="_blank"}
@@ -0,0 +1,93 @@
1
+ ---
2
+ title: PickableGroup
3
+ date: 2022-01-07
4
+ nav: components-Picking
5
+ categories: [components, Picking]
6
+ tags: [PickableGroup, Picking]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ PickableGroup is a Grouping node that can contain most nodes. PickableGroup contains children that are marked as having a given classification of picking types, and can also enable or disable picking of the children.
17
+
18
+ The PickableGroup node belongs to the **Picking** component and its default container field is *children.* It is available since X3D version 3.2 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ + X3DChildNode
25
+ + X3DGroupingNode
26
+ + PickableGroup (X3DPickableObject)*
27
+ ```
28
+
29
+ <small>\* Derived from multiple interfaces.</small>
30
+
31
+ ## Fields
32
+
33
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
34
+
35
+ Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
36
+
37
+ ### SFBool [in, out] **pickable** TRUE
38
+
39
+ The pickable field determines whether pick traversal is performed on this node or its children.
40
+
41
+ #### Hint
42
+
43
+ - Pickable only affects children accessed through the transformation hierarchy of the parent.
44
+
45
+ #### Warning
46
+
47
+ - If one or more of the children of this instance is accessible through another transformation hierarchy through DEF/USE that still has picking enabled, they are still pickable through that path only.
48
+
49
+ ### MFString [in, out] **objectType** "ALL" <small>["ALL","NONE","TERRAIN",...]</small>
50
+
51
+ The objectType field specifies a set of labels used in the picking process. Each string specified is treated as an independent label that needs to be matched against the same type in one of the pick sensor instances.
52
+
53
+ #### Hints
54
+
55
+ - Authors may define any value for objectType. MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
56
+
57
+ ### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or -1 -1 -1</small>
58
+
59
+ Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.
60
+
61
+ #### Hint
62
+
63
+ - Can be useful for collision computations or inverse-kinematics (IK) engines.
64
+
65
+ ### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
66
+
67
+ Bounding box center: optional hint for position offset from origin of local coordinate system.
68
+
69
+ ### MFNode [in] **addChildren**
70
+
71
+ Input field addChildren.
72
+
73
+ ### MFNode [in] **removeChildren**
74
+
75
+ Input field removeChildren.
76
+
77
+ ### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
78
+
79
+ Grouping nodes contain a list of children nodes.
80
+
81
+ #### Hint
82
+
83
+ - Each grouping node defines a coordinate space for its children, relative to the coordinate space of its parent node. Thus transformations accumulate down the scene graph hierarchy.
84
+
85
+ ## Description
86
+
87
+ ### Hint
88
+
89
+ - Insert a Shape node before adding geometry or Appearance.
90
+
91
+ ## External Links
92
+
93
+ - [X3D Specification of PickableGroup](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#PickableGroup){:target="_blank"}
@@ -0,0 +1,112 @@
1
+ ---
2
+ title: PointPickSensor
3
+ date: 2022-01-07
4
+ nav: components-Picking
5
+ categories: [components, Picking]
6
+ tags: [PointPickSensor, Picking]
7
+ ---
8
+ <style>
9
+ .post h3 {
10
+ word-spacing: 0.2em;
11
+ }
12
+ </style>
13
+
14
+ ## Overview
15
+
16
+ PointPickSensor tests one or more pickingGeometry points in space as lying inside the provided pickTarget geometry. For each pickingGeometry PointSet coordinate point that lies inside the pickTarget geometry, a pickedPoint coordinate is returned along with a corresponding pickedGeometry node inside which the point lies.
17
+
18
+ The PointPickSensor node belongs to the **Picking** component and its default container field is *children.* It is available since X3D version 3.2 or later.
19
+
20
+ ## Hierarchy
21
+
22
+ ```
23
+ + X3DNode
24
+ + X3DChildNode
25
+ + X3DSensorNode
26
+ + X3DPickSensorNode
27
+ + PointPickSensor
28
+ ```
29
+
30
+ ## Fields
31
+
32
+ ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
33
+
34
+ Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
35
+
36
+ ### SFBool [in, out] **enabled** TRUE
37
+
38
+ Enables/disables node operation.
39
+
40
+ ### SFBool [out] **isActive**
41
+
42
+ *isActive* indicates when the intersecting object is picked by the picking geometry. Output event isActive=true gets sent once a picked item is found. Output event isActive=false gets sent once no picked item is found.
43
+
44
+ ### MFString [in, out] **objectType** "ALL" <small>["ALL","NONE","TERRAIN",...]</small>
45
+
46
+ The objectType field specifies a set of labels used in the picking process. Each string specified is treated as an independent label that needs to be matched against the same type in one of the pick sensor instances.
47
+
48
+ #### Hints
49
+
50
+ - Authors may define any value for objectType. MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
51
+
52
+ ### SFNode [in, out] **pickingGeometry** NULL <small>[PointSet]</small>
53
+
54
+ *pickingGeometry* specifies the exact geometry coordinates that are used to perform the intersection testing of the picking operation.
55
+
56
+ ### MFNode [in, out] **pickTarget** [ ] <small>[X3DGroupingNode|X3DShapeNode|Inline]</small>
57
+
58
+ *pickTarget* specifies the list of nodes against which picking operations are performed. All nodes declared in this field and their descendents are evaluated for intersections.
59
+
60
+ ### MFNode [out] **pickedGeometry**
61
+
62
+ Output event containing the node or nodes that have been found to intersect with the picking geometry from the last time this node performed a picking operation, given in the local coordinate system.
63
+
64
+ ### SFString [ ] **intersectionType** "BOUNDS" <small>["GEOMETRY"|"BOUNDS"|...]</small>
65
+
66
+ *intersectionType* specifies precision of the collision computation.
67
+
68
+ #### Hint
69
+
70
+ - IntersectionType constants may be extended by the browser to provide additional options.
71
+
72
+ #### Warning
73
+
74
+ - Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
75
+
76
+ ### SFString [ ] **sortOrder** "CLOSEST" <small>["CLOSEST"|"ALL"|"ALL_SORTED"]</small>
77
+
78
+ The sortOrder field determines the order provided for picked output events.
79
+
80
+ #### Hint
81
+
82
+ - Browser implementations may define additional values and algorithms beyond these four required values.
83
+
84
+ #### Warning
85
+
86
+ - Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
87
+
88
+ ### MFVec3f [out] **pickedPoint**
89
+
90
+ Output event containing 3D points on surface of underlying pickingGeometry computed by the picking intersection computations, given in the local coordinate system.
91
+
92
+ ## Description
93
+
94
+ ### Hints
95
+
96
+ - Because points represent an infinitely small location in space, sortOrder values CLOSEST and ALL_SORTED are defined to mean ANY and ALL respectively.
97
+ - Picking is performed between rendered frames of the event model. An author sets up the picking request in one frame by placing a LinePickSensor in the desired location. At the start of the next frame, any picking intersections are reported by the pick sensor.
98
+ - Picking notification is performed at the start of the frame for all enabled pick sensors once all other sensors are processed.
99
+ - PointSet can be used for pickingGeometry node.
100
+
101
+ ### Warning
102
+
103
+ - Order of contained nodes is significant, single pickingGeometry node must precede pickTarget node array.
104
+
105
+ ## Example
106
+
107
+ <x3d-canvas src="https://create3000.github.io/media/examples/Picking/PointPickSensor/PointPickSensor.x3d"></x3d-canvas>
108
+
109
+ ## External Links
110
+
111
+ - [X3D Specification of PointPickSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#PointPickSensor){:target="_blank"}
112
+ - [Event timing details are explained in 4.4.8.3 Execution model](https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/concepts.html#ExecutionModel){:target="_blank"}