x_ite 8.8.6 → 8.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (384) hide show
  1. package/Makefile +6 -0
  2. package/build/docs/nodes.pl +434 -0
  3. package/dist/assets/components/Annotation.js +14 -14
  4. package/dist/assets/components/Annotation.min.js +1 -1
  5. package/dist/assets/components/CADGeometry.js +13 -13
  6. package/dist/assets/components/CADGeometry.min.js +1 -1
  7. package/dist/assets/components/CubeMapTexturing.js +28 -28
  8. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  9. package/dist/assets/components/DIS.js +14 -14
  10. package/dist/assets/components/DIS.min.js +1 -1
  11. package/dist/assets/components/EventUtilities.js +9 -9
  12. package/dist/assets/components/EventUtilities.min.js +1 -1
  13. package/dist/assets/components/Geometry2D.js +19 -19
  14. package/dist/assets/components/Geometry2D.min.js +1 -1
  15. package/dist/assets/components/Geospatial.js +52 -40
  16. package/dist/assets/components/Geospatial.min.js +1 -1
  17. package/dist/assets/components/HAnim.js +19 -19
  18. package/dist/assets/components/HAnim.min.js +1 -1
  19. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  20. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  21. package/dist/assets/components/Layout.js +27 -27
  22. package/dist/assets/components/Layout.min.js +1 -1
  23. package/dist/assets/components/NURBS.js +26 -26
  24. package/dist/assets/components/NURBS.min.js +1 -1
  25. package/dist/assets/components/ParticleSystems.js +76 -74
  26. package/dist/assets/components/ParticleSystems.min.js +1 -1
  27. package/dist/assets/components/Picking.js +18 -18
  28. package/dist/assets/components/Picking.min.js +1 -1
  29. package/dist/assets/components/RigidBodyPhysics.js +29 -30
  30. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  31. package/dist/assets/components/Scripting.js +37 -37
  32. package/dist/assets/components/Scripting.min.js +1 -1
  33. package/dist/assets/components/Text.js +24 -24
  34. package/dist/assets/components/Text.min.js +1 -1
  35. package/dist/assets/components/TextureProjector.js +23 -23
  36. package/dist/assets/components/TextureProjector.min.js +1 -1
  37. package/dist/assets/components/Texturing3D.js +30 -30
  38. package/dist/assets/components/Texturing3D.min.js +1 -1
  39. package/dist/assets/components/VolumeRendering.js +21 -21
  40. package/dist/assets/components/VolumeRendering.min.js +1 -1
  41. package/dist/assets/components/X_ITE.js +9 -9
  42. package/dist/assets/components/X_ITE.min.js +1 -1
  43. package/dist/x_ite.css +1 -1
  44. package/dist/x_ite.js +1002 -133
  45. package/dist/x_ite.min.js +1 -1
  46. package/dist/x_ite.zip +0 -0
  47. package/docs/_config.yml +2 -2
  48. package/docs/_posts/components/CADGeometry/CADAssembly.md +47 -21
  49. package/docs/_posts/components/CADGeometry/CADFace.md +47 -21
  50. package/docs/_posts/components/CADGeometry/CADLayer.md +50 -21
  51. package/docs/_posts/components/CADGeometry/CADPart.md +56 -26
  52. package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +55 -26
  53. package/docs/_posts/components/CADGeometry/QuadSet.md +52 -20
  54. package/docs/_posts/components/Core/MetadataBoolean.md +27 -36
  55. package/docs/_posts/components/Core/MetadataDouble.md +31 -16
  56. package/docs/_posts/components/Core/MetadataFloat.md +31 -16
  57. package/docs/_posts/components/Core/MetadataInteger.md +31 -16
  58. package/docs/_posts/components/Core/MetadataSet.md +30 -15
  59. package/docs/_posts/components/Core/MetadataString.md +31 -16
  60. package/docs/_posts/components/Core/WorldInfo.md +21 -10
  61. package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +39 -30
  62. package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +19 -10
  63. package/docs/_posts/components/CubeMapTexturing/ImageCubeMapTexture.md +22 -18
  64. package/docs/_posts/components/DIS/DISEntityManager.md +43 -18
  65. package/docs/_posts/components/DIS/DISEntityTypeMapping.md +43 -34
  66. package/docs/_posts/components/DIS/EspduTransform.md +211 -78
  67. package/docs/_posts/components/DIS/ReceiverPdu.md +95 -45
  68. package/docs/_posts/components/DIS/SignalPdu.md +98 -44
  69. package/docs/_posts/components/DIS/TransmitterPdu.md +118 -68
  70. package/docs/_posts/components/EnvironmentalEffects/Background.md +80 -39
  71. package/docs/_posts/components/EnvironmentalEffects/Fog.md +39 -18
  72. package/docs/_posts/components/EnvironmentalEffects/FogCoordinate.md +10 -6
  73. package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +21 -14
  74. package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +83 -31
  75. package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +36 -8
  76. package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +31 -7
  77. package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +23 -7
  78. package/docs/_posts/components/EventUtilities/BooleanFilter.md +27 -14
  79. package/docs/_posts/components/EventUtilities/BooleanSequencer.md +46 -17
  80. package/docs/_posts/components/EventUtilities/BooleanToggle.md +29 -8
  81. package/docs/_posts/components/EventUtilities/BooleanTrigger.md +24 -7
  82. package/docs/_posts/components/EventUtilities/IntegerSequencer.md +46 -17
  83. package/docs/_posts/components/EventUtilities/IntegerTrigger.md +34 -9
  84. package/docs/_posts/components/EventUtilities/TimeTrigger.md +30 -9
  85. package/docs/_posts/components/Followers/ColorChaser.md +35 -11
  86. package/docs/_posts/components/Followers/ColorDamper.md +32 -12
  87. package/docs/_posts/components/Followers/CoordinateChaser.md +33 -9
  88. package/docs/_posts/components/Followers/CoordinateDamper.md +30 -10
  89. package/docs/_posts/components/Followers/OrientationChaser.md +34 -10
  90. package/docs/_posts/components/Followers/OrientationDamper.md +31 -11
  91. package/docs/_posts/components/Followers/PositionChaser.md +33 -9
  92. package/docs/_posts/components/Followers/PositionChaser2D.md +33 -9
  93. package/docs/_posts/components/Followers/PositionDamper.md +30 -10
  94. package/docs/_posts/components/Followers/PositionDamper2D.md +30 -10
  95. package/docs/_posts/components/Followers/ScalarChaser.md +33 -9
  96. package/docs/_posts/components/Followers/ScalarDamper.md +30 -10
  97. package/docs/_posts/components/Followers/TexCoordChaser2D.md +33 -9
  98. package/docs/_posts/components/Followers/TexCoordDamper2D.md +30 -10
  99. package/docs/_posts/components/Geometry2D/Arc2D.md +39 -14
  100. package/docs/_posts/components/Geometry2D/ArcClose2D.md +43 -19
  101. package/docs/_posts/components/Geometry2D/Circle2D.md +21 -10
  102. package/docs/_posts/components/Geometry2D/Disk2D.md +32 -14
  103. package/docs/_posts/components/Geometry2D/Polyline2D.md +25 -10
  104. package/docs/_posts/components/Geometry2D/Polypoint2D.md +16 -8
  105. package/docs/_posts/components/Geometry2D/Rectangle2D.md +23 -12
  106. package/docs/_posts/components/Geometry2D/TriangleSet2D.md +23 -12
  107. package/docs/_posts/components/Geometry3D/Box.md +26 -13
  108. package/docs/_posts/components/Geometry3D/Cone.md +31 -23
  109. package/docs/_posts/components/Geometry3D/Cylinder.md +32 -28
  110. package/docs/_posts/components/Geometry3D/ElevationGrid.md +75 -31
  111. package/docs/_posts/components/Geometry3D/Extrusion.md +100 -48
  112. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +95 -43
  113. package/docs/_posts/components/Geometry3D/Sphere.md +25 -13
  114. package/docs/_posts/components/Geospatial/GeoCoordinate.md +30 -14
  115. package/docs/_posts/components/Geospatial/GeoElevationGrid.md +85 -40
  116. package/docs/_posts/components/Geospatial/GeoLOD.md +69 -30
  117. package/docs/_posts/components/Geospatial/GeoLocation.md +66 -28
  118. package/docs/_posts/components/Geospatial/GeoMetadata.md +28 -22
  119. package/docs/_posts/components/Geospatial/GeoOrigin.md +34 -19
  120. package/docs/_posts/components/Geospatial/GeoPositionInterpolator.md +64 -18
  121. package/docs/_posts/components/Geospatial/GeoProximitySensor.md +67 -18
  122. package/docs/_posts/components/Geospatial/GeoTouchSensor.md +66 -21
  123. package/docs/_posts/components/Geospatial/GeoTransform.md +74 -30
  124. package/docs/_posts/components/Geospatial/GeoViewpoint.md +88 -41
  125. package/docs/_posts/components/Grouping/Group.md +34 -18
  126. package/docs/_posts/components/Grouping/StaticGroup.md +39 -18
  127. package/docs/_posts/components/Grouping/Switch.md +41 -22
  128. package/docs/_posts/components/Grouping/Transform.md +47 -30
  129. package/docs/_posts/components/HAnim/HAnimDisplacer.md +48 -37
  130. package/docs/_posts/components/HAnim/HAnimHumanoid.md +245 -55
  131. package/docs/_posts/components/HAnim/HAnimJoint.md +136 -70
  132. package/docs/_posts/components/HAnim/HAnimMotion.md +128 -18
  133. package/docs/_posts/components/HAnim/HAnimSegment.md +92 -52
  134. package/docs/_posts/components/HAnim/HAnimSite.md +95 -52
  135. package/docs/_posts/components/Interpolation/ColorInterpolator.md +41 -11
  136. package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +39 -13
  137. package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +43 -14
  138. package/docs/_posts/components/Interpolation/EaseInEaseOut.md +36 -12
  139. package/docs/_posts/components/Interpolation/NormalInterpolator.md +40 -10
  140. package/docs/_posts/components/Interpolation/OrientationInterpolator.md +40 -10
  141. package/docs/_posts/components/Interpolation/PositionInterpolator.md +40 -10
  142. package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +43 -14
  143. package/docs/_posts/components/Interpolation/ScalarInterpolator.md +39 -13
  144. package/docs/_posts/components/Interpolation/SplinePositionInterpolator.md +41 -16
  145. package/docs/_posts/components/Interpolation/SplinePositionInterpolator2D.md +41 -16
  146. package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +40 -24
  147. package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +35 -11
  148. package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +51 -9
  149. package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +31 -9
  150. package/docs/_posts/components/Layering/Layer.md +39 -14
  151. package/docs/_posts/components/Layering/LayerSet.md +21 -15
  152. package/docs/_posts/components/Layering/Viewport.md +34 -18
  153. package/docs/_posts/components/Layout/Layout.md +28 -17
  154. package/docs/_posts/components/Layout/LayoutGroup.md +37 -21
  155. package/docs/_posts/components/Layout/LayoutLayer.md +40 -15
  156. package/docs/_posts/components/Layout/ScreenFontStyle.md +74 -47
  157. package/docs/_posts/components/Layout/ScreenGroup.md +35 -19
  158. package/docs/_posts/components/Lighting/DirectionalLight.md +23 -15
  159. package/docs/_posts/components/Lighting/EnvironmentLight.md +7 -11
  160. package/docs/_posts/components/Lighting/PointLight.md +27 -15
  161. package/docs/_posts/components/Lighting/SpotLight.md +36 -23
  162. package/docs/_posts/components/NURBS/Contour2D.md +17 -9
  163. package/docs/_posts/components/NURBS/ContourPolyline2D.md +10 -6
  164. package/docs/_posts/components/NURBS/CoordinateDouble.md +13 -9
  165. package/docs/_posts/components/NURBS/NurbsCurve.md +16 -12
  166. package/docs/_posts/components/NURBS/NurbsCurve2D.md +15 -11
  167. package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +31 -15
  168. package/docs/_posts/components/NURBS/NurbsPatchSurface.md +29 -23
  169. package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +30 -14
  170. package/docs/_posts/components/NURBS/NurbsSet.md +51 -17
  171. package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +48 -28
  172. package/docs/_posts/components/NURBS/NurbsSweptSurface.md +31 -14
  173. package/docs/_posts/components/NURBS/NurbsSwungSurface.md +25 -14
  174. package/docs/_posts/components/NURBS/NurbsTextureCoordinate.md +26 -22
  175. package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +36 -26
  176. package/docs/_posts/components/Navigation/Billboard.md +35 -19
  177. package/docs/_posts/components/Navigation/Collision.md +61 -24
  178. package/docs/_posts/components/Navigation/LOD.md +55 -25
  179. package/docs/_posts/components/Navigation/NavigationInfo.md +69 -26
  180. package/docs/_posts/components/Navigation/OrthoViewpoint.md +89 -38
  181. package/docs/_posts/components/Navigation/Viewpoint.md +95 -40
  182. package/docs/_posts/components/Navigation/ViewpointGroup.md +29 -18
  183. package/docs/_posts/components/Networking/Anchor.md +56 -58
  184. package/docs/_posts/components/Networking/Inline.md +44 -31
  185. package/docs/_posts/components/Networking/LoadSensor.md +43 -11
  186. package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +16 -8
  187. package/docs/_posts/components/ParticleSystems/ConeEmitter.md +31 -12
  188. package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +23 -12
  189. package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +15 -8
  190. package/docs/_posts/components/ParticleSystems/ParticleSystem.md +110 -55
  191. package/docs/_posts/components/ParticleSystems/PointEmitter.md +25 -14
  192. package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +28 -16
  193. package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +25 -14
  194. package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +35 -16
  195. package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +12 -8
  196. package/docs/_posts/components/Picking/LinePickSensor.md +57 -31
  197. package/docs/_posts/components/Picking/PickableGroup.md +44 -26
  198. package/docs/_posts/components/Picking/PointPickSensor.md +47 -26
  199. package/docs/_posts/components/Picking/PrimitivePickSensor.md +43 -31
  200. package/docs/_posts/components/Picking/VolumePickSensor.md +43 -26
  201. package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +46 -21
  202. package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +43 -20
  203. package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +37 -15
  204. package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +50 -16
  205. package/docs/_posts/components/Rendering/ClipPlane.md +21 -16
  206. package/docs/_posts/components/Rendering/Color.md +14 -14
  207. package/docs/_posts/components/Rendering/ColorRGBA.md +13 -9
  208. package/docs/_posts/components/Rendering/Coordinate.md +11 -7
  209. package/docs/_posts/components/Rendering/IndexedLineSet.md +55 -27
  210. package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +44 -23
  211. package/docs/_posts/components/Rendering/IndexedTriangleSet.md +45 -24
  212. package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +45 -20
  213. package/docs/_posts/components/Rendering/LineSet.md +26 -14
  214. package/docs/_posts/components/Rendering/Normal.md +28 -6
  215. package/docs/_posts/components/Rendering/PointSet.md +24 -11
  216. package/docs/_posts/components/Rendering/TriangleFanSet.md +44 -19
  217. package/docs/_posts/components/Rendering/TriangleSet.md +44 -19
  218. package/docs/_posts/components/Rendering/TriangleStripSet.md +45 -20
  219. package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +24 -12
  220. package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +40 -17
  221. package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +37 -19
  222. package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +24 -19
  223. package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +21 -12
  224. package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +36 -17
  225. package/docs/_posts/components/RigidBodyPhysics/Contact.md +20 -16
  226. package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +43 -41
  227. package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +86 -34
  228. package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +36 -26
  229. package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +36 -20
  230. package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +33 -23
  231. package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +31 -19
  232. package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +31 -23
  233. package/docs/_posts/components/Scripting/Script.md +43 -27
  234. package/docs/_posts/components/Shaders/ComposedShader.md +30 -17
  235. package/docs/_posts/components/Shaders/FloatVertexAttribute.md +18 -9
  236. package/docs/_posts/components/Shaders/Matrix3VertexAttribute.md +17 -8
  237. package/docs/_posts/components/Shaders/Matrix4VertexAttribute.md +17 -8
  238. package/docs/_posts/components/Shaders/PackagedShader.md +52 -46
  239. package/docs/_posts/components/Shaders/ProgramShader.md +35 -15
  240. package/docs/_posts/components/Shaders/ShaderPart.md +27 -18
  241. package/docs/_posts/components/Shaders/ShaderProgram.md +28 -17
  242. package/docs/_posts/components/Shape/AcousticProperties.md +38 -10
  243. package/docs/_posts/components/Shape/Appearance.md +30 -23
  244. package/docs/_posts/components/Shape/FillProperties.md +19 -12
  245. package/docs/_posts/components/Shape/LineProperties.md +18 -10
  246. package/docs/_posts/components/Shape/Material.md +64 -38
  247. package/docs/_posts/components/Shape/PhysicalMaterial.md +49 -25
  248. package/docs/_posts/components/Shape/PointProperties.md +23 -24
  249. package/docs/_posts/components/Shape/Shape.md +38 -20
  250. package/docs/_posts/components/Shape/TwoSidedMaterial.md +35 -36
  251. package/docs/_posts/components/Shape/UnlitMaterial.md +29 -17
  252. package/docs/_posts/components/Sound/Analyser.md +151 -18
  253. package/docs/_posts/components/Sound/AudioClip.md +82 -32
  254. package/docs/_posts/components/Sound/AudioDestination.md +85 -9
  255. package/docs/_posts/components/Sound/BiquadFilter.md +160 -17
  256. package/docs/_posts/components/Sound/BufferAudioSource.md +184 -28
  257. package/docs/_posts/components/Sound/ChannelMerger.md +70 -8
  258. package/docs/_posts/components/Sound/ChannelSelector.md +73 -9
  259. package/docs/_posts/components/Sound/ChannelSplitter.md +77 -9
  260. package/docs/_posts/components/Sound/Convolver.md +138 -14
  261. package/docs/_posts/components/Sound/Delay.md +134 -15
  262. package/docs/_posts/components/Sound/DynamicsCompressor.md +146 -19
  263. package/docs/_posts/components/Sound/Gain.md +128 -13
  264. package/docs/_posts/components/Sound/ListenerPointSource.md +121 -12
  265. package/docs/_posts/components/Sound/MicrophoneSource.md +101 -10
  266. package/docs/_posts/components/Sound/OscillatorSource.md +107 -12
  267. package/docs/_posts/components/Sound/PeriodicWave.md +48 -7
  268. package/docs/_posts/components/Sound/Sound.md +61 -22
  269. package/docs/_posts/components/Sound/SpatialSound.md +136 -17
  270. package/docs/_posts/components/Sound/StreamAudioDestination.md +89 -9
  271. package/docs/_posts/components/Sound/StreamAudioSource.md +101 -10
  272. package/docs/_posts/components/Sound/WaveShaper.md +138 -15
  273. package/docs/_posts/components/Text/FontStyle.md +75 -49
  274. package/docs/_posts/components/Text/Text.md +48 -26
  275. package/docs/_posts/components/TextureProjector/TextureProjector.md +63 -12
  276. package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +64 -12
  277. package/docs/_posts/components/Texturing/ImageTexture.md +28 -20
  278. package/docs/_posts/components/Texturing/MovieTexture.md +87 -40
  279. package/docs/_posts/components/Texturing/MultiTexture.md +47 -19
  280. package/docs/_posts/components/Texturing/MultiTextureCoordinate.md +27 -10
  281. package/docs/_posts/components/Texturing/MultiTextureTransform.md +32 -10
  282. package/docs/_posts/components/Texturing/PixelTexture.md +34 -14
  283. package/docs/_posts/components/Texturing/TextureCoordinate.md +20 -10
  284. package/docs/_posts/components/Texturing/TextureCoordinateGenerator.md +22 -12
  285. package/docs/_posts/components/Texturing/TextureProperties.md +45 -20
  286. package/docs/_posts/components/Texturing/TextureTransform.md +17 -8
  287. package/docs/_posts/components/Texturing3D/ComposedTexture3D.md +21 -13
  288. package/docs/_posts/components/Texturing3D/ImageTexture3D.md +32 -23
  289. package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +22 -16
  290. package/docs/_posts/components/Texturing3D/PixelTexture3D.md +28 -16
  291. package/docs/_posts/components/Texturing3D/TextureCoordinate3D.md +22 -10
  292. package/docs/_posts/components/Texturing3D/TextureCoordinate4D.md +21 -9
  293. package/docs/_posts/components/Texturing3D/TextureTransform3D.md +17 -8
  294. package/docs/_posts/components/Texturing3D/TextureTransformMatrix3D.md +20 -10
  295. package/docs/_posts/components/Time/TimeSensor.md +70 -27
  296. package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +41 -20
  297. package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +20 -10
  298. package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +24 -21
  299. package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +18 -10
  300. package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +22 -14
  301. package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +59 -37
  302. package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +16 -8
  303. package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +28 -6
  304. package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +63 -30
  305. package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +27 -19
  306. package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +21 -13
  307. package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +25 -16
  308. package/docs/_posts/components/VolumeRendering/VolumeData.md +43 -26
  309. package/docs/_posts/components/X_ITE/BlendMode.md +16 -9
  310. package/docs/_posts/getting-started.md +1 -0
  311. package/docs/_posts/laboratory/x3d-file-converter.md +1 -1
  312. package/docs/_tabs/playground.html +3 -1
  313. package/docs/assets/css/style.scss +4 -4
  314. package/package.json +1 -1
  315. package/src/x_ite/Base/X3DBaseNode.js +1 -1
  316. package/src/x_ite/Base/X3DInfoArray.js +2 -2
  317. package/src/x_ite/Browser/Core/X3DCoreContext.js +10 -3
  318. package/src/x_ite/Browser/DOMIntegration.js +13 -8
  319. package/src/x_ite/Browser/VERSION.js +1 -1
  320. package/src/x_ite/Components/Annotation/GroupAnnotation.js +1 -1
  321. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +3 -3
  322. package/src/x_ite/Components/DIS/DISEntityManager.js +1 -1
  323. package/src/x_ite/Components/Geospatial/GeoLocation.js +1 -1
  324. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +18 -6
  325. package/src/x_ite/Components/Grouping/Switch.js +1 -1
  326. package/src/x_ite/Components/HAnim/HAnimMotion.js +1 -1
  327. package/src/x_ite/Components/Layering/X3DLayerNode.js +1 -1
  328. package/src/x_ite/Components/Lighting/DirectionalLight.js +1 -1
  329. package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +1 -1
  330. package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +1 -1
  331. package/src/x_ite/Components/Navigation/Collision.js +1 -1
  332. package/src/x_ite/Components/Navigation/LOD.js +1 -1
  333. package/src/x_ite/Components/Navigation/Viewpoint.js +1 -1
  334. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +1 -1
  335. package/src/x_ite/Components/Networking/LoadSensor.js +1 -1
  336. package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +9 -9
  337. package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +7 -7
  338. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1 -1
  339. package/src/x_ite/Components/ParticleSystems/PointEmitter.js +8 -8
  340. package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +9 -9
  341. package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +7 -7
  342. package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +12 -10
  343. package/src/x_ite/Components/RigidBodyPhysics/Contact.js +1 -1
  344. package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +6 -6
  345. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +0 -1
  346. package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +4 -4
  347. package/src/x_ite/Components/Shape/AcousticProperties.js +1 -1
  348. package/src/x_ite/Components/Shape/Appearance.js +1 -1
  349. package/src/x_ite/Components/Shape/FillProperties.js +1 -1
  350. package/src/x_ite/Components/Shape/Material.js +1 -1
  351. package/src/x_ite/Components/Shape/PhysicalMaterial.js +1 -1
  352. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +1 -1
  353. package/src/x_ite/Components/Sound/Analyser.js +2 -2
  354. package/src/x_ite/Components/Sound/AudioDestination.js +2 -2
  355. package/src/x_ite/Components/Sound/BiquadFilter.js +3 -3
  356. package/src/x_ite/Components/Sound/BufferAudioSource.js +2 -2
  357. package/src/x_ite/Components/Sound/ChannelMerger.js +2 -2
  358. package/src/x_ite/Components/Sound/ChannelSelector.js +2 -2
  359. package/src/x_ite/Components/Sound/ChannelSplitter.js +2 -2
  360. package/src/x_ite/Components/Sound/Convolver.js +2 -2
  361. package/src/x_ite/Components/Sound/Delay.js +2 -2
  362. package/src/x_ite/Components/Sound/DynamicsCompressor.js +2 -2
  363. package/src/x_ite/Components/Sound/Gain.js +2 -2
  364. package/src/x_ite/Components/Sound/PeriodicWave.js +1 -1
  365. package/src/x_ite/Components/Sound/StreamAudioDestination.js +2 -2
  366. package/src/x_ite/Components/Sound/WaveShaper.js +3 -3
  367. package/src/x_ite/Components/TextureProjector/TextureProjector.js +4 -4
  368. package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +5 -5
  369. package/src/x_ite/Components/Texturing/PixelTexture.js +1 -1
  370. package/src/x_ite/Components/Texturing/TextureProperties.js +1 -1
  371. package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +1 -1
  372. package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +1 -1
  373. package/src/x_ite/Components/VolumeRendering/VolumeData.js +1 -1
  374. package/src/x_ite/Configuration/SupportedComponents.js +2 -2
  375. package/src/x_ite/Fields/ArrayFields.js +2 -2
  376. package/src/x_ite/Fields/SFColor.js +1 -1
  377. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +1 -1
  378. package/src/x_ite/Fields/SFRotation.js +3 -3
  379. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +1 -1
  380. package/src/x_ite/Parser/GoldenGate.js +16 -5
  381. package/src/x_ite/Parser/PLYAParser.js +615 -0
  382. package/src/x_ite/Parser/PLYBParser.js +222 -0
  383. package/src/x_ite/Parser/STLAParser.js +0 -1
  384. /package/build/{bin → docs}/components.js +0 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: HAnimSegment
