x_ite 8.8.7 → 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 (341) hide show
  1. package/Makefile +6 -0
  2. package/build/docs/nodes.pl +434 -0
  3. package/dist/assets/components/Annotation.js +13 -13
  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 +26 -26
  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 +33 -33
  16. package/dist/assets/components/Geospatial.min.js +1 -1
  17. package/dist/assets/components/HAnim.js +18 -18
  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 +24 -24
  24. package/dist/assets/components/NURBS.min.js +1 -1
  25. package/dist/assets/components/ParticleSystems.js +24 -24
  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 +18 -18
  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 +14 -14
  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 +18 -18
  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 +965 -96
  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 +45 -19
  49. package/docs/_posts/components/CADGeometry/CADFace.md +44 -18
  50. package/docs/_posts/components/CADGeometry/CADLayer.md +48 -19
  51. package/docs/_posts/components/CADGeometry/CADPart.md +54 -24
  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 +29 -18
  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 +30 -25
  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 +40 -15
  65. package/docs/_posts/components/DIS/DISEntityTypeMapping.md +34 -25
  66. package/docs/_posts/components/DIS/EspduTransform.md +174 -41
  67. package/docs/_posts/components/DIS/ReceiverPdu.md +77 -27
  68. package/docs/_posts/components/DIS/SignalPdu.md +82 -28
  69. package/docs/_posts/components/DIS/TransmitterPdu.md +86 -36
  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 +23 -10
  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 +24 -9
  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 +30 -22
  109. package/docs/_posts/components/Geometry3D/Cylinder.md +30 -26
  110. package/docs/_posts/components/Geometry3D/ElevationGrid.md +73 -29
  111. package/docs/_posts/components/Geometry3D/Extrusion.md +100 -48
  112. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +92 -38
  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 +82 -37
  116. package/docs/_posts/components/Geospatial/GeoLOD.md +66 -27
  117. package/docs/_posts/components/Geospatial/GeoLocation.md +64 -26
  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 +63 -18
  123. package/docs/_posts/components/Geospatial/GeoTransform.md +72 -28
  124. package/docs/_posts/components/Geospatial/GeoViewpoint.md +79 -40
  125. package/docs/_posts/components/Grouping/Group.md +32 -16
  126. package/docs/_posts/components/Grouping/StaticGroup.md +37 -16
  127. package/docs/_posts/components/Grouping/Switch.md +39 -20
  128. package/docs/_posts/components/Grouping/Transform.md +45 -28
  129. package/docs/_posts/components/HAnim/HAnimDisplacer.md +38 -27
  130. package/docs/_posts/components/HAnim/HAnimHumanoid.md +197 -38
  131. package/docs/_posts/components/HAnim/HAnimJoint.md +104 -38
  132. package/docs/_posts/components/HAnim/HAnimMotion.md +117 -7
  133. package/docs/_posts/components/HAnim/HAnimSegment.md +72 -32
  134. package/docs/_posts/components/HAnim/HAnimSite.md +75 -32
  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 +27 -14
  151. package/docs/_posts/components/Layering/LayerSet.md +19 -13
  152. package/docs/_posts/components/Layering/Viewport.md +31 -15
  153. package/docs/_posts/components/Layout/Layout.md +27 -16
  154. package/docs/_posts/components/Layout/LayoutGroup.md +34 -18
  155. package/docs/_posts/components/Layout/LayoutLayer.md +28 -15
  156. package/docs/_posts/components/Layout/ScreenFontStyle.md +72 -45
  157. package/docs/_posts/components/Layout/ScreenGroup.md +32 -16
  158. package/docs/_posts/components/Lighting/DirectionalLight.md +19 -11
  159. package/docs/_posts/components/Lighting/EnvironmentLight.md +2 -6
  160. package/docs/_posts/components/Lighting/PointLight.md +23 -11
  161. package/docs/_posts/components/Lighting/SpotLight.md +32 -19
  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 +15 -11
  166. package/docs/_posts/components/NURBS/NurbsCurve2D.md +14 -10
  167. package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +28 -12
  168. package/docs/_posts/components/NURBS/NurbsPatchSurface.md +19 -13
  169. package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +27 -11
  170. package/docs/_posts/components/NURBS/NurbsSet.md +48 -14
  171. package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +31 -11
  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 +11 -7
  175. package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +26 -16
  176. package/docs/_posts/components/Navigation/Billboard.md +33 -17
  177. package/docs/_posts/components/Navigation/Collision.md +59 -22
  178. package/docs/_posts/components/Navigation/LOD.md +53 -23
  179. package/docs/_posts/components/Navigation/NavigationInfo.md +68 -25
  180. package/docs/_posts/components/Navigation/OrthoViewpoint.md +80 -37
  181. package/docs/_posts/components/Navigation/Viewpoint.md +86 -39
  182. package/docs/_posts/components/Navigation/ViewpointGroup.md +28 -17
  183. package/docs/_posts/components/Networking/Anchor.md +54 -56
  184. package/docs/_posts/components/Networking/Inline.md +42 -29
  185. package/docs/_posts/components/Networking/LoadSensor.md +41 -9
  186. package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +16 -8
  187. package/docs/_posts/components/ParticleSystems/ConeEmitter.md +25 -10
  188. package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +18 -11
  189. package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +15 -8
  190. package/docs/_posts/components/ParticleSystems/ParticleSystem.md +92 -46
  191. package/docs/_posts/components/ParticleSystems/PointEmitter.md +19 -12
  192. package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +23 -15
  193. package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +21 -14
  194. package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +25 -18
  195. package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +11 -7
  196. package/docs/_posts/components/Picking/LinePickSensor.md +37 -15
  197. package/docs/_posts/components/Picking/PickableGroup.md +40 -22
  198. package/docs/_posts/components/Picking/PointPickSensor.md +29 -12
  199. package/docs/_posts/components/Picking/PrimitivePickSensor.md +25 -17
  200. package/docs/_posts/components/Picking/VolumePickSensor.md +25 -12
  201. package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +43 -18
  202. package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +40 -17
  203. package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +35 -13
  204. package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +48 -14
  205. package/docs/_posts/components/Rendering/ClipPlane.md +20 -15
  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 +58 -24
  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 +22 -10
  220. package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +37 -14
  221. package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +34 -16
  222. package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +17 -12
  223. package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +21 -12
  224. package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +31 -12
  225. package/docs/_posts/components/RigidBodyPhysics/Contact.md +19 -15
  226. package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +33 -27
  227. package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +63 -11
  228. package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +22 -12
  229. package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +30 -14
  230. package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +26 -14
  231. package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +24 -12
  232. package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +23 -15
  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 +36 -30
  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 +34 -6
  243. package/docs/_posts/components/Shape/Appearance.md +29 -22
  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 +21 -14
  249. package/docs/_posts/components/Shape/Shape.md +35 -17
  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 +133 -4
  253. package/docs/_posts/components/Sound/AudioClip.md +64 -30
  254. package/docs/_posts/components/Sound/AudioDestination.md +76 -4
  255. package/docs/_posts/components/Sound/BiquadFilter.md +143 -4
  256. package/docs/_posts/components/Sound/BufferAudioSource.md +165 -13
  257. package/docs/_posts/components/Sound/ChannelMerger.md +62 -4
  258. package/docs/_posts/components/Sound/ChannelSelector.md +64 -4
  259. package/docs/_posts/components/Sound/ChannelSplitter.md +68 -4
  260. package/docs/_posts/components/Sound/Convolver.md +124 -4
  261. package/docs/_posts/components/Sound/Delay.md +119 -4
  262. package/docs/_posts/components/Sound/DynamicsCompressor.md +127 -4
  263. package/docs/_posts/components/Sound/Gain.md +115 -4
  264. package/docs/_posts/components/Sound/ListenerPointSource.md +109 -4
  265. package/docs/_posts/components/Sound/MicrophoneSource.md +91 -4
  266. package/docs/_posts/components/Sound/OscillatorSource.md +95 -4
  267. package/docs/_posts/components/Sound/PeriodicWave.md +43 -5
  268. package/docs/_posts/components/Sound/Sound.md +53 -20
  269. package/docs/_posts/components/Sound/SpatialSound.md +120 -4
  270. package/docs/_posts/components/Sound/StreamAudioDestination.md +80 -4
  271. package/docs/_posts/components/Sound/StreamAudioSource.md +91 -4
  272. package/docs/_posts/components/Sound/WaveShaper.md +123 -4
  273. package/docs/_posts/components/Text/FontStyle.md +73 -47
  274. package/docs/_posts/components/Text/Text.md +48 -26
  275. package/docs/_posts/components/TextureProjector/TextureProjector.md +55 -6
  276. package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +56 -6
  277. package/docs/_posts/components/Texturing/ImageTexture.md +28 -20
  278. package/docs/_posts/components/Texturing/MovieTexture.md +69 -38
  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 +44 -19
  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 +25 -13
  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 +66 -23
  296. package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +36 -15
  297. package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +15 -5
  298. package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +20 -17
  299. package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +15 -7
  300. package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +16 -8
  301. package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +43 -21
  302. package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +16 -8
  303. package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +17 -7
  304. package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +50 -17
  305. package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +18 -10
  306. package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +16 -8
  307. package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +20 -11
  308. package/docs/_posts/components/VolumeRendering/VolumeData.md +32 -15
  309. package/docs/_posts/components/X_ITE/BlendMode.md +9 -2
  310. package/docs/_posts/getting-started.md +1 -0
  311. package/docs/_posts/laboratory/x3d-file-converter.md +1 -1
  312. package/package.json +1 -1
  313. package/src/x_ite/Browser/Core/X3DCoreContext.js +10 -3
  314. package/src/x_ite/Browser/DOMIntegration.js +13 -8
  315. package/src/x_ite/Browser/VERSION.js +1 -1
  316. package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +1 -1
  317. package/src/x_ite/Components/DIS/DISEntityManager.js +1 -1
  318. package/src/x_ite/Components/Grouping/Switch.js +1 -1
  319. package/src/x_ite/Components/Layering/X3DLayerNode.js +1 -1
  320. package/src/x_ite/Components/Lighting/DirectionalLight.js +1 -1
  321. package/src/x_ite/Components/Navigation/Collision.js +1 -1
  322. package/src/x_ite/Components/Navigation/LOD.js +1 -1
  323. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +1 -1
  324. package/src/x_ite/Components/Networking/LoadSensor.js +1 -1
  325. package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1 -1
  326. package/src/x_ite/Components/Shape/AcousticProperties.js +1 -1
  327. package/src/x_ite/Components/Shape/Appearance.js +1 -1
  328. package/src/x_ite/Components/Shape/Material.js +1 -1
  329. package/src/x_ite/Components/Shape/TwoSidedMaterial.js +1 -1
  330. package/src/x_ite/Components/Sound/PeriodicWave.js +1 -1
  331. package/src/x_ite/Components/Texturing/TextureProperties.js +1 -1
  332. package/src/x_ite/Fields/ArrayFields.js +2 -2
  333. package/src/x_ite/Fields/SFColor.js +1 -1
  334. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +1 -1
  335. package/src/x_ite/Fields/SFRotation.js +3 -3
  336. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +1 -1
  337. package/src/x_ite/Parser/GoldenGate.js +16 -5
  338. package/src/x_ite/Parser/PLYAParser.js +615 -0
  339. package/src/x_ite/Parser/PLYBParser.js +222 -0
  340. package/src/x_ite/Parser/STLAParser.js +0 -1
  341. /package/build/{bin → docs}/components.js +0 -0
