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: HAnimHumanoid
3
- date: 2022-01-07
3
+ date: 2023-01-07
4
4
  nav: components-HAnim
5
5
  categories: [components, HAnim]
6
6
  tags: [HAnimHumanoid, HAnim]
@@ -13,9 +13,9 @@ tags: [HAnimHumanoid, HAnim]
13
13
 
14
14
  ## Overview
15
15
 
16
- The HAnimHumanoid node is used to: (a) store references to the joints, segments, sites, skin and viewpoints, (b) serve as a container for the entire humanoid, (c) provide a convenient way of moving the humanoid through its environment, and (d) store human-readable data such as author and copyright information. HAnimHumanoid contains HAnimJoint, HAnimSegment and HAnimSite nodes, plus a single optional Coordinate/CoordinateDouble mesh with a single corresponding Normal node.
16
+ The HAnimHumanoid node is used to: (a) store references to the joints, segments, sites, skeleton, optional skin, and fixed viewpoints, (b) serve as a container for the entire humanoid, (c) provide a convenient way of moving the humanoid through its environment, and (d) store human-readable metadata such as name, version, author, copyright, age, gender and other information. HAnimHumanoid contains a skeleton consisting of HAnimJoint, HAnimSegment and HAnimSite nodes. HAnimHumanoid can also contain an optional skin consisting of an IndexedFaceSet mesh with corresponding skinCoord Coordinate or CoordinateDouble vertices and skinNormal Normal vectors.
17
17
 
18
- The HAnimHumanoid 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 HAnimHumanoid 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
 
@@ -31,26 +31,152 @@ The HAnimHumanoid node belongs to the **HAnim** component and its default contai
31
31
 
32
32
  ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
33
33
 
34
- Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
34
+ Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
35
+
36
+ #### Hint
37
+
38
+ - [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
35
39
 
36
40
  ### SFString [in, out] **description** ""
37
41
 
38
- Author-provided prose that describes intended purpose of the url asset.
42
+ Author-provided prose that describes intended purpose of this node.
39
43
 
40
44
  #### Hint
41
45
 
42
- - 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).
46
+ - 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).
43
47
 
44
- ### SFBool [ ] **visible** TRUE
48
+ ### SFString [in, out] **name** ""
45
49
 
46
- Whether or not renderable content within this node is visually displayed.
50
+ Unique *name* attribute must be defined so that each HAnimHumanoid node in a scene can be identified at run time for animation purposes.
51
+
52
+ #### Hints
53
+
54
+ - This same *name* is a required *name* prefix for all other HAnim nodes within the HAnimHumanoid, if more than one humanoid appears within a scene file.
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"}
58
+
59
+ #### Warning
60
+
61
+ - *name* field is not included if this instance is a USE node, in order to avoid potential mismatches.
62
+
63
+ ### SFString [in, out] **version** ""
64
+
65
+ HAnimHumanoid *version*, where allowed value is 2.0 for final ISO 19774 *version* 2019.
66
+
67
+ #### Hint
68
+
69
+ - Default HAnimHumanoid *version* is 1.0 for X3D *version* 3, and HAnimHumanoid required *version* is 2.0 for X3D *version* 4.
70
+
71
+ #### Warnings
72
+
73
+ - No other values are allowed for strict validation.
74
+ - Prior developmental versions of HAnim nodes, such as *version* 1 of standardized ISO 19774 *version* 2006, might not validate correctly due to small changes in the contained-node content model, so conversion of such models is recommended.
75
+
76
+ ### MFString [in, out] **info** [ ]
77
+
78
+ Contains metadata keyword=value pairs, where approved keyword terms are humanoidVersion authorName authorEmail copyright creationDate usageRestrictions age gender height and weight.
79
+
80
+ #### Hints
81
+
82
+ - Height and weight are in base units (typically meters), hanimVersion is for author use and separate from HAnimHumanoid version field.
83
+ - Alternate metadata keywords are also allowed.
84
+
85
+ ### SFVec3f [in, out] **translation** 0 0 0 <small>(-∞,∞)</small>
86
+
87
+ Position of children relative to local coordinate system.
47
88
 
