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
@@ -3,7 +3,7 @@ title: Adding Backgrounds
3
3
  date: 2022-11-28
4
4
  nav: tutorials-textures-lights-and-environment
5
5
  categories: [Tutorials]
6
- tags: [background]
6
+ tags: [Background]
7
7
  ---
8
8
  ## Motivation
9
9
 
@@ -36,7 +36,7 @@ How does the background look like:
36
36
 
37
37
  ## Syntax: Background
38
38
 
39
- A [Background](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/environmentalEffects.html#Background){:target="_blank"} node describes background colors;
39
+ A [Background](../components/environmentaleffects/background) node describes background colors;
40
40
 
41
41
  - *skyColor* and *skyAngle* - sky gradation
42
42
  - *groundColor* and *groundAngle* - ground gradation
@@ -145,7 +145,7 @@ DEF Summer Background {
145
145
 
146
146
  ## Syntax: Background
147
147
 
148
- A [Background](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/environmentalEffects.html#Background){:target="_blank"} node describes background images:
148
+ A [Background](../components/environmentaleffects/background) node describes background images:
149
149
 
150
150
  - *frontUrl,* etc - texture image URLs for box
151
151
 
@@ -3,7 +3,7 @@ title: Adding Fog
3
3
  date: 2022-11-28
4
4
  nav: tutorials-textures-lights-and-environment
5
5
  categories: [Tutorials]
6
- tags: [fog]
6
+ tags: [Fog]
7
7
  ---
8
8
  ## Motivation
9
9
 
@@ -36,7 +36,7 @@ The visibility range selects the distance where the fog reaches maximum thicknes
36
36
 
37
37
  ## Syntax: Fog
38
38
 
39
- A [Fog](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/environmentalEffects.html#Fog){:target="_blank"} node creates colored fog
39
+ A [Fog](../components/environmentaleffects/fog) node creates colored fog
40
40
 
41
41
  - *color* - fog color
42
42
  - *fogType* - **LINEAR** or **EXPONENTIAL**
@@ -3,7 +3,7 @@ title: Adding Sound
3
3
  date: 2022-11-28
4
4
  nav: tutorials-textures-lights-and-environment
5
5
  categories: [Tutorials]
6
- tags: [sound]
6
+ tags: [Sound]
7
7
  ---
8
8
  ## Motivation
9
9
 
@@ -24,11 +24,11 @@ Sounds have two components:
24
24
 
25
25
  ## Syntax: AudioClip
26
26
 
27
- An [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node creates a digital sound source:
27
+ An [AudioClip](../components/sound/audioclip) node creates a digital sound source:
28
28
 
29
29
  - *url* - a sound file URL
30
30
  - *pitch* - playback speed
31
- - playback controls, like a [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node
31
+ - playback controls, like a [TimeSensor](../components/time/timesensor) node
32
32
 
33
33
  ### XML Encoding
34
34
 
@@ -59,11 +59,11 @@ Sound {
59
59
 
60
60
  ## Syntax: MovieTexture
61
61
 
62
- A [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node creates a movie sound source:
62
+ A [MovieTexture](../components/texturing/movietexture) node creates a movie sound source:
63
63
 
64
64
  - *url* - a texture movie file URL
65
65
  - *speed* - playback speed
66
- - playback controls, like a [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node
66
+ - playback controls, like a [TimeSensor](../components/time/timesensor) node
67
67
 
68
68
  ### XML Encoding
69
69
 
@@ -94,21 +94,21 @@ Sound {
94
94
 
95
95
  ## Selecting sound source types
96
96
 
97
- Supported by the [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
97
+ Supported by the [AudioClip](../components/sound/audioclip) node:
98
98
 
99
99
  - MP3 or WAV - digital sound files
100
100
  Good for sound effects
101
101
 
102
- Supported by the [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node:
102
+ Supported by the [MovieTexture](../components/texturing/movietexture) node:
103
103
 
104
104
  - MP4 - movie file with sound
105
105
  Good for virtual TVs
106
106
 
107
107
  ## Syntax: Sound
108
108
 
109
- A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
109
+ A [Sound](../components/sound/sound) node describes a sound emitter:
110
110
 
111
- - *source* - [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} or [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node
111
+ - *source* - [AudioClip](../components/sound/audioclip) or [MovieTexture](../components/texturing/movietexture) node
112
112
  - *location* and *direction* - emitter placement
113
113
 
114
114
  ### XML Encoding
@@ -131,7 +131,7 @@ Sound {
131
131
  }
132
132
  ```
133
133
 
134
- A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
134
+ A [Sound](../components/sound/sound) node describes a sound emitter:
135
135
 
136
136
  - *intensity* - volume
137
137
  - *spatialize* - use spatialize processing
@@ -159,7 +159,7 @@ Sound {
159
159
  }
160
160
  ```
161
161
 
162
- A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
162
+ A [Sound](../components/sound/sound) node describes a sound emitter:
163
163
 
164
164
  - *minFront, minBack* - inner ellipsoid
165
165
  - *maxFront, maxBack* - outer ellipsoid
@@ -174,12 +174,12 @@ A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/com
174
174
 
175
175
  ## Creating triggered sounds
176
176
 
177
- [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
177
+ [AudioClip](../components/sound/audioclip) node:
178
178
 
179
179
  - *loop* **FALSE**
180
180
  - Set *startTime* from a sensor node
181
181
 
182
- [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node:
182
+ [Sound](../components/sound/sound) node:
183
183
 
184
184
  - *spatialize* **TRUE**
185
185
  - *minFront* etc. with small values
@@ -249,13 +249,13 @@ ROUTE C4.touchTime TO PitchC4.set_startTime
249
249
 
250
250
  ## Creating continuous localized sounds
251
251
 
252
- [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
252
+ [AudioClip](../components/sound/audioclip) node:
253
253
 
254
254
  - *loop* **TRUE**
255
255
  - *startTime* 0.0 (default)
256
256
  - *stopTime* 0.0 (default)
257
257
 
258
- [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node:
258
+ [Sound](../components/sound/sound) node:
259
259
 
260
260
  - *spatialize* **TRUE** (default)
261
261
  - *minFront* etc. with medium values
@@ -308,13 +308,13 @@ Transform {
308
308
 
309
309
  ## Creating continuous background sounds
310
310
 
311
- [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node:
311
+ [AudioClip](../components/sound/audioclip) node:
312
312
 
313
313
  - *loop* **TRUE**
314
314
  - *startTime* 0.0 (default)
315
315
  - *stopTime* 0.0 (default)
316
316
 
317
- [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node:
317
+ [Sound](../components/sound/sound) node:
318
318
 
319
319
  - *spatialize* **FALSE** (default)
320
320
  - *minFront* etc. with large values
@@ -322,12 +322,12 @@ Transform {
322
322
 
323
323
  ## Summary
324
324
 
325
- An [AudioClip](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#AudioClip){:target="_blank"} node or a [MovieTexture](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/texturing.html#MovieTexture){:target="_blank"} node describe a sound source:
325
+ An [AudioClip](../components/sound/audioclip) node or a [MovieTexture](../components/texturing/movietexture) node describe a sound source:
326
326
 
327
327
  - A URL gives the sound file
328
328
  - Looping, start time, and stop time control playback
329
329
 
330
- A [Sound](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/sound.html#Sound){:target="_blank"} node describes a sound emitter:
330
+ A [Sound](../components/sound/sound) node describes a sound emitter:
331
331
 
332
332
  - A source node provides the sound
333
333
  - Range fields describe the sound volume
@@ -3,7 +3,7 @@ title: Animating Transforms
3
3
  date: 2022-11-28
4
4
  nav: tutorials-animation-sensors-and-geometry
5
5
  categories: [Tutorials]
6
- tags: [animating, transforms]
6
+ tags: [Animating, Transforms]
7
7
  ---
8
8
  ## Motivation
9
9
 
@@ -20,14 +20,14 @@ Animation requires control over time:
20
20
 
21
21
  ## Controlling time
22
22
 
23
- - A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node is similar to a stop watch
23
+ - A [TimeSensor](../components/time/timesensor) node is similar to a stop watch
24
24
  - You control the start and stop time
25
25
  - The sensor generates time events while it is running
26
26
  - To animate, route time events into other nodes
27
27
 
28
28
  ## Using absolute time
29
29
 
30
- - A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node generates absolute and fractional time events
30
+ - A [TimeSensor](../components/time/timesensor) node generates absolute and fractional time events
31
31
  - Absolute time events give the wall-clock time
32
32
  - Absolute time is measured in seconds since 12:00am January 1, 1970!
33
33
  - Useful for triggering events at specific dates and times
@@ -42,7 +42,7 @@ Animation requires control over time:
42
42
 
43
43
  ## Syntax: TimeSensor
44
44
 
45
- - A [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node generates events based upon time
45
+ - A [TimeSensor](../components/time/timesensor) node generates events based upon time
46
46
  - *startTime* and *stopTime* - when to run
47
47
  - *cycleInterval* - how long a cycle is
48
48
  - *loop* - whether or not to repeat cycles
@@ -186,7 +186,7 @@ Interpolation fills in values between your key values:
186
186
 
187
187
  ## Syntax: PositionInterpolator
188
188
 
189
- A [PositionInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#PositionInterpolator){:target="_blank"} node describes a position path
189
+ A [PositionInterpolator](../components/interpolation/positioninterpolator) node describes a position path
190
190
 
191
191
  - *key* - key fractional times
192
192
  - *keyValue* - key positions
@@ -208,7 +208,7 @@ PositionInterpolator {
208
208
  }
209
209
  ```
210
210
 
211
- Typically route into a [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"} node's *set\_translation* input
211
+ Typically route into a [Transform](../components/grouping/transform) node's *set\_translation* input
212
212
 
213
213
  ## Using position interpolatorsolator inputs and outputs
214
214
 
@@ -285,7 +285,7 @@ ROUTE Position1.value_changed TO Particle1.set_translation
285
285
 
286
286
  ## Syntax: OrientationInterpolator
287
287
 
288
- A [OrientationInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#OrientationInterpolator){:target="_blank"} node describes an orientation path
288
+ A [OrientationInterpolator](../components/interpolation/orientationinterpolator) node describes an orientation path
289
289
 
290
290
  - *key* - key fractional times
291
291
  - *keyValue* - key rotations (axis and angle)
@@ -307,11 +307,11 @@ OrientationInterpolator {
307
307
  }
308
308
  ```
309
309
 
310
- Typically route into a [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"} node's *set\_rotation* input
310
+ Typically route into a [Transform](../components/grouping/transform) node's *set\_rotation* input
311
311
 
312
312
  ## Syntax: ColorInterpolator
313
313
 
314
- [ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ColorInterpolator){:target="_blank"} node describes a color path
314
+ [ColorInterpolator](../components/interpolation/colorinterpolator) node describes a color path
315
315
 
316
316
  - *key* - key fractional times
317
317
  - *keyValue* - key colors (red, green, blue)
@@ -333,11 +333,11 @@ ColorInterpolator {
333
333
  }
334
334
  ```
335
335
 
336
- Typically route into a [Material](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Material){:target="_blank"} node's *set\_diffuseColor* or *set\_emissiveColor* inputs
336
+ Typically route into a [Material](../components/shape/material) node's *set\_diffuseColor* or *set\_emissiveColor* inputs
337
337
 
338
338
  ## Syntax: ScalarInterpolator
339
339
 
340
- [ScalarInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ScalarInterpolator){:target="_blank"} node describes a scalar path
340
+ [ScalarInterpolator](../components/interpolation/scalarinterpolator) node describes a scalar path
341
341
 
342
342
  - *key* - key fractional times
343
343
  - *keyValue* - key scalars (used for anything)
@@ -359,11 +359,11 @@ ScalarInterpolator {
359
359
  }
360
360
  ```
361
361
 
362
- Often route into a [Material](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Material){:target="_blank"} node's *set\_transparency* input
362
+ Often route into a [Material](../components/shape/material) node's *set\_transparency* input
363
363
 
364
364
  ## Summary
365
365
 
366
- The [TimeSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/time.html#TimeSensor){:target="_blank"} node's fields control:
366
+ The [TimeSensor](../components/time/timesensor) node's fields control:
367
367
 
368
368
  - Timer start and stop times
369
369
  - The cycle interval
@@ -384,7 +384,7 @@ All interpolatorsolators have:
384
384
 
385
385
  Some interpolatorsolators are:
386
386
 
387
- - The [PositionInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#PositionInterpolator){:target="_blank"} node converts times to positions (or scales)
388
- - The [OrientationInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#OrientationInterpolator){:target="_blank"} node converts times to rotations
389
- - The [ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ColorInterpolator){:target="_blank"} node converts times to colors
390
- - The [ScalarInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ScalarInterpolator){:target="_blank"} node converts times to scalars (such as transparencies)
387
+ - The [PositionInterpolator](../components/interpolation/positioninterpolator) node converts times to positions (or scales)
388
+ - The [OrientationInterpolator](../components/interpolation/orientationinterpolator) node converts times to rotations
389
+ - The [ColorInterpolator](../components/interpolation/colorinterpolator) node converts times to colors
390
+ - The [ScalarInterpolator](../components/interpolation/scalarinterpolator) node converts times to scalars (such as transparencies)
@@ -3,7 +3,7 @@ title: Basic Nodes
3
3
  date: 2022-11-28
4
4
  nav: tutorials-basic
5
5
  categories: [Tutorials]
6
- tags: [basic, nodes]
6
+ tags: [Basic, Nodes]
7
7
  ---
8
8
  ## Overview
9
9
 
@@ -72,7 +72,7 @@ Be careful! X3D is a case sensitive language.
72
72
 
73
73
  ## Key Concept
74
74
 
75
- Now we can start to add information to the file. The first node to deal with is the [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/core.html#WorldInfo){:target="_blank"} node. This node contains general information about the world, such as a *title* for the world. [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/core.html#WorldInfo){:target="_blank"} can also contain an *info* field, which contain other information about the file such as copyright information. You can put what you like in it. A sample [WorldInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/core.html#WorldInfo){:target="_blank"} node is shown below:
75
+ Now we can start to add information to the file. The first node to deal with is the [WorldInfo](../components/core/worldinfo) node. This node contains general information about the world, such as a *title* for the world. [WorldInfo](../components/core/worldinfo) can also contain an *info* field, which contain other information about the file such as copyright information. You can put what you like in it. A sample [WorldInfo](../components/core/worldinfo) node is shown below:
76
76
 
77
77
  ### XML Encoding
78
78
 
@@ -98,7 +98,7 @@ You can have multiple strings in the *info* field, by putting them all inside sq
98
98
 
99
99
  ## Shape
100
100
 
101
- A [Shape](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Shape){:target="_blank"} node is the node to specify material and geometry properties. We add a Shape node to the world now, as shown below.
101
+ A [Shape](../components/shape/shape) node is the node to specify material and geometry properties. We add a Shape node to the world now, as shown below.
102
102
 
103
103
  ### XML Encoding
104
104
 
@@ -126,20 +126,20 @@ Shape {
126
126
 
127
127
  There are a lot geometry nodes defined in X3D. The basic geometry nodes are:
128
128
 
129
- - [Box](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Box){:target="_blank"}
130
- - [Cone](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Cone){:target="_blank"}
131
- - [Cylinder](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Cylinder){:target="_blank"}
132
- - [ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#ElevationGrid){:target="_blank"}
133
- - [Extrusion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"}
134
- - [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"}
135
- - [Sphere](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Sphere){:target="_blank"}
136
- - [Text](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/text.html#Text){:target="_blank"}
129
+ - [Box](../components/geometry3d/box)
130
+ - [Cone](../components/geometry3d/cone)
131
+ - [Cylinder](../components/geometry3d/cylinder)
132
+ - [ElevationGrid](../components/geometry3d/elevationgrid)
133
+ - [Extrusion](../components/geometry3d/extrusion)
134
+ - [IndexedFaceSet](../components/geometry3d/indexedfaceset)
135
+ - [Sphere](../components/geometry3d/sphere)
136
+ - [Text](../components/text/text)
137
137
 
138
- The most important to define various geometries is probably the [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"} node.
138
+ The most important to define various geometries is probably the [IndexedFaceSet](../components/geometry3d/indexedfaceset) node.
139
139
 
140
140
  ## Transform
141
141
 
142
- In order to make our world any use at all, we need to be able to transform objects. X3D has three types of transformations we can apply to objects. These are *translation, rotation, and scale.* These are used in a [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"} node. A Transform node doesn't have to have all three in it. You can just have a *rotation,* for instance. The transformations within a Transform apply to the children of the node. This is called nesting, where a node can have any number of child nodes. The syntax for this is shown in the example below, along with the syntax for a Transform node.
142
+ In order to make our world any use at all, we need to be able to transform objects. X3D has three types of transformations we can apply to objects. These are *translation, rotation, and scale.* These are used in a [Transform](../components/grouping/transform) node. A Transform node doesn't have to have all three in it. You can just have a *rotation,* for instance. The transformations within a Transform apply to the children of the node. This is called nesting, where a node can have any number of child nodes. The syntax for this is shown in the example below, along with the syntax for a Transform node.
143
143
 
144
144
  ### XML Encoding
145
145
 
@@ -169,7 +169,7 @@ A Transform node can have another Transform nested inside it as a child, which a
169
169
 
170
170
  ## Anchor
171
171
 
172
- In X3D, you navigate between pages the same way as in HTML. You have an object that, when the user clicks on it, links to another page. Exactly what you're all used to. In X3D, this is done with the [Anchor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/networking.html#Anchor){:target="_blank"} node.
172
+ In X3D, you navigate between pages the same way as in HTML. You have an object that, when the user clicks on it, links to another page. Exactly what you're all used to. In X3D, this is done with the [Anchor](../components/networking/anchor) node.
173
173
 
174
174
  ### XML Encoding
175
175
 
@@ -211,7 +211,7 @@ parameter [ "target=_blank" ]
211
211
 
212
212
  ## Background
213
213
 
214
- There are two ways we can change the background of our scene. One is to specify colors for the [Background](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/environmentalEffects.html#Background){:target="_blank"}, and the other is to provide images to be mapped onto the background. Both of these are implemented with the Background node. First of all, I'll describe how to add color to the background of your scene.
214
+ There are two ways we can change the background of our scene. One is to specify colors for the [Background](../components/environmentaleffects/background), and the other is to provide images to be mapped onto the background. Both of these are implemented with the Background node. First of all, I'll describe how to add color to the background of your scene.
215
215
 
216
216
  ### XML Encoding
217
217
 
@@ -232,7 +232,7 @@ This will display a gray background. You can also make the background transparen
232
232
 
233
233
  ## Viewpoint
234
234
 
235
- To give the world camera another position or orientation there is a [Viewpoint](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Viewpoint){:target="_blank"} node. The viewpoint node can be placed anywhere within the scene graph.
235
+ To give the world camera another position or orientation there is a [Viewpoint](../components/navigation/viewpoint) node. The viewpoint node can be placed anywhere within the scene graph.
236
236
 
237
237
  ### XML Encoding
238
238
 
@@ -251,9 +251,9 @@ DEF LookAtHouse Viewpoint {
251
251
  }
252
252
  ```
253
253
 
254
- Beside the Viewpoint node there is also an [OrthoViewpoint](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#OrthoViewpoint){:target="_blank"} node to define an orthographic camera.
254
+ Beside the Viewpoint node there is also an [OrthoViewpoint](../components/navigation/orthoviewpoint) node to define an orthographic camera.
255
255
 
256
- If you define more than once viewpoint in a X3D file, the first viewpoint defined will be bound if the world is loaded. To bind one of the other viewpoints send a *set\_bind* event with the value TRUE to the viewpoint. You must use a [Script](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/scripting.html#Script){:target="_blank"} node for that or use a Anchor node with the name of the viewpoint in the *url* field preceded by '#'.
256
+ If you define more than once viewpoint in a X3D file, the first viewpoint defined will be bound if the world is loaded. To bind one of the other viewpoints send a *set\_bind* event with the value TRUE to the viewpoint. You must use a [Script](../components/scripting/script) node for that or use a Anchor node with the name of the viewpoint in the *url* field preceded by '#'.
257
257
 
258
258
  ### XML Encoding
259
259
 
@@ -274,7 +274,7 @@ Anchor {
274
274
 
275
275
  The first thing to mention is the way that the X3D lighting model works. All lights have the following fields: *color, ambientIntensity,* and *intensity.* Each light has an intensity, which a value between 0 and 1 corresponding to its brightness. It also has an ambient intensity, also between 0 and 1, which is how much light it contributes to the general ambient light in the scene. Because of this, the more lights in the scene, the brighter the ambient illumination, which makes sense. Ambient light is light that shines on every surface in the scene, simulating light scattered from other objects. Each light also has a *color* field associated with it, which is the color of the light it emits. The direct light emitted by a light source is calculated by *intensity × color.* The ambient light contributed to the scene is *ambientIntensity × color.* Each light source also has an area of effect, so as to keep X3D worlds enclosed and scalable. The method of doing this varies between the different types.
276
276
 
277
- When using Gouraud shading browsers calculate lighting by working it out for each corner of a face, and interpolating the shading between these vertices. By default, X3D worlds will have the user's headlight ON. Remember to turn it off if you feel it necessary. Use a [NavigationInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#NavigationInfo){:target="_blank"} node to do that.
277
+ When using Gouraud shading browsers calculate lighting by working it out for each corner of a face, and interpolating the shading between these vertices. By default, X3D worlds will have the user's headlight ON. Remember to turn it off if you feel it necessary. Use a [NavigationInfo](../components/navigation/navigationinfo) node to do that.
278
278
 
279
279
  ### XML Encoding
280
280
 
@@ -293,20 +293,20 @@ NavigationInfo {
293
293
 
294
294
  There are three different light nodes that can be used within a scene.
295
295
 
296
- - [DirectionalLight](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/lighting.html#DirectionalLight){:target="_blank"}
297
- - [PointLight](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/lighting.html#PointLight){:target="_blank"}
298
- - [SpotLight](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/lighting.html#SpotLight){:target="_blank"}
296
+ - [DirectionalLight](../components/lighting/directionallight)
297
+ - [PointLight](../components/lighting/pointlight)
298
+ - [SpotLight](../components/lighting/spotlight)
299
299
 
300
- You can place any light node within a grouping node (e.g. [Group](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Group){:target="_blank"}, [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"}, [Switch](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Switch){:target="_blank"}) and set the global field to **FALSE** to define a local light.
300
+ You can place any light node within a grouping node (e.g. [Group](../components/grouping/group), [Transform](../components/grouping/transform), [Switch](../components/grouping/switch)) and set the global field to **FALSE** to define a local light.
301
301
 
302
302
  ## Grouping Nodes
303
303
 
304
304
  The following nodes are the most important grouping nodes (there are much more in X3D) which means that they can contain other nodes in their children field.
305
305
 
306
- - [Anchor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/networking.html#Anchor){:target="_blank"}
307
- - [Billboard](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Billboard){:target="_blank"}
308
- - [Collision](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Collision){:target="_blank"}
309
- - [Group](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Group){:target="_blank"}
310
- - [LOD](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#LOD){:target="_blank"}
311
- - [Switch](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Switch){:target="_blank"}
312
- - [Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"}
306
+ - [Anchor](../components/networking/anchor)
307
+ - [Billboard](../components/navigation/billboard)
308
+ - [Collision](../components/navigation/collision)
309
+ - [Group](../components/grouping/group)
310
+ - [LOD](../components/navigation/lod)
311
+ - [Switch](../components/grouping/switch)
312
+ - [Transform](../components/grouping/transform)
@@ -3,7 +3,7 @@ title: Building a X3D World
3
3
  date: 2022-11-28
4
4
  nav: tutorials-shapes-geometry-and-appearance
5
5
  categories: [Tutorials]
6
- tags: [building, world]
6
+ tags: [Building, World]
7
7
  ---
8
8
  ## X3D file structure
9
9
 
@@ -103,7 +103,7 @@ Cylinder {
103
103
 
104
104
  - Nodes describe shapes, lights, sounds, etc.
105
105
  - Every node has:
106
- - A node type ([Shape](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Shape){:target="_blank"}, [Cylinder](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Cylinder){:target="_blank"}, etc.)
106
+ - A node type ([Shape](../components/shape/shape), [Cylinder](../components/geometry3d/cylinder), etc.)
107
107
  - A pair of curly-braces
108
108
  - Zero or more fields inside the curly-braces
109
109
 
@@ -116,7 +116,7 @@ Node type names are case sensitive:
116
116
 
117
117
  Some examples:
118
118
 
119
- [Appearance](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Appearance){:target="_blank"}, [Cylinder](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Cylinder){:target="_blank"}, [Material](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Material){:target="_blank"}, [Shape](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/shape.html#Shape){:target="_blank"}
119
+ [Appearance](../components/shape/appearance), [Cylinder](../components/geometry3d/cylinder), [Material](../components/shape/material), [Shape](../components/shape/shape)
120
120
 
121
121
  ## Using fields and values
122
122
 
@@ -3,19 +3,19 @@ title: Building Elevation Grids
3
3
  date: 2022-11-28
4
4
  nav: tutorials-animation-sensors-and-geometry
5
5
  categories: [Tutorials]
6
- tags: [building, elevation grids]
6
+ tags: [Building, Elevation grids]
7
7
  ---
8
8
  ## Motivation
9
9
 
10
10
  - Building terrains is very common
11
11
  - Hills, valleys, mountains
12
12
  - Other tricky uses...
13
- - You can build a terrain using an [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"} node
14
- - You can build terrains more efficiently using an [ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#ElevationGrid){:target="_blank"} node
13
+ - You can build a terrain using an [IndexedFaceSet](../components/geometry3d/indexedfaceset) node
14
+ - You can build terrains more efficiently using an [ElevationGrid](../components/geometry3d/elevationgrid) node
15
15
 
16
16
  ## Syntax: ElevationGrid
17
17
 
18
- An [ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#ElevationGrid){:target="_blank"} geometry node creates terrains:
18
+ An [ElevationGrid](../components/geometry3d/elevationgrid) geometry node creates terrains:
19
19
 
20
20
  - *xDimension* and *zDimension* - grid size
21
21
  - *xSpacing* and *zSpacing* - row and column distances
@@ -49,7 +49,7 @@ Shape {
49
49
  }
50
50
  ```
51
51
 
52
- An [ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#ElevationGrid){:target="_blank"} geometry node creates terrains:
52
+ An [ElevationGrid](../components/geometry3d/elevationgrid) geometry node creates terrains:
53
53
 
54
54
  - *height* - elevations at grid points
55
55
 
@@ -80,7 +80,7 @@ Shape {
80
80
  }
81
81
  ```
82
82
 
83
- An [ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#ElevationGrid){:target="_blank"} geometry node creates terrains
83
+ An [ElevationGrid](../components/geometry3d/elevationgrid) geometry node creates terrains
84
84
 
85
85
  - *solid* - shape is solid
86
86
  - *ccw* - faces are counter-clockwise
@@ -171,7 +171,7 @@ Shape {
171
171
 
172
172
  ## Summary
173
173
 
174
- - An [ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#ElevationGrid){:target="_blank"} node efficiently creates a terrain
174
+ - An [ElevationGrid](../components/geometry3d/elevationgrid) node efficiently creates a terrain
175
175
  - Grid size is specified in the *xDimension* and *zDimension* fields
176
176
  - Grid spacing is specified in the *xSpacing* and *zSpacing* field
177
177
  - Elevations at each grid point are specified in the *height* field
@@ -3,7 +3,7 @@ title: Build Extruded Shapes
3
3
  date: 2022-11-28
4
4
  nav: tutorials-animation-sensors-and-geometry
5
5
  categories: [Tutorials]
6
- tags: [build, extruded, shapes]
6
+ tags: [Build, Extruded, Shapes]
7
7
  ---
8
8
  ## Motivation
9
9
 
@@ -14,8 +14,8 @@ Extruded shapes are very common
14
14
 
15
15
  How can you do it:
16
16
 
17
- - You can build extruded shapes using an [IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"} node.
18
- - You can build extruded shapes more easily and efficiently using an [Extrusion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"} node.
17
+ - You can build extruded shapes using an [IndexedFaceSet](../components/geometry3d/indexedfaceset) node.
18
+ - You can build extruded shapes more easily and efficiently using an [Extrusion](../components/geometry3d/extrusion) node.
19
19
 
20
20
  ## Creating extruded shapes
21
21
 
@@ -31,7 +31,7 @@ Extruded shapes are like long bubbles created with a bubble wand:
31
31
 
32
32
  ## Syntax: Extrusion
33
33
 
34
- An [Extrusion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"} geometry node creates extruded geometry:
34
+ An [Extrusion](../components/geometry3d/extrusion) geometry node creates extruded geometry:
35
35
 
36
36
  - *crossSection* - 2-D cross-section
37
37
  - *spine* - 3-D sweep path
@@ -66,7 +66,7 @@ Shape {
66
66
  }
67
67
  ```
68
68
 
69
- An [Extrusion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"} geometry node creates extruded geometry:
69
+ An [Extrusion](../components/geometry3d/extrusion) geometry node creates extruded geometry:
70
70
 
71
71
  - *solid* - shape is solid
72
72
  - *ccw* - faces are counter-clockwise
@@ -112,7 +112,7 @@ You can rotate the cross-section along the spine
112
112
 
113
113
  ## Syntax: Extrusion
114
114
 
115
- An [Extrusion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"} geometry node creates geometry using:
115
+ An [Extrusion](../components/geometry3d/extrusion) geometry node creates geometry using:
116
116
 
117
117
  - *scale* - cross-section scaling per spine point
118
118
  - *orientation* - cross-section rotation per spine point
@@ -144,7 +144,7 @@ Shape {
144
144
 
145
145
  ## Summary
146
146
 
147
- - An [Extrusion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"} node efficiently creates extruded shapes
147
+ - An [Extrusion](../components/geometry3d/extrusion) node efficiently creates extruded shapes
148
148
  - The *crossSection* field specifies the cross-section
149
149
  - The *spine* field specifies the sweep path
150
150
  - The *scale* and *orientation* fields specify scaling and rotation at each spine point