3
- date: 2022-01-07
3
+ date: 2023-01-07
4
4
  nav: components-HAnim
5
5
  categories: [components, HAnim]
6
6
  tags: [HAnimSegment, HAnim]
@@ -13,9 +13,9 @@ tags: [HAnimSegment, HAnim]
13
13
 
14
14
  ## Overview
15
15
 
16
- Each body segment is stored in an HAnimSegment node. HAnimSegment contains Coordinate/CoordinateDouble with containerField='coord', HAnimDisplacer with containerField='displacers' and Shape or grouping nodes with containerField='children'.
16
+ HAnimSegment node contains Shape geometry for each body segment, providing a visual representation of the skeleton segment. Parent/child translation and rotation relationships are defined in ancestor/descendant HAnimSegment nodes. HAnimSegment contains Coordinate or CoordinateDouble with `containerField='coord',` HAnimDisplacer with `containerField='displacers'` and Shape or grouping nodes with `containerField='children'.`
17
17
 
18
- The HAnimSegment node belongs to the **HAnim** component and its default container field is *children.* It is available since X3D version 3.0 or later.
18
+ The HAnimSegment node belongs to the **HAnim** component and its default container field is *children.* It is available from X3D version 3.0 or higher.
19
19
 
20
20
  ## Hierarchy