48
89
  #### Hint
49
90
 
50
- - The visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
51
- - Content must be visible to be collidable and to be pickable.
91
+ - Since default pose faces along +Z axis, -x values are right side and +x values are left side within HAnimHumanoid.
92
+
93
+ ### SFRotation [in, out] **rotation** 0 0 1 0 <small>(-∞,∞) or [-1,1]</small>
94
+
95
+ Orientation of children relative to local coordinate system.
96
+
97
+ #### Warning
98
+
99
+ - Default pose is typically empty (or an identity *rotation*) to avoid distorted body animations.
100
+
101
+ ### SFVec3f [in, out] **scale** 1 1 1 <small>(0,∞)</small>
102
+
103
+ Non-uniform x-y-z *scale* of child coordinate system, adjusted by center and scaleOrientation.
104
+
105
+ ### SFRotation [in, out] **scaleOrientation** 0 0 1 0 <small>(-∞,∞) or [-1,1]</small>
106
+
107
+ Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
108
+
109
+ ### SFVec3f [in, out] **center** 0 0 0 <small>(-∞,∞)</small>
110
+
111
+ Translation offset from origin of local coordinate system.
112
+
113
+ ### MFVec3f [in, out] **jointBindingPositions** [ ] <small>(-∞,∞)</small>
114
+
115
+ Specifies an array of position values for each HAnimJoint node in the joints field, in order, corresponding to each binding pose.
116
+
117
+ #### Hint
118
+
119
+ - If only one value is provided, it is provided to each Joint equivalently.
120
+
121
+ #### Warning
122
+
123
+ - Not used when skeletalConfiguration='BASIC'.
124
+
125
+ ### MFRotation [in, out] **jointBindingRotations** [ ] <small>(-∞,∞) or [-1,1]</small>
126
+
127
+ Specifies an array of rotation values for each HAnimJoint node in the joints field, in order, corresponding to each binding pose.
128
+
129
+ #### Hint
130
+
131
+ - If only one value is provided, it is provided to each Joint equivalently.
132
+
133
+ #### Warning
134
+
135
+ - Not used when skeletalConfiguration='BASIC'.
136
+
137
+ ### MFVec3f [in, out] **jointBindingScales** [ ] <small>(-∞,∞)</small>
138
+
139
+ Specifies an array of scale values for each HAnimJoint node in the joints field, in order, corresponding to each binding pose.
140
+
141
+ #### Hint
142
+
143
+ - If only one value is provided, it is provided to each Joint equivalently.
144
+
145
+ #### Warning
52
146
 
