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: HAnimJoint
3
- date: 2022-01-07
3
+ date: 2023-01-07
4
4
  nav: components-HAnim
5
5
  categories: [components, HAnim]
6
6
  tags: [HAnimJoint, HAnim]
@@ -13,9 +13,9 @@ tags: [HAnimJoint, HAnim]
13
13
 
14
14
  ## Overview
15
15
 
16
- Each joint in the body is represented by an HAnimJoint node.
16
+ HAnimJoint node can represent each joint in a body. The child HAnimSegment node provides a visual representation of the skeleton segment.
17
17
 
18
- The HAnimJoint 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 HAnimJoint 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,56 +30,64 @@ The HAnimJoint 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 HAnimJoint 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
+ - [HAnim Specification part 1, Humanoid Joint-Segment Hierarchy](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#Hierarchy){:target="_blank"}
54
+ - Well-defined names can simplify design and debugging through improved author understanding.
55
+ - [X3D Scene Authoring Hints, Naming Conventions](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions){:target="_blank"}
56
+ - [HAnim2 Names HAnim1 Alias Tables](https://www.web3d.org/x3d/content/examples/HumanoidAnimation/HAnim2NameHAnim1AliasTables.txt){:target="_blank"}
51
57
 
52
- ### SFBool [ ] **bboxDisplay** FALSE
58
+ #### Warnings
53
59
 
54
- Whether to display bounding box for associated geometry, aligned with world coordinates.
60
+ - *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*.
61
+ - *name* field is not included if this instance is a USE node, in order to avoid potential mismatches. Examples: humanoid_root sacroiliac l_hip l_knee l_ankle etc. as listed in HAnim Specification.
62
+ - [Note precise spelling of special HAnimJoint *name*='humanoid_root' according to](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#TheBody){:target="_blank"}
55
63
 
56
- #### Hint
64
+ ### SFVec3f [in, out] **translation** 0 0 0 <small>(-∞,∞)</small>
57
65
 
58
- - The bounding box is displayed regardless of whether contained content is visible.
66
+ Position of children relative to local coordinate system.
59
67
 
60
- ### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
68
+ #### Hint
61
69
 
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.
70
+ - Since default pose faces along +Z axis, -x values are right side and +x values are left side within HAnimHumanoid.
63
71
 
64
- #### Hint
72
+ #### Warning
65
73
 
66
- - Can be useful for collision computations or inverse-kinematics (IK) engines.
74
+ - Usually HAnimJoint position is controlled by the center field, not the *translation* field.
67
75
 
68
- ### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
76
+ ### SFRotation [in, out] **rotation** 0 0 1 0 <small>(-∞,∞) or [-1,1]</small>
69
77
 
70
- Bounding box center: optional hint for position offset from origin of local coordinate system.
78
+ Orientation of children relative to local coordinate system.
71
79
 
72
- ### MFNode [in] **addChildren**
80
+ #### Warning
73
81
 
74
- Input field addChildren.
82
+ - Default pose is typically empty (or an identity *rotation*) to avoid distorted body animations.
75
83
 
76
- ### MFNode [in] **removeChildren**
84
+ ### SFVec3f [in, out] **scale** 1 1 1 <small>(0,∞)</small>
77
85
 
78
- Input field removeChildren.
86
+ Non-uniform x-y-z *scale* of child coordinate system, adjusted by center and scaleOrientation.
79
87
 
80
- ### MFNode [in, out] **children** [ ] <small>[HAnimJoint,HAnimSegment,HAnimSite]</small>
88
+ ### SFRotation [in, out] **scaleOrientation** 0 0 1 0 <small>(-∞,∞) or [-1,1]</small>
81
89
 
82
- Input/Output field children.
90
+ Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
83
91
 
84
92
  ### SFVec3f [in, out] **center** 0 0 0 <small>(-∞,∞)</small>
85
93
 
@@ -87,50 +95,52 @@ Translation offset from origin of local coordinate system.
87
95
 
88
96
  #### Hint
89
97
 
90
- - Usually HAnimJoint position is controlled by the center field, not the translation field.
98
+ - Usually HAnimJoint position is controlled by the *center* field, not the translation field.
91
99
 
92
- ### MFNode [in, out] **displacers** [ ] <small>[HAnimDisplacer]</small>
100
+ ### MFFloat [in, out] **llimit** [ ] <small>(-∞,∞)</small>
93
101
 
94
- Input/Output field displacers.
102
+ Lower limit for minimum joint rotation in radians.
95
103
 
96
- ### SFRotation [in, out] **limitOrientation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
104
+ #### Hints
97
105
 
98
- Orientation of upper/lower rotation limits, relative to HAnimJoint center.
106
+ - Always contains 3 values, one for each local axis.
107
+ - An empty array is equivalent to 0 0 0.
99
108
 
100
- ### MFFloat [in, out] **llimit** [ ] <small>(-∞,∞)</small>
109
+ #### Warning
101
110
 
102
- Lower limit for minimum joint rotation in radians.
111
+ - Field shall contain three values or else be an empty array. Behavior is undefined when array length is 1, 2, or greater than 3.
103
112
 
104
- #### Hint
113
+ ### MFFloat [in, out] **ulimit** [ ] <small>(-∞,∞)</small>
105
114
 
106
- - Always contains 3 values, one for each local axis.
115
+ Upper limit for maximum joint rotation in radians.
107
116
 
108
- ### SFString [in, out] **name** ""
117
+ #### Hints
109
118
 
110
- Unique name attribute must be defined so that HAnimJoint node can be identified at run time for animation purposes.
119
+ - Always contains 3 values, one for each local axis.
120
+ - An empty array is equivalent to 0 0 0.
111
121
 
112
122
  #### Warning
113
123
 
114
- - Name is not included if this instance is a USE node. Examples: HumanoidRoot sacroiliac l_hip l_knee l_ankle etc. as listed in HAnim Specification.
124
+ - Field shall contain three values or else be an empty array. Behavior is undefined when array length is 1, 2, or greater than 3.
115
125
 
116
- #### See Also
126
+ ### SFRotation [in, out] **limitOrientation** 0 0 1 0 <small>(-∞,∞) or [-1,1]</small>
117
127
 
118
- - [HAnim Humanoid Joint Names](https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/tables/HAnimJointNames19774V1.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"}
128
+ Orientation of upper/lower rotation limits, relative to HAnimJoint center.
120
129
 
121
- ### SFRotation [in, out] **rotation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
130
+ ### MFFloat [in, out] **stiffness** [ 0, 0, 0 ] <small>[0,1]</small>
122
131
 
123
- Orientation of children relative to local coordinate system.
132
+ A scale factor of (1 - *stiffness*) is applied around the corresponding axis (X, Y, or Z for entries 0, 1 and 2 of the *stiffness* field). Thus a *stiffness* value of zero means that no rotation scaling occurs, while a *stiffness* value of one means that no rotation occurs regardless of any provided rotation.
124
133
 
125
- ### SFVec3f [in, out] **scale** 1 1 1 <small>(0,∞)</small>
134
+ #### Hints
126
135
 
127
- Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
136
+ - An empty array is equivalent to 0 0 0.
137
+ - Used by inverse kinematics (IK) systems.
128
138
 
129
- ### SFRotation [in, out] **scaleOrientation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
139
+ #### Warning
130
140
 
131
- Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
141
+ - Field shall contain three values or else be an empty array. Behavior is undefined when array length is 1, 2, or greater than 3.
132
142
 
133
- ### MFInt32 [in, out] **skinCoordIndex** [ ]
143
+ ### MFInt32 [in, out] **skinCoordIndex** [ ] <small>[0,∞)</small>
134
144
 
135
145
  Coordinate index values referencing which vertices are influenced by the HAnimJoint.
136
146
 
@@ -138,53 +148,109 @@ Coordinate index values referencing which vertices are influenced by the HAnimJo
138
148
 
139
149
  - Corresponding skinCoord Coordinate and skinNormal Normal nodes are directly contained within the ancestor HAnimHumanoid node for this HAnimJoint.
140
150
 
141
- #### Warning
151
+ #### Warnings
142
152
 
143
153
  - -1 sentinel values are not allowed.
154
+ - 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.
144
155
 
145
156
  ### MFFloat [in, out] **skinCoordWeight** [ ]
146
157
 
147
158
  Weight deformation values for the corresponding values in the skinCoordIndex field.
148
159
 
149
- ### MFFloat [in, out] **stiffness** [ 0, 0, 0 ] <small>[0,1]</small>
160
+ #### Warning
150
161
 
151
- Axial values (0,1) indicating willingness of joint to move (about local X, Y, Z axes), larger stiffness values means greater resistance.
162
+ - 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.
152
163
 
153
- #### Hint
164
+ ### MFNode [in, out] **displacers** [ ] <small>[HAnimDisplacer]</small>
154
165
 
155
- - Used by inverse kinematics (IK) systems.
166
+ The *displacers* field stores HAnimDisplacer objects for a particular HAnimJoint object.
156
167
 
157
- ### SFVec3f [in, out] **translation** 0 0 0 <small>(-∞,∞)</small>
168
+ #### Warning
158
169
 
159
- Position of children relative to local coordinate system.
170
+ - 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.
160
171
 
161
- #### Warning
172
+ ### SFBool [in, out] **visible** TRUE
162
173
 
163
- - Usually HAnimJoint position is controlled by the center field, not the translation field.
174
+ Whether or not renderable content within this node is visually displayed.
164
175
 
165
- ### MFFloat [in, out] **ulimit** [ ] <small>(-∞,∞)</small>
176
+ #### Hints
166
177
 
167
- Upper limit for maximum joint rotation in radians.
178
+ - The *visible* field has no effect on animation behaviors, event passing or other non-visual characteristics.
179
+ - Content must be *visible* to be collidable and to be pickable.
180
+
181
+ ### SFBool [in, out] **bboxDisplay** FALSE
182
+
183
+ Whether to display bounding box for associated geometry, aligned with world coordinates.
168
184
 
169
185
  #### Hint
170
186
 
171
- - Always contains 3 values, one for each local axis.
187
+ - The bounding box is displayed regardless of whether contained content is visible.
188
+
189
+ ### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
190
+
191
+ 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.
192
+
193
+ #### Hints
194
+
195
+ - Can be useful for collision computations or inverse-kinematics (IK) engines.
196
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
197
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
198
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
199
+
200
+ ### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
201
+
202
+ Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
203
+
204
+ #### Hints
205
+
206
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
207
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
208
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
209
+
210
+ ### MFNode [in] **addChildren**
211
+
212
+ Input field *addChildren*.
213
+
214
+ ### MFNode [in] **removeChildren**
215
+
216
+ Input field *removeChildren*.
217
+
218
+ ### MFNode [in, out] **children** [ ] <small>[HAnimJoint,HAnimSegment,HAnimSite]</small>
219
+
220
+ Grouping nodes contain an ordered list of *children* nodes.
221
+
222
+ #### Hints
223
+
224
+ - 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.
225
+ - Place any geometry for this HAnimJoint in the child HAnimSegment, wrapped within a Transform having the same translation value as the current HAnimJoint center value.
226
+ - InputOnly MFNode addChildren field can append new X3DChildNode nodes via a ROUTE connection, duplicate input nodes (i.e. matching DEF, USE values) are ignored.
227
+ - InputOnly MFNode removeChildren field can remove nodes from the *children* list, unrecognized input nodes (i.e. nonmatching DEF, USE values) are ignored.
228
+ - [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"}
229
+
230
+ #### Warning
231
+
232
+ - HAnimJoint can only contain HAnimJoint or HAnimSegment nodes (each having default `containerField='children').`
172
233
 
173
- ## Description
234
+ ## Advisories
174
235
 
175
236
  ### Hints
176
237
 
177
- - HAnimJoint may only be a child of another HAnimJoint node, or skeleton field for the HAnimHumanoid.
178
- - HAnimJoint can only contain nodes HAnimJoint, HAnimSegment, HAnimSite with containerField='children' and also HAnimDisplacer nodes with containerField='displacers'.
238
+ - HAnimJoint may only get inserted as one (or more) root nodes of HAnimHumanoid skeleton field, as a child of another HAnimJoint node, or as a USE node in the HAnimHumanoid joints field.
179
239
  - Visualization shapes for HAnimJoint nodes can be placed in child HAnimSegment or HAnimSite nodes.
180
- - Include `<component name='HAnim' level='1'/>`
240
+ - [HAnim Specification](https://www.web3d.org/documents/specifications/19774/V2.0){:target="_blank"}
241
+ - [HAnim Specification part 1, Joint](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Joint){:target="_blank"}
242
+ - [X3D for Advanced Modeling (X3D4AM) slideset](https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/HumanoidAnimation.pdf){:target="_blank"}
243
+ - [HAnim2 default values for Joint and Site (feature point) nodes](https://www.web3d.org/x3d/content/examples/HumanoidAnimation/HAnim2DefaultValuesJointsFeaturePoints.txt){:target="_blank"}
181
244
 
182
- ### Warning
245
+ ### Warnings
183
246
 
247
+ - HAnimJoint can only contain certain nodes: HAnimJoint, HAnimSegment, HAnimSite (with `containerField='children')` and also HAnimDisplacer nodes (with `containerField='displacers').`
184
248
  - An HAnimJoint may not be a child of an HAnimSegment.
249
+ - Requires X3D `profile='Full'` or else include `<component name='HAnim' level='1'/>`
250
+ - For X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen)
251
+ - For X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen)
252
+ - The number of contained \<HAnimJoint USE='*' `containerField='joints'/>` nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimJoint node instances found within the preceding skeleton hierarchy.
185
253
 
186
- ## External Links
254
+ ## See Also
187
255
 
188
- - [X3D Specification of HAnimJoint](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimJoint){:target="_blank"}
189
- - [HAnim Specification](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/HAnimArchitecture.html){:target="_blank"}
190
- - [HAnim Specification, Joint](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html#Joint){:target="_blank"}
256
+ - [X3D Specification of HAnimJoint node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimJoint){:target="_blank"}
@@ -13,64 +13,174 @@ tags: [HAnimMotion, HAnim]
13
13
 
14
14
  ## Overview
15
15
 
16
- HAnimMotion ...
16
+ An HAnimMotion node supports discrete frame-by-frame playback for H-Anim motion data animation. Design characteristics include integration with HAnim figure data and HAnimJoint nodes, animation control, and playback of raw motion data.
17
17
 
18
- The HAnimMotion node belongs to the **HAnim** component and its default container field is *children.* It is available since X3D version 4.0 or later.
18
+ The HAnimMotion node belongs to the **HAnim** component and its default container field is *children.* It is available from X3D version 4.0 or higher.
19
19
 
20
20
  ## Hierarchy
21
21
 
22
22
  ```
23
23
  + X3DNode
24
+ + X3DChildNode
25
+ + HAnimMotion
24
26
  ```
25
27
 
26
28
  ## Fields
27
29
 
28
30
  ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
29
31
 
30
- Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
32
+ Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
33
+
34
+ #### Hint
35
+
36
+ - [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
31
37
 
32
38
  ### SFString [in, out] **description** ""
33
39
 
34
- Author-provided prose that describes intended purpose of the url asset.
40
+ Author-provided prose that describes intended purpose of this node.
35
41
 
36
42
  #### Hint
37
43
 
38
- - 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).
44
+ - 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).
39
45
 
40
46
  ### SFBool [in, out] **enabled** TRUE
41
47
 
48
+ Enables/disables node operation.
49
+
42
50
  ### SFBool [in] **next**
43
51
 
52
+ Send *next* output value in keyValue array, and reset internal fraction field to match corresponding value in key array.
53
+
54
+ #### Hint
55
+
56
+ - This input event will "wrap around" boundary of frame array, i.e. continue from endFrame next to startFrame if necessary.
57
+
58
+ #### Warning
59
+
60
+ - It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
61
+
44
62
  ### SFBool [in] **previous**
45
63
 
46
- ### SFTime [in, out] **frameDuration** <small></small>
64
+ Send *previous* output value in keyValue array, and reset internal fraction field to match corresponding value in key array.
65
+
66
+ #### Hint
67
+
68
+ - This input event will "wrap around" boundary of frame array, i.e. continue from startFrame next to endFrame if necessary.
69
+
70
+ #### Warning
71
+
72
+ - It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
73
+
74
+ ### SFTime [in, out] **frameDuration** 0.1 <small>(0,∞)</small>
75
+
76
+ *frameDuration* specifies the duration of each frame in seconds.
77
+
78
+ ### SFInt32 [in, out] **frameIncrement** 1 <small>(-∞,∞)</small>
79
+
80
+ *frameIncrement* field controls whether playback direction is forwards or backwards, and also whether frames are skipped (for example, subsampled replay). For a single animation step, the next frameIndex value equals (frameIndex + *frameIncrement*) modulo frameCount.
81
+
82
+ #### Hint
83
+
84
+ - Note that setting *frameIncrement* to 0 prevents automatic advancement of frameIndex and pauses animation of HAnimMotion node.
85
+
86
+ ### SFInt32 [in, out] **frameIndex** 0 <small>[0,∞)</small>
87
+
88
+ *frameIndex* indicates index of current frame. Note that *frameIndex* can be modified whether the Motion node is enabled or not, and becomes effective when the next animation cycle occurs. Thus the *frameIndex* value indicates the frame currently (or next) being processed.
89
+
90
+ #### Hint
91
+
92
+ - *frameIndex* starts at 0 and is no greater than (frameCount - 1). Values less than 0 are reset as 0. Values greater or equal to frameCount are stored as (frameCount - 1). Thus the value of *frameIndex* shall be greater than or equal to zero, and less than frameCount.
93
+
94
+ ### SFBool [in, out] **loop** FALSE
95
+
96
+ Repeat indefinitely when *loop*=true, repeat only once when *loop*=false.
97
+
98
+ ### SFString [in, out] **channels** ""
99
+
100
+ List of number of *channels* for transformation, followed by transformation type of each channel of data. Each value is space or comma separated.
47
101
 
48
- ### SFInt32 [in, out] **frameIncrement** <small></small>
102
+ #### Hint
103
+
104
+ - *channels* are enabled by default, unless otherwise indicated by channelsEnabled field.
105
+
106
+ ### MFBool [in, out] **channelsEnabled** [ ]
107
+
108
+ Boolean values for each channel indicating whether enabled.
109
+
110
+ ### SFString [in, out] **joints** ""
111
+
112
+ *joints* field lists names of *joints* that raw motion data is to be applied to. The number and order of the names in the *joints* field shall match the number and order of the channels field information, and the number and order of the sets of values in the values field for each frame of the animation.
113
+
114
+ #### Hints
115
+
116
+ - Values are space or comma separated.
117
+ - The joint name IGNORED shall be used for channel of motion data that is not used for any joint.
49
118
 
50
- ### SFInt32 [in, out] **frameIndex** <small></small>
119
+ ### SFInt32 [in, out] **loa** -1 <small>[-1,4]</small>
51
120
 
52
- ### SFBool [in, out] **loop** <small></small>
121
+ Level Of Articulation 0..4 indicates complexity and detail of joints for given humanoid skeletal hierarchy.
53
122
 
54
- ### SFString [in, out] **channels** <small></small>
123
+ #### Hints
55
124
 
56
- ### MFBool [in, out] **channelsEnabled** <small></small>
125
+ - *loa* value of -1 indicates that no LOA conformance is provided.
126
+ - [Humanoid Animation (HAnim) Specification, Part 1 Architecture, 4.8.4 Levels of articulation](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#LevelsOfArticulation){:target="_blank"}
57
127
 
58
- ### MFString [in, out] **joints** <small></small>
128
+ ### SFInt32 [in, out] **startFrame** 0 <small>[0,∞)</small>
59
129
 
60
- ### SFInt32 [in, out] **loa** <small></small>
130
+ *startFrame* indicates initial index of animated frame. Note that *startFrame* can precede, equal or follow endFrame.
61
131
 
62
- ### SFInt32 [in, out] **startFrame** <small></small>
132
+ #### Hint
133
+
134
+ - *startFrame* starts at 0 and is no greater than (frameCount - 1).
135
+
136
+ ### SFInt32 [in, out] **endFrame** 0 <small>[0,∞)</small>
137
+
138
+ *endFrame* indicates final index of animated frame. Note that *endFrame* can precede, equal or follow *endFrame*. The default *endFrame* value is reset to (frameCount - 1) whenever frameCount is changed.
63
139
 
64
- ### SFInt32 [in, out] **endFrame** <small></small>
140
+ #### Hint
141
+
142
+ - *endFrame* starts at 0 and is no greater than (frameCount - 1).
65
143
 
66
- ### MFFloat [in, out] **values** <small></small>
144
+ ### MFFloat [in, out] **values** [ ] <small>(-∞,∞)</small>
145
+
146
+ *values* field contains all transformation *values*, ordered first by frame, then by joint, and then by transformation Sets of floats in the *values* array matching the order listed in joints and channels fields.
67
147
 
68
148
  ### SFTime [out] **cycleTime**
69
149
 
150
+ *cycleTime* sends a time event at initial starting time and at beginning of each new cycle.
151
+
152
+ #### Hint
153
+
154
+ - This event is useful for synchronization with other time-based animation objects.
155
+
156
+ #### Warning
157
+
158
+ - It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
159
+
70
160
  ### SFTime [out] **elapsedTime**
71
161
 
162
+ *elapsedTime* is computed elapsed time since the Motion object was activated and running, counting all traversed frames (as if frameIndex equaled 1) and multiplied by frameDuration, cumulative in seconds.
163
+
164
+ #### Hint
165
+
166
+ - *elapsedTime* is a nonnegative SFTime duration interval, not an absolute clock time.
167
+
168
+ #### Warning
169
+
170
+ - It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
171
+
72
172
  ### SFInt32 [out] **frameCount**
73
173
 
74
- ## External Links
174
+ Output field *frameCount*.
175
+
176
+ ## Advisories
177
+
178
+ ### Hints
179
+
180
+ - [HAnim Specification](https://www.web3d.org/documents/specifications/19774/V2.0){:target="_blank"}
181
+ - HAnim Specification, clause 6.2 Introduction to Motion objectshttps://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimation/MotionNodes.html#IntroductionToMotionNodes
182
+ - [HAnim Specification part 2, clause 6.6 Example Usage of Motion object](https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimation/MotionNodes.html#MotionObjectExample){:target="_blank"}
183
+
184
+ ## See Also
75
185
 
76
- - [X3D Specification of HAnimMotion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimMotion){:target="_blank"}
186
+ - [X3D Specification of HAnimMotion node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimMotion){:target="_blank"}