@@ -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
 
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
+
46
74
  ### SFTime [in, out] **frameDuration** 0.1 <small>(0,∞)</small>
47
75
 
76
+ *frameDuration* specifies the duration of each frame in seconds.
77
+
48
78
  ### SFInt32 [in, out] **frameIncrement** 1 <small>(-∞,∞)</small>
49
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
+
50
86
  ### SFInt32 [in, out] **frameIndex** 0 <small>[0,∞)</small>
51
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
+
52
94
  ### SFBool [in, out] **loop** FALSE
53
95
 
96
+ Repeat indefinitely when *loop*=true, repeat only once when *loop*=false.
97
+
54
98
  ### SFString [in, out] **channels** ""
55
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.
101
+
102
+ #### Hint
103
+
104
+ - *channels* are enabled by default, unless otherwise indicated by channelsEnabled field.
105
+
56
106
  ### MFBool [in, out] **channelsEnabled** [ ]
57
107
 
108
+ Boolean values for each channel indicating whether enabled.
109
+
58
110
  ### SFString [in, out] **joints** ""
59
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.
118
+
60
119
  ### SFInt32 [in, out] **loa** -1 <small>[-1,4]</small>
61
120
 
121
+ Level Of Articulation 0..4 indicates complexity and detail of joints for given humanoid skeletal hierarchy.
122
+
123
+ #### Hints
124
+
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"}
127
+
62
128
  ### SFInt32 [in, out] **startFrame** 0 <small>[0,∞)</small>