53
- ### SFBool [ ] **bboxDisplay** FALSE
147
+ - Not used when skeletalConfiguration='BASIC'.
148
+
149
+ ### MFBool [in, out] **motionsEnabled** [ ]
150
+
151
+ Array of boolean values corresponding to HAnimMotion nodes indicating which can animate the HAnimHumanoid.
152
+
153
+ ### SFInt32 [in, out] **loa** -1 <small>[-1,∞)</small>
154
+
155
+ Level Of Articulation 0..4 indicates complexity and detail of joints for given humanoid skeletal hierarchy.
156
+
157
+ #### Hints
158
+
159
+ - *loa* value of -1 indicates that no LOA conformance is provided.
160
+ - [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"}
161
+
162
+ ### SFString [in, out] **skeletalConfiguration** "BASIC"
163
+
164
+ Models sharing a common skeletal configuration can share animations and binding poses.
165
+
166
+ #### Hint
167
+
168
+ - [A value of 'BASIC' conforms to restrictive skeletal model in X3D Humanoid Animation (HAnim) Specification, Part 1 Architecture, 4.8 Modelling of humanoids](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#ModellingOfHumanoids){:target="_blank"}
169
+
170
+ ### SFBool [in, out] **visible** TRUE
171
+
172
+ Whether or not renderable content within this node is visually displayed.
173
+
174
+ #### Hints
175
+
176
+ - The *visible* field has no effect on animation behaviors, event passing or other non-visual characteristics.
177
+ - Content must be *visible* to be collidable and to be pickable.
178
+
179
+ ### SFBool [in, out] **bboxDisplay** FALSE
54
180
 
55
181
  Whether to display bounding box for associated geometry, aligned with world coordinates.
56
182
 
@@ -62,100 +188,164 @@ Whether to display bounding box for associated geometry, aligned with world coor
62
188
 
63
189
  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.
64
190
 
65
- #### Hint
191
+ #### Hints
66
192
 
67
193
  - Can be useful for collision computations or inverse-kinematics (IK) engines.
194
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
195
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
196
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
68
197
 
69
198
  ### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
70
199
 
71
- Bounding box center: optional hint for position offset from origin of local coordinate system.
200
+ Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
72
201
 
73
- ### SFVec3f [in, out] **center** 0 0 0 <small>(-∞,∞)</small>
202
+ #### Hints
74
203
 
75
- Translation offset from origin of local coordinate system.
204
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
205
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
206
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
76
207
 
77
- ### MFString [in, out] **info** [ ]
208
+ ### MFNode [in, out] **skeleton** [ ] <small>[HAnimJoint, HAnimSite]</small>
78
209
 
79
- Contains metadata keyword=value pairs, where approved keyword terms are humanoidVersion authorName authorEmail copyright creationDate usageRestrictions age gender height and weight.
210
+ List of top-level HAnimJoint and HAnimSite nodes that create the *skeleton* model. The *skeleton* field contains the humanoid_root Joint object, and thus the entire hierarchy of HAnimJoint/HAnimSegment nodes making up the articulated *skeleton* model.
80
211
 
81
- ### MFNode [in, out] **joints** [ ] <small>[HAnimJoint]</small>
212
+ #### Hints
82
213
 
83
- Input/Output field joints.
214
+ - Typically contains HAnimJoint with name='humanoid_root'.
215
+ - Immediate children in the *skeleton* field can also include top-level HAnimSite node declarations, which are landmarks for the overall humanoid figure that are not affected by HAnimJoint movement.
84
216
 
85
- ### SFString [in, out] **name** ""
217
+ #### Warning
86
218
 
87
- Unique name attribute must be defined so that HAnimHumanoid node can be identified at run time for animation purposes.
219
+ - Top-level HAnimJoint and HAnimSite nodes must include `containerField='skeleton'` for proper validation and operation.
88
220
 
89
- #### Warning
221
+ ### MFNode [in, out] **viewpoints** [ ] <small>[HAnimSite]</small>
90
222
 
91
- - Name is not included if this instance is a USE node.
223
+ List of HAnimSite nodes containing Viewpoint nodes that appear in the skeleton model, usually as USE node references. The *viewpoints* field contains zero or more special HAnimSite nodes that are only affected by HAnimHumanoid transformations (and no HAnimJoint transformations). Each HAnimSite can contain a Viewpoint as virtual camera in the HAnimHumanoid reference frame (such as viewing the face or profile of the human figure).
92
224
 
93
- ### SFRotation [in, out] **rotation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
225
+ #### Hints
94
226
 
95
- Orientation of children relative to local coordinate system.
227
+ - The viewpoint field has different functionality than the joints, segments and sites fields.
228
+ - The *viewpoints* field connects internal Site nodes that in turn hold relative Viewpoint nodes, such as `<HAnimSite USE='ObserveFaceSite_view' containerField='viewpoints'/>` which has corresponding counterpart nodes `<HAnimSite DEF='ObserveFaceSite_view' name='ObserveFaceSite_view' containerField='children'>` `<Viewpoint description='look at me!'/>` \</HAnimSite\>.
96
229
 
97
- ### SFVec3f [in, out] **scale** 1 1 1 <small>(0,∞)</small>
230
+ #### Warnings
231
+
232
+ - These are actual node declarations, not USE nodes.
233
+ - Top-level HAnimSite nodes (in turn containing Viewpoint nodes) must include `containerField='viewpoints'` for proper validation and operation.
98
234
 
99
- Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
235
+ ### MFNode [in, out] **sites** [ ] <small>[HAnimSite]</small>
100
236
 
101
- ### SFRotation [in, out] **scaleOrientation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
237
+ *sites* field contains a list of USE references for all HAnimSite node instances found within the preceding skeleton hierarchy.
102
238
 
103
- Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
239
+ #### Hints
240
+
241
+ - Order is irrelevant since names are contained in the original DEF objects.
242
+ - These USE nodes can be utilized by inverse kinematics (IK) and animation engines.
243
+
244
+ #### Warnings
245
+
246
+ - 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.
247
+ - Top-level HAnimSite USE nodes must include `containerField='sites'` for proper validation and operation.
104
248
 
105
249
  ### MFNode [in, out] **segments** [ ] <small>[HAnimSegment]</small>
106
250
 
107
- Input/Output field segments.
251
+ The *segments* field contains a list of USE references for all HAnimSegment node instances found within the preceding skeleton hierarchy.
108
252
 
109
- ### MFNode [in, out] **sites** [ ] <small>[HAnimSite]</small>
253
+ #### Hints
110
254
 
111
- Input/Output field sites.
255
+ - Order is irrelevant since names are contained in the original DEF objects.
256
+ - These USE nodes can be utilized by inverse kinematics (IK) and animation engines.
112
257
 
113
- ### MFNode [in, out] **skeleton** [ ] <small>[HAnimJoint, HAnimSite]</small>
258
+ #### Warnings
114
259
 
115
- Input/Output field skeleton.
260
+ - The number of contained `<HAnimSegment USE='*' containerField='segments'/>` nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimSegment node instances found within the preceding skeleton hierarchy.
261
+ - Top-level HAnimSegment USE nodes must include `containerField='segments'` for proper validation and operation.
116
262
 
117
- ### MFNode [in, out] **skin** [ ] <small>[X3DChildNode]</small>
263
+ ### MFNode [in, out] **joints** [ ] <small>[HAnimJoint]</small>
118
264
 
119
- Input/Output field skin.
265
+ The *joints* field contains a list of USE references for all HAnimJoint node instances found within the preceding skeleton hierarchy.
120
266
 
121
- ### SFNode [in, out] **skinCoord** NULL <small>[X3DCoordinateNode]</small>
267
+ #### Hints
268
+
269
+ - Order is irrelevant since names are contained in the original DEF objects.
270
+ - These USE nodes can be utilized by inverse kinematics (IK) and animation engines.
122
271
 
123
- Input/Output field skinCoord.
272
+ #### Warnings
273
+
274
+ - 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.
275
+ - Top-level HAnimJoint USE nodes must include `containerField='joints'` for proper validation and operation.
276
+
277
+ ### MFNode [in, out] **motions** [ ] <small>[HAnimMotion]</small>
278
+
279
+ Contains any HAnimMotion nodes that can animate the HAnimHumanoid.
280
+
281
+ ### SFNode [in, out] **skinBindingNormal** NULL <small>[X3DNormalNode]</small>
282
+
283
+ Input/Output field *skinBindingNormal*.
284
+
285
+ ### SFNode [in, out] **skinBindingCoord** NULL <small>[X3DCoordinateNode]</small>
286
+
287
+ Input/Output field *skinBindingCoord*.
124
288
 
125
289
  ### SFNode [in, out] **skinNormal** NULL <small>[X3DNormalNode]</small>
126
290
 
127
- Input/Output field skinNormal.
291
+ Single Normal node utilized by indexed mesh definitions for skin. The *skinNormal* field contains a single sequence of normal values, used by internal HAnimHumanoid mechanisms to create appropriate surface deformations as well as by the indexed face set definitions within the skin field that perform the actual rendering of surface geometry.
128
292
 
129
- ### SFVec3f [in, out] **translation** 0 0 0 <small>(-∞,∞)</small>
293
+ #### Warnings
130
294
 
131
- Position of children relative to local coordinate system.
295
+ - 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.
296
+ - Top-level Normal node must include `containerField='skinNormal'` for proper validation and operation.
297
+ - (X3D version 4.0 draft) requires X3D `profile='Full'` or else include `<component name='HAnim' level='2'/>`
298
+ - For X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen)
132
299
 
133
- ### SFString [in, out] **version** ""
300
+ ### SFNode [in, out] **skinCoord** NULL <small>[X3DCoordinateNode]</small>
134
301
 
135
- HAnimHumanoid version, where standardized ISO 19774 value is 2.0.
302
+ Coordinate node utilized by indexed mesh definitions for skin. The *skinCoord* field contains a single sequence of points, used by internal HAnimHumanoid mechanisms to create appropriate surface deformations as well as by the indexed face set definitions within the skin field that perform the actual rendering of surface geometry.
136
303
 
137
- #### Warning
304
+ #### Hint
138
305
 
139
- - Prior versions of HAnim nodes might not validate correctly.
306
+ - A single node is used so that coordIndex references are consistent for all references to these coordinates.
140
307
 
141
- ### MFNode [in, out] **viewpoints** [ ] <small>[HAnimSite]</small>
308
+ #### Warnings
309
+
310
+ - 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.
311
+ - Top-level Coordinate or CoordinateDouble node must include `containerField='skinCoord'` for proper validation and operation.
312
+ - (X3D version 4.0 draft) requires X3D `profile='Full'` or else include `<component name='HAnim' level='2'/>`
313
+ - For X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen)
314
+
315
+ ### MFNode [in, out] **skin** [ ] <small>[X3DChildNode]</small>
316
+
317
+ List of one or more indexed mesh definitions (such as IndexedFaceSet) that utilize skinCoord point and skinNormal normal data.
318
+
319
+ #### Hint
142
320
 
