x_ite 8.8.7 → 8.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Makefile +6 -0
- package/build/docs/nodes.pl +434 -0
- 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 +26 -26
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +14 -14
- 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 +18 -18
- 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 +27 -27
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +24 -24
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +24 -24
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +18 -18
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +18 -18
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +37 -37
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +24 -24
- package/dist/assets/components/Text.min.js +1 -1
- package/dist/assets/components/TextureProjector.js +14 -14
- package/dist/assets/components/TextureProjector.min.js +1 -1
- package/dist/assets/components/Texturing3D.js +30 -30
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +18 -18
- 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 +965 -96
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/_config.yml +2 -2
- package/docs/_posts/components/CADGeometry/CADAssembly.md +45 -19
- package/docs/_posts/components/CADGeometry/CADFace.md +44 -18
- package/docs/_posts/components/CADGeometry/CADLayer.md +48 -19
- package/docs/_posts/components/CADGeometry/CADPart.md +54 -24
- package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +55 -26
- package/docs/_posts/components/CADGeometry/QuadSet.md +52 -20
- package/docs/_posts/components/Core/MetadataBoolean.md +29 -18
- package/docs/_posts/components/Core/MetadataDouble.md +31 -16
- package/docs/_posts/components/Core/MetadataFloat.md +31 -16
- package/docs/_posts/components/Core/MetadataInteger.md +31 -16
- package/docs/_posts/components/Core/MetadataSet.md +30 -15
- package/docs/_posts/components/Core/MetadataString.md +31 -16
- package/docs/_posts/components/Core/WorldInfo.md +21 -10
- package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +30 -25
- package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +19 -10
- package/docs/_posts/components/CubeMapTexturing/ImageCubeMapTexture.md +22 -18
- package/docs/_posts/components/DIS/DISEntityManager.md +40 -15
- package/docs/_posts/components/DIS/DISEntityTypeMapping.md +34 -25
- package/docs/_posts/components/DIS/EspduTransform.md +174 -41
- package/docs/_posts/components/DIS/ReceiverPdu.md +77 -27
- package/docs/_posts/components/DIS/SignalPdu.md +82 -28
- package/docs/_posts/components/DIS/TransmitterPdu.md +86 -36
- package/docs/_posts/components/EnvironmentalEffects/Background.md +80 -39
- package/docs/_posts/components/EnvironmentalEffects/Fog.md +39 -18
- package/docs/_posts/components/EnvironmentalEffects/FogCoordinate.md +10 -6
- package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +21 -14
- package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +83 -31
- package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +36 -8
- package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +31 -7
- package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +23 -7
- package/docs/_posts/components/EventUtilities/BooleanFilter.md +23 -10
- package/docs/_posts/components/EventUtilities/BooleanSequencer.md +46 -17
- package/docs/_posts/components/EventUtilities/BooleanToggle.md +29 -8
- package/docs/_posts/components/EventUtilities/BooleanTrigger.md +24 -7
- package/docs/_posts/components/EventUtilities/IntegerSequencer.md +46 -17
- package/docs/_posts/components/EventUtilities/IntegerTrigger.md +34 -9
- package/docs/_posts/components/EventUtilities/TimeTrigger.md +30 -9
- package/docs/_posts/components/Followers/ColorChaser.md +35 -11
- package/docs/_posts/components/Followers/ColorDamper.md +32 -12
- package/docs/_posts/components/Followers/CoordinateChaser.md +33 -9
- package/docs/_posts/components/Followers/CoordinateDamper.md +30 -10
- package/docs/_posts/components/Followers/OrientationChaser.md +34 -10
- package/docs/_posts/components/Followers/OrientationDamper.md +31 -11
- package/docs/_posts/components/Followers/PositionChaser.md +33 -9
- package/docs/_posts/components/Followers/PositionChaser2D.md +33 -9
- package/docs/_posts/components/Followers/PositionDamper.md +30 -10
- package/docs/_posts/components/Followers/PositionDamper2D.md +30 -10
- package/docs/_posts/components/Followers/ScalarChaser.md +33 -9
- package/docs/_posts/components/Followers/ScalarDamper.md +30 -10
- package/docs/_posts/components/Followers/TexCoordChaser2D.md +33 -9
- package/docs/_posts/components/Followers/TexCoordDamper2D.md +30 -10
- package/docs/_posts/components/Geometry2D/Arc2D.md +39 -14
- package/docs/_posts/components/Geometry2D/ArcClose2D.md +43 -19
- package/docs/_posts/components/Geometry2D/Circle2D.md +21 -10
- package/docs/_posts/components/Geometry2D/Disk2D.md +32 -14
- package/docs/_posts/components/Geometry2D/Polyline2D.md +24 -9
- package/docs/_posts/components/Geometry2D/Polypoint2D.md +16 -8
- package/docs/_posts/components/Geometry2D/Rectangle2D.md +23 -12
- package/docs/_posts/components/Geometry2D/TriangleSet2D.md +23 -12
- package/docs/_posts/components/Geometry3D/Box.md +26 -13
- package/docs/_posts/components/Geometry3D/Cone.md +30 -22
- package/docs/_posts/components/Geometry3D/Cylinder.md +30 -26
- package/docs/_posts/components/Geometry3D/ElevationGrid.md +73 -29
- package/docs/_posts/components/Geometry3D/Extrusion.md +100 -48
- package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +92 -38
- package/docs/_posts/components/Geometry3D/Sphere.md +25 -13
- package/docs/_posts/components/Geospatial/GeoCoordinate.md +30 -14
- package/docs/_posts/components/Geospatial/GeoElevationGrid.md +82 -37
- package/docs/_posts/components/Geospatial/GeoLOD.md +66 -27
- package/docs/_posts/components/Geospatial/GeoLocation.md +64 -26
- package/docs/_posts/components/Geospatial/GeoMetadata.md +28 -22
- package/docs/_posts/components/Geospatial/GeoOrigin.md +34 -19
- package/docs/_posts/components/Geospatial/GeoPositionInterpolator.md +64 -18
- package/docs/_posts/components/Geospatial/GeoProximitySensor.md +67 -18
- package/docs/_posts/components/Geospatial/GeoTouchSensor.md +63 -18
- package/docs/_posts/components/Geospatial/GeoTransform.md +72 -28
- package/docs/_posts/components/Geospatial/GeoViewpoint.md +79 -40
- package/docs/_posts/components/Grouping/Group.md +32 -16
- package/docs/_posts/components/Grouping/StaticGroup.md +37 -16
- package/docs/_posts/components/Grouping/Switch.md +39 -20
- package/docs/_posts/components/Grouping/Transform.md +45 -28
- package/docs/_posts/components/HAnim/HAnimDisplacer.md +38 -27
- package/docs/_posts/components/HAnim/HAnimHumanoid.md +197 -38
- package/docs/_posts/components/HAnim/HAnimJoint.md +104 -38
- package/docs/_posts/components/HAnim/HAnimMotion.md +117 -7
- package/docs/_posts/components/HAnim/HAnimSegment.md +72 -32
- package/docs/_posts/components/HAnim/HAnimSite.md +75 -32
- package/docs/_posts/components/Interpolation/ColorInterpolator.md +41 -11
- package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +39 -13
- package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +43 -14
- package/docs/_posts/components/Interpolation/EaseInEaseOut.md +36 -12
- package/docs/_posts/components/Interpolation/NormalInterpolator.md +40 -10
- package/docs/_posts/components/Interpolation/OrientationInterpolator.md +40 -10
- package/docs/_posts/components/Interpolation/PositionInterpolator.md +40 -10
- package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +43 -14
- package/docs/_posts/components/Interpolation/ScalarInterpolator.md +39 -13
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator.md +41 -16
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator2D.md +41 -16
- package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +40 -24
- package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +35 -11
- package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +51 -9
- package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +31 -9
- package/docs/_posts/components/Layering/Layer.md +27 -14
- package/docs/_posts/components/Layering/LayerSet.md +19 -13
- package/docs/_posts/components/Layering/Viewport.md +31 -15
- package/docs/_posts/components/Layout/Layout.md +27 -16
- package/docs/_posts/components/Layout/LayoutGroup.md +34 -18
- package/docs/_posts/components/Layout/LayoutLayer.md +28 -15
- package/docs/_posts/components/Layout/ScreenFontStyle.md +72 -45
- package/docs/_posts/components/Layout/ScreenGroup.md +32 -16
- package/docs/_posts/components/Lighting/DirectionalLight.md +19 -11
- package/docs/_posts/components/Lighting/EnvironmentLight.md +2 -6
- package/docs/_posts/components/Lighting/PointLight.md +23 -11
- package/docs/_posts/components/Lighting/SpotLight.md +32 -19
- package/docs/_posts/components/NURBS/Contour2D.md +17 -9
- package/docs/_posts/components/NURBS/ContourPolyline2D.md +10 -6
- package/docs/_posts/components/NURBS/CoordinateDouble.md +13 -9
- package/docs/_posts/components/NURBS/NurbsCurve.md +15 -11
- package/docs/_posts/components/NURBS/NurbsCurve2D.md +14 -10
- package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +28 -12
- package/docs/_posts/components/NURBS/NurbsPatchSurface.md +19 -13
- package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +27 -11
- package/docs/_posts/components/NURBS/NurbsSet.md +48 -14
- package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +31 -11
- package/docs/_posts/components/NURBS/NurbsSweptSurface.md +31 -14
- package/docs/_posts/components/NURBS/NurbsSwungSurface.md +25 -14
- package/docs/_posts/components/NURBS/NurbsTextureCoordinate.md +11 -7
- package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +26 -16
- package/docs/_posts/components/Navigation/Billboard.md +33 -17
- package/docs/_posts/components/Navigation/Collision.md +59 -22
- package/docs/_posts/components/Navigation/LOD.md +53 -23
- package/docs/_posts/components/Navigation/NavigationInfo.md +68 -25
- package/docs/_posts/components/Navigation/OrthoViewpoint.md +80 -37
- package/docs/_posts/components/Navigation/Viewpoint.md +86 -39
- package/docs/_posts/components/Navigation/ViewpointGroup.md +28 -17
- package/docs/_posts/components/Networking/Anchor.md +54 -56
- package/docs/_posts/components/Networking/Inline.md +42 -29
- package/docs/_posts/components/Networking/LoadSensor.md +41 -9
- package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +16 -8
- package/docs/_posts/components/ParticleSystems/ConeEmitter.md +25 -10
- package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +18 -11
- package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +15 -8
- package/docs/_posts/components/ParticleSystems/ParticleSystem.md +92 -46
- package/docs/_posts/components/ParticleSystems/PointEmitter.md +19 -12
- package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +23 -15
- package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +21 -14
- package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +25 -18
- package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +11 -7
- package/docs/_posts/components/Picking/LinePickSensor.md +37 -15
- package/docs/_posts/components/Picking/PickableGroup.md +40 -22
- package/docs/_posts/components/Picking/PointPickSensor.md +29 -12
- package/docs/_posts/components/Picking/PrimitivePickSensor.md +25 -17
- package/docs/_posts/components/Picking/VolumePickSensor.md +25 -12
- package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +43 -18
- package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +40 -17
- package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +35 -13
- package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +48 -14
- package/docs/_posts/components/Rendering/ClipPlane.md +20 -15
- package/docs/_posts/components/Rendering/Color.md +14 -14
- package/docs/_posts/components/Rendering/ColorRGBA.md +13 -9
- package/docs/_posts/components/Rendering/Coordinate.md +11 -7
- package/docs/_posts/components/Rendering/IndexedLineSet.md +58 -24
- package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +44 -23
- package/docs/_posts/components/Rendering/IndexedTriangleSet.md +45 -24
- package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +45 -20
- package/docs/_posts/components/Rendering/LineSet.md +26 -14
- package/docs/_posts/components/Rendering/Normal.md +28 -6
- package/docs/_posts/components/Rendering/PointSet.md +24 -11
- package/docs/_posts/components/Rendering/TriangleFanSet.md +44 -19
- package/docs/_posts/components/Rendering/TriangleSet.md +44 -19
- package/docs/_posts/components/Rendering/TriangleStripSet.md +45 -20
- package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +22 -10
- package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +37 -14
- package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +34 -16
- package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +17 -12
- package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +21 -12
- package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +31 -12
- package/docs/_posts/components/RigidBodyPhysics/Contact.md +19 -15
- package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +33 -27
- package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +63 -11
- package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +22 -12
- package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +30 -14
- package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +26 -14
- package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +24 -12
- package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +23 -15
- package/docs/_posts/components/Scripting/Script.md +43 -27
- package/docs/_posts/components/Shaders/ComposedShader.md +30 -17
- package/docs/_posts/components/Shaders/FloatVertexAttribute.md +18 -9
- package/docs/_posts/components/Shaders/Matrix3VertexAttribute.md +17 -8
- package/docs/_posts/components/Shaders/Matrix4VertexAttribute.md +17 -8
- package/docs/_posts/components/Shaders/PackagedShader.md +36 -30
- package/docs/_posts/components/Shaders/ProgramShader.md +35 -15
- package/docs/_posts/components/Shaders/ShaderPart.md +27 -18
- package/docs/_posts/components/Shaders/ShaderProgram.md +28 -17
- package/docs/_posts/components/Shape/AcousticProperties.md +34 -6
- package/docs/_posts/components/Shape/Appearance.md +29 -22
- package/docs/_posts/components/Shape/FillProperties.md +19 -12
- package/docs/_posts/components/Shape/LineProperties.md +18 -10
- package/docs/_posts/components/Shape/Material.md +64 -38
- package/docs/_posts/components/Shape/PhysicalMaterial.md +49 -25
- package/docs/_posts/components/Shape/PointProperties.md +21 -14
- package/docs/_posts/components/Shape/Shape.md +35 -17
- package/docs/_posts/components/Shape/TwoSidedMaterial.md +35 -36
- package/docs/_posts/components/Shape/UnlitMaterial.md +29 -17
- package/docs/_posts/components/Sound/Analyser.md +133 -4
- package/docs/_posts/components/Sound/AudioClip.md +64 -30
- package/docs/_posts/components/Sound/AudioDestination.md +76 -4
- package/docs/_posts/components/Sound/BiquadFilter.md +143 -4
- package/docs/_posts/components/Sound/BufferAudioSource.md +165 -13
- package/docs/_posts/components/Sound/ChannelMerger.md +62 -4
- package/docs/_posts/components/Sound/ChannelSelector.md +64 -4
- package/docs/_posts/components/Sound/ChannelSplitter.md +68 -4
- package/docs/_posts/components/Sound/Convolver.md +124 -4
- package/docs/_posts/components/Sound/Delay.md +119 -4
- package/docs/_posts/components/Sound/DynamicsCompressor.md +127 -4
- package/docs/_posts/components/Sound/Gain.md +115 -4
- package/docs/_posts/components/Sound/ListenerPointSource.md +109 -4
- package/docs/_posts/components/Sound/MicrophoneSource.md +91 -4
- package/docs/_posts/components/Sound/OscillatorSource.md +95 -4
- package/docs/_posts/components/Sound/PeriodicWave.md +43 -5
- package/docs/_posts/components/Sound/Sound.md +53 -20
- package/docs/_posts/components/Sound/SpatialSound.md +120 -4
- package/docs/_posts/components/Sound/StreamAudioDestination.md +80 -4
- package/docs/_posts/components/Sound/StreamAudioSource.md +91 -4
- package/docs/_posts/components/Sound/WaveShaper.md +123 -4
- package/docs/_posts/components/Text/FontStyle.md +73 -47
- package/docs/_posts/components/Text/Text.md +48 -26
- package/docs/_posts/components/TextureProjector/TextureProjector.md +55 -6
- package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +56 -6
- package/docs/_posts/components/Texturing/ImageTexture.md +28 -20
- package/docs/_posts/components/Texturing/MovieTexture.md +69 -38
- package/docs/_posts/components/Texturing/MultiTexture.md +47 -19
- package/docs/_posts/components/Texturing/MultiTextureCoordinate.md +27 -10
- package/docs/_posts/components/Texturing/MultiTextureTransform.md +32 -10
- package/docs/_posts/components/Texturing/PixelTexture.md +34 -14
- package/docs/_posts/components/Texturing/TextureCoordinate.md +20 -10
- package/docs/_posts/components/Texturing/TextureCoordinateGenerator.md +22 -12
- package/docs/_posts/components/Texturing/TextureProperties.md +44 -19
- package/docs/_posts/components/Texturing/TextureTransform.md +17 -8
- package/docs/_posts/components/Texturing3D/ComposedTexture3D.md +21 -13
- package/docs/_posts/components/Texturing3D/ImageTexture3D.md +32 -23
- package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +22 -16
- package/docs/_posts/components/Texturing3D/PixelTexture3D.md +25 -13
- package/docs/_posts/components/Texturing3D/TextureCoordinate3D.md +22 -10
- package/docs/_posts/components/Texturing3D/TextureCoordinate4D.md +21 -9
- package/docs/_posts/components/Texturing3D/TextureTransform3D.md +17 -8
- package/docs/_posts/components/Texturing3D/TextureTransformMatrix3D.md +20 -10
- package/docs/_posts/components/Time/TimeSensor.md +66 -23
- package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +36 -15
- package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +15 -5
- package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +20 -17
- package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +15 -7
- package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +16 -8
- package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +43 -21
- package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +16 -8
- package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +17 -7
- package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +50 -17
- package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +18 -10
- package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +16 -8
- package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +20 -11
- package/docs/_posts/components/VolumeRendering/VolumeData.md +32 -15
- package/docs/_posts/components/X_ITE/BlendMode.md +9 -2
- package/docs/_posts/getting-started.md +1 -0
- package/docs/_posts/laboratory/x3d-file-converter.md +1 -1
- package/package.json +1 -1
- package/src/x_ite/Browser/Core/X3DCoreContext.js +10 -3
- package/src/x_ite/Browser/DOMIntegration.js +13 -8
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +1 -1
- package/src/x_ite/Components/DIS/DISEntityManager.js +1 -1
- package/src/x_ite/Components/Grouping/Switch.js +1 -1
- package/src/x_ite/Components/Layering/X3DLayerNode.js +1 -1
- package/src/x_ite/Components/Lighting/DirectionalLight.js +1 -1
- package/src/x_ite/Components/Navigation/Collision.js +1 -1
- package/src/x_ite/Components/Navigation/LOD.js +1 -1
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +1 -1
- package/src/x_ite/Components/Networking/LoadSensor.js +1 -1
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1 -1
- package/src/x_ite/Components/Shape/AcousticProperties.js +1 -1
- package/src/x_ite/Components/Shape/Appearance.js +1 -1
- package/src/x_ite/Components/Shape/Material.js +1 -1
- package/src/x_ite/Components/Shape/TwoSidedMaterial.js +1 -1
- package/src/x_ite/Components/Sound/PeriodicWave.js +1 -1
- package/src/x_ite/Components/Texturing/TextureProperties.js +1 -1
- package/src/x_ite/Fields/ArrayFields.js +2 -2
- package/src/x_ite/Fields/SFColor.js +1 -1
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +1 -1
- package/src/x_ite/Fields/SFRotation.js +3 -3
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +1 -1
- package/src/x_ite/Parser/GoldenGate.js +16 -5
- package/src/x_ite/Parser/PLYAParser.js +615 -0
- package/src/x_ite/Parser/PLYBParser.js +222 -0
- package/src/x_ite/Parser/STLAParser.js +0 -1
- /package/build/{bin → docs}/components.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Collision
|
|
3
|
-
date:
|
|
3
|
+
date: 2023-01-07
|
|
4
4
|
nav: components-Navigation
|
|
5
5
|
categories: [components, Navigation]
|
|
6
6
|
tags: [Collision, Navigation]
|
|
@@ -13,9 +13,9 @@ tags: [Collision, Navigation]
|
|
|
13
13
|
|
|
14
14
|
## Overview
|
|
15
15
|
|
|
16
|
-
Collision detects camera-to-object contact using current view and NavigationInfo avatarSize. Collision is a Grouping node that
|
|
16
|
+
Collision detects camera-to-object contact using current view and NavigationInfo avatarSize. Collision is a Grouping node that reports collision detection for its children.
|
|
17
17
|
|
|
18
|
-
The Collision node belongs to the **Navigation** component and its default container field is *children.* It is available
|
|
18
|
+
The Collision node belongs to the **Navigation** component and its default container field is *children.* It is available from X3D version 2.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -32,7 +32,11 @@ The Collision node belongs to the **Navigation** component and its default conta
|
|
|
32
32
|
|
|
33
33
|
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
|
|
36
|
+
|
|
37
|
+
#### Hint
|
|
38
|
+
|
|
39
|
+
- [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
|
|
36
40
|
|
|
37
41
|
### SFBool [in, out] **enabled** TRUE
|
|
38
42
|
|
|
@@ -44,20 +48,28 @@ Enables/disables collision detection for children and all descendants.
|
|
|
44
48
|
|
|
45
49
|
### SFBool [out] **isActive**
|
|
46
50
|
|
|
47
|
-
*isActive* true/false events are sent when triggering the sensor. isActive
|
|
51
|
+
*isActive* true/false events are sent when triggering the sensor. *isActive*=true when view-object collision occurs, *isActive*=false when view-object collision no longer occurs.
|
|
52
|
+
|
|
53
|
+
#### Warning
|
|
54
|
+
|
|
55
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
48
56
|
|
|
49
57
|
### SFTime [out] **collideTime**
|
|
50
58
|
|
|
51
59
|
Time of collision between camera (avatar) and geometry.
|
|
52
60
|
|
|
61
|
+
#### Warning
|
|
62
|
+
|
|
63
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
64
|
+
|
|
53
65
|
### SFBool [in, out] **visible** TRUE
|
|
54
66
|
|
|
55
67
|
Whether or not renderable content within this node is visually displayed.
|
|
56
68
|
|
|
57
|
-
####
|
|
69
|
+
#### Hints
|
|
58
70
|
|
|
59
|
-
- The visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
|
|
60
|
-
- Content must be visible to be collidable and to be pickable.
|
|
71
|
+
- The *visible* field has no effect on animation behaviors, event passing or other non-visual characteristics.
|
|
72
|
+
- Content must be *visible* to be collidable and to be pickable.
|
|
61
73
|
|
|
62
74
|
### SFBool [in, out] **bboxDisplay** FALSE
|
|
63
75
|
|
|
@@ -71,49 +83,74 @@ Whether to display bounding box for associated geometry, aligned with world coor
|
|
|
71
83
|
|
|
72
84
|
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.
|
|
73
85
|
|
|
74
|
-
####
|
|
86
|
+
#### Hints
|
|
75
87
|
|
|
76
88
|
- Can be useful for collision computations or inverse-kinematics (IK) engines.
|
|
89
|
+
- Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
|
|
90
|
+
- [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
|
|
91
|
+
- [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
|
|
77
92
|
|
|
78
93
|
### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
|
|
79
94
|
|
|
80
|
-
Bounding box center
|
|
95
|
+
Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
|
|
96
|
+
|
|
97
|
+
#### Hints
|
|
98
|
+
|
|
99
|
+
- Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
|
|
100
|
+
- [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
|
|
101
|
+
- [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
|
|
81
102
|
|
|
82
103
|
### SFNode [ ] **proxy** NULL <small>[X3DChildNode]</small>
|
|
83
104
|
|
|
84
|
-
|
|
105
|
+
The *proxy* node is used as a substitute for Collision children during collision detection, simplifying collision-intersection computations.
|
|
106
|
+
|
|
107
|
+
#### Hint
|
|
108
|
+
|
|
109
|
+
- The *proxy* node is used strictly for collision detection and is not drawn.
|
|
110
|
+
|
|
111
|
+
#### Warnings
|
|
112
|
+
|
|
113
|
+
- The *proxy* node must have `containerField='proxy'` or it is simply treated like other children nodes.
|
|
114
|
+
- Insert a Shape node before adding geometry or Appearance.
|
|
85
115
|
|
|
86
116
|
### MFNode [in] **addChildren**
|
|
87
117
|
|
|
88
|
-
Input field addChildren
|
|
118
|
+
Input field *addChildren*.
|
|
89
119
|
|
|
90
120
|
### MFNode [in] **removeChildren**
|
|
91
121
|
|
|
92
|
-
Input field removeChildren
|
|
122
|
+
Input field *removeChildren*.
|
|
93
123
|
|
|
94
124
|
### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
|
|
95
125
|
|
|
96
|
-
Grouping nodes contain
|
|
126
|
+
Grouping nodes contain an ordered list of *children* nodes.
|
|
97
127
|
|
|
98
|
-
####
|
|
128
|
+
#### Hints
|
|
99
129
|
|
|
100
|
-
- Each grouping node defines a coordinate space for its children
|
|
130
|
+
- 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.
|
|
131
|
+
- InputOnly MFNode addChildren field can append new X3DChildNode nodes via a ROUTE connection, duplicate input nodes (i.e. matching DEF, USE values) are ignored.
|
|
132
|
+
- InputOnly MFNode removeChildren field can remove nodes from the *children* list, unrecognized input nodes (i.e. nonmatching DEF, USE values) are ignored.
|
|
133
|
+
- [X3D Architecture 10.2.1 Grouping and *children* node types](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#GroupingAndChildrenNodes){:target="_blank"}
|
|
101
134
|
|
|
102
|
-
##
|
|
135
|
+
## Advisories
|
|
103
136
|
|
|
104
137
|
### Hints
|
|
105
138
|
|
|
139
|
+
- Collision can contain a single proxy child node for substitute collision-detection geometry. Improve run-time performance by using proxy with simpler contact-calculation geometry.
|
|
106
140
|
- Proxy shapes are not rendered and remain invisible.
|
|
107
|
-
- Apply containerField='proxy' to uniquely identify the proxy child Shape or grouping node.
|
|
108
|
-
- PointSet, IndexedLineSet, LineSet and Text are not collidable geometry do not trigger collisions.
|
|
109
|
-
- Improve performance using proxy for simpler contact-calculation geometry.
|
|
141
|
+
- Apply `containerField='proxy'` to uniquely identify the proxy child Shape or grouping node.
|
|
110
142
|
- NavigationInfo types '"WALK" "FLY"' support camera-to-object collision detection.
|
|
143
|
+
- Content must be visible to be collidable and to be pickable.
|
|
111
144
|
- Insert a Shape node before adding geometry or Appearance.
|
|
112
145
|
|
|
146
|
+
### Warning
|
|
147
|
+
|
|
148
|
+
- PointSet, IndexedLineSet, LineSet and Text are not collidable geometry do not trigger collisions.
|
|
149
|
+
|
|
113
150
|
## Example
|
|
114
151
|
|
|
115
152
|
<x3d-canvas src="https://create3000.github.io/media/examples/Navigation/Collision/Collision.x3d" update="auto"></x3d-canvas>
|
|
116
153
|
|
|
117
|
-
##
|
|
154
|
+
## See Also
|
|
118
155
|
|
|
119
|
-
- [X3D Specification of Collision](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Collision){:target="_blank"}
|
|
156
|
+
- [X3D Specification of Collision node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#Collision){:target="_blank"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: LOD
|
|
3
|
-
date:
|
|
3
|
+
date: 2023-01-07
|
|
4
4
|
nav: components-Navigation
|
|
5
5
|
categories: [components, Navigation]
|
|
6
6
|
tags: [LOD, Navigation]
|
|
@@ -15,7 +15,7 @@ tags: [LOD, Navigation]
|
|
|
15
15
|
|
|
16
16
|
LOD (Level Of Detail) uses camera-to-object distance to switch among contained child levels. (Contained nodes are now called 'children' rather than 'level', for consistent naming among all GroupingNodeType nodes.) LOD range values go from near to far (as child geometry gets simpler for better performance). For n range values, you must have n+1 children levels! Only currently selected children level is rendered, but all levels continue to send/receive events.
|
|
17
17
|
|
|
18
|
-
The LOD node belongs to the **Navigation** component and its default container field is *children.* It is available
|
|
18
|
+
The LOD node belongs to the **Navigation** component and its default container field is *children.* It is available from X3D version 2.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -30,7 +30,11 @@ The LOD node belongs to the **Navigation** component and its default container f
|
|
|
30
30
|
|
|
31
31
|
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
|
|
34
|
+
|
|
35
|
+
#### Hint
|
|
36
|
+
|
|
37
|
+
- [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
|
|
34
38
|
|
|
35
39
|
### SFBool [ ] **forceTransitions** FALSE
|
|
36
40
|
|
|
@@ -42,24 +46,33 @@ Viewpoint distance-measurement offset from origin of local coordinate system, us
|
|
|
42
46
|
|
|
43
47
|
### MFFloat [ ] **range** [ ] <small>[0,∞) or -1</small>
|
|
44
48
|
|
|
45
|
-
Specifies ideal distances at which to switch between levels. The range field is a floating-point array of camera-to-object distance transitions for each child level, where range values go from near to far. For n range values, you must have n+1 child levels!
|
|
49
|
+
Specifies ideal distances at which to switch between levels. The *range* field is a floating-point array of camera-to-object distance transitions for each child level, where *range* values go from near to far. For n *range* values, you must have n+1 child levels!
|
|
46
50
|
|
|
47
51
|
#### Hints
|
|
48
52
|
|
|
49
|
-
- Can add `<WorldInfo info='null node'/>` as a nonrendering, invisible final (or initial or intermediate) child node that also documents the LOD switch-over rationale.
|
|
53
|
+
- Can add `<WorldInfo info='null node'/>` as a nonrendering, invisible final (or initial or intermediate) child node that also documents the LOD switch-over rationale.
|
|
54
|
+
- Not setting *range* values indicates that level switching can be optimized automatically based on performance.
|
|
50
55
|
|
|
51
56
|
### SFInt32 [out] **level_changed**
|
|
52
57
|
|
|
53
|
-
|
|
58
|
+
Output event that reports current level of LOD children whenever switching occurs.
|
|
59
|
+
|
|
60
|
+
#### Hint
|
|
61
|
+
|
|
62
|
+
- LOD level index counting starts at zero. Thus *level_changed* value of -1 means no choice, 0 means initial child, 1 means second child, etc.
|
|
63
|
+
|
|
64
|
+
#### Warning
|
|
65
|
+
|
|
66
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
54
67
|
|
|
55
68
|
### SFBool [in, out] **visible** TRUE
|
|
56
69
|
|
|
57
70
|
Whether or not renderable content within this node is visually displayed.
|
|
58
71
|
|
|
59
|
-
####
|
|
72
|
+
#### Hints
|
|
60
73
|
|
|
61
|
-
- The visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
|
|
62
|
-
- Content must be visible to be collidable and to be pickable.
|
|
74
|
+
- The *visible* field has no effect on animation behaviors, event passing or other non-visual characteristics.
|
|
75
|
+
- Content must be *visible* to be collidable and to be pickable.
|
|
63
76
|
|
|
64
77
|
### SFBool [in, out] **bboxDisplay** FALSE
|
|
65
78
|
|
|
@@ -73,44 +86,61 @@ Whether to display bounding box for associated geometry, aligned with world coor
|
|
|
73
86
|
|
|
74
87
|
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.
|
|
75
88
|
|
|
76
|
-
####
|
|
89
|
+
#### Hints
|
|
77
90
|
|
|
78
91
|
- Can be useful for collision computations or inverse-kinematics (IK) engines.
|
|
92
|
+
- Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
|
|
93
|
+
- [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
|
|
94
|
+
- [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
|
|
79
95
|
|
|
80
96
|
### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
|
|
81
97
|
|
|
82
|
-
Bounding box center
|
|
98
|
+
Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
|
|
99
|
+
|
|
100
|
+
#### Hints
|
|
101
|
+
|
|
102
|
+
- Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
|
|
103
|
+
- [X3D Architecture, 10.2.2 Bounding boxes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#BoundingBoxes){:target="_blank"}
|
|
104
|
+
- [X3D Architecture, 10.3.1 X3DBoundedObject](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#X3DBoundedObject){:target="_blank"}
|
|
83
105
|
|
|
84
106
|
### MFNode [in] **addChildren**
|
|
85
107
|
|
|
86
|
-
Input field addChildren
|
|
108
|
+
Input field *addChildren*.
|
|
87
109
|
|
|
88
110
|
### MFNode [in] **removeChildren**
|
|
89
111
|
|
|
90
|
-
Input field removeChildren
|
|
112
|
+
Input field *removeChildren*.
|
|
91
113
|
|
|
92
114
|
### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
|
|
93
115
|
|
|
94
|
-
Grouping nodes contain
|
|
116
|
+
Grouping nodes contain an ordered list of *children* nodes.
|
|
95
117
|
|
|
96
|
-
####
|
|
118
|
+
#### Hints
|
|
97
119
|
|
|
98
|
-
- Each grouping node defines a coordinate space for its children
|
|
120
|
+
- 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.
|
|
121
|
+
- InputOnly MFNode addChildren field can append new X3DChildNode nodes via a ROUTE connection, duplicate input nodes (i.e. matching DEF, USE values) are ignored.
|
|
122
|
+
- InputOnly MFNode removeChildren field can remove nodes from the *children* list, unrecognized input nodes (i.e. nonmatching DEF, USE values) are ignored.
|
|
123
|
+
- [X3D Architecture 10.2.1 Grouping and *children* node types](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/grouping.html#GroupingAndChildrenNodes){:target="_blank"}
|
|
99
124
|
|
|
100
|
-
##
|
|
125
|
+
## Advisories
|
|
101
126
|
|
|
102
127
|
### Hints
|
|
103
128
|
|
|
104
|
-
- Can add
|
|
129
|
+
- Can add \<WorldInfo info='null node'/\> as a nonrendering, invisible final (or initial or intermediate) child node that also documents the LOD switch-over rationale.
|
|
105
130
|
- Insert a Shape node before adding geometry or Appearance.
|
|
131
|
+
- GeoViewpoint OrthoViewpoint and Viewpoint share the same binding stack, so no more than one of these nodes can be bound and active at a given time.
|
|
106
132
|
- Security mechanisms such as encryption and authentication can be applied to high levels of detail, allowing authors to protect intellectual property at high resolution for authorized users while still rendering simple unrestricted models for other users.
|
|
133
|
+
- Contained nodes must have type X3DChildNode, such as Group or Transform or Shape.
|
|
134
|
+
- Apply `containerField='shape'` if parent node is CADFace.
|
|
135
|
+
- [ConformanceNist X3D Examples Archive](https://www.web3d.org/x3d/content/examples/ConformanceNist/SpecialGroups/LOD){:target="_blank"}
|
|
107
136
|
|
|
108
137
|
### Warnings
|
|
109
138
|
|
|
110
|
-
- Do not include
|
|
111
|
-
- Results are undefined if a bindable node (
|
|
112
|
-
- Nested LOD nodes with overlapping range intervals can lead to unexpected or undefined behavior.
|
|
139
|
+
- Do not include GeoViewpoint OrthoViewpoint or Viewpoint as a child of LOD or Switch, instead use ViewpointGroup as parent to constrain location proximity where the viewpoint is available to user.
|
|
140
|
+
- Results are undefined if a bindable node (Background, Fog, NavigationInfo, OrthoViewpoint, TextureBackground, Viewpoint) is a contained descendant node of either LOD or Switch. Avoid this authoring pattern.
|
|
141
|
+
- Nested LOD (and/or GeoLOD) nodes with overlapping range intervals can lead to unexpected or undefined behavior.
|
|
142
|
+
- LOD is not allowed as a direct parent of Appearance, Material, Color, Coordinate, Normal or Texture nodes, instead ensure that a Shape is present.
|
|
113
143
|
|
|
114
|
-
##
|
|
144
|
+
## See Also
|
|
115
145
|
|
|
116
|
-
- [X3D Specification of LOD](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#LOD){:target="_blank"}
|
|
146
|
+
- [X3D Specification of LOD node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#LOD){:target="_blank"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: NavigationInfo
|
|
3
|
-
date:
|
|
3
|
+
date: 2023-01-07
|
|
4
4
|
nav: components-Navigation
|
|
5
5
|
categories: [components, Navigation]
|
|
6
6
|
tags: [NavigationInfo, Navigation]
|
|
@@ -15,7 +15,7 @@ tags: [NavigationInfo, Navigation]
|
|
|
15
15
|
|
|
16
16
|
NavigationInfo describes the user's viewing model, user navigation-interaction modalities, and also dimensional characteristics of the user's (typically invisible) avatar.
|
|
17
17
|
|
|
18
|
-
The NavigationInfo node belongs to the **Navigation** component and its default container field is *children.* It is available
|
|
18
|
+
The NavigationInfo node belongs to the **Navigation** component and its default container field is *children.* It is available from X3D version 2.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -30,32 +30,50 @@ The NavigationInfo node belongs to the **Navigation** component and its default
|
|
|
30
30
|
|
|
31
31
|
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
|
|
34
|
+
|
|
35
|
+
#### Hint
|
|
36
|
+
|
|
37
|
+
- [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
|
|
34
38
|
|
|
35
39
|
### SFBool [in] **set_bind**
|
|
36
40
|
|
|
37
|
-
|
|
41
|
+
Receiving event *set_bind*=true activates and binds this node at the top of the binding stack. Receiving event *set_bind*=false deactivates and unbinds this node from the top of the binding stack. Thus setting *set_bind* to true/false will enable/disable the effect of this node.
|
|
38
42
|
|
|
39
|
-
|
|
43
|
+
#### Hint
|
|
44
|
+
|
|
45
|
+
- Paired node operations can be established by connecting *set_bind* and isBound fields of corresponding bindable nodes.
|
|
46
|
+
|
|
47
|
+
#### Warning
|
|
40
48
|
|
|
41
|
-
|
|
49
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
42
50
|
|
|
43
|
-
|
|
51
|
+
### MFString [in, out] **type** [ "EXAMINE", "ANY" ] <small>["EXAMINE", "WALK", "FLY", "PLANE_create3000.github.io", "LOOKAT", "EXPLORE", "ANY", "NONE"]</small>
|
|
52
|
+
|
|
53
|
+
Enter one or more quoted SFString values: "EXAMINE" "WALK" "FLY" "LOOKAT" "EXPLORE" "ANY" "NONE".
|
|
44
54
|
|
|
45
55
|
#### Hints
|
|
46
56
|
|
|
47
|
-
- For inspection of simple objects, usability often improves with type
|
|
57
|
+
- For inspection of simple objects, usability often improves with *type*="EXAMINE" "ANY".
|
|
48
58
|
- Types WALK and FLY force strict camera-to-object collision detection.
|
|
49
59
|
- See Collision node for further details on camera-to-object collision detection.
|
|
50
|
-
- MFString arrays can have multiple values, so separate each individual string by quote marks "https://www.web3d.org" "https://www.web3d.org/about" "etc." ]
|
|
60
|
+
- MFString arrays can have multiple values, so separate each individual string by quote marks "https://www.web3d.org" "https://www.web3d.org/about" "etc." ] Interchange profile hint: this field may be ignored, applying the default value regardless.
|
|
51
61
|
|
|
52
62
|
### MFFloat [in, out] **avatarSize** [ 0.25, 1.6, 0.75 ] <small>[0,∞)</small>
|
|
53
63
|
|
|
54
|
-
*avatarSize* triplet values
|
|
64
|
+
*avatarSize* triplet values define three separate parameters: (a) collisionDistance between user and geometry, i.e. near clipping plane of view frustrum, default 0.25m, (b) viewer height above terrain, default 1.6m, and (c) tallest height viewer can WALK over, default 0.75m.
|
|
55
65
|
|
|
56
|
-
####
|
|
66
|
+
#### Hints
|
|
57
67
|
|
|
58
|
-
-
|
|
68
|
+
- X3D specification recommends that browsers set near clipping plane to one-half of *avatarSize*.CollisionDistance value.
|
|
69
|
+
- [Aliasing](https://en.wikipedia.org/wiki/Aliasing){:target="_blank"} and [Clipping](https://en.wikipedia.org/wiki/Clipping_(computer_graphics)){:target="_blank"} Interchange profile hint: this field may be ignored, applying the default value regardless.
|
|
70
|
+
- Transformation hierarchy of currently bound Viewpoint node scales *avatarSize*, but translations and rotations have no effect.
|
|
71
|
+
- Content must be visible to be collidable and to be pickable.
|
|
72
|
+
|
|
73
|
+
#### Warnings
|
|
74
|
+
|
|
75
|
+
- Important design thumbrule is to keep (visibilityLimit / *avatarSize*.CollisionDistance) \< 10,000 to avoid aliasing artifacts (i.e. polygon "tearing").
|
|
76
|
+
- Data type is MFFloat rather than SFVec3f, be sure that three values are provided in the array since validation tools are typically unable to detect erroneous data prior to run time.
|
|
59
77
|
|
|
60
78
|
### SFFloat [in, out] **speed** 1 <small>[0,∞)</small>
|
|
61
79
|
|
|
@@ -71,11 +89,18 @@ Enable/disable directional light that always points in the direction the user is
|
|
|
71
89
|
|
|
72
90
|
### SFFloat [in, out] **visibilityLimit** 0 <small>[0,∞)</small>
|
|
73
91
|
|
|
74
|
-
Geometry beyond the visibilityLimit may not be rendered (far
|
|
92
|
+
Geometry beyond the *visibilityLimit* may not be rendered (far clipping plane of the view frustrum).
|
|
75
93
|
|
|
76
94
|
#### Hints
|
|
77
95
|
|
|
78
|
-
-
|
|
96
|
+
- *visibilityLimit*=0.0 indicates an infinite visibility limit (no far clipping plane).
|
|
97
|
+
- Set *visibilityLimit* to appropriate positive value in meters to define far culling plane of view frustum.
|
|
98
|
+
- X3D specification recommends that browsers set near clipping plane to one-half of avatarSize.CollisionDistance value.
|
|
99
|
+
- [Aliasing](https://en.wikipedia.org/wiki/Aliasing){:target="_blank"} and [Clipping](https://en.wikipedia.org/wiki/Clipping_(computer_graphics)){:target="_blank"} Interchange profile hint: this field may be ignored, applying the default value regardless.
|
|
100
|
+
|
|
101
|
+
#### Warning
|
|
102
|
+
|
|
103
|
+
- Important design thumbrule is to keep (*visibilityLimit* / avatarSize.CollisionDistance) \< 10,000 to avoid aliasing artifacts (i.e. polygon "tearing").
|
|
79
104
|
|
|
80
105
|
### MFString [in, out] **transitionType** "LINEAR" <small>["TELEPORT"|"LINEAR"|"ANIMATE"]</small>
|
|
81
106
|
|
|
@@ -87,41 +112,59 @@ Camera transition between viewpoints. Enter one or more quoted SFString values:
|
|
|
87
112
|
|
|
88
113
|
### SFTime [in, out] **transitionTime** 1 <small>[0,∞)</small>
|
|
89
114
|
|
|
90
|
-
|
|
115
|
+
*transitionTime* defines the expected duration of viewpoint transition in seconds.
|
|
91
116
|
|
|
92
117
|
#### Hint
|
|
93
118
|
|
|
94
|
-
- If transitionType is "ANIMATE", transitionTime provides browser-dependent animation parameters. Interchange profile hint: this field may be ignored, applying the default value regardless.
|
|
119
|
+
- If transitionType is "ANIMATE", *transitionTime* provides browser-dependent animation parameters. Interchange profile hint: this field may be ignored, applying the default value regardless.
|
|
95
120
|
|
|
96
121
|
### SFBool [out] **transitionComplete**
|
|
97
122
|
|
|
98
|
-
Event signaling viewpoint transition complete. Interchange profile hint: this field may be ignored
|
|
123
|
+
Event signaling viewpoint transition complete. Interchange profile hint: this field may be ignored.
|
|
124
|
+
|
|
125
|
+
#### Warning
|
|
126
|
+
|
|
127
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
99
128
|
|
|
100
129
|
### SFBool [out] **isBound**
|
|
101
130
|
|
|
102
|
-
|
|
131
|
+
Output event true gets sent when node becomes bound and activated, otherwise output event false gets sent when node becomes unbound and deactivated.
|
|
132
|
+
|
|
133
|
+
#### Hint
|
|
134
|
+
|
|
135
|
+
- Paired node operations can be established by connecting set_bind and *isBound* fields of corresponding bindable nodes.
|
|
136
|
+
|
|
137
|
+
#### Warning
|
|
138
|
+
|
|
139
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
103
140
|
|
|
104
141
|
### SFTime [out] **bindTime**
|
|
105
142
|
|
|
106
|
-
Event sent when node becomes active/inactive.
|
|
143
|
+
Event sent reporting timestamp when node becomes active/inactive.
|
|
144
|
+
|
|
145
|
+
#### Warning
|
|
107
146
|
|
|
108
|
-
|
|
147
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
148
|
+
|
|
149
|
+
## Advisories
|
|
109
150
|
|
|
110
151
|
### Hints
|
|
111
152
|
|
|
112
153
|
- For inspection of simple objects, usability often improves with type="EXAMINE" "ANY"
|
|
113
|
-
-
|
|
154
|
+
- Background, Fog, GeoViewpoint, NavigationInfo, OrthoViewpoint, TextureBackground and Viewpoint are bindable nodes, meaning that no more than one of each node type can be active at a given time.
|
|
114
155
|
- NavigationInfo types '"WALK" "FLY"' support camera-to-object collision detection.
|
|
156
|
+
- Regardless of viewpoint jump value at bind time, the relative viewing transformation between user's view and defined position/orientation is stored for later use when un-jumping (returning to the viewpoint when subsequent viewpoint is unbound).
|
|
157
|
+
- Customizable design pattern for dedicated Viewpoint/NavigationInfo pair: \<Viewpoint DEF='SpecialView'/\> \<NavigationInfo DEF='SpecialNav'/\> \<ROUTE fromNode='SpecialView' fromField='isBound' toNode='SpecialNav' toField='set_bind'/\>
|
|
158
|
+
- [X3D Scene Authoring Hints, Viewpoints](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Viewpoints){:target="_blank"}
|
|
115
159
|
|
|
116
160
|
### Warning
|
|
117
161
|
|
|
118
|
-
- Results are undefined if a bindable node (
|
|
162
|
+
- Results are undefined if a bindable node (Background, Fog, NavigationInfo, OrthoViewpoint, TextureBackground, Viewpoint) is a contained descendant node of either LOD or Switch. Avoid this authoring pattern.
|
|
119
163
|
|
|
120
164
|
## Example
|
|
121
165
|
|
|
122
166
|
<x3d-canvas src="https://create3000.github.io/media/examples/Navigation/NavigationInfo/NavigationInfo.x3d" update="auto"></x3d-canvas>
|
|
123
167
|
|
|
124
|
-
##
|
|
168
|
+
## See Also
|
|
125
169
|
|
|
126
|
-
- [X3D Specification of NavigationInfo](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#NavigationInfo){:target="_blank"}
|
|
127
|
-
- [X3D Scene Authoring Hints, Viewpoints](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Viewpoints){:target="_blank"}
|
|
170
|
+
- [X3D Specification of NavigationInfo node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/navigation.html#NavigationInfo){:target="_blank"}
|