21
21
 
@@ -30,103 +30,143 @@ The HAnimSegment node belongs to the **HAnim** component and its default contain
30
30
 
31
31
  ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
32
32
 
33
- Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
34
-
35
- ### SFString [in, out] **description** ""
36
-
37
- Author-provided prose that describes intended purpose of the url asset.
33
+ Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
38
34
 
39
35
  #### Hint
40
36
 
41
- - Many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as &amp;#38; for & ampersand character, or &amp;#34; for " quotation-mark character).
37
+ - [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
42
38
 
43
- ### SFBool [ ] **visible** TRUE
39
+ ### SFString [in, out] **description** ""
44
40
 
45
- Whether or not renderable content within this node is visually displayed.
41
+ Author-provided prose that describes intended purpose of this node.
46
42
 
47
43
  #### Hint
48
44
 
49
- - The visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
50
- - Content must be visible to be collidable and to be pickable.
45
+ - Many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as &amp;#38; for &amp; ampersand character, or &amp;#34; for " quotation-mark character).
51
46
 
52
- ### SFBool [ ] **bboxDisplay** FALSE
47
+ ### SFString [in, out] **name** ""
53
48
 
54
- Whether to display bounding box for associated geometry, aligned with world coordinates.
49
+ Unique *name* attribute must be defined so that HAnimSegment node can be identified at run time for animation purposes.
55
50
 
56
- #### Hint
51
+ #### Hints
57
52
 
58
- - The bounding box is displayed regardless of whether contained content is visible.
53
+ - For abitrary humanoids, HAnimSegment *name* can describe geometry between parent HAnimJoint and sibling HAnimJoint nodes (for example LeftHip_to_LeftKnee).
54
+ - [HAnim Specification part 1, Humanoid Joint-Segment Hierarchy](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#Hierarchy){:target="_blank"}
55
+ - Well-defined names can simplify design and debugging through improved author understanding.
56
+ - [X3D Scene Authoring Hints, Naming Conventions](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions){:target="_blank"}
57
+ - [HAnim2 Names HAnim1 Alias Tables](https://www.web3d.org/x3d/content/examples/HumanoidAnimation/HAnim2NameHAnim1AliasTables.txt){:target="_blank"}
59
58
 
60
- ### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
59
+ #### Warnings
61
60
 
62
- 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.
61
+ - *name* prefix must match ancestor HAnimHumanoid *name* followed by underscore character, if more than one humanoid appears within a scene file. For example, 'Nancy_' prepended before location *name*.
62
+ - *name* field is not included if this instance is a USE node, in order to avoid potential mismatches. Examples: sacrum pelvis l_thigh l_calf etc. as listed in HAnim Specification.
63
63
 
64
- #### Hint
64
+ ### SFFloat [in, out] **mass** 0 <small>[0,∞)</small>
65
65
 
66
- - Can be useful for collision computations or inverse-kinematics (IK) engines.
66
+ Total *mass* of the segment, 0 if not available, defined in *mass* base units (default is kilograms).
67
67
 
68
- ### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
68
+ #### Hints
69
69
 
70
- Bounding box center: optional hint for position offset from origin of local coordinate system.
70
+ - [Kilogram](https://en.wikipedia.org/wiki/Kilogram){:target="_blank"}
71
+ - [X3D Architecture 4.3.6 Standard units and coordinate system](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#Standardunitscoordinates){:target="_blank"}
71
72
 
72
- ### MFNode [in] **addChildren**
73
+ ### SFVec3f [in, out] **centerOfMass** 0 0 0 <small>(-∞,∞)</small>
73
74
 
74
- Input field addChildren.
75
+ Location within segment of center of mass.
75
76
 
76
- ### MFNode [in] **removeChildren**
77
+ ### MFFloat [in, out] **momentsOfInertia** [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ] <small>[0,∞)</small>
77
78
 
78
- Input field removeChildren.
79
+ 3x3 moments of inertia matrix. default: 0 0 0 0 0 0 0 0 0.
79
80
 
80
- ### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
81
+ ### MFNode [in, out] **displacers** [ ] <small>[HAnimDisplacer]</small>
81
82
 
82
- Input/Output field children.
83
+ The *displacers* field stores HAnimDisplacer objects for a particular HAnimSegment object.
83
84
 
84
- ### SFVec3f [in, out] **centerOfMass** 0 0 0 <small>(-∞,∞)</small>
85
+ #### Warning
85
86
 
86
- Location within segment of center of mass.
87
+ - Index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
87
88
 
88
89
  ### SFNode [in, out] **coord** NULL <small>[X3DCoordinateNode]</small>
89
90
 
90
- Single contained Coordinate or CoordinateDouble node that can specify a list of vertex values.
91
+ The *coord* field is used for HAnimSegment objects that have deformable meshes and shall contain coordinates referenced from the IndexedFaceSet for the paarent HAnimSegment object. The coordinates are given the same name as the HAnim Segment object, but with "_coords" appended to the name (for example, "skull_coords").
91
92
 
92
- ### MFNode [in, out] **displacers** [ ] <small>[HAnimDisplacer]</small>
93
+ #### Warning
93
94
 
94
- Input/Output field displacers.
95
+ - Index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
95
96
 
96
- ### SFFloat [in, out] **mass** 0 <small>[0,∞)</small>
97
+ ### SFBool [in, out] **visible** TRUE
97
98
 
98
- Total mass of the segment, 0 if not available.
99
+ Whether or not renderable content within this node is visually displayed.
99
100
 
100
- ### MFFloat [in, out] **momentsOfInertia** [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ] <small>[0,∞)</small>
101
+ #### Hints
101
102
 
102
- 3x3 moments of inertia matrix. default: 0 0 0 0 0 0 0 0 0.
103
+ - The *visible* field has no effect on animation behaviors, event passing or other non-visual characteristics.
104
+ - Content must be *visible* to be collidable and to be pickable.
103
105
 
104
- ### SFString [in, out] **name** ""
106
+ ### SFBool [in, out] **bboxDisplay** FALSE
105
107
 
106
- Unique name attribute must be defined so that HAnimSegment node can be identified at run time for animation purposes.
108
+ Whether to display bounding box for associated geometry, aligned with world coordinates.
107
109
 
108
110
  #### Hint
109
111
 
110
- - For arbitrary humanoids, HAnimSegment name can describe geometry between parent HAnimJoint and sibling HAnimJoint nodes (for example LeftHip_to_LeftKnee).
112
+ - The bounding box is displayed regardless of whether contained content is visible.
111
113
 
112
- #### Warning
114
+ ### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
115
+
116
+ 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.
117
+
118
+ #### Hints
119
+
120
+ - Can be useful for collision computations or inverse-kinematics (IK) engines.
121
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
122
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
123
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
124
+
125
+ ### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
126
+
127
+ Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
128
+
129
+ #### Hints
130
+
131
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
132
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
133
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
134
+
135
+ ### MFNode [in] **addChildren**
136
+
137
+ Input field *addChildren*.
113
138
 
114
- - Name is not included if this instance is a USE node. Examples: sacrum pelvis l_thigh l_calf etc. as listed in HAnim Specification.
139
+ ### MFNode [in] **removeChildren**
140
+
141
+ Input field *removeChildren*.
142
+
143
+ ### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
115
144
 
116
- #### See Also
145
+ Grouping nodes contain an ordered list of *children* nodes.
117
146
 
118
- - [HAnim Humanoid Segment Names HAnim Specification, Humanoid Joint-Segment Hierarchy](https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/tables/HAnimSegmentNames19774V1.0.txt){:target="_blank"}
119
- - [HAnim Specification, Humanoid Joint-Segment Hierarchy](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/concepts.html#Hierarchy){:target="_blank"}
147
+ #### Hints
120
148
 
121
- ## Description
149
+ - 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.
150
+ - Place any geometry for parent HAnimJoint within a child Transform having the same translation value as the parent HAnimJoint center value.
151
+ - InputOnly MFNode addChildren field can append new X3DChildNode nodes via a ROUTE connection, duplicate input nodes (i.e. matching DEF, USE values) are ignored.
152
+ - InputOnly MFNode removeChildren field can remove nodes from the *children* list, unrecognized input nodes (i.e. nonmatching DEF, USE values) are ignored.
153
+ - [X3D Architecture 10.2.1 Grouping and *children* node types](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#GroupingAndChildrenNodes){:target="_blank"}
154
+
155
+ ## Advisories
122
156
 
123
157
  ### Hints
124
158
 
125
159
  - HAnimSegment displays geometry between parent HAnimJoint and sibling HAnimJoint nodes.
126
- - Include `<component name='HAnim' level='1'/>`
160
+ - [HAnim Specification](https://www.web3d.org/documents/specifications/19774/V2.0){:target="_blank"}
161
+ - [HAnim Specification part 1, Segment](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Segment){:target="_blank"}
162
+ - [X3D for Advanced Modeling (X3D4AM) slideset](https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/HumanoidAnimation.pdf){:target="_blank"}
163
+
164
+ ### Warnings
165
+
166
+ - Requires X3D `profile='Full'` or else include `<component name='HAnim' level='1'/>`
167
+ - For X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen)
168
+ - The number of contained \<HAnimSegment USE='*' `containerField='segments'/>` nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimJoint node instances found within the preceding skeleton hierarchy.
127
169
 
128
- ## External Links
170
+ ## See Also
129
171
 
130
- - [X3D Specification of HAnimSegment](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimSegment){:target="_blank"}
131
- - [HAnim Specification](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/HAnimArchitecture.html){:target="_blank"}
132
- - [HAnim Specification, Segment](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html#Segment){:target="_blank"}
172
+ - [X3D Specification of HAnimSegment node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimSegment){:target="_blank"}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: HAnimSite
3
- date: 2022-01-07
3
+ date: 2023-01-07
4
4
  nav: components-HAnim
5
5
  categories: [components, HAnim]
6
6
  tags: [HAnimSite, HAnim]
@@ -13,9 +13,9 @@ tags: [HAnimSite, HAnim]
13
13
 
14
14
  ## Overview
15
15
 
16
- An HAnimSite node serves three purposes: (a) define an "end effector" location which can be used by an inverse kinematics system, (b) define an attachment point for accessories such as jewelry and clothing, and (c) define a location for a virtual camera in the reference frame of an HAnimSegment (such as a view "through the eyes" of the humanoid for use in multi-user worlds).
16
+ An HAnimSite node serves three purposes: (a) define an "end effector" location which can be used by an inverse kinematics system, (b) define an attachment point for accessories such as jewelry and clothing, and (c) define a location for a Viewpoint virtual camera in the reference frame of an HAnimSegment (such as a view "through the eyes" of the humanoid for use in multi-user worlds).
17
17
 
18
- The HAnimSite node belongs to the **HAnim** component and its default container field is *children.* It is available since X3D version 3.0 or later.
18
+ The HAnimSite node belongs to the **HAnim** component and its default container field is *children.* It is available from X3D version 3.0 or higher.
19
19
 
20
20
  ## Hierarchy
21
21
 
@@ -30,104 +30,147 @@ The HAnimSite node belongs to the **HAnim** component and its default container
30
30
 
31
31
  ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
32
32
 
33
- 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
+ Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
34
+
35
+ #### Hint
36
+
37
+ - [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
34
38
 
35
39
  ### SFString [in, out] **description** ""
36
40
 
37
- Author-provided prose that describes intended purpose of the url asset.
41
+ Author-provided prose that describes intended purpose of this node.
38
42
 
39
43
  #### Hint
40
44
 
41
- - Many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as &amp;#38; for & ampersand character, or &amp;#34; for " quotation-mark character).
45
+ - Many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as &amp;#38; for &amp; ampersand character, or &amp;#34; for " quotation-mark character).
42
46
 
43
- ### SFBool [ ] **visible** TRUE
47
+ ### SFString [in, out] **name** ""
44
48
 
45
- Whether or not renderable content within this node is visually displayed.
49
+ Unique *name* attribute must be defined so that HAnimSite node can be identified at run time for animation purposes.
46
50
 
47
- #### Hint
51
+ #### Hints
48
52
 
49
- - The visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
50
- - Content must be visible to be collidable and to be pickable.
53
+ - HAnimSite names are typically based on feature point names, though other author-defined names are also allowed.
54
+ - Https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/FeaturePoints.html
55
+ - HAnimSite nodes used as end effectors have '_tip' suffix appended to the *name*.
56
+ - HAnimSite nodes containing a Viewpoint location have '_view' suffix appended to the *name*.
57
+ - HAnimSite nodes serving other purposes have '_pt' suffix appended to the *name*.
58
+ - Additional example *name* bases (such as cervicale l_infraorbitale supramenton etc.) are listed in HAnim Specification.
59
+ - [HAnim Specification part 1, LOA-3 default Site object translations](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/BodyDimensionsAndLOAs.html#LOA3DefaultSiteTranslations){:target="_blank"}
60
+ - Well-defined names can simplify design and debugging through improved author understanding.
61
+ - [X3D Scene Authoring Hints, Naming Conventions](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions){:target="_blank"}
62
+ - [HAnim2 Names HAnim1 Alias Tables](https://www.web3d.org/x3d/content/examples/HumanoidAnimation/HAnim2NameHAnim1AliasTables.txt){:target="_blank"}
51
63
 
52
- ### SFBool [ ] **bboxDisplay** FALSE
64
+ #### Warnings
53
65
 
54
- Whether to display bounding box for associated geometry, aligned with world coordinates.
66
+ - *name* prefix must match ancestor HAnimHumanoid *name* followed by underscore character, if more than one humanoid appears within a scene file. For example, 'Nancy_' prepended before location *name*.
67
+ - *name* field is not included if this instance is a USE node, in order to avoid potential mismatches.
68
+ - HAnimSite *name* must end in '_tip' or '_view' or '_pt' suffix.
55
69
 
56
- #### Hint
70
+ ### SFVec3f [in, out] **translation** 0 0 0 <small>(-∞,∞)</small>
57
71
 
58
- - The bounding box is displayed regardless of whether contained content is visible.
72
+ Position of children relative to local coordinate system.
59
73
 
60
- ### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
74
+ #### Hints
61
75
 
62
- 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.
76
+ - Since default pose faces along +Z axis, -x values are right side and +x values are left side within HAnimHumanoid.
77
+ - Center field indicates default origin relative to overall humanoid body and is rarely modified. For HAnimSite animation, ROUTE position-change events to *translation* field instead.
63
78
 
64
- #### Hint
79
+ ### SFRotation [in, out] **rotation** 0 0 1 0 <small>(-∞,∞) or [-1,1]</small>
65
80
 
66
- - Can be useful for collision computations or inverse-kinematics (IK) engines.
81
+ Orientation of children relative to local coordinate system.
67
82
 
68
- ### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
83
+ ### SFVec3f [in, out] **scale** 1 1 1 <small>(0,∞)</small>
69
84
 
70
- Bounding box center: optional hint for position offset from origin of local coordinate system.
85
+ Non-uniform x-y-z *scale* of child coordinate system, adjusted by center and scaleOrientation.
71
86
 
72
- ### MFNode [in] **addChildren**
87
+ ### SFRotation [in, out] **scaleOrientation** 0 0 1 0 <small>(-∞,∞) or [-1,1]</small>
73
88
 
74
- Input field addChildren.
89
+ Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
75
90
 
76
- ### MFNode [in] **removeChildren**
91
+ ### SFVec3f [in, out] **center** 0 0 0 <small>(-∞,∞)</small>
77
92
 
78
- Input field removeChildren.
93
+ Default location of this HAnimSite, i.e. offset of *center* from origin of local coordinate system.
79
94
 
80
- ### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
95
+ #### Hint
81
96
 
82
- Input/Output field children.
97
+ - *center* field indicates default origin relative to overall humanoid body and is rarely modified. For HAnimSite animation, ROUTE position-change events to translation field instead.
83
98
 
84
- ### SFVec3f [in, out] **center** 0 0 0 <small>(-∞,∞)</small>
99
+ ### SFBool [in, out] **visible** TRUE
85
100
 
86
- Translation offset from origin of local coordinate system.
101
+ Whether or not renderable content within this node is visually displayed.
87
102
 
88
- ### SFString [in, out] **name** ""
103
+ #### Hints
104
+
105
+ - The *visible* field has no effect on animation behaviors, event passing or other non-visual characteristics.
106
+ - Content must be *visible* to be collidable and to be pickable.
107
+
108
+ ### SFBool [in, out] **bboxDisplay** FALSE
89
109
 
90
- Unique name attribute must be defined so that HAnimSite node can be identified at run time for animation purposes.
110
+ Whether to display bounding box for associated geometry, aligned with world coordinates.
111
+
112
+ #### Hint
113
+
114
+ - The bounding box is displayed regardless of whether contained content is visible.
115
+
116
+ ### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
117
+
118
+ 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.
91
119
 
92
120
  #### Hints
93
121
 
94
- - HAnimSite nodes used as end effectors have '\_tip' suffix appended to the name. HAnimSite nodes containing a Viewpoint location have '\_view' suffix appended to the name. HAnimSite nodes serving other purposes have '\_pt' suffix appended to the name. Examples: cervicale l_infraorbitale supramenton etc. as listed in HAnim Specification.
122
+ - Can be useful for collision computations or inverse-kinematics (IK) engines.
123
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
124
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
125
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
95
126
 
96
- #### Warning
127
+ ### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
97
128
 
98
- - Name is not included if this instance is a USE node.
129
+ Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
99
130
 
100
- #### See Also
131
+ #### Hints
101
132
 
102
- - [HAnim Humanoid Site Names LOA-3](https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/tables/HAnimSiteLoa3Names19774V1.0.txt){:target="_blank"}
103
- - [HAnim Specification, LOA-3 default Site object translations](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/BodyDimensionsAndLOAs.html#LOA3DefaultSiteTranslations){:target="_blank"}
133
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
134
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
135
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
104
136
 
105
- ### SFRotation [in, out] **rotation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
137
+ ### MFNode [in] **addChildren**
106
138
 
107
- Orientation of children relative to local coordinate system.
139
+ Input field *addChildren*.
108
140
 
109
- ### SFVec3f [in, out] **scale** 1 1 1 <small>(0,∞)</small>
141
+ ### MFNode [in] **removeChildren**
110
142
 
111
- Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
143
+ Input field *removeChildren*.
112
144
 
113
- ### SFRotation [in, out] **scaleOrientation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
145
+ ### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
114
146
 
115
- Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
147
+ Grouping nodes contain an ordered list of *children* nodes.
116
148
 
117
- ### SFVec3f [in, out] **translation** 0 0 0 <small>(-∞,∞)|[-1,1]</small>
149
+ #### Hints
118
150
 
119
- Position of children relative to local coordinate system.
151
+ - 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.
152
+ - InputOnly MFNode addChildren field can append new X3DChildNode nodes via a ROUTE connection, duplicate input nodes (i.e. matching DEF, USE values) are ignored.
153
+ - InputOnly MFNode removeChildren field can remove nodes from the *children* list, unrecognized input nodes (i.e. nonmatching DEF, USE values) are ignored.
154
+ - [X3D Architecture 10.2.1 Grouping and *children* node types](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#GroupingAndChildrenNodes){:target="_blank"}
120
155
 
121
- ## Description
156
+ ## Advisories
122
157
 
123
158
  ### Hints
124
159
 
125
160
  - HAnimSite nodes are stored as children of an HAnimSegment node.
126
- - Include `<component name='HAnim' level='1'/>`
161
+ - [HAnim Specification](https://www.web3d.org/documents/specifications/19774/V2.0){:target="_blank"}
162
+ - [HAnim Specification part 1, Site](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Site){:target="_blank"}
163
+ - [HAnim Specification part 1, Annex B, Feature points for the human body](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/FeaturePoints.html){:target="_blank"}
164
+ - [X3D for Advanced Modeling (X3D4AM) slideset](https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/HumanoidAnimation.pdf){:target="_blank"}
165
+ - [HAnim2 default values for Joint and Site (feature point) nodes](https://www.web3d.org/x3d/content/examples/HumanoidAnimation/HAnim2DefaultValuesJointsFeaturePoints.txt){:target="_blank"}
166
+
167
+ ### Warnings
168
+
169
+ - Ensure that visible HAnimSite locations are not inadvertently obscured by skin animation.
170
+ - Requires X3D `profile='Full'` or else include `<component name='HAnim' level='1'/>`
171
+ - For X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen)
172
+ - The number of contained \<HAnimSite USE='*' `containerField='sites,` skeleton or viewpoints'/\> nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimSite node instances found within the preceding skeleton hierarchy.
127
173
 
128
- ## External Links
174
+ ## See Also
129
175
 
130
- - [X3D Specification of HAnimSite](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimSite){:target="_blank"}
131
- - [HAnim Specification](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/HAnimArchitecture.html){:target="_blank"}
132
- - [HAnim Specification, Site](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html#Site){:target="_blank"}
133
- - [HAnim Specification, Annex B, Feature points for the human body](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/FeaturePoints.html){:target="_blank"}
176
+ - [X3D Specification of HAnimSite node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimSite){:target="_blank"}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: ColorInterpolator
3
- date: 2022-01-07
3
+ date: 2023-01-07
4
4
  nav: components-Interpolation
5
5
  categories: [components, Interpolation]
6
6
  tags: [ColorInterpolator, Interpolation]
@@ -13,9 +13,9 @@ tags: [ColorInterpolator, Interpolation]
13
13
 
14
14
  ## Overview
15
15
 
16
- ColorInterpolator generates a range of Color values that can be ROUTEd to a `<Color>` node's color attribute.
16
+ ColorInterpolator generates a range of color values. Authors can ROUTE value_changed output events to various color fields of Material or Color nodes.
17
17
 
18
- The ColorInterpolator node belongs to the **Interpolation** component and its default container field is *children.* It is available since X3D version 2.0 or later.
18
+ The ColorInterpolator node belongs to the **Interpolation** component and its default container field is *children.* It is available from X3D version 2.0 or higher.
19
19
 
20
20
  ## Hierarchy
21
21
 
@@ -30,23 +30,44 @@ The ColorInterpolator node belongs to the **Interpolation** component and its de
30
30
 
31
31
  ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
32
32
 
33
- 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
+ Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
34
+
35
+ #### Hint
36
+
37
+ - [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
34
38
 
35
39
  ### SFFloat [in] **set_fraction** <small>(-∞,∞)</small>
36
40
 
37
41
  *set_fraction* selects input key for corresponding keyValue output.
38
42
 
39
- ### MFFloat [in, out] **key** [ ] <small>(-∞,∞)</small>
43
+ #### Hint
40
44
 
41
- Definition parameters for linear-interpolation function time intervals, in increasing order and corresponding to keyValues.
45
+ - *set_fraction* values are typically in same range interval as values in the key array. Response to an input *set_fraction* value less than minimum is equivalent to minimum key, and response to an input *set_fraction* value greater than maximum is equivalent to maximum key.
42
46
 
43
47
  #### Warning
44
48
 
49
+ - It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
50
+
51
+ ### MFFloat [in, out] **key** [ ] <small>(-∞,∞)</small>
52
+
53
+ Definition values for linear-interpolation function input intervals, listed in non-decreasing order and corresponding to a value in the keyValue array.
54
+
55
+ #### Hint
56
+
57
+ - Typical interval for values in *key* array is within range of 0 to 1, but larger intervals can be defined with arbitrary bounds.
58
+
59
+ #### Warnings
60
+
45
61
  - Number of keys must match number of keyValues!
62
+ - Values in *key* array shall be monotonically non-decreasing, meaning that each value is greater than or equal to the preceding value.
46
63
 
47
64
  ### MFColor [in, out] **keyValue** [ ] <small>[0,1]</small>
48
65
 
49
- Output values for linear interpolation, each corresponding to time-fraction keys.
66
+ Output values for linear interpolation, each corresponding to an input-fraction value in the key array.
67
+
68
+ #### Hint
69
+
70
+ - [Identical adjacent entries in *keyValue* array have the effect of defining constant-value step functions.](https://en.wikipedia.org/wiki/Step_function){:target="_blank"}
50
71
 
51
72
  #### Warning
52
73
 
@@ -56,18 +77,27 @@ Output values for linear interpolation, each corresponding to time-fraction keys
56
77
 
57
78
  Linearly interpolated output value determined by current key time and corresponding keyValue pair.
58
79
 
59
- ## Description
80
+ #### Hint
81
+
82
+ - X3D players might not send unchanging intermediate values, thus avoiding excessive superfluous events that have no effect.
83
+
84
+ #### Warning
85
+
86
+ - It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
87
+
88
+ ## Advisories
60
89
 
61
90
  ### Hints
62
91
 
63
92
  - Typical input connection is ROUTE someTimeSensorDEF.fraction_changed TO thisInterpolatorDEF.set_fraction.
64
93
  - Typical output connection is ROUTE thisInterpolatorDEF.value_changed TO someDestinationNodeDEF.set_someAttribute.
94
+ - [X3D Scene Authoring Hints, Color](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color){:target="_blank"}
95
+ - [Example scenes and authoring assets](https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter07EventAnimationInterpolation){:target="_blank"}
65
96
 
66
97
  ## Example
67
98
 
68
99
  <x3d-canvas src="https://create3000.github.io/media/examples/Interpolation/ColorInterpolator/ColorInterpolator.x3d" update="auto"></x3d-canvas>
69
100
 
70
- ## External Links
101
+ ## See Also
71
102
 
72
- - [X3D Specification of ColorInterpolator](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ColorInterpolator){:target="_blank"}
73
- - [X3D Scene Authoring Hints, Color](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color){:target="_blank"}
103
+ - [X3D Specification of ColorInterpolator node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/interpolators.html#ColorInterpolator){:target="_blank"}