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
|
@@ -3,7 +3,7 @@ title: Grouping Nodes
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-shapes-geometry-and-appearance
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Grouping, Nodes]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -37,7 +37,7 @@ and more
|
|
|
37
37
|
|
|
38
38
|
## Syntax: Group
|
|
39
39
|
|
|
40
|
-
The [Group](
|
|
40
|
+
The [Group](../components/grouping/group) node creates a basic grouping.
|
|
41
41
|
|
|
42
42
|
- Every child node in the group is displayed.
|
|
43
43
|
|
|
@@ -59,7 +59,7 @@ Group {
|
|
|
59
59
|
|
|
60
60
|
## Syntax: Switch
|
|
61
61
|
|
|
62
|
-
The [Switch](
|
|
62
|
+
The [Switch](../components/grouping/switch) group node creates a switched group
|
|
63
63
|
|
|
64
64
|
- Only one child node in the group is displayed
|
|
65
65
|
- You select which child
|
|
@@ -86,7 +86,7 @@ Switch {
|
|
|
86
86
|
|
|
87
87
|
## Syntax: Transform
|
|
88
88
|
|
|
89
|
-
The [Transform](
|
|
89
|
+
The [Transform](../components/grouping/transform) group node creates a group with its own coordinate system.
|
|
90
90
|
|
|
91
91
|
- Every child node in the group is displayed.
|
|
92
92
|
|
|
@@ -114,7 +114,7 @@ Transform {
|
|
|
114
114
|
|
|
115
115
|
## Syntax: Billboard
|
|
116
116
|
|
|
117
|
-
The [Billboard](
|
|
117
|
+
The [Billboard](../components/navigation/billboard) group node creates a group with a special coordinate system.
|
|
118
118
|
|
|
119
119
|
- Every child node in the group is displayed.
|
|
120
120
|
- The coordinate system is turned to face viewer.
|
|
@@ -183,7 +183,7 @@ Billboard {
|
|
|
183
183
|
|
|
184
184
|
## Syntax: Anchor
|
|
185
185
|
|
|
186
|
-
An [Anchor](
|
|
186
|
+
An [Anchor](../components/networking/anchor) node creates a group that acts as a clickable anchor
|
|
187
187
|
|
|
188
188
|
- Every child node in the group is displayed
|
|
189
189
|
- Clicking any child follows a URL
|
|
@@ -211,7 +211,7 @@ Anchor {
|
|
|
211
211
|
|
|
212
212
|
## Syntax: Inline
|
|
213
213
|
|
|
214
|
-
An [Inline](
|
|
214
|
+
An [Inline](../components/networking/inline) node creates a special group from another X3D file's contents
|
|
215
215
|
|
|
216
216
|
- Children read from file selected by a URL
|
|
217
217
|
- Every child node in group is displayed
|
|
@@ -233,10 +233,10 @@ Inline {
|
|
|
233
233
|
|
|
234
234
|
## Summary
|
|
235
235
|
|
|
236
|
-
- The [Group](
|
|
237
|
-
- The [Switch](
|
|
238
|
-
- The [Transform](
|
|
239
|
-
- The [Billboard](
|
|
240
|
-
- The [Anchor](
|
|
236
|
+
- The [Group](../components/grouping/group) node creates a basic group
|
|
237
|
+
- The [Switch](../components/grouping/switch) node creates a group with 1 choice used
|
|
238
|
+
- The [Transform](../components/grouping/transform) node creates a group with a new coordinate system
|
|
239
|
+
- The [Billboard](../components/navigation/billboard) node creates a group with a coordinate system that rotates to face the viewer
|
|
240
|
+
- The [Anchor](../components/networking/anchor) node creates a clickable group
|
|
241
241
|
- Clicking any child in the group loads a URL
|
|
242
|
-
- The [Inline](
|
|
242
|
+
- The [Inline](../components/networking/inline) node creates a special group loaded from another X3D file
|
|
@@ -3,11 +3,11 @@ title: Introducing Animations
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-animation-sensors-and-geometry
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Introducing, Animations]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
10
|
-
- Nodes like [Billboard](
|
|
10
|
+
- Nodes like [Billboard](../components/navigation/billboard) and [Anchor](../components/networking/anchor) have built-in behavior
|
|
11
11
|
- You can create your own behaviors to make shapes move, rotate, scale, blink, and more
|
|
12
12
|
- We need a means to trigger, time, and respond to a sequence of events in order to provide better user/world interactions
|
|
13
13
|
|
|
@@ -28,11 +28,11 @@ An event is a message sent between nodes
|
|
|
28
28
|
|
|
29
29
|
To spin a shape:
|
|
30
30
|
|
|
31
|
-
- Connect a node that sends rotation events to a [Transform](
|
|
31
|
+
- Connect a node that sends rotation events to a [Transform](../components/grouping/transform) node's *rotation* field
|
|
32
32
|
|
|
33
33
|
To blink a shape:
|
|
34
34
|
|
|
35
|
-
- Connect a node that sends color events to a [Material](
|
|
35
|
+
- Connect a node that sends color events to a [Material](../components/shape/material) node's *diffuseColor* field
|
|
36
36
|
|
|
37
37
|
## Routing events
|
|
38
38
|
|
|
@@ -56,13 +56,13 @@ An inputOutput field is a short-hand for a initializeOnly, inputOnly, and output
|
|
|
56
56
|
|
|
57
57
|
## Sample inputs
|
|
58
58
|
|
|
59
|
-
A [Transform](
|
|
59
|
+
A [Transform](../components/grouping/transform) node has these input fields:
|
|
60
60
|
|
|
61
61
|
- *set\_translation*
|
|
62
62
|
- *set\_rotation*
|
|
63
63
|
- *set\_scale*
|
|
64
64
|
|
|
65
|
-
A [Material](
|
|
65
|
+
A [Material](../components/shape/material) node has these input fields:
|
|
66
66
|
|
|
67
67
|
- *set\_diffuseColor*
|
|
68
68
|
- *set\_emissiveColor*
|
|
@@ -70,15 +70,15 @@ A [Material](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/
|
|
|
70
70
|
|
|
71
71
|
## Sample outputs
|
|
72
72
|
|
|
73
|
-
An [OrientationInterpolator](
|
|
73
|
+
An [OrientationInterpolator](../components/interpolation/orientationinterpolator) node has this output field:
|
|
74
74
|
|
|
75
75
|
- *value\_changed* to send rotation values
|
|
76
76
|
|
|
77
|
-
A [PositionInterpolator](
|
|
77
|
+
A [PositionInterpolator](../components/interpolation/positioninterpolator) node has this output field:
|
|
78
78
|
|
|
79
79
|
- *value\_changed* to send position (translation) values
|
|
80
80
|
|
|
81
|
-
A [TimeSensor](
|
|
81
|
+
A [TimeSensor](../components/time/timesensor) node has this output field:
|
|
82
82
|
|
|
83
83
|
- *time* to send time values
|
|
84
84
|
|
|
@@ -151,7 +151,7 @@ If the inputOutput field name is *xxx*, then:
|
|
|
151
151
|
- *xxx\_changed* is an output that sends when the field changes
|
|
152
152
|
- The *set\_* and *\_changed* sufixes are optional but recommended for clarity
|
|
153
153
|
|
|
154
|
-
The [Transform](
|
|
154
|
+
The [Transform](../components/grouping/transform) node has:
|
|
155
155
|
|
|
156
156
|
- *rotation* field
|
|
157
157
|
- *set\_rotation* input
|
|
@@ -3,7 +3,7 @@ title: Introducing Script Use
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-scripts-and-prototypes
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Introducing, Script]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -20,7 +20,7 @@ You can create new sensors, interpolators, etc., using program scripts written i
|
|
|
20
20
|
|
|
21
21
|
## Syntax: Script
|
|
22
22
|
|
|
23
|
-
A [Script](
|
|
23
|
+
A [Script](../components/scripting/script) node selects a program script to run:
|
|
24
24
|
|
|
25
25
|
- *url* - choice of program script
|
|
26
26
|
|
|
@@ -123,7 +123,7 @@ ROUTE Bouncer.value_changed TO Ball.set_translation
|
|
|
123
123
|
|
|
124
124
|
## Summary
|
|
125
125
|
|
|
126
|
-
The [Script](
|
|
126
|
+
The [Script](../components/scripting/script) node selects a program script, specified by a URL.
|
|
127
127
|
|
|
128
128
|
Program scripts have field and event interface declarations, each with:
|
|
129
129
|
|
|
@@ -3,7 +3,7 @@ title: Lighting Your World
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-textures-lights-and-environment
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Lighting, World]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -43,7 +43,7 @@ Directional lights and spot lights also have:
|
|
|
43
43
|
|
|
44
44
|
## Syntax: PointLight
|
|
45
45
|
|
|
46
|
-
A [PointLight](
|
|
46
|
+
A [PointLight](../components/lighting/pointlight) node illuminates radially from a point:
|
|
47
47
|
|
|
48
48
|
### XML Encoding
|
|
49
49
|
|
|
@@ -66,7 +66,7 @@ PointLight {
|
|
|
66
66
|
|
|
67
67
|
## Syntax: DirectionalLight
|
|
68
68
|
|
|
69
|
-
A [DirectionalLight](
|
|
69
|
+
A [DirectionalLight](../components/lighting/directionallight) node illuminates in one direction from infinitely far away:
|
|
70
70
|
|
|
71
71
|
### XML Encoding
|
|
72
72
|
|
|
@@ -89,7 +89,7 @@ DirectionalLight {
|
|
|
89
89
|
|
|
90
90
|
## Syntax: SpotLight
|
|
91
91
|
|
|
92
|
-
A [SpotLight](
|
|
92
|
+
A [SpotLight](../components/lighting/spotlight) node illuminates from a point, in one direction, within a cone:
|
|
93
93
|
|
|
94
94
|
### XML Encoding
|
|
95
95
|
|
|
@@ -3,7 +3,7 @@ title: Mapping Textures
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-textures-lights-and-environment
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Mapping, Textures]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -52,7 +52,7 @@ Movie texture:
|
|
|
52
52
|
|
|
53
53
|
## Syntax: Appearance
|
|
54
54
|
|
|
55
|
-
An [Appearance](
|
|
55
|
+
An [Appearance](../components/shape/appearance) node describes overall shape appearance:
|
|
56
56
|
|
|
57
57
|
- *texture* - texture source
|
|
58
58
|
|
|
@@ -82,7 +82,7 @@ Shape {
|
|
|
82
82
|
|
|
83
83
|
## Syntax: ImageTexture
|
|
84
84
|
|
|
85
|
-
An [ImageTexture](
|
|
85
|
+
An [ImageTexture](../components/texturing/imagetexture) node selects a texture image for texture mapping:
|
|
86
86
|
|
|
87
87
|
- *url* - texture image file URL
|
|
88
88
|
|
|
@@ -115,7 +115,7 @@ Shape {
|
|
|
115
115
|
|
|
116
116
|
## Syntax: PixelTexture
|
|
117
117
|
|
|
118
|
-
A [PixelTexture](
|
|
118
|
+
A [PixelTexture](../components/texturing/pixeltexture) node specifies texture image pixels for texture mapping:
|
|
119
119
|
|
|
120
120
|
- *image* - texture image pixels
|
|
121
121
|
- Image data - width, height, bytes/pixel, pixel values
|
|
@@ -151,7 +151,7 @@ Shape {
|
|
|
151
151
|
|
|
152
152
|
## Syntax: MovieTexture
|
|
153
153
|
|
|
154
|
-
A [MovieTexture](
|
|
154
|
+
A [MovieTexture](../components/texturing/movietexture) node selects a texture movie for texture mapping:
|
|
155
155
|
|
|
156
156
|
- *url* - texture movie file URL
|
|
157
157
|
- When to play the movie, and how quickly (like a TimeSensor node)
|
|
@@ -193,7 +193,7 @@ Shape {
|
|
|
193
193
|
|
|
194
194
|
## Using materials with textures
|
|
195
195
|
|
|
196
|
-
- Color textures override the color in a [Material](
|
|
196
|
+
- Color textures override the color in a [Material](../components/shape/material) node
|
|
197
197
|
- Grayscale textures multiply with the Material node color
|
|
198
198
|
- Good for colorizing grayscale textures
|
|
199
199
|
- If there is no Material node, the texture is applied emissively
|
|
@@ -212,6 +212,6 @@ Pixel transparency enables you to make parts of a shape transparent:
|
|
|
212
212
|
## Summary
|
|
213
213
|
|
|
214
214
|
- A texture is like a decal pasted to a shape
|
|
215
|
-
- Specify the texture using an [ImageTexture](
|
|
215
|
+
- Specify the texture using an [ImageTexture](../components/texturing/imagetexture), [PixelTexture](../components/texturing/pixeltexture), or [MovieTexture](../components/texturing/movietexture) node in an [Appearance](../components/shape/appearance) node
|
|
216
216
|
- Color textures override material, grayscale textures multiply
|
|
217
217
|
- Textures with transparency create holes
|
|
@@ -3,7 +3,7 @@ title: Providing Information About Your World
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-scripts-and-prototypes
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Providing, Information, World]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -12,7 +12,7 @@ tags: [providing, information, world]
|
|
|
12
12
|
|
|
13
13
|
## Syntax: WorldInfo
|
|
14
14
|
|
|
15
|
-
A [WorldInfo](
|
|
15
|
+
A [WorldInfo](../components/core/worldinfo) node provides title and description information for your world:
|
|
16
16
|
|
|
17
17
|
- *title* - the name for your world
|
|
18
18
|
- *info* - any additional information
|
|
@@ -3,7 +3,7 @@ title: Sensing the Viewer
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-textures-lights-and-environment
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Sensing, Viewer]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -13,19 +13,19 @@ Sensing the viewer enables you to trigger animations:
|
|
|
13
13
|
- when the viewer is within a region
|
|
14
14
|
- when the viewer collides with a shape
|
|
15
15
|
|
|
16
|
-
The [LOD](
|
|
16
|
+
The [LOD](../components/navigation/lod) and [Billboard](../components/navigation/billboard) nodes are special-purpose viewer sensors with built-in responses.
|
|
17
17
|
|
|
18
18
|
## Sensing the viewer
|
|
19
19
|
|
|
20
20
|
There are three types of viewer sensors:
|
|
21
21
|
|
|
22
|
-
- A [VisibilitySensor](
|
|
23
|
-
- A [ProximitySensor](
|
|
24
|
-
- A [Collision](
|
|
22
|
+
- A [VisibilitySensor](../components/environmentalsensor/visibilitysensor) node senses if the viewer can see a region
|
|
23
|
+
- A [ProximitySensor](../components/environmentalsensor/proximitysensor) node senses if the viewer is within a region
|
|
24
|
+
- A [Collision](../components/navigation/collision) node senses if the viewer has collided with shapes
|
|
25
25
|
|
|
26
26
|
## Using visibility and proximity sensors
|
|
27
27
|
|
|
28
|
-
[VisibilitySensor](
|
|
28
|
+
[VisibilitySensor](../components/environmentalsensor/visibilitysensor) and [ProximitySensor](../components/environmentalsensor/proximitysensor) nodes sense a box-shaped region:
|
|
29
29
|
|
|
30
30
|
- *center* - region center
|
|
31
31
|
- *size* - region dimensions
|
|
@@ -38,7 +38,7 @@ Both nodes have similar outputs:
|
|
|
38
38
|
|
|
39
39
|
## Syntax: VisibilitySensor
|
|
40
40
|
|
|
41
|
-
A [VisibilitySensor](
|
|
41
|
+
A [VisibilitySensor](../components/environmentalsensor/visibilitysensor) node senses if the viewer sees or stops seeing a region:
|
|
42
42
|
|
|
43
43
|
- *center* and *size* - the region's location and size
|
|
44
44
|
- *enterTime* and *exitTime* - sends time on entry/exit
|
|
@@ -67,7 +67,7 @@ ROUTE Sensor.enterTime TO Clock.set_startTime
|
|
|
67
67
|
|
|
68
68
|
## Syntax: ProximitySensor
|
|
69
69
|
|
|
70
|
-
A [ProximitySensor](
|
|
70
|
+
A [ProximitySensor](../components/environmentalsensor/proximitysensor) node senses if the viewer enters or leaves a region:
|
|
71
71
|
|
|
72
72
|
- *center* and *size* - the region's location and size
|
|
73
73
|
- *enterTime* and *exitTime* - sends time on entry/exit
|
|
@@ -94,7 +94,7 @@ DEF Sensor ProximitySensor {
|
|
|
94
94
|
ROUTE Sensor.enterTime TO Clock.set_startTime
|
|
95
95
|
```
|
|
96
96
|
|
|
97
|
-
A [ProximitySensor](
|
|
97
|
+
A [ProximitySensor](../components/environmentalsensor/proximitysensor) node senses the viewer while in a region:
|
|
98
98
|
|
|
99
99
|
- *position* and *orientation* - sends position and orientation while viewer is in the region
|
|
100
100
|
|
|
@@ -116,14 +116,14 @@ ROUTE Sensor.position_changed TO PetRobotFollower.set_translation
|
|
|
116
116
|
|
|
117
117
|
## Detecting viewer-shape collision
|
|
118
118
|
|
|
119
|
-
A [Collision](
|
|
119
|
+
A [Collision](../components/navigation/collision) grouping node senses shapes within the group:
|
|
120
120
|
|
|
121
121
|
- Detects if the viewer collides with any shape in the group
|
|
122
122
|
- Automatically stops the viewer from going through the shape
|
|
123
123
|
|
|
124
124
|
Collision occurs when the viewer's avatar gets close to a shape:
|
|
125
125
|
|
|
126
|
-
- Collision distance is controlled by the avatar size in the [NavigationInfo](
|
|
126
|
+
- Collision distance is controlled by the avatar size in the [NavigationInfo](../components/navigation/navigationinfo) node
|
|
127
127
|
|
|
128
128
|
## Creating collision groups
|
|
129
129
|
|
|
@@ -139,7 +139,7 @@ A collision group with a proxy shape, but no children, creates an invisible coll
|
|
|
139
139
|
|
|
140
140
|
## Syntax: Collision
|
|
141
141
|
|
|
142
|
-
A [Collision](
|
|
142
|
+
A [Collision](../components/navigation/collision) grouping node senses if the viewer collides with group shapes:
|
|
143
143
|
|
|
144
144
|
- *enabled* - enable/disable sensor
|
|
145
145
|
- *proxy* - simple shape to sense instead of children
|
|
@@ -191,20 +191,20 @@ Any number of sensors can sense at the same time:
|
|
|
191
191
|
|
|
192
192
|
## Summary
|
|
193
193
|
|
|
194
|
-
A [VisibilitySensor](
|
|
194
|
+
A [VisibilitySensor](../components/environmentalsensor/visibilitysensor) node checks if a region is visible to the viewer:
|
|
195
195
|
|
|
196
196
|
- The region is described by a center and a size
|
|
197
197
|
- Time is sent on entry and exit of visibility
|
|
198
198
|
- True/false is sent on entry and exit of visibility
|
|
199
199
|
|
|
200
|
-
A [ProximitySensor](
|
|
200
|
+
A [ProximitySensor](../components/environmentalsensor/proximitysensor) node checks if the viewer is within a region:
|
|
201
201
|
|
|
202
202
|
- The region is described by a center and a size
|
|
203
203
|
- Time is sent on viewer entry and exit
|
|
204
204
|
- True/false is sent on viewer entry and exit
|
|
205
205
|
- Position and orientation of the viewer is sent while within the sensed region
|
|
206
206
|
|
|
207
|
-
A [Collision](
|
|
207
|
+
A [Collision](../components/navigation/collision) grouping node checks if the viewer has run into a shape:
|
|
208
208
|
|
|
209
209
|
- The shapes are defined by the group's children or a proxy
|
|
210
210
|
- Collision time is sent on contact
|
|
@@ -3,7 +3,7 @@ title: Sensing Viewer Actions
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-animation-sensors-and-geometry
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Sensing, Viewer, Actions]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -22,12 +22,12 @@ What can you do:
|
|
|
22
22
|
|
|
23
23
|
There are four main action sensor types:
|
|
24
24
|
|
|
25
|
-
- [TouchSensor](
|
|
26
|
-
- [SphereSensor](
|
|
27
|
-
- [CylinderSensor](
|
|
28
|
-
- [PlaneSensor](
|
|
25
|
+
- [TouchSensor](../components/pointingdevicesensor/touchsensor) senses touch
|
|
26
|
+
- [SphereSensor](../components/pointingdevicesensor/spheresensor) senses drags
|
|
27
|
+
- [CylinderSensor](../components/pointingdevicesensor/cylindersensor) senses drags
|
|
28
|
+
- [PlaneSensor](../components/pointingdevicesensor/planesensor) senses drags
|
|
29
29
|
|
|
30
|
-
The [Anchor](
|
|
30
|
+
The [Anchor](../components/networking/anchor) node is a special-purpose action sensor with a built-in response.
|
|
31
31
|
|
|
32
32
|
## Sensing shapes
|
|
33
33
|
|
|
@@ -36,7 +36,7 @@ The [Anchor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/
|
|
|
36
36
|
|
|
37
37
|
## Syntax: TouchSensor
|
|
38
38
|
|
|
39
|
-
A [TouchSensor](
|
|
39
|
+
A [TouchSensor](../components/pointingdevicesensor/touchsensor) node senses the cursor's touch:
|
|
40
40
|
|
|
41
41
|
- *isOver* - send true/false when cursor over/not over
|
|
42
42
|
- *isActive* - send true/false when mouse button pressed/released
|
|
@@ -106,7 +106,7 @@ ROUTE Rot1.value_changed TO Frame1.set_rotation
|
|
|
106
106
|
|
|
107
107
|
## Syntax: SphereSensor
|
|
108
108
|
|
|
109
|
-
A [SphereSensor](
|
|
109
|
+
A [SphereSensor](../components/pointingdevicesensor/spheresensor) node senses a cursor drag and generates rotations as if rotating a ball:
|
|
110
110
|
|
|
111
111
|
- *isActive* - sends true/false when mouse button pressed/released
|
|
112
112
|
- *rotation\_changed* - sends rotation during a drag
|
|
@@ -135,7 +135,7 @@ ROUTE Rotator.rotation_changed TO RotateMe.set_rotation
|
|
|
135
135
|
|
|
136
136
|
## Syntax: CylinderSensor
|
|
137
137
|
|
|
138
|
-
A [CylinderSensor](
|
|
138
|
+
A [CylinderSensor](../components/pointingdevicesensor/cylindersensor) node senses a cursor drag and generates rotations as if rotating a cylinder:
|
|
139
139
|
|
|
140
140
|
- *isActive* - sends true/false when mouse button pressed/released
|
|
141
141
|
- *rotation\_changed* - sends rotation during a drag
|
|
@@ -164,7 +164,7 @@ ROUTE Rotator.rotation_changed TO RotateMe.set_rotation
|
|
|
164
164
|
|
|
165
165
|
## Syntax: PlaneSensor
|
|
166
166
|
|
|
167
|
-
A [PlaneSensor](
|
|
167
|
+
A [PlaneSensor](../components/pointingdevicesensor/planesensor) node senses a cursor drag and generates translations as if sliding on a plane:
|
|
168
168
|
|
|
169
169
|
- *isActive* - sends true/false when mouse button pressed/released
|
|
170
170
|
- *translation\_changed* - sends translations during a drag
|
|
@@ -3,7 +3,7 @@ title: Transforming Shapes
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-shapes-geometry-and-appearance
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Transforming, Shapes]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
@@ -33,7 +33,7 @@ Shapes built in the new coordinate system are positioned, rotated, and scaled al
|
|
|
33
33
|
|
|
34
34
|
## Syntax: Transform
|
|
35
35
|
|
|
36
|
-
The [Transform](
|
|
36
|
+
The [Transform](../components/grouping/transform) group node creates a group with its own coordinate system
|
|
37
37
|
|
|
38
38
|
- *translation* - position
|
|
39
39
|
- *rotation* - orientation
|
|
@@ -268,8 +268,8 @@ Transform {
|
|
|
268
268
|
## Summary
|
|
269
269
|
|
|
270
270
|
- All shapes are built in a coordinate system
|
|
271
|
-
- The [Transform](
|
|
272
|
-
- [Transform](
|
|
271
|
+
- The [Transform](../components/grouping/transform) node creates a new coordinate system relative to its parent
|
|
272
|
+
- [Transform](../components/grouping/transform) node fields do
|
|
273
273
|
- *translation*
|
|
274
274
|
- *rotation*
|
|
275
275
|
- *scale*
|
|
@@ -3,11 +3,11 @@ title: Writing Program Scripts with ECMAScript
|
|
|
3
3
|
date: 2022-11-28
|
|
4
4
|
nav: tutorials-scripts-and-prototypes
|
|
5
5
|
categories: [Tutorials]
|
|
6
|
-
tags: [
|
|
6
|
+
tags: [Program, Scripts, Ecmascript, Javascript]
|
|
7
7
|
---
|
|
8
8
|
## Motivation
|
|
9
9
|
|
|
10
|
-
A program script implements the [Script](
|
|
10
|
+
A program script implements the [Script](../components/scripting/script) node using values from the interface:
|
|
11
11
|
|
|
12
12
|
- The script responds to inputs and sends outputs
|
|
13
13
|
|
|
@@ -59,7 +59,7 @@ function initialize ()
|
|
|
59
59
|
|
|
60
60
|
Initialization occurs when:
|
|
61
61
|
|
|
62
|
-
- the [Script](
|
|
62
|
+
- the [Script](../components/scripting/script) node is created (typically when the browser loads the world)
|
|
63
63
|
|
|
64
64
|
## Shutting down a program script
|
|
65
65
|
|
|
@@ -74,7 +74,7 @@ function shutdown ()
|
|
|
74
74
|
|
|
75
75
|
Shutdown occurs when:
|
|
76
76
|
|
|
77
|
-
- the [Script](
|
|
77
|
+
- the [Script](../components/scripting/script) node is deleted
|
|
78
78
|
- the browser loads a new world
|
|
79
79
|
|
|
80
80
|
## Responding to events
|
|
@@ -469,7 +469,7 @@ Program scripts can be used to help create 3D user interface widgets:
|
|
|
469
469
|
|
|
470
470
|
A toggle script turns on at 1st touch, off at 2nd:
|
|
471
471
|
|
|
472
|
-
- A [TouchSensor](
|
|
472
|
+
- A [TouchSensor](../components/pointingdevicesensor/touchsensor) node can supply touch events
|
|
473
473
|
|
|
474
474
|
### XML Encoding
|
|
475
475
|
|