63
129
 
130
+ *startFrame* indicates initial index of animated frame. Note that *startFrame* can precede, equal or follow endFrame.
131
+
132
+ #### Hint
133
+
134
+ - *startFrame* starts at 0 and is no greater than (frameCount - 1).
135
+
64
136
  ### SFInt32 [in, out] **endFrame** 0 <small>[0,∞)</small>
65
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.
139
+
140
+ #### Hint
141
+
142
+ - *endFrame* starts at 0 and is no greater than (frameCount - 1).
143
+
66
144
  ### MFFloat [in, out] **values** [ ] <small>(-∞,∞)</small>
67
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.
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"}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: HAnimSegment
3
- date: 2022-01-07
3
+ date: 2023-01-07
4
4
  nav: components-HAnim
5
5
  categories: [components, HAnim]
6
6
  tags: [HAnimSegment, HAnim]
@@ -13,9 +13,9 @@ tags: [HAnimSegment, HAnim]
13
13
 
14
14
  ## Overview
15
15
 
16
- Each body segment is stored in an HAnimSegment node. HAnimSegment contains Coordinate/CoordinateDouble with containerField='coord', HAnimDisplacer with containerField='displacers' and Shape or grouping nodes with containerField='children'.
16
+ HAnimSegment node contains Shape geometry for each body segment, providing a visual representation of the skeleton segment. Parent/child translation and rotation relationships are defined in ancestor/descendant HAnimSegment nodes. HAnimSegment contains Coordinate or CoordinateDouble with `containerField='coord',` HAnimDisplacer with `containerField='displacers'` and Shape or grouping nodes with `containerField='children'.`
17
17
 