143
- Input/Output field viewpoints.
321
+ - Put *skin* node first and provide DEF label to simplify USE node usage within the skeleton hierarchy.
144
322
 
145
- ## Description
323
+ #### Warnings
324
+
325
+ - 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.
326
+ - Top-level node must include `containerField='skin'` for proper validation and operation.
327
+ - (X3D version 4.0 draft) requires X3D `profile='Full'` or else include `<component name='HAnim' level='2'/>`
328
+ - For X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen)
329
+
330
+ ## Advisories
146
331
 
147
332
  ### Hints
148
333
 
149
- - MFNode arrays for joints, segments, sites, skin and viewpoints usually follow the human body definition and contain USE node references.
150
- - The viewpoints field connects internal Site nodes that in turn hold relative Viewpoint nodes, such as `<HAnimSite USE='ObserveFace_viewSite' containerField='viewpoints'/>` which has a corresponding `<HAnimSite DEF='ObserveFace_viewSite' name='ObserveFace_view' containerField='children' description='look at me!'/>` node.
151
- - Include `<component name='HAnim' level='1'/>`
334
+ - MFNode arrays for the joints, segments, sites, and viewpoints fields provide lists for all HAnim nodes found in the skeleton hierarchy and thus only contain USE node references.
335
+ - [HAnim Specification](https://www.web3d.org/documents/specifications/19774/V2.0){:target="_blank"}
336
+ - [HAnim Specification part 1, Humanoid](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid){:target="_blank"}
337
+ - [HAnim Specification part 2, clause 6.4 Extended definition of Humanoid object](https://www.web3d.org/documents/specifications/19774/V2.0/MotionDataAnimation/MotionNodes.html#HumanoidObjectExtension){:target="_blank"}
338
+ - [X3D for Advanced Modeling (X3D4AM) slideset](https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/HumanoidAnimation.pdf){:target="_blank"}
339
+
340
+ ### Warnings
341
+
342
+ - Requires X3D `profile='Full'` or else include `<component name='HAnim' level='1'/>`
343
+ - For X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen)
152
344
 
153
345
  ## Example
154
346
 
155
347
  <x3d-canvas src="https://create3000.github.io/media/examples/HAnim/HAnimHumanoid/HAnimHumanoid.x3d" update="auto"></x3d-canvas>
156
348
 
157
- ## External Links
349
+ ## See Also
158
350
 
159
- - [X3D Specification of HAnimHumanoid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimHumanoid){:target="_blank"}
160
- - [HAnim Specification](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/HAnimArchitecture.html){:target="_blank"}
161
- - [HAnim Specification, Humanoid](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html#Humanoid){:target="_blank"}
351
+ - [X3D Specification of HAnimHumanoid node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimHumanoid){:target="_blank"}