x_ite 8.4.3 → 8.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +5 -1
- package/Makefile +0 -3
- package/build/bin/components.js +173 -0
- package/build/bin/tags.pl +28 -0
- package/build/bin/tests.pl +80 -2
- package/build/bin/version.pl +12 -7
- package/dist/assets/components/Annotation.js +13 -13
- package/dist/assets/components/Annotation.min.js +1 -1
- package/dist/assets/components/CADGeometry.js +13 -13
- package/dist/assets/components/CADGeometry.min.js +1 -1
- package/dist/assets/components/CubeMapTexturing.js +28 -29
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +13 -13
- package/dist/assets/components/DIS.min.js +1 -1
- package/dist/assets/components/EventUtilities.js +9 -9
- package/dist/assets/components/EventUtilities.min.js +1 -1
- package/dist/assets/components/Geometry2D.js +19 -19
- package/dist/assets/components/Geometry2D.min.js +1 -1
- package/dist/assets/components/Geospatial.js +33 -33
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +63 -42
- package/dist/assets/components/HAnim.min.js +1 -1
- package/dist/assets/components/KeyDeviceSensor.js +8 -8
- package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
- package/dist/assets/components/Layout.js +37 -29
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +29 -31
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +23 -23
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +19 -19
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +24 -19
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +30 -30
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +172 -594
- package/dist/assets/components/Text.min.js +1 -1
- package/dist/assets/components/TextureProjector.js +31 -47
- package/dist/assets/components/TextureProjector.min.js +1 -1
- package/dist/assets/components/Texturing3D.js +367 -346
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +19 -19
- package/dist/assets/components/VolumeRendering.min.js +1 -1
- package/dist/assets/components/X_ITE.js +9 -9
- package/dist/assets/components/X_ITE.min.js +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +12174 -3553
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/_config.yml +5 -136
- package/docs/_data/nav/components-CADGeometry.yml +14 -0
- package/docs/_data/nav/components-Core.yml +16 -0
- package/docs/_data/nav/components-CubeMapTexturing.yml +8 -0
- package/docs/_data/nav/components-DIS.yml +14 -0
- package/docs/_data/nav/components-EnvironmentalEffects.yml +12 -0
- package/docs/_data/nav/components-EnvironmentalSensor.yml +8 -0
- package/docs/_data/nav/components-EventUtilities.yml +16 -0
- package/docs/_data/nav/components-Followers.yml +30 -0
- package/docs/_data/nav/components-Geometry2D.yml +18 -0
- package/docs/_data/nav/components-Geometry3D.yml +16 -0
- package/docs/_data/nav/components-Geospatial.yml +24 -0
- package/docs/_data/nav/components-Grouping.yml +10 -0
- package/docs/_data/nav/components-HAnim.yml +14 -0
- package/docs/_data/nav/components-Interpolation.yml +28 -0
- package/docs/_data/nav/components-KeyDeviceSensor.yml +6 -0
- package/docs/_data/nav/components-Layering.yml +8 -0
- package/docs/_data/nav/components-Layout.yml +12 -0
- package/docs/_data/nav/components-Lighting.yml +10 -0
- package/docs/_data/nav/components-NURBS.yml +30 -0
- package/docs/_data/nav/components-Navigation.yml +16 -0
- package/docs/_data/nav/components-Networking.yml +8 -0
- package/docs/_data/nav/components-ParticleSystems.yml +22 -0
- package/docs/_data/nav/components-Picking.yml +12 -0
- package/docs/_data/nav/components-PointingDeviceSensor.yml +10 -0
- package/docs/_data/nav/components-Rendering.yml +30 -0
- package/docs/_data/nav/components-RigidBodyPhysics.yml +30 -0
- package/docs/_data/nav/components-Scripting.yml +4 -0
- package/docs/_data/nav/components-Shaders.yml +18 -0
- package/docs/_data/nav/components-Shape.yml +22 -0
- package/docs/_data/nav/components-Sound.yml +44 -0
- package/docs/_data/nav/components-Text.yml +6 -0
- package/docs/_data/nav/components-TextureProjector.yml +6 -0
- package/docs/_data/nav/components-Texturing.yml +22 -0
- package/docs/_data/nav/components-Texturing3D.yml +18 -0
- package/docs/_data/nav/components-Time.yml +4 -0
- package/docs/_data/nav/components-VolumeRendering.yml +28 -0
- package/docs/_data/nav/components-X_ITE.yml +4 -0
- package/docs/_data/nav/main.yml +26 -0
- package/docs/_data/nav/reference.yml +18 -0
- package/docs/_data/nav/tutorials-animation-sensors-and-geometry.yml +18 -0
- package/docs/_data/nav/tutorials-basic.yml +6 -0
- package/docs/_data/nav/tutorials-optimize-your-scene.yml +6 -0
- package/docs/_data/nav/tutorials-scripts-and-prototypes.yml +12 -0
- package/docs/_data/nav/tutorials-shapes-geometry-and-appearance.yml +16 -0
- package/docs/_data/nav/tutorials-textures-lights-and-environment.yml +20 -0
- package/docs/_includes/nav.html +2 -2
- package/docs/_includes/scripts.html +2 -1
- package/docs/_posts/accessing-the-external-browser.md +1 -1
- package/docs/_posts/browser-support.md +1 -1
- package/docs/_posts/components/CADGeometry/CADAssembly.md +83 -0
- package/docs/_posts/components/CADGeometry/CADFace.md +70 -0
- package/docs/_posts/components/CADGeometry/CADLayer.md +84 -0
- package/docs/_posts/components/CADGeometry/CADPart.md +117 -0
- package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +125 -0
- package/docs/_posts/components/CADGeometry/QuadSet.md +113 -0
- package/docs/_posts/components/Core/MetadataBoolean.md +90 -0
- package/docs/_posts/components/Core/MetadataDouble.md +67 -0
- package/docs/_posts/components/Core/MetadataFloat.md +67 -0
- package/docs/_posts/components/Core/MetadataInteger.md +66 -0
- package/docs/_posts/components/Core/MetadataSet.md +63 -0
- package/docs/_posts/components/Core/MetadataString.md +66 -0
- package/docs/_posts/components/Core/WorldInfo.md +54 -0
- package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +76 -0
- package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +65 -0
- package/docs/_posts/components/CubeMapTexturing/ImageCubeMapTexture.md +66 -0
- package/docs/_posts/components/DIS/DISEntityManager.md +73 -0
- package/docs/_posts/components/DIS/DISEntityTypeMapping.md +88 -0
- package/docs/_posts/components/DIS/EspduTransform.md +416 -0
- package/docs/_posts/components/DIS/ReceiverPdu.md +168 -0
- package/docs/_posts/components/DIS/SignalPdu.md +168 -0
- package/docs/_posts/components/DIS/TransmitterPdu.md +232 -0
- package/docs/_posts/components/EnvironmentalEffects/Background.md +189 -0
- package/docs/_posts/components/EnvironmentalEffects/Fog.md +97 -0
- package/docs/_posts/components/EnvironmentalEffects/FogCoordinate.md +40 -0
- package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +84 -0
- package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +142 -0
- package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +90 -0
- package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +91 -0
- package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +73 -0
- package/docs/_posts/components/EventUtilities/BooleanFilter.md +62 -0
- package/docs/_posts/components/EventUtilities/BooleanSequencer.md +86 -0
- package/docs/_posts/components/EventUtilities/BooleanToggle.md +46 -0
- package/docs/_posts/components/EventUtilities/BooleanTrigger.md +47 -0
- package/docs/_posts/components/EventUtilities/IntegerSequencer.md +90 -0
- package/docs/_posts/components/EventUtilities/IntegerTrigger.md +51 -0
- package/docs/_posts/components/EventUtilities/TimeTrigger.md +47 -0
- package/docs/_posts/components/Followers/ColorChaser.md +77 -0
- package/docs/_posts/components/Followers/ColorDamper.md +85 -0
- package/docs/_posts/components/Followers/CoordinateChaser.md +76 -0
- package/docs/_posts/components/Followers/CoordinateDamper.md +80 -0
- package/docs/_posts/components/Followers/OrientationChaser.md +72 -0
- package/docs/_posts/components/Followers/OrientationDamper.md +80 -0
- package/docs/_posts/components/Followers/PositionChaser.md +72 -0
- package/docs/_posts/components/Followers/PositionChaser2D.md +72 -0
- package/docs/_posts/components/Followers/PositionDamper.md +80 -0
- package/docs/_posts/components/Followers/PositionDamper2D.md +80 -0
- package/docs/_posts/components/Followers/ScalarChaser.md +76 -0
- package/docs/_posts/components/Followers/ScalarDamper.md +80 -0
- package/docs/_posts/components/Followers/TexCoordChaser2D.md +72 -0
- package/docs/_posts/components/Followers/TexCoordDamper2D.md +80 -0
- package/docs/_posts/components/Geometry2D/Arc2D.md +71 -0
- package/docs/_posts/components/Geometry2D/ArcClose2D.md +91 -0
- package/docs/_posts/components/Geometry2D/Circle2D.md +55 -0
- package/docs/_posts/components/Geometry2D/Disk2D.md +75 -0
- package/docs/_posts/components/Geometry2D/Polyline2D.md +54 -0
- package/docs/_posts/components/Geometry2D/Polypoint2D.md +54 -0
- package/docs/_posts/components/Geometry2D/Rectangle2D.md +66 -0
- package/docs/_posts/components/Geometry2D/TriangleSet2D.md +66 -0
- package/docs/_posts/components/Geometry3D/Box.md +66 -0
- package/docs/_posts/components/Geometry3D/Cone.md +90 -0
- package/docs/_posts/components/Geometry3D/Cylinder.md +98 -0
- package/docs/_posts/components/Geometry3D/ElevationGrid.md +162 -0
- package/docs/_posts/components/Geometry3D/Extrusion.md +170 -0
- package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +208 -0
- package/docs/_posts/components/Geometry3D/Sphere.md +66 -0
- package/docs/_posts/components/Geospatial/GeoCoordinate.md +65 -0
- package/docs/_posts/components/Geospatial/GeoElevationGrid.md +180 -0
- package/docs/_posts/components/Geospatial/GeoLOD.md +128 -0
- package/docs/_posts/components/Geospatial/GeoLocation.md +93 -0
- package/docs/_posts/components/Geospatial/GeoMetadata.md +75 -0
- package/docs/_posts/components/Geospatial/GeoOrigin.md +69 -0
- package/docs/_posts/components/Geospatial/GeoPositionInterpolator.md +95 -0
- package/docs/_posts/components/Geospatial/GeoProximitySensor.md +109 -0
- package/docs/_posts/components/Geospatial/GeoTouchSensor.md +108 -0
- package/docs/_posts/components/Geospatial/GeoTransform.md +121 -0
- package/docs/_posts/components/Geospatial/GeoViewpoint.md +126 -0
- package/docs/_posts/components/Grouping/Group.md +75 -0
- package/docs/_posts/components/Grouping/StaticGroup.md +65 -0
- package/docs/_posts/components/Grouping/Switch.md +89 -0
- package/docs/_posts/components/Grouping/Transform.md +126 -0
- package/docs/_posts/components/HAnim/HAnimDisplacer.md +89 -0
- package/docs/_posts/components/HAnim/HAnimHumanoid.md +136 -0
- package/docs/_posts/components/HAnim/HAnimJoint.md +165 -0
- package/docs/_posts/components/HAnim/HAnimMotion.md +68 -0
- package/docs/_posts/components/HAnim/HAnimSegment.md +107 -0
- package/docs/_posts/components/HAnim/HAnimSite.md +108 -0
- package/docs/_posts/components/Interpolation/ColorInterpolator.md +73 -0
- package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +76 -0
- package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +73 -0
- package/docs/_posts/components/Interpolation/EaseInEaseOut.md +67 -0
- package/docs/_posts/components/Interpolation/NormalInterpolator.md +68 -0
- package/docs/_posts/components/Interpolation/OrientationInterpolator.md +72 -0
- package/docs/_posts/components/Interpolation/PositionInterpolator.md +72 -0
- package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +77 -0
- package/docs/_posts/components/Interpolation/ScalarInterpolator.md +76 -0
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator.md +93 -0
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator2D.md +93 -0
- package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +106 -0
- package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +78 -0
- package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +78 -0
- package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +70 -0
- package/docs/_posts/components/Layering/Layer.md +67 -0
- package/docs/_posts/components/Layering/LayerSet.md +78 -0
- package/docs/_posts/components/Layering/Viewport.md +80 -0
- package/docs/_posts/components/Layout/Layout.md +107 -0
- package/docs/_posts/components/Layout/LayoutGroup.md +85 -0
- package/docs/_posts/components/Layout/LayoutLayer.md +74 -0
- package/docs/_posts/components/Layout/ScreenFontStyle.md +137 -0
- package/docs/_posts/components/Layout/ScreenGroup.md +71 -0
- package/docs/_posts/components/Lighting/DirectionalLight.md +100 -0
- package/docs/_posts/components/Lighting/EnvironmentLight.md +91 -0
- package/docs/_posts/components/Lighting/PointLight.md +103 -0
- package/docs/_posts/components/Lighting/SpotLight.md +132 -0
- package/docs/_posts/components/NURBS/Contour2D.md +57 -0
- package/docs/_posts/components/NURBS/ContourPolyline2D.md +46 -0
- package/docs/_posts/components/NURBS/CoordinateDouble.md +47 -0
- package/docs/_posts/components/NURBS/NurbsCurve.md +71 -0
- package/docs/_posts/components/NURBS/NurbsCurve2D.md +66 -0
- package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +70 -0
- package/docs/_posts/components/NURBS/NurbsPatchSurface.md +106 -0
- package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +70 -0
- package/docs/_posts/components/NURBS/NurbsSet.md +66 -0
- package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +90 -0
- package/docs/_posts/components/NURBS/NurbsSweptSurface.md +69 -0
- package/docs/_posts/components/NURBS/NurbsSwungSurface.md +65 -0
- package/docs/_posts/components/NURBS/NurbsTextureCoordinate.md +77 -0
- package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +114 -0
- package/docs/_posts/components/Navigation/Billboard.md +88 -0
- package/docs/_posts/components/Navigation/Collision.md +102 -0
- package/docs/_posts/components/Navigation/LOD.md +99 -0
- package/docs/_posts/components/Navigation/NavigationInfo.md +122 -0
- package/docs/_posts/components/Navigation/OrthoViewpoint.md +117 -0
- package/docs/_posts/components/Navigation/Viewpoint.md +117 -0
- package/docs/_posts/components/Navigation/ViewpointGroup.md +80 -0
- package/docs/_posts/components/Networking/Anchor.md +111 -0
- package/docs/_posts/components/Networking/Inline.md +115 -0
- package/docs/_posts/components/Networking/LoadSensor.md +91 -0
- package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +54 -0
- package/docs/_posts/components/ParticleSystems/ConeEmitter.md +76 -0
- package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +72 -0
- package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +58 -0
- package/docs/_posts/components/ParticleSystems/ParticleSystem.md +177 -0
- package/docs/_posts/components/ParticleSystems/PointEmitter.md +76 -0
- package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +94 -0
- package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +90 -0
- package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +90 -0
- package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +68 -0
- package/docs/_posts/components/Picking/LinePickSensor.md +125 -0
- package/docs/_posts/components/Picking/PickableGroup.md +93 -0
- package/docs/_posts/components/Picking/PointPickSensor.md +112 -0
- package/docs/_posts/components/Picking/PrimitivePickSensor.md +114 -0
- package/docs/_posts/components/Picking/VolumePickSensor.md +107 -0
- package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +122 -0
- package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +114 -0
- package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +89 -0
- package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +87 -0
- package/docs/_posts/components/Rendering/ClipPlane.md +67 -0
- package/docs/_posts/components/Rendering/Color.md +56 -0
- package/docs/_posts/components/Rendering/ColorRGBA.md +61 -0
- package/docs/_posts/components/Rendering/Coordinate.md +45 -0
- package/docs/_posts/components/Rendering/IndexedLineSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +116 -0
- package/docs/_posts/components/Rendering/LineSet.md +85 -0
- package/docs/_posts/components/Rendering/Normal.md +41 -0
- package/docs/_posts/components/Rendering/PointSet.md +76 -0
- package/docs/_posts/components/Rendering/TriangleFanSet.md +112 -0
- package/docs/_posts/components/Rendering/TriangleSet.md +108 -0
- package/docs/_posts/components/Rendering/TriangleStripSet.md +116 -0
- package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +78 -0
- package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +75 -0
- package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +83 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +90 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +65 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +70 -0
- package/docs/_posts/components/RigidBodyPhysics/Contact.md +117 -0
- package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +162 -0
- package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +183 -0
- package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +175 -0
- package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +120 -0
- package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +108 -0
- package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +106 -0
- package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +119 -0
- package/docs/_posts/components/Scripting/Script.md +81 -0
- package/docs/_posts/components/Shaders/ComposedShader.md +81 -0
- package/docs/_posts/components/Shaders/FloatVertexAttribute.md +65 -0
- package/docs/_posts/components/Shaders/Matrix3VertexAttribute.md +53 -0
- package/docs/_posts/components/Shaders/Matrix4VertexAttribute.md +53 -0
- package/docs/_posts/components/Shaders/PackagedShader.md +77 -0
- package/docs/_posts/components/Shaders/ProgramShader.md +71 -0
- package/docs/_posts/components/Shaders/ShaderPart.md +76 -0
- package/docs/_posts/components/Shaders/ShaderProgram.md +68 -0
- package/docs/_posts/components/Shape/AcousticProperties.md +52 -0
- package/docs/_posts/components/Shape/Appearance.md +123 -0
- package/docs/_posts/components/Shape/FillProperties.md +67 -0
- package/docs/_posts/components/Shape/LineProperties.md +63 -0
- package/docs/_posts/components/Shape/Material.md +217 -0
- package/docs/_posts/components/Shape/PhysicalMaterial.md +173 -0
- package/docs/_posts/components/Shape/PointProperties.md +84 -0
- package/docs/_posts/components/Shape/Shape.md +63 -0
- package/docs/_posts/components/Shape/TwoSidedMaterial.md +149 -0
- package/docs/_posts/components/Shape/UnlitMaterial.md +115 -0
- package/docs/_posts/components/Sound/Analyser.md +72 -0
- package/docs/_posts/components/Sound/AudioClip.md +139 -0
- package/docs/_posts/components/Sound/AudioDestination.md +52 -0
- package/docs/_posts/components/Sound/BiquadFilter.md +70 -0
- package/docs/_posts/components/Sound/BufferAudioSource.md +86 -0
- package/docs/_posts/components/Sound/ChannelMerger.md +46 -0
- package/docs/_posts/components/Sound/ChannelSelector.md +48 -0
- package/docs/_posts/components/Sound/ChannelSplitter.md +48 -0
- package/docs/_posts/components/Sound/Convolver.md +66 -0
- package/docs/_posts/components/Sound/Delay.md +66 -0
- package/docs/_posts/components/Sound/DynamicsCompressor.md +74 -0
- package/docs/_posts/components/Sound/Gain.md +62 -0
- package/docs/_posts/components/Sound/ListenerPointSource.md +62 -0
- package/docs/_posts/components/Sound/MicrophoneSource.md +54 -0
- package/docs/_posts/components/Sound/OscillatorSource.md +58 -0
- package/docs/_posts/components/Sound/PeriodicWave.md +42 -0
- package/docs/_posts/components/Sound/Sound.md +92 -0
- package/docs/_posts/components/Sound/SpatialSound.md +68 -0
- package/docs/_posts/components/Sound/StreamAudioDestination.md +52 -0
- package/docs/_posts/components/Sound/StreamAudioSource.md +54 -0
- package/docs/_posts/components/Sound/WaveShaper.md +66 -0
- package/docs/_posts/components/Text/FontStyle.md +145 -0
- package/docs/_posts/components/Text/Text.md +102 -0
- package/docs/_posts/components/TextureProjector/TextureProjector.md +52 -0
- package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +52 -0
- package/docs/_posts/components/Texturing/ImageTexture.md +134 -0
- package/docs/_posts/components/Texturing/MovieTexture.md +221 -0
- package/docs/_posts/components/Texturing/MultiTexture.md +100 -0
- package/docs/_posts/components/Texturing/MultiTextureCoordinate.md +47 -0
- package/docs/_posts/components/Texturing/MultiTextureTransform.md +47 -0
- package/docs/_posts/components/Texturing/PixelTexture.md +80 -0
- package/docs/_posts/components/Texturing/TextureCoordinate.md +52 -0
- package/docs/_posts/components/Texturing/TextureCoordinateGenerator.md +64 -0
- package/docs/_posts/components/Texturing/TextureProperties.md +137 -0
- package/docs/_posts/components/Texturing/TextureTransform.md +73 -0
- package/docs/_posts/components/Texturing3D/ComposedTexture3D.md +76 -0
- package/docs/_posts/components/Texturing3D/ImageTexture3D.md +132 -0
- package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +131 -0
- package/docs/_posts/components/Texturing3D/PixelTexture3D.md +75 -0
- package/docs/_posts/components/Texturing3D/TextureCoordinate3D.md +53 -0
- package/docs/_posts/components/Texturing3D/TextureCoordinate4D.md +52 -0
- package/docs/_posts/components/Texturing3D/TextureTransform3D.md +69 -0
- package/docs/_posts/components/Texturing3D/TextureTransformMatrix3D.md +57 -0
- package/docs/_posts/components/Time/TimeSensor.md +136 -0
- package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +92 -0
- package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +53 -0
- package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +83 -0
- package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +51 -0
- package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +67 -0
- package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +99 -0
- package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +51 -0
- package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +48 -0
- package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +80 -0
- package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +75 -0
- package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +63 -0
- package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +71 -0
- package/docs/_posts/components/VolumeRendering/VolumeData.md +71 -0
- package/docs/_posts/components/X_ITE/BlendMode.md +94 -0
- package/docs/_posts/custom-shaders.md +9 -4
- package/docs/_posts/dom-integration.md +1 -6
- package/docs/_posts/features.md +2 -2
- package/docs/_posts/getting-started.md +100 -57
- package/docs/_posts/glossary.md +1 -1
- package/docs/_posts/how-to-configure-your-web-server.md +1 -1
- package/docs/_posts/reference/browser-services.md +78 -18
- package/docs/_posts/reference/constants-services.md +1 -1
- package/docs/_posts/reference/ecmascript-object-and-function-definitions.md +1 -1
- package/docs/_posts/reference/field-services-and-objects.md +8 -8
- package/docs/_posts/reference/prototype-services.md +7 -7
- package/docs/_posts/reference/route-services.md +1 -1
- package/docs/_posts/reference/scene-services.md +5 -5
- package/docs/_posts/reference/script-node-authoring-interface.md +1 -1
- package/docs/_posts/report-a-bug.md +1 -1
- package/docs/_posts/setup-a-localhost-server.md +5 -1
- package/docs/_posts/supported-nodes.md +239 -238
- package/docs/_posts/tutorials/adding-backgrounds.md +3 -3
- package/docs/_posts/tutorials/adding-fog.md +2 -2
- package/docs/_posts/tutorials/adding-sound.md +19 -19
- package/docs/_posts/tutorials/animating-transforms.md +17 -17
- package/docs/_posts/tutorials/basic-nodes.md +30 -30
- package/docs/_posts/tutorials/building-a-x3d-world.md +3 -3
- package/docs/_posts/tutorials/building-elevation-grids.md +7 -7
- package/docs/_posts/tutorials/building-extruded-shapes.md +7 -7
- package/docs/_posts/tutorials/building-primitive-shapes.md +13 -13
- package/docs/_posts/tutorials/building-shapes-out-of-points-lines-and-faces.md +21 -21
- package/docs/_posts/tutorials/controlling-appearance-with-materials.md +7 -7
- package/docs/_posts/tutorials/controlling-color-on-coordinate-based-geometry.md +11 -11
- package/docs/_posts/tutorials/controlling-detail.md +4 -4
- package/docs/_posts/tutorials/controlling-how-textures-are-mapped.md +7 -7
- package/docs/_posts/tutorials/controlling-navigation.md +3 -3
- package/docs/_posts/tutorials/controlling-shading-on-coordinate-based-geometry.md +13 -13
- package/docs/_posts/tutorials/controlling-the-viewpoint.md +3 -3
- package/docs/_posts/tutorials/creating-new-node-types.md +4 -4
- package/docs/_posts/tutorials/grouping-nodes.md +13 -13
- package/docs/_posts/tutorials/hello-world.md +1 -1
- package/docs/_posts/tutorials/improving-performance.md +1 -1
- package/docs/_posts/tutorials/increasing-rendering-speed.md +1 -1
- package/docs/_posts/tutorials/introducing-animation.md +10 -10
- package/docs/_posts/tutorials/introducing-script-use.md +3 -3
- package/docs/_posts/tutorials/introducing-x3d.md +1 -1
- package/docs/_posts/tutorials/lighting-your-world.md +4 -4
- package/docs/_posts/tutorials/mapping-textures.md +7 -7
- package/docs/_posts/tutorials/naming-nodes.md +1 -1
- package/docs/_posts/tutorials/overview.md +1 -1
- package/docs/_posts/tutorials/providing-information-about-your-world.md +2 -2
- package/docs/_posts/tutorials/sensing-the-viewer.md +15 -15
- package/docs/_posts/tutorials/sensing-viewer-actions.md +10 -10
- package/docs/_posts/tutorials/transforming-shapes.md +4 -4
- package/docs/_posts/tutorials/writing-program-scripts-with-ecmascript.md +5 -5
- package/docs/_posts/what's-new.md +40 -2
- package/docs/_tabs/components.md +383 -0
- package/docs/_tabs/imprint.md +1 -1
- package/docs/_tabs/laboratory.md +38 -6
- package/docs/_tabs/playground.html +22 -66
- package/docs/_tabs/reference.md +2 -1
- package/docs/_tabs/tags.md +1 -1
- package/docs/_tabs/tutorials.md +1 -1
- package/docs/assets/X3D/Michroma-Regular.ttf +0 -0
- package/docs/assets/X3D/peakpx.jpg +0 -0
- package/docs/assets/X3D/teaser.x3d +55 -0
- package/docs/assets/css/style.scss +120 -11
- package/docs/assets/img/laboratory/blend-mode.png +0 -0
- package/docs/assets/img/laboratory/dicom-nrrd.png +0 -0
- package/docs/assets/img/laboratory/earthquake.png +0 -0
- package/docs/assets/img/laboratory/gltf.png +0 -0
- package/docs/assets/img/laboratory/l-system.png +0 -0
- package/docs/assets/js/autoupdate.js +25 -0
- package/docs/laboratory/gltf-sample-viewer.html +318 -0
- package/docs/laboratory/x3d-visual-blend-mode-editor.html +1 -0
- package/package.json +9 -2
- package/src/assets/components/Texturing3D.js +5 -3
- package/src/assets/shaders/Types.glsl.js +5 -5
- package/src/assets/shaders/webgl1/PBR.fs.js +1 -1
- package/src/assets/shaders/webgl1/include/Colors.glsl.js +5 -7
- package/src/assets/shaders/webgl1/include/Fragment.glsl.js +4 -0
- package/src/assets/shaders/webgl1/include/Hatch.glsl.js +1 -1
- package/src/assets/shaders/webgl1/include/Texture.glsl.js +3 -3
- package/src/assets/shaders/webgl2/include/Colors.glsl.js +5 -7
- package/src/assets/shaders/webgl2/include/Hatch.glsl.js +1 -1
- package/src/assets/shaders/webgl2/include/Particle.glsl.js +2 -2
- package/src/assets/shaders/webgl2/include/Texture.glsl.js +2 -2
- package/src/bookmarks.js +12 -8
- package/src/examples.js +3 -0
- package/src/lib/jquery.js +20 -0
- package/src/lib/libgif/libgif.js +1004 -0
- package/src/lib/libtess.js +1 -0
- package/src/lib/nurbs/extras/sample.js +5 -7
- package/src/standard/Math/Algorithms/Bezier.js +175 -33
- package/src/standard/Math/Geometry/Box2.js +15 -55
- package/src/standard/Math/Geometry/Box3.js +19 -66
- package/src/standard/Math/Geometry/Triangle3.js +14 -79
- package/src/standard/Math/Numbers/Color3.js +4 -0
- package/src/standard/Math/Numbers/Color4.js +4 -0
- package/src/standard/Math/Numbers/Matrix3.js +11 -3
- package/src/standard/Math/Numbers/Matrix4.js +9 -6
- package/src/standard/Math/Numbers/Rotation4.js +72 -65
- package/src/tests.js +3 -0
- package/src/x_ite/Base/X3DArrayField.js +0 -2
- package/src/x_ite/Base/X3DInfoArray.js +2 -2
- package/src/x_ite/Base/X3DObjectArrayField.js +19 -0
- package/src/x_ite/Base/X3DTypedArrayField.js +149 -0
- package/src/x_ite/Browser/Core/BrowserOptions.js +108 -64
- package/src/x_ite/Browser/Core/Context.js +1 -1
- package/src/x_ite/Browser/Core/ContextMenu.js +2 -2
- package/src/x_ite/Browser/Core/Notification.js +1 -1
- package/src/x_ite/Browser/Core/RenderingProperties.js +4 -0
- package/src/x_ite/Browser/Core/X3DCoreContext.js +99 -54
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +4 -14
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +3 -13
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +3 -12
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +25 -22
- package/src/x_ite/Browser/Navigation/X3DViewer.js +12 -3
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +2 -2
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +19 -15
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +30 -10
- package/src/x_ite/Browser/Shaders/X3DShadersContext.js +1 -1
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +30 -3
- package/src/x_ite/Browser/Text/PolygonText.js +137 -134
- package/src/x_ite/Browser/Texturing/GifMedia.js +113 -0
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1 -6
- package/src/x_ite/Browser/Texturing3D/NRRDParser.js +81 -310
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/X3DBrowser.js +162 -122
- package/src/x_ite/Browser/X3DBrowserContext.js +7 -5
- package/src/x_ite/Components/Core/WorldInfo.js +3 -3
- package/src/x_ite/Components/Core/X3DNode.js +7 -7
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +2 -3
- package/src/x_ite/Components/Geometry3D/Extrusion.js +27 -23
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +10 -19
- package/src/x_ite/Components/Grouping/X3DBoundedObject.js +1 -3
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +39 -15
- package/src/x_ite/Components/HAnim/HAnimJoint.js +6 -9
- package/src/x_ite/Components/Layering/X3DLayerNode.js +21 -2
- package/src/x_ite/Components/Layout/Layout.js +4 -2
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +6 -0
- package/src/x_ite/Components/Lighting/DirectionalLight.js +4 -11
- package/src/x_ite/Components/Lighting/EnvironmentLight.js +1 -1
- package/src/x_ite/Components/Lighting/PointLight.js +4 -11
- package/src/x_ite/Components/Lighting/SpotLight.js +4 -11
- package/src/x_ite/Components/Lighting/X3DLightNode.js +7 -9
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +2 -2
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +14 -6
- package/src/x_ite/Components/Networking/Inline.js +48 -59
- package/src/x_ite/Components/Networking/X3DUrlObject.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +2 -2
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +7 -13
- package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +4 -2
- package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +4 -2
- package/src/x_ite/Components/Scripting/Script.js +2 -2
- package/src/x_ite/Components/Shaders/ShaderPart.js +1 -1
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1 -3
- package/src/x_ite/Components/Shape/Appearance.js +27 -1
- package/src/x_ite/Components/Shape/FillProperties.js +1 -0
- package/src/x_ite/Components/Shape/LineProperties.js +15 -9
- package/src/x_ite/Components/Shape/Material.js +33 -22
- package/src/x_ite/Components/Shape/PhysicalMaterial.js +22 -15
- package/src/x_ite/Components/Shape/PointProperties.js +23 -7
- package/src/x_ite/Components/Shape/UnlitMaterial.js +3 -2
- package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +25 -19
- package/src/x_ite/Components/Sound/AudioClip.js +5 -5
- package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +26 -34
- package/src/x_ite/Components/Text/X3DFontStyleNode.js +1 -1
- package/src/x_ite/Components/TextureProjector/TextureProjector.js +4 -12
- package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +6 -14
- package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +7 -7
- package/src/x_ite/Components/Texturing/ImageTexture.js +15 -10
- package/src/x_ite/Components/Texturing/MovieTexture.js +51 -11
- package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +2 -2
- package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +230 -0
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +12 -10
- package/src/x_ite/Execution/BindableList.js +35 -37
- package/src/x_ite/Execution/BindableStack.js +25 -7
- package/src/x_ite/Execution/X3DScene.js +2 -2
- package/src/x_ite/Execution/X3DWorld.js +1 -1
- package/src/x_ite/Fields/SFRotation.js +2 -1
- package/src/x_ite/Fields/SFString.js +1 -1
- package/src/x_ite/InputOutput/FileLoader.js +105 -236
- package/src/x_ite/InputOutput/Generator.js +12 -8
- package/src/x_ite/Parser/Expressions.js +85 -0
- package/src/x_ite/Parser/GLB2Parser.js +147 -0
- package/src/x_ite/Parser/GLTF2Parser.js +2221 -0
- package/src/x_ite/Parser/GoldenGate.js +64 -13
- package/src/x_ite/Parser/JSONParser.js +7 -36
- package/src/x_ite/Parser/OBJParser.js +1076 -0
- package/src/x_ite/Parser/STLAParser.js +376 -0
- package/src/x_ite/Parser/STLBParser.js +156 -0
- package/src/x_ite/Parser/SVGParser.js +2476 -0
- package/src/x_ite/Parser/VRMLParser.js +127 -183
- package/src/x_ite/Parser/X3DOptimizer.js +191 -0
- package/src/x_ite/Parser/X3DParser.js +34 -0
- package/src/x_ite/Parser/XMLParser.js +11 -109
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +2 -2
- package/src/x_ite/Prototype/X3DProtoDeclaration.js +3 -3
- package/src/x_ite/Rendering/DependentRenderer.js +1 -1
- package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +150 -0
- package/src/x_ite/Rendering/TextureBuffer.js +3 -5
- package/src/x_ite/Rendering/X3DRenderObject.js +2 -7
- package/src/x_ite/X3D.js +1 -0
- package/src/x_ite/X3DCanvas.js +10 -0
- package/src/x_ite.html +39 -17
- package/webpack.config.js +1 -0
- package/x_ite.min.html +38 -17
- package/src/standard/Networking/BinaryTransport.js +0 -116
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: StaticGroup
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-Grouping
|
|
5
|
+
categories: [components, Grouping]
|
|
6
|
+
tags: [StaticGroup, Grouping]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
StaticGroup is a Grouping node that can contain most nodes. StaticGroup children are guaranteed to not change, send events, receive events, or include re-USE-able content. This allows browser optimizations of contained-node content.
|
|
17
|
+
|
|
18
|
+
The StaticGroup node belongs to the **Grouping** component and its default container field is *children.* It is available since X3D version 3.0 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DChildNode
|
|
25
|
+
+ StaticGroup (X3DBoundedObject)*
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
<small>\* Derived from multiple interfaces.</small>
|
|
29
|
+
|
|
30
|
+
## Fields
|
|
31
|
+
|
|
32
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
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.
|
|
35
|
+
|
|
36
|
+
### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
|
|
37
|
+
|
|
38
|
+
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.
|
|
39
|
+
|
|
40
|
+
#### Hint
|
|
41
|
+
|
|
42
|
+
- Can be useful for collision computations or inverse-kinematics (IK) engines.
|
|
43
|
+
|
|
44
|
+
### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
|
|
45
|
+
|
|
46
|
+
Bounding box center: optional hint for position offset from origin of local coordinate system.
|
|
47
|
+
|
|
48
|
+
### MFNode [ ] **children** [ ] <small>[X3DChildNode]</small>
|
|
49
|
+
|
|
50
|
+
Grouping nodes contain a list of children nodes.
|
|
51
|
+
|
|
52
|
+
#### Hint
|
|
53
|
+
|
|
54
|
+
- 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.
|
|
55
|
+
|
|
56
|
+
## Description
|
|
57
|
+
|
|
58
|
+
### Hints
|
|
59
|
+
|
|
60
|
+
- Insert a Shape node before adding geometry or Appearance.
|
|
61
|
+
- Include `<component name='Grouping' level='3'/>`
|
|
62
|
+
|
|
63
|
+
## External Links
|
|
64
|
+
|
|
65
|
+
- [X3D Specification of StaticGroup](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#StaticGroup){:target="_blank"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Switch
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-Grouping
|
|
5
|
+
categories: [components, Grouping]
|
|
6
|
+
tags: [Switch, Grouping]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Switch is a Grouping node that only renders one (or zero) child at a time. Switch can contain most nodes. (Contained nodes are now called 'children' rather than 'choice', for consistent naming among all GroupingNodeType nodes.) All child choices continue to receive & send events regardless of whichChoice is active.
|
|
17
|
+
|
|
18
|
+
The Switch node belongs to the **Grouping** component and its default container field is *children.* It is available since X3D version 3.0 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DChildNode
|
|
25
|
+
+ X3DGroupingNode
|
|
26
|
+
+ Switch
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Fields
|
|
30
|
+
|
|
31
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
32
|
+
|
|
33
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
34
|
+
|
|
35
|
+
### SFInt32 [in, out] **whichChoice** -1 <small>[-1,∞)</small>
|
|
36
|
+
|
|
37
|
+
Index of active child choice, counting from 0.
|
|
38
|
+
|
|
39
|
+
#### Warning
|
|
40
|
+
|
|
41
|
+
- Default whichChoice= -1 means no selection (and no rendering), whichChoice=0 means initial child.
|
|
42
|
+
|
|
43
|
+
### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
|
|
44
|
+
|
|
45
|
+
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.
|
|
46
|
+
|
|
47
|
+
#### Hint
|
|
48
|
+
|
|
49
|
+
- Can be useful for collision computations or inverse-kinematics (IK) engines.
|
|
50
|
+
|
|
51
|
+
### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
|
|
52
|
+
|
|
53
|
+
Bounding box center: optional hint for position offset from origin of local coordinate system.
|
|
54
|
+
|
|
55
|
+
### MFNode [in] **addChildren**
|
|
56
|
+
|
|
57
|
+
Input field addChildren.
|
|
58
|
+
|
|
59
|
+
### MFNode [in] **removeChildren**
|
|
60
|
+
|
|
61
|
+
Input field removeChildren.
|
|
62
|
+
|
|
63
|
+
### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
|
|
64
|
+
|
|
65
|
+
Grouping nodes contain a list of children nodes.
|
|
66
|
+
|
|
67
|
+
#### Hint
|
|
68
|
+
|
|
69
|
+
- 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.
|
|
70
|
+
|
|
71
|
+
## Description
|
|
72
|
+
|
|
73
|
+
### Hints
|
|
74
|
+
|
|
75
|
+
- Insert a Shape node before adding geometry or Appearance.
|
|
76
|
+
- Authors can temporarily hide test geometry under an unselected child of a Switch. This is a good alternative to "commenting out" nodes.
|
|
77
|
+
|
|
78
|
+
### Warnings
|
|
79
|
+
|
|
80
|
+
- Do not include Viewpoint or OrthoViewpoint as a child of LOD or Switch, instead use ViewpointGroup as parent to constrain location proximity where the viewpoint is available to user.
|
|
81
|
+
- Results are undefined if a bindable node (Viewpoint, OrthoViewpoint, NavigationInfo, Fog, Background, TextureBackground) is a contained child of LOD or Switch.
|
|
82
|
+
|
|
83
|
+
## Example
|
|
84
|
+
|
|
85
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/Grouping/Switch/Switch.x3d"></x3d-canvas>
|
|
86
|
+
|
|
87
|
+
## External Links
|
|
88
|
+
|
|
89
|
+
- [X3D Specification of Switch](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Switch){:target="_blank"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Transform
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-Grouping
|
|
5
|
+
categories: [components, Grouping]
|
|
6
|
+
tags: [Transform, Grouping]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Transform is a Grouping node that can contain most nodes. Transform translates, orients and scales child geometry within the local world coordinate system.
|
|
17
|
+
|
|
18
|
+
The Transform node belongs to the **Grouping** component and its default container field is *children.* It is available since X3D version 3.0 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DChildNode
|
|
25
|
+
+ X3DGroupingNode
|
|
26
|
+
+ Transform
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Fields
|
|
30
|
+
|
|
31
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
32
|
+
|
|
33
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
34
|
+
|
|
35
|
+
### SFVec3f [in, out] **translation** 0 0 0 <small>(-∞,∞)</small>
|
|
36
|
+
|
|
37
|
+
Position (x, y, z in meters) of children relative to local coordinate system.
|
|
38
|
+
|
|
39
|
+
#### Hint
|
|
40
|
+
|
|
41
|
+
- The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
|
|
42
|
+
|
|
43
|
+
### SFRotation [in, out] **rotation** 0 0 1 0 <small>[-1,1] or (-∞,∞)</small>
|
|
44
|
+
|
|
45
|
+
Orientation (axis, angle in radians) of children relative to local coordinate system.
|
|
46
|
+
|
|
47
|
+
#### Hint
|
|
48
|
+
|
|
49
|
+
- The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
|
|
50
|
+
|
|
51
|
+
### SFVec3f [in, out] **scale** 1 1 1 <small>(-∞,∞)</small>
|
|
52
|
+
|
|
53
|
+
Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
|
|
54
|
+
|
|
55
|
+
#### Hint
|
|
56
|
+
|
|
57
|
+
- The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
|
|
58
|
+
|
|
59
|
+
### SFRotation [in, out] **scaleOrientation** 0 0 1 0 <small>[-1,1] or (-∞,∞)</small>
|
|
60
|
+
|
|
61
|
+
Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
|
|
62
|
+
|
|
63
|
+
#### Hint
|
|
64
|
+
|
|
65
|
+
- The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
|
|
66
|
+
|
|
67
|
+
### SFVec3f [in, out] **center** 0 0 0 <small>(-∞,∞)</small>
|
|
68
|
+
|
|
69
|
+
Translation offset from origin of local coordinate system, applied prior to rotation or scaling.
|
|
70
|
+
|
|
71
|
+
#### Hint
|
|
72
|
+
|
|
73
|
+
- The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
|
|
74
|
+
|
|
75
|
+
### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
|
|
76
|
+
|
|
77
|
+
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.
|
|
78
|
+
|
|
79
|
+
#### Hint
|
|
80
|
+
|
|
81
|
+
- Can be useful for collision computations or inverse-kinematics (IK) engines.
|
|
82
|
+
|
|
83
|
+
### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
|
|
84
|
+
|
|
85
|
+
Bounding box center: optional hint for position offset from origin of local coordinate system.
|
|
86
|
+
|
|
87
|
+
### MFNode [in] **addChildren**
|
|
88
|
+
|
|
89
|
+
Input field addChildren.
|
|
90
|
+
|
|
91
|
+
### MFNode [in] **removeChildren**
|
|
92
|
+
|
|
93
|
+
Input field removeChildren.
|
|
94
|
+
|
|
95
|
+
### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
|
|
96
|
+
|
|
97
|
+
Grouping nodes contain a list of children nodes.
|
|
98
|
+
|
|
99
|
+
#### Hint
|
|
100
|
+
|
|
101
|
+
- 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.
|
|
102
|
+
|
|
103
|
+
## Description
|
|
104
|
+
|
|
105
|
+
### Hints
|
|
106
|
+
|
|
107
|
+
- Each transformation creates a new coordinate system relative to the parent coordinate system.
|
|
108
|
+
- +Y axis is the up direction. (Similarly some scenes may consider +X is North and +Z is East.)
|
|
109
|
+
- Best authoring approach is to keep +Y axis pointing towards local up direction, supporting scene composability and effective navigation response (which is based on gravity direction).
|
|
110
|
+
- Insert a Shape node before adding geometry or Appearance.
|
|
111
|
+
- Translation/rotation/scaling field attributes can be defined in any order in the scene. The applied order of translation/rotation/scaling transformation-matrix operations remains consistent.
|
|
112
|
+
- Authors can modify order of translation/rotation/scaling operations by splitting them into separate nested parent/child Transform nodes.
|
|
113
|
+
|
|
114
|
+
## Example
|
|
115
|
+
|
|
116
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/Grouping/Transform/Transform.x3d"></x3d-canvas>
|
|
117
|
+
|
|
118
|
+
### Warning
|
|
119
|
+
|
|
120
|
+
- Transform contained by CADFace can only hold a single LOD or Shape node.
|
|
121
|
+
|
|
122
|
+
## External Links
|
|
123
|
+
|
|
124
|
+
- [X3D Specification of Transform](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/grouping.html#Transform){:target="_blank"}
|
|
125
|
+
- [X3D Scene Authoring Hints, Coordinate Systems](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#CoordinateSystems){:target="_blank"}
|
|
126
|
+
- [X3D Scene Authoring Hints, Scale Factors and Unit Conversions](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Scale){:target="_blank"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: HAnimDisplacer
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-HAnim
|
|
5
|
+
categories: [components, HAnim]
|
|
6
|
+
tags: [HAnimDisplacer, HAnim]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
HAnimDisplacer nodes alter the shape of coordinate-based geometry within parent HAnimSegment or parent HAnimBody/HAnimHumanoid nodes. Displacer effects are scaled by the corresponding weight field.
|
|
17
|
+
|
|
18
|
+
The HAnimDisplacer node belongs to the **HAnim** component and its default container field is *displacers.* It is available since X3D version 3.0 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DGeometricPropertyNode
|
|
25
|
+
+ HAnimDisplacer
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Fields
|
|
29
|
+
|
|
30
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
31
|
+
|
|
32
|
+
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
|
+
|
|
34
|
+
### MFInt32 [in, out] **coordIndex** [ ] <small>[0,∞) or -1</small>
|
|
35
|
+
|
|
36
|
+
Defines index values into the parent HAnimSegment or HAnimBody/HAnimHumanoid coordinate array for the mesh of vertices affected by this HAnimDisplacer. Values start at index 0.
|
|
37
|
+
|
|
38
|
+
#### Warning
|
|
39
|
+
|
|
40
|
+
- -1 sentinel values are not allowed.
|
|
41
|
+
|
|
42
|
+
### MFVec3f [in, out] **displacements** [ ]
|
|
43
|
+
|
|
44
|
+
*displacements* are a set of SFVec3f values added to neutral/resting position of each of the corresponding HAnimSegment vertices (or HAnimJoint/HAnimHumanoid vertices) referenced by coordIndex field.
|
|
45
|
+
|
|
46
|
+
#### Hint
|
|
47
|
+
|
|
48
|
+
- Individual displacement values are scaled by the weight factor, if present.
|
|
49
|
+
|
|
50
|
+
### SFString [in, out] **name** ""
|
|
51
|
+
|
|
52
|
+
Unique name attribute must be defined so that HAnimDisplacer node can be identified at run time for animation purposes.
|
|
53
|
+
|
|
54
|
+
#### Warning
|
|
55
|
+
|
|
56
|
+
- Name is not included if this instance is a USE node. Examples: sellion r_infraorbitale etc. as listed in HAnim Specification.
|
|
57
|
+
|
|
58
|
+
#### See Also
|
|
59
|
+
|
|
60
|
+
- [HAnim Feature Points](https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/tables/HAnimSurfaceFeaturePoints19774V1.0.txt){:target="_blank"}
|
|
61
|
+
- [HAnim Specification, Feature points for the human body](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/FeaturePoints.html){:target="_blank"}
|
|
62
|
+
|
|
63
|
+
### SFFloat [in, out] **weight** 0 <small>(-∞,∞)</small>
|
|
64
|
+
|
|
65
|
+
The weigh factor has typical range [0,1] and defines the scale factor applied to displacement values before adding them to neutral vertex positions.
|
|
66
|
+
|
|
67
|
+
#### Hint
|
|
68
|
+
|
|
69
|
+
- Apply a non-zero weight factor to see the effect of HAnimDisplacer displacements.
|
|
70
|
+
|
|
71
|
+
## Description
|
|
72
|
+
|
|
73
|
+
### Example
|
|
74
|
+
|
|
75
|
+
- In the case of a face, there might be a separate HAnimDisplacer node for each facial expression.
|
|
76
|
+
|
|
77
|
+
### Hints
|
|
78
|
+
|
|
79
|
+
- HAnimDisplacer can be used in three different ways: (a) identify vertices corresponding to a particular feature in a parent HAnimSegment node, (b) represent a particular muscular action for a parent HAnimJoint node by displacing corresponding HAnimHumanoid skin vertices in various directions (linearly or radially), or (c) represent a complete configuration of coordinate vertices in a parent HAnimSegment node or parent HAnimJoint/HAnimHumanoid nodes.
|
|
80
|
+
- Name suffixes include \_feature, \_action and \_config.
|
|
81
|
+
- Multiple HAnimDisplacer nodes must appear consecutively inside parent HAnimSegment.
|
|
82
|
+
- Include `<component name='HAnim' level='1'/>`
|
|
83
|
+
|
|
84
|
+
## External Links
|
|
85
|
+
|
|
86
|
+
- [X3D Specification of HAnimDisplacer](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimDisplacer){:target="_blank"}
|
|
87
|
+
- [HAnim Specification](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/HAnimArchitecture.html){:target="_blank"}
|
|
88
|
+
- [HAnim Specification, Displacer](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html#Displacer){:target="_blank"}
|
|
89
|
+
- In the case of a face, there might be a separate HAnimDisplacer node for each facial expression.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: HAnimHumanoid
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-HAnim
|
|
5
|
+
categories: [components, HAnim]
|
|
6
|
+
tags: [HAnimHumanoid, HAnim]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
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.
|
|
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.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DChildNode
|
|
25
|
+
+ HAnimHumanoid (X3DBoundedObject)*
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
<small>\* Derived from multiple interfaces.</small>
|
|
29
|
+
|
|
30
|
+
## Fields
|
|
31
|
+
|
|
32
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
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.
|
|
35
|
+
|
|
36
|
+
### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
|
|
37
|
+
|
|
38
|
+
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.
|
|
39
|
+
|
|
40
|
+
#### Hint
|
|
41
|
+
|
|
42
|
+
- Can be useful for collision computations or inverse-kinematics (IK) engines.
|
|
43
|
+
|
|
44
|
+
### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
|
|
45
|
+
|
|
46
|
+
Bounding box center: optional hint for position offset from origin of local coordinate system.
|
|
47
|
+
|
|
48
|
+
### SFVec3f [in, out] **center** 0 0 0 <small>(-∞,∞)</small>
|
|
49
|
+
|
|
50
|
+
Translation offset from origin of local coordinate system.
|
|
51
|
+
|
|
52
|
+
### MFString [in, out] **info** [ ]
|
|
53
|
+
|
|
54
|
+
Contains metadata keyword=value pairs, where approved keyword terms are humanoidVersion authorName authorEmail copyright creationDate usageRestrictions age gender height and weight.
|
|
55
|
+
|
|
56
|
+
### MFNode [in, out] **joints** [ ] <small>[HAnimJoint]</small>
|
|
57
|
+
|
|
58
|
+
Input/Output field joints.
|
|
59
|
+
|
|
60
|
+
### SFString [in, out] **name** ""
|
|
61
|
+
|
|
62
|
+
Unique name attribute must be defined so that HAnimHumanoid node can be identified at run time for animation purposes.
|
|
63
|
+
|
|
64
|
+
#### Warning
|
|
65
|
+
|
|
66
|
+
- Name is not included if this instance is a USE node.
|
|
67
|
+
|
|
68
|
+
### SFRotation [in, out] **rotation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
|
|
69
|
+
|
|
70
|
+
Orientation of children relative to local coordinate system.
|
|
71
|
+
|
|
72
|
+
### SFVec3f [in, out] **scale** 1 1 1 <small>(0,∞)</small>
|
|
73
|
+
|
|
74
|
+
Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
|
|
75
|
+
|
|
76
|
+
### SFRotation [in, out] **scaleOrientation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
|
|
77
|
+
|
|
78
|
+
Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
|
|
79
|
+
|
|
80
|
+
### MFNode [in, out] **segments** [ ] <small>[HAnimSegment]</small>
|
|
81
|
+
|
|
82
|
+
Input/Output field segments.
|
|
83
|
+
|
|
84
|
+
### MFNode [in, out] **sites** [ ] <small>[HAnimSite]</small>
|
|
85
|
+
|
|
86
|
+
Input/Output field sites.
|
|
87
|
+
|
|
88
|
+
### MFNode [in, out] **skeleton** [ ] <small>[HAnimJoint, HAnimSite]</small>
|
|
89
|
+
|
|
90
|
+
Input/Output field skeleton.
|
|
91
|
+
|
|
92
|
+
### MFNode [in, out] **skin** [ ] <small>[X3DChildNode]</small>
|
|
93
|
+
|
|
94
|
+
Input/Output field skin.
|
|
95
|
+
|
|
96
|
+
### SFNode [in, out] **skinCoord** NULL <small>[X3DCoordinateNode]</small>
|
|
97
|
+
|
|
98
|
+
Input/Output field skinCoord.
|
|
99
|
+
|
|
100
|
+
### SFNode [in, out] **skinNormal** NULL <small>[X3DNormalNode]</small>
|
|
101
|
+
|
|
102
|
+
Input/Output field skinNormal.
|
|
103
|
+
|
|
104
|
+
### SFVec3f [in, out] **translation** 0 0 0 <small>(-∞,∞)</small>
|
|
105
|
+
|
|
106
|
+
Position of children relative to local coordinate system.
|
|
107
|
+
|
|
108
|
+
### SFString [in, out] **version** ""
|
|
109
|
+
|
|
110
|
+
HAnimHumanoid version, where standardized ISO 19774 value is 2.0.
|
|
111
|
+
|
|
112
|
+
#### Warning
|
|
113
|
+
|
|
114
|
+
- Prior versions of HAnim nodes might not validate correctly.
|
|
115
|
+
|
|
116
|
+
### MFNode [in, out] **viewpoints** [ ] <small>[HAnimSite]</small>
|
|
117
|
+
|
|
118
|
+
Input/Output field viewpoints.
|
|
119
|
+
|
|
120
|
+
## Description
|
|
121
|
+
|
|
122
|
+
### Hints
|
|
123
|
+
|
|
124
|
+
- MFNode arrays for joints, segments, sites, skin and viewpoints usually follow the human body definition and contain USE node references.
|
|
125
|
+
- 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.
|
|
126
|
+
- Include `<component name='HAnim' level='1'/>`
|
|
127
|
+
|
|
128
|
+
## Example
|
|
129
|
+
|
|
130
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/HAnim/HAnimHumanoid/HAnimHumanoid.x3d"></x3d-canvas>
|
|
131
|
+
|
|
132
|
+
## External Links
|
|
133
|
+
|
|
134
|
+
- [X3D Specification of HAnimHumanoid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimHumanoid){:target="_blank"}
|
|
135
|
+
- [HAnim Specification](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/HAnimArchitecture.html){:target="_blank"}
|
|
136
|
+
- [HAnim Specification, Humanoid](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html#Humanoid){:target="_blank"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: HAnimJoint
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-HAnim
|
|
5
|
+
categories: [components, HAnim]
|
|
6
|
+
tags: [HAnimJoint, HAnim]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Each joint in the body is represented by an HAnimJoint node.
|
|
17
|
+
|
|
18
|
+
The HAnimJoint node belongs to the **HAnim** component and its default container field is *children.* It is available since X3D version 3.0 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DChildNode
|
|
25
|
+
+ X3DGroupingNode
|
|
26
|
+
+ HAnimJoint
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Fields
|
|
30
|
+
|
|
31
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
32
|
+
|
|
33
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
34
|
+
|
|
35
|
+
### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or −1 −1 −1</small>
|
|
36
|
+
|
|
37
|
+
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.
|
|
38
|
+
|
|
39
|
+
#### Hint
|
|
40
|
+
|
|
41
|
+
- Can be useful for collision computations or inverse-kinematics (IK) engines.
|
|
42
|
+
|
|
43
|
+
### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
|
|
44
|
+
|
|
45
|
+
Bounding box center: optional hint for position offset from origin of local coordinate system.
|
|
46
|
+
|
|
47
|
+
### MFNode [in] **addChildren**
|
|
48
|
+
|
|
49
|
+
Input field addChildren.
|
|
50
|
+
|
|
51
|
+
### MFNode [in] **removeChildren**
|
|
52
|
+
|
|
53
|
+
Input field removeChildren.
|
|
54
|
+
|
|
55
|
+
### MFNode [in, out] **children** [ ] <small>[HAnimJoint,HAnimSegment,HAnimSite]</small>
|
|
56
|
+
|
|
57
|
+
Input/Output field children.
|
|
58
|
+
|
|
59
|
+
### SFVec3f [in, out] **center** 0 0 0 <small>(-∞,∞)</small>
|
|
60
|
+
|
|
61
|
+
Translation offset from origin of local coordinate system.
|
|
62
|
+
|
|
63
|
+
#### Hint
|
|
64
|
+
|
|
65
|
+
- Usually HAnimJoint position is controlled by the center field, not the translation field.
|
|
66
|
+
|
|
67
|
+
### MFNode [in, out] **displacers** [ ] <small>[HAnimDisplacer]</small>
|
|
68
|
+
|
|
69
|
+
Input/Output field displacers.
|
|
70
|
+
|
|
71
|
+
### SFRotation [in, out] **limitOrientation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
|
|
72
|
+
|
|
73
|
+
Orientation of upper/lower rotation limits, relative to HAnimJoint center.
|
|
74
|
+
|
|
75
|
+
### MFFloat [in, out] **llimit** [ ] <small>(-∞,∞)</small>
|
|
76
|
+
|
|
77
|
+
Lower limit for minimum joint rotation in radians.
|
|
78
|
+
|
|
79
|
+
#### Hint
|
|
80
|
+
|
|
81
|
+
- Always contains 3 values, one for each local axis.
|
|
82
|
+
|
|
83
|
+
### SFString [in, out] **name** ""
|
|
84
|
+
|
|
85
|
+
Unique name attribute must be defined so that HAnimJoint node can be identified at run time for animation purposes.
|
|
86
|
+
|
|
87
|
+
#### Warning
|
|
88
|
+
|
|
89
|
+
- Name is not included if this instance is a USE node. Examples: HumanoidRoot sacroiliac l_hip l_knee l_ankle etc. as listed in HAnim Specification.
|
|
90
|
+
|
|
91
|
+
#### See Also
|
|
92
|
+
|
|
93
|
+
- [HAnim Humanoid Joint Names](https://www.web3d.org/x3d/content/examples/Basic/HumanoidAnimation/tables/HAnimJointNames19774V1.0.txt){:target="_blank"}
|
|
94
|
+
- [HAnim Specification, Humanoid Joint-Segment Hierarchy](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/concepts.html#Hierarchy){:target="_blank"}
|
|
95
|
+
|
|
96
|
+
### SFRotation [in, out] **rotation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
|
|
97
|
+
|
|
98
|
+
Orientation of children relative to local coordinate system.
|
|
99
|
+
|
|
100
|
+
### SFVec3f [in, out] **scale** 1 1 1 <small>(0,∞)</small>
|
|
101
|
+
|
|
102
|
+
Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
|
|
103
|
+
|
|
104
|
+
### SFRotation [in, out] **scaleOrientation** 0 0 1 0 <small>(-∞,∞)|[-1,1]</small>
|
|
105
|
+
|
|
106
|
+
Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
|
|
107
|
+
|
|
108
|
+
### MFInt32 [in, out] **skinCoordIndex** [ ]
|
|
109
|
+
|
|
110
|
+
Coordinate index values referencing which vertices are influenced by the HAnimJoint.
|
|
111
|
+
|
|
112
|
+
#### Hint
|
|
113
|
+
|
|
114
|
+
- Corresponding skinCoord Coordinate and skinNormal Normal nodes are directly contained within the ancestor HAnimHumanoid node for this HAnimJoint.
|
|
115
|
+
|
|
116
|
+
#### Warning
|
|
117
|
+
|
|
118
|
+
- -1 sentinel values are not allowed.
|
|
119
|
+
|
|
120
|
+
### MFFloat [in, out] **skinCoordWeight** [ ]
|
|
121
|
+
|
|
122
|
+
Weight deformation values for the corresponding values in the skinCoordIndex field.
|
|
123
|
+
|
|
124
|
+
### MFFloat [in, out] **stiffness** [ 0, 0, 0 ] <small>[0,1]</small>
|
|
125
|
+
|
|
126
|
+
Axial values (0,1) indicating willingness of joint to move (about local X, Y, Z axes), larger stiffness values means greater resistance.
|
|
127
|
+
|
|
128
|
+
#### Hint
|
|
129
|
+
|
|
130
|
+
- Used by inverse kinematics (IK) systems.
|
|
131
|
+
|
|
132
|
+
### SFVec3f [in, out] **translation** 0 0 0 <small>(-∞,∞)</small>
|
|
133
|
+
|
|
134
|
+
Position of children relative to local coordinate system.
|
|
135
|
+
|
|
136
|
+
#### Warning
|
|
137
|
+
|
|
138
|
+
- Usually HAnimJoint position is controlled by the center field, not the translation field.
|
|
139
|
+
|
|
140
|
+
### MFFloat [in, out] **ulimit** [ ] <small>(-∞,∞)</small>
|
|
141
|
+
|
|
142
|
+
Upper limit for maximum joint rotation in radians.
|
|
143
|
+
|
|
144
|
+
#### Hint
|
|
145
|
+
|
|
146
|
+
- Always contains 3 values, one for each local axis.
|
|
147
|
+
|
|
148
|
+
## Description
|
|
149
|
+
|
|
150
|
+
### Hints
|
|
151
|
+
|
|
152
|
+
- HAnimJoint may only be a child of another HAnimJoint node, or skeleton field for the HAnimHumanoid.
|
|
153
|
+
- HAnimJoint can only contain nodes HAnimJoint, HAnimSegment, HAnimSite with containerField='children' and also HAnimDisplacer nodes with containerField='displacers'.
|
|
154
|
+
- Visualization shapes for HAnimJoint nodes can be placed in child HAnimSegment or HAnimSite nodes.
|
|
155
|
+
- Include `<component name='HAnim' level='1'/>`
|
|
156
|
+
|
|
157
|
+
### Warning
|
|
158
|
+
|
|
159
|
+
- An HAnimJoint may not be a child of an HAnimSegment.
|
|
160
|
+
|
|
161
|
+
## External Links
|
|
162
|
+
|
|
163
|
+
- [X3D Specification of HAnimJoint](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/hanim.html#HAnimJoint){:target="_blank"}
|
|
164
|
+
- [HAnim Specification](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/HAnimArchitecture.html){:target="_blank"}
|
|
165
|
+
- [HAnim Specification, Joint](https://www.web3d.org/documents/specifications/19774-1/V2.0/HAnim/ObjectInterfaces.html#Joint){:target="_blank"}
|