18
- The HAnimSegment node belongs to the **HAnim** component and its default container field is *children.* It is available since X3D version 3.0 or later.
18
+ The HAnimSegment node belongs to the **HAnim** component and its default container field is *children.* It is available from X3D version 3.0 or higher.
19
19
 
20
20
  ## Hierarchy
21
21
 
@@ -30,36 +30,45 @@ The HAnimSegment node belongs to the **HAnim** component and its default contain
30
30
 
31
31
  ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
32
32
 
33
- Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
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
47
  ### SFString [in, out] **name** ""
44
48
 
45
- Unique name attribute must be defined so that HAnimSegment node can be identified at run time for animation purposes.
49
+ Unique *name* attribute must be defined so that HAnimSegment node can be identified at run time for animation purposes.
46
50
 
47
- #### Hint
51
+ #### Hints
48
52
 
49
- - For arbitrary humanoids, HAnimSegment name can describe geometry between parent HAnimJoint and sibling HAnimJoint nodes (for example LeftHip_to_LeftKnee).
53
+ - For abitrary humanoids, HAnimSegment *name* can describe geometry between parent HAnimJoint and sibling HAnimJoint nodes (for example LeftHip_to_LeftKnee).
54
+ - [HAnim Specification part 1, Humanoid Joint-Segment Hierarchy](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/concepts.html#Hierarchy){:target="_blank"}
55
+ - Well-defined names can simplify design and debugging through improved author understanding.
56
+ - [X3D Scene Authoring Hints, Naming Conventions](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions){:target="_blank"}
57
+ - [HAnim2 Names HAnim1 Alias Tables](https://www.web3d.org/x3d/content/examples/HumanoidAnimation/HAnim2NameHAnim1AliasTables.txt){:target="_blank"}
50
58
 
51
- #### Warning
59
+ #### Warnings
52
60
 
53
- - Name is not included if this instance is a USE node. Examples: sacrum pelvis l_thigh l_calf etc. as listed in HAnim Specification.
61
+ - *name* prefix must match ancestor HAnimHumanoid *name* followed by underscore character, if more than one humanoid appears within a scene file. For example, 'Nancy_' prepended before location *name*.
62
+ - *name* field is not included if this instance is a USE node, in order to avoid potential mismatches. Examples: sacrum pelvis l_thigh l_calf etc. as listed in HAnim Specification.
54
63
 
55
- #### See Also
64
+ ### SFFloat [in, out] **mass** 0 <small>[0,∞)</small>
56
65
 
57
- - [HAnim Humanoid Segment Names HAnim Specification, Humanoid Joint-Segment Hierarchy](https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/tables/HAnimSegmentNames19774V1.0.txt){:target="_blank"}
58
- - [HAnim Specification, Humanoid Joint-Segment Hierarchy](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/concepts.html#Hierarchy){:target="_blank"}
66
+ Total *mass* of the segment, 0 if not available, defined in *mass* base units (default is kilograms).
59
67
 
60
- ### SFFloat [in, out] **mass** 0 <small>[0,∞)</small>
68
+ #### Hints
61
69
 
62
- Total mass of the segment, 0 if not available.
70
+ - [Kilogram](https://en.wikipedia.org/wiki/Kilogram){:target="_blank"}
71
+ - [X3D Architecture 4.3.6 Standard units and coordinate system](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#Standardunitscoordinates){:target="_blank"}
63
72
 
64
73
  ### SFVec3f [in, out] **centerOfMass** 0 0 0 <small>(-∞,∞)</small>
65
74
 
@@ -71,20 +80,28 @@ Location within segment of center of mass.
71
80
 
72
81
  ### MFNode [in, out] **displacers** [ ] <small>[HAnimDisplacer]</small>
73
82
 
74
- Input/Output field displacers.
83
+ The *displacers* field stores HAnimDisplacer objects for a particular HAnimSegment object.
84
+
85
+ #### Warning
86
+
87
+ - Index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
75
88
 
76
89
  ### SFNode [in, out] **coord** NULL <small>[X3DCoordinateNode]</small>
77
90
 
78
- Single contained Coordinate or CoordinateDouble node that can specify a list of vertex values.
91
+ The *coord* field is used for HAnimSegment objects that have deformable meshes and shall contain coordinates referenced from the IndexedFaceSet for the paarent HAnimSegment object. The coordinates are given the same name as the HAnim Segment object, but with "_coords" appended to the name (for example, "skull_coords").
92
+
93
+ #### Warning
94
+
95
+ - Index values for HanimHumanoid skin IndexedFaceSet, skinCoord and skinNormal nodes must all be consistently defined together with HAnimJoint HAnimSegment and HAnimDisplacer nodes for proper skin animation.
79
96
 
80
97
  ### SFBool [in, out] **visible** TRUE
81
98
 
82
99
  Whether or not renderable content within this node is visually displayed.
83
100
 
84
- #### Hint
101
+ #### Hints
85
102
 
86
- - The visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
87
- - Content must be visible to be collidable and to be pickable.
103
+ - The *visible* field has no effect on animation behaviors, event passing or other non-visual characteristics.
104
+ - Content must be *visible* to be collidable and to be pickable.
88
105
 
89
106
  ### SFBool [in, out] **bboxDisplay** FALSE
90
107
 
@@ -98,35 +115,58 @@ Whether to display bounding box for associated geometry, aligned with world coor
98
115
 
99
116
  Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.
100
117
 
101
- #### Hint
118
+ #### Hints
102
119
 
103
120
  - Can be useful for collision computations or inverse-kinematics (IK) engines.
121
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
122
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
123
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
104
124
 
105
125
  ### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
106
126
 
107
- Bounding box center: optional hint for position offset from origin of local coordinate system.
127
+ Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
128
+
129
+ #### Hints
130
+
131
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
132
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
133
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
108
134
 
109
135
  ### MFNode [in] **addChildren**
110
136
 
111
- Input field addChildren.
137
+ Input field *addChildren*.
112
138
 
113
139
  ### MFNode [in] **removeChildren**
114
140
 
115
- Input field removeChildren.
141
+ Input field *removeChildren*.
116
142
 
117
143
  ### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
118
144
 
119
- Input/Output field children.
145
+ Grouping nodes contain an ordered list of *children* nodes.
146
+
147
+ #### Hints
148
+
149
+ - Each grouping node defines a coordinate space for its *children*, relative to the coordinate space of its parent node. Thus transformations accumulate down the scene graph hierarchy.
150
+ - Place any geometry for parent HAnimJoint within a child Transform having the same translation value as the parent HAnimJoint center value.
151
+ - InputOnly MFNode addChildren field can append new X3DChildNode nodes via a ROUTE connection, duplicate input nodes (i.e. matching DEF, USE values) are ignored.
152
+ - InputOnly MFNode removeChildren field can remove nodes from the *children* list, unrecognized input nodes (i.e. nonmatching DEF, USE values) are ignored.
153
+ - [X3D Architecture 10.2.1 Grouping and *children* node types](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#GroupingAndChildrenNodes){:target="_blank"}
120
154
 
121
- ## Description
155
+ ## Advisories
122
156
 
123
157
  ### Hints
124
158
 
125
159
  - HAnimSegment displays geometry between parent HAnimJoint and sibling HAnimJoint nodes.
126
- - Include `<component name='HAnim' level='1'/>`
160
+ - [HAnim Specification](https://www.web3d.org/documents/specifications/19774/V2.0){:target="_blank"}
161
+ - [HAnim Specification part 1, Segment](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Segment){:target="_blank"}
162
+ - [X3D for Advanced Modeling (X3D4AM) slideset](https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/HumanoidAnimation.pdf){:target="_blank"}
163
+
164
+ ### Warnings
165
+
166
+ - Requires X3D `profile='Full'` or else include `<component name='HAnim' level='1'/>`
167
+ - For X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen)
168
+ - The number of contained \<HAnimSegment USE='*' `containerField='segments'/>` nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimJoint node instances found within the preceding skeleton hierarchy.
127
169
 
128
- ## External Links
170
+ ## See Also
129
171
 
130
- - [X3D Specification of HAnimSegment](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimSegment){:target="_blank"}
131
- - [HAnim Specification](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/HAnimArchitecture.html){:target="_blank"}
132
- - [HAnim Specification, Segment](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html#Segment){:target="_blank"}
172
+ - [X3D Specification of HAnimSegment node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimSegment){:target="_blank"}
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: HAnimSite
3
- date: 2022-01-07
3
+ date: 2023-01-07
4
4
  nav: components-HAnim
5
5
  categories: [components, HAnim]
6
6
  tags: [HAnimSite, HAnim]
@@ -13,9 +13,9 @@ tags: [HAnimSite, HAnim]
13
13
 
14
14
  ## Overview
15
15
 
16
- An HAnimSite node serves three purposes: (a) define an "end effector" location which can be used by an inverse kinematics system, (b) define an attachment point for accessories such as jewelry and clothing, and (c) define a location for a virtual camera in the reference frame of an HAnimSegment (such as a view "through the eyes" of the humanoid for use in multi-user worlds).
16
+ An HAnimSite node serves three purposes: (a) define an "end effector" location which can be used by an inverse kinematics system, (b) define an attachment point for accessories such as jewelry and clothing, and (c) define a location for a Viewpoint virtual camera in the reference frame of an HAnimSegment (such as a view "through the eyes" of the humanoid for use in multi-user worlds).
17
17
 
18
- The HAnimSite node belongs to the **HAnim** component and its default container field is *children.* It is available since X3D version 3.0 or later.
18
+ The HAnimSite node belongs to the **HAnim** component and its default container field is *children.* It is available from X3D version 3.0 or higher.
19
19
 
20
20
  ## Hierarchy
21
21
 
@@ -30,44 +30,59 @@ The HAnimSite node belongs to the **HAnim** component and its default container
30
30
 
31
31
  ### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
32
32
 
33
- Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
33
+ Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
34
+
35
+ #### Hint
36
+
37
+ - [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
34
38
 
35
39
  ### SFString [in, out] **description** ""
36
40
 
37
- Author-provided prose that describes intended purpose of the url asset.
41
+ Author-provided prose that describes intended purpose of this node.
38
42
 
39
43
  #### Hint
40
44
 
41
- - Many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as &amp;#38; for & ampersand character, or &amp;#34; for " quotation-mark character).
45
+ - Many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as &amp;#38; for &amp; ampersand character, or &amp;#34; for " quotation-mark character).
42
46
 
43
47
  ### SFString [in, out] **name** ""
44
48
 
45
- Unique name attribute must be defined so that HAnimSite node can be identified at run time for animation purposes.
49
+ Unique *name* attribute must be defined so that HAnimSite node can be identified at run time for animation purposes.
46
50
 
47
51
  #### Hints
48
52
 
49
- - HAnimSite nodes used as end effectors have '\_tip' suffix appended to the name. HAnimSite nodes containing a Viewpoint location have '\_view' suffix appended to the name. HAnimSite nodes serving other purposes have '\_pt' suffix appended to the name. Examples: cervicale l_infraorbitale supramenton etc. as listed in HAnim Specification.
53
+ - HAnimSite names are typically based on feature point names, though other author-defined names are also allowed.
54
+ - Https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/FeaturePoints.html
55
+ - HAnimSite nodes used as end effectors have '_tip' suffix appended to the *name*.
56
+ - HAnimSite nodes containing a Viewpoint location have '_view' suffix appended to the *name*.
57
+ - HAnimSite nodes serving other purposes have '_pt' suffix appended to the *name*.
58
+ - Additional example *name* bases (such as cervicale l_infraorbitale supramenton etc.) are listed in HAnim Specification.
59
+ - [HAnim Specification part 1, LOA-3 default Site object translations](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/BodyDimensionsAndLOAs.html#LOA3DefaultSiteTranslations){:target="_blank"}
60
+ - Well-defined names can simplify design and debugging through improved author understanding.
61
+ - [X3D Scene Authoring Hints, Naming Conventions](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions){:target="_blank"}
62
+ - [HAnim2 Names HAnim1 Alias Tables](https://www.web3d.org/x3d/content/examples/HumanoidAnimation/HAnim2NameHAnim1AliasTables.txt){:target="_blank"}
50
63
 
51
- #### Warning
64
+ #### Warnings
52
65
 
53
- - Name is not included if this instance is a USE node.
54
-
55
- #### See Also
56
-
57
- - [HAnim Humanoid Site Names LOA-3](https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/tables/HAnimSiteLoa3Names19774V1.0.txt){:target="_blank"}
58
- - [HAnim Specification, LOA-3 default Site object translations](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/BodyDimensionsAndLOAs.html#LOA3DefaultSiteTranslations){:target="_blank"}
66
+ - *name* prefix must match ancestor HAnimHumanoid *name* followed by underscore character, if more than one humanoid appears within a scene file. For example, 'Nancy_' prepended before location *name*.
67
+ - *name* field is not included if this instance is a USE node, in order to avoid potential mismatches.
68
+ - HAnimSite *name* must end in '_tip' or '_view' or '_pt' suffix.
59
69
 
60
70
  ### SFVec3f [in, out] **translation** 0 0 0 <small>(-∞,∞)</small>
61
71
 
62
72
  Position of children relative to local coordinate system.
63
73
 
74
+ #### Hints
75
+
76
+ - Since default pose faces along +Z axis, -x values are right side and +x values are left side within HAnimHumanoid.
77
+ - Center field indicates default origin relative to overall humanoid body and is rarely modified. For HAnimSite animation, ROUTE position-change events to *translation* field instead.
78
+
64
79
  ### SFRotation [in, out] **rotation** 0 0 1 0 <small>(-∞,∞) or [-1,1]</small>
65
80
 
66
81
  Orientation of children relative to local coordinate system.
67
82
 
68
83
  ### SFVec3f [in, out] **scale** 1 1 1 <small>(0,∞)</small>
69
84
 
70
- Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
85
+ Non-uniform x-y-z *scale* of child coordinate system, adjusted by center and scaleOrientation.
71
86
 
72
87
  ### SFRotation [in, out] **scaleOrientation** 0 0 1 0 <small>(-∞,∞) or [-1,1]</small>
73
88
 
@@ -75,16 +90,20 @@ Preliminary rotation of coordinate system before scaling (to allow scaling aroun
75
90
 
76
91
  ### SFVec3f [in, out] **center** 0 0 0 <small>(-∞,∞)</small>
77
92
 
78
- Translation offset from origin of local coordinate system.
93
+ Default location of this HAnimSite, i.e. offset of *center* from origin of local coordinate system.
94
+
95
+ #### Hint
96
+
97
+ - *center* field indicates default origin relative to overall humanoid body and is rarely modified. For HAnimSite animation, ROUTE position-change events to translation field instead.
79
98
 
80
99
  ### SFBool [in, out] **visible** TRUE
81
100
 
82
101
  Whether or not renderable content within this node is visually displayed.
83
102
 
84
- #### Hint
103
+ #### Hints
85
104
 
86
- - The visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
87
- - Content must be visible to be collidable and to be pickable.
105
+ - The *visible* field has no effect on animation behaviors, event passing or other non-visual characteristics.
106
+ - Content must be *visible* to be collidable and to be pickable.
88
107
 
89
108
  ### SFBool [in, out] **bboxDisplay** FALSE
90
109
 
@@ -98,36 +117,60 @@ Whether to display bounding box for associated geometry, aligned with world coor
98
117
 
99
118
  Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.
100
119
 
101
- #### Hint
120
+ #### Hints
102
121
 
103
122
  - Can be useful for collision computations or inverse-kinematics (IK) engines.
123
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
124
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
125
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
104
126
 
105
127
  ### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
106
128
 
107
- Bounding box center: optional hint for position offset from origin of local coordinate system.
129
+ Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
130
+
131
+ #### Hints
132
+
133
+ - Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
134
+ - [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
135
+ - [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
108
136
 
109
137
  ### MFNode [in] **addChildren**
110
138
 
111
- Input field addChildren.
139
+ Input field *addChildren*.
112
140
 
113
141
  ### MFNode [in] **removeChildren**
114
142
 
115
- Input field removeChildren.
143
+ Input field *removeChildren*.
116
144
 
117
145
  ### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
118
146
 
119
- Input/Output field children.
147
+ Grouping nodes contain an ordered list of *children* nodes.
120
148
 
121
- ## Description
149
+ #### Hints
150
+
151
+ - Each grouping node defines a coordinate space for its *children*, relative to the coordinate space of its parent node. Thus transformations accumulate down the scene graph hierarchy.
152
+ - InputOnly MFNode addChildren field can append new X3DChildNode nodes via a ROUTE connection, duplicate input nodes (i.e. matching DEF, USE values) are ignored.
153
+ - InputOnly MFNode removeChildren field can remove nodes from the *children* list, unrecognized input nodes (i.e. nonmatching DEF, USE values) are ignored.
154
+ - [X3D Architecture 10.2.1 Grouping and *children* node types](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#GroupingAndChildrenNodes){:target="_blank"}
155
+
156
+ ## Advisories
122
157
 
123
158
  ### Hints
124
159
 
125
160
  - HAnimSite nodes are stored as children of an HAnimSegment node.
126
- - Include `<component name='HAnim' level='1'/>`
161
+ - [HAnim Specification](https://www.web3d.org/documents/specifications/19774/V2.0){:target="_blank"}
162
+ - [HAnim Specification part 1, Site](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Site){:target="_blank"}
163
+ - [HAnim Specification part 1, Annex B, Feature points for the human body](https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/FeaturePoints.html){:target="_blank"}
164
+ - [X3D for Advanced Modeling (X3D4AM) slideset](https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/HumanoidAnimation.pdf){:target="_blank"}
165
+ - [HAnim2 default values for Joint and Site (feature point) nodes](https://www.web3d.org/x3d/content/examples/HumanoidAnimation/HAnim2DefaultValuesJointsFeaturePoints.txt){:target="_blank"}
166
+
167
+ ### Warnings
168
+
169
+ - Ensure that visible HAnimSite locations are not inadvertently obscured by skin animation.
170
+ - Requires X3D `profile='Full'` or else include `<component name='HAnim' level='1'/>`
171
+ - For X3D3 HAnim1, spelling of component name is 'H-Anim' (including hyphen)
172
+ - The number of contained \<HAnimSite USE='*' `containerField='sites,` skeleton or viewpoints'/\> nodes at top level of HAnimHumanoid needs to match the number of corresponding HAnimSite node instances found within the preceding skeleton hierarchy.
127
173
 
128
- ## External Links
174
+ ## See Also
129
175
 
130
- - [X3D Specification of HAnimSite](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimSite){:target="_blank"}
131
- - [HAnim Specification](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/HAnimArchitecture.html){:target="_blank"}
132
- - [HAnim Specification, Site](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html#Site){:target="_blank"}
133
- - [HAnim Specification, Annex B, Feature points for the human body](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/FeaturePoints.html){:target="_blank"}
176
+ - [X3D Specification of HAnimSite node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimSite){:target="_blank"}