x_ite 8.4.3 → 8.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +5 -1
- package/Makefile +0 -3
- package/build/bin/components.js +173 -0
- package/build/bin/tags.pl +28 -0
- package/build/bin/tests.pl +80 -2
- package/build/bin/version.pl +12 -7
- package/dist/assets/components/Annotation.js +13 -13
- package/dist/assets/components/Annotation.min.js +1 -1
- package/dist/assets/components/CADGeometry.js +13 -13
- package/dist/assets/components/CADGeometry.min.js +1 -1
- package/dist/assets/components/CubeMapTexturing.js +28 -29
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +13 -13
- package/dist/assets/components/DIS.min.js +1 -1
- package/dist/assets/components/EventUtilities.js +9 -9
- package/dist/assets/components/EventUtilities.min.js +1 -1
- package/dist/assets/components/Geometry2D.js +19 -19
- package/dist/assets/components/Geometry2D.min.js +1 -1
- package/dist/assets/components/Geospatial.js +33 -33
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +63 -42
- package/dist/assets/components/HAnim.min.js +1 -1
- package/dist/assets/components/KeyDeviceSensor.js +8 -8
- package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
- package/dist/assets/components/Layout.js +37 -29
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +29 -31
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +23 -23
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +19 -19
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +24 -19
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +30 -30
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +172 -594
- package/dist/assets/components/Text.min.js +1 -1
- package/dist/assets/components/TextureProjector.js +31 -47
- package/dist/assets/components/TextureProjector.min.js +1 -1
- package/dist/assets/components/Texturing3D.js +367 -346
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +19 -19
- package/dist/assets/components/VolumeRendering.min.js +1 -1
- package/dist/assets/components/X_ITE.js +9 -9
- package/dist/assets/components/X_ITE.min.js +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +12174 -3553
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/_config.yml +5 -136
- package/docs/_data/nav/components-CADGeometry.yml +14 -0
- package/docs/_data/nav/components-Core.yml +16 -0
- package/docs/_data/nav/components-CubeMapTexturing.yml +8 -0
- package/docs/_data/nav/components-DIS.yml +14 -0
- package/docs/_data/nav/components-EnvironmentalEffects.yml +12 -0
- package/docs/_data/nav/components-EnvironmentalSensor.yml +8 -0
- package/docs/_data/nav/components-EventUtilities.yml +16 -0
- package/docs/_data/nav/components-Followers.yml +30 -0
- package/docs/_data/nav/components-Geometry2D.yml +18 -0
- package/docs/_data/nav/components-Geometry3D.yml +16 -0
- package/docs/_data/nav/components-Geospatial.yml +24 -0
- package/docs/_data/nav/components-Grouping.yml +10 -0
- package/docs/_data/nav/components-HAnim.yml +14 -0
- package/docs/_data/nav/components-Interpolation.yml +28 -0
- package/docs/_data/nav/components-KeyDeviceSensor.yml +6 -0
- package/docs/_data/nav/components-Layering.yml +8 -0
- package/docs/_data/nav/components-Layout.yml +12 -0
- package/docs/_data/nav/components-Lighting.yml +10 -0
- package/docs/_data/nav/components-NURBS.yml +30 -0
- package/docs/_data/nav/components-Navigation.yml +16 -0
- package/docs/_data/nav/components-Networking.yml +8 -0
- package/docs/_data/nav/components-ParticleSystems.yml +22 -0
- package/docs/_data/nav/components-Picking.yml +12 -0
- package/docs/_data/nav/components-PointingDeviceSensor.yml +10 -0
- package/docs/_data/nav/components-Rendering.yml +30 -0
- package/docs/_data/nav/components-RigidBodyPhysics.yml +30 -0
- package/docs/_data/nav/components-Scripting.yml +4 -0
- package/docs/_data/nav/components-Shaders.yml +18 -0
- package/docs/_data/nav/components-Shape.yml +22 -0
- package/docs/_data/nav/components-Sound.yml +44 -0
- package/docs/_data/nav/components-Text.yml +6 -0
- package/docs/_data/nav/components-TextureProjector.yml +6 -0
- package/docs/_data/nav/components-Texturing.yml +22 -0
- package/docs/_data/nav/components-Texturing3D.yml +18 -0
- package/docs/_data/nav/components-Time.yml +4 -0
- package/docs/_data/nav/components-VolumeRendering.yml +28 -0
- package/docs/_data/nav/components-X_ITE.yml +4 -0
- package/docs/_data/nav/main.yml +26 -0
- package/docs/_data/nav/reference.yml +18 -0
- package/docs/_data/nav/tutorials-animation-sensors-and-geometry.yml +18 -0
- package/docs/_data/nav/tutorials-basic.yml +6 -0
- package/docs/_data/nav/tutorials-optimize-your-scene.yml +6 -0
- package/docs/_data/nav/tutorials-scripts-and-prototypes.yml +12 -0
- package/docs/_data/nav/tutorials-shapes-geometry-and-appearance.yml +16 -0
- package/docs/_data/nav/tutorials-textures-lights-and-environment.yml +20 -0
- package/docs/_includes/nav.html +2 -2
- package/docs/_includes/scripts.html +2 -1
- package/docs/_posts/accessing-the-external-browser.md +1 -1
- package/docs/_posts/browser-support.md +1 -1
- package/docs/_posts/components/CADGeometry/CADAssembly.md +83 -0
- package/docs/_posts/components/CADGeometry/CADFace.md +70 -0
- package/docs/_posts/components/CADGeometry/CADLayer.md +84 -0
- package/docs/_posts/components/CADGeometry/CADPart.md +117 -0
- package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +125 -0
- package/docs/_posts/components/CADGeometry/QuadSet.md +113 -0
- package/docs/_posts/components/Core/MetadataBoolean.md +90 -0
- package/docs/_posts/components/Core/MetadataDouble.md +67 -0
- package/docs/_posts/components/Core/MetadataFloat.md +67 -0
- package/docs/_posts/components/Core/MetadataInteger.md +66 -0
- package/docs/_posts/components/Core/MetadataSet.md +63 -0
- package/docs/_posts/components/Core/MetadataString.md +66 -0
- package/docs/_posts/components/Core/WorldInfo.md +54 -0
- package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +76 -0
- package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +65 -0
- package/docs/_posts/components/CubeMapTexturing/ImageCubeMapTexture.md +66 -0
- package/docs/_posts/components/DIS/DISEntityManager.md +73 -0
- package/docs/_posts/components/DIS/DISEntityTypeMapping.md +88 -0
- package/docs/_posts/components/DIS/EspduTransform.md +416 -0
- package/docs/_posts/components/DIS/ReceiverPdu.md +168 -0
- package/docs/_posts/components/DIS/SignalPdu.md +168 -0
- package/docs/_posts/components/DIS/TransmitterPdu.md +232 -0
- package/docs/_posts/components/EnvironmentalEffects/Background.md +189 -0
- package/docs/_posts/components/EnvironmentalEffects/Fog.md +97 -0
- package/docs/_posts/components/EnvironmentalEffects/FogCoordinate.md +40 -0
- package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +84 -0
- package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +142 -0
- package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +90 -0
- package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +91 -0
- package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +73 -0
- package/docs/_posts/components/EventUtilities/BooleanFilter.md +62 -0
- package/docs/_posts/components/EventUtilities/BooleanSequencer.md +86 -0
- package/docs/_posts/components/EventUtilities/BooleanToggle.md +46 -0
- package/docs/_posts/components/EventUtilities/BooleanTrigger.md +47 -0
- package/docs/_posts/components/EventUtilities/IntegerSequencer.md +90 -0
- package/docs/_posts/components/EventUtilities/IntegerTrigger.md +51 -0
- package/docs/_posts/components/EventUtilities/TimeTrigger.md +47 -0
- package/docs/_posts/components/Followers/ColorChaser.md +77 -0
- package/docs/_posts/components/Followers/ColorDamper.md +85 -0
- package/docs/_posts/components/Followers/CoordinateChaser.md +76 -0
- package/docs/_posts/components/Followers/CoordinateDamper.md +80 -0
- package/docs/_posts/components/Followers/OrientationChaser.md +72 -0
- package/docs/_posts/components/Followers/OrientationDamper.md +80 -0
- package/docs/_posts/components/Followers/PositionChaser.md +72 -0
- package/docs/_posts/components/Followers/PositionChaser2D.md +72 -0
- package/docs/_posts/components/Followers/PositionDamper.md +80 -0
- package/docs/_posts/components/Followers/PositionDamper2D.md +80 -0
- package/docs/_posts/components/Followers/ScalarChaser.md +76 -0
- package/docs/_posts/components/Followers/ScalarDamper.md +80 -0
- package/docs/_posts/components/Followers/TexCoordChaser2D.md +72 -0
- package/docs/_posts/components/Followers/TexCoordDamper2D.md +80 -0
- package/docs/_posts/components/Geometry2D/Arc2D.md +71 -0
- package/docs/_posts/components/Geometry2D/ArcClose2D.md +91 -0
- package/docs/_posts/components/Geometry2D/Circle2D.md +55 -0
- package/docs/_posts/components/Geometry2D/Disk2D.md +75 -0
- package/docs/_posts/components/Geometry2D/Polyline2D.md +54 -0
- package/docs/_posts/components/Geometry2D/Polypoint2D.md +54 -0
- package/docs/_posts/components/Geometry2D/Rectangle2D.md +66 -0
- package/docs/_posts/components/Geometry2D/TriangleSet2D.md +66 -0
- package/docs/_posts/components/Geometry3D/Box.md +66 -0
- package/docs/_posts/components/Geometry3D/Cone.md +90 -0
- package/docs/_posts/components/Geometry3D/Cylinder.md +98 -0
- package/docs/_posts/components/Geometry3D/ElevationGrid.md +162 -0
- package/docs/_posts/components/Geometry3D/Extrusion.md +170 -0
- package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +208 -0
- package/docs/_posts/components/Geometry3D/Sphere.md +66 -0
- package/docs/_posts/components/Geospatial/GeoCoordinate.md +65 -0
- package/docs/_posts/components/Geospatial/GeoElevationGrid.md +180 -0
- package/docs/_posts/components/Geospatial/GeoLOD.md +128 -0
- package/docs/_posts/components/Geospatial/GeoLocation.md +93 -0
- package/docs/_posts/components/Geospatial/GeoMetadata.md +75 -0
- package/docs/_posts/components/Geospatial/GeoOrigin.md +69 -0
- package/docs/_posts/components/Geospatial/GeoPositionInterpolator.md +95 -0
- package/docs/_posts/components/Geospatial/GeoProximitySensor.md +109 -0
- package/docs/_posts/components/Geospatial/GeoTouchSensor.md +108 -0
- package/docs/_posts/components/Geospatial/GeoTransform.md +121 -0
- package/docs/_posts/components/Geospatial/GeoViewpoint.md +126 -0
- package/docs/_posts/components/Grouping/Group.md +75 -0
- package/docs/_posts/components/Grouping/StaticGroup.md +65 -0
- package/docs/_posts/components/Grouping/Switch.md +89 -0
- package/docs/_posts/components/Grouping/Transform.md +126 -0
- package/docs/_posts/components/HAnim/HAnimDisplacer.md +89 -0
- package/docs/_posts/components/HAnim/HAnimHumanoid.md +136 -0
- package/docs/_posts/components/HAnim/HAnimJoint.md +165 -0
- package/docs/_posts/components/HAnim/HAnimMotion.md +68 -0
- package/docs/_posts/components/HAnim/HAnimSegment.md +107 -0
- package/docs/_posts/components/HAnim/HAnimSite.md +108 -0
- package/docs/_posts/components/Interpolation/ColorInterpolator.md +73 -0
- package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +76 -0
- package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +73 -0
- package/docs/_posts/components/Interpolation/EaseInEaseOut.md +67 -0
- package/docs/_posts/components/Interpolation/NormalInterpolator.md +68 -0
- package/docs/_posts/components/Interpolation/OrientationInterpolator.md +72 -0
- package/docs/_posts/components/Interpolation/PositionInterpolator.md +72 -0
- package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +77 -0
- package/docs/_posts/components/Interpolation/ScalarInterpolator.md +76 -0
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator.md +93 -0
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator2D.md +93 -0
- package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +106 -0
- package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +78 -0
- package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +78 -0
- package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +70 -0
- package/docs/_posts/components/Layering/Layer.md +67 -0
- package/docs/_posts/components/Layering/LayerSet.md +78 -0
- package/docs/_posts/components/Layering/Viewport.md +80 -0
- package/docs/_posts/components/Layout/Layout.md +107 -0
- package/docs/_posts/components/Layout/LayoutGroup.md +85 -0
- package/docs/_posts/components/Layout/LayoutLayer.md +74 -0
- package/docs/_posts/components/Layout/ScreenFontStyle.md +137 -0
- package/docs/_posts/components/Layout/ScreenGroup.md +71 -0
- package/docs/_posts/components/Lighting/DirectionalLight.md +100 -0
- package/docs/_posts/components/Lighting/EnvironmentLight.md +91 -0
- package/docs/_posts/components/Lighting/PointLight.md +103 -0
- package/docs/_posts/components/Lighting/SpotLight.md +132 -0
- package/docs/_posts/components/NURBS/Contour2D.md +57 -0
- package/docs/_posts/components/NURBS/ContourPolyline2D.md +46 -0
- package/docs/_posts/components/NURBS/CoordinateDouble.md +47 -0
- package/docs/_posts/components/NURBS/NurbsCurve.md +71 -0
- package/docs/_posts/components/NURBS/NurbsCurve2D.md +66 -0
- package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +70 -0
- package/docs/_posts/components/NURBS/NurbsPatchSurface.md +106 -0
- package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +70 -0
- package/docs/_posts/components/NURBS/NurbsSet.md +66 -0
- package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +90 -0
- package/docs/_posts/components/NURBS/NurbsSweptSurface.md +69 -0
- package/docs/_posts/components/NURBS/NurbsSwungSurface.md +65 -0
- package/docs/_posts/components/NURBS/NurbsTextureCoordinate.md +77 -0
- package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +114 -0
- package/docs/_posts/components/Navigation/Billboard.md +88 -0
- package/docs/_posts/components/Navigation/Collision.md +102 -0
- package/docs/_posts/components/Navigation/LOD.md +99 -0
- package/docs/_posts/components/Navigation/NavigationInfo.md +122 -0
- package/docs/_posts/components/Navigation/OrthoViewpoint.md +117 -0
- package/docs/_posts/components/Navigation/Viewpoint.md +117 -0
- package/docs/_posts/components/Navigation/ViewpointGroup.md +80 -0
- package/docs/_posts/components/Networking/Anchor.md +111 -0
- package/docs/_posts/components/Networking/Inline.md +115 -0
- package/docs/_posts/components/Networking/LoadSensor.md +91 -0
- package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +54 -0
- package/docs/_posts/components/ParticleSystems/ConeEmitter.md +76 -0
- package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +72 -0
- package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +58 -0
- package/docs/_posts/components/ParticleSystems/ParticleSystem.md +177 -0
- package/docs/_posts/components/ParticleSystems/PointEmitter.md +76 -0
- package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +94 -0
- package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +90 -0
- package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +90 -0
- package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +68 -0
- package/docs/_posts/components/Picking/LinePickSensor.md +125 -0
- package/docs/_posts/components/Picking/PickableGroup.md +93 -0
- package/docs/_posts/components/Picking/PointPickSensor.md +112 -0
- package/docs/_posts/components/Picking/PrimitivePickSensor.md +114 -0
- package/docs/_posts/components/Picking/VolumePickSensor.md +107 -0
- package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +122 -0
- package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +114 -0
- package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +89 -0
- package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +87 -0
- package/docs/_posts/components/Rendering/ClipPlane.md +67 -0
- package/docs/_posts/components/Rendering/Color.md +56 -0
- package/docs/_posts/components/Rendering/ColorRGBA.md +61 -0
- package/docs/_posts/components/Rendering/Coordinate.md +45 -0
- package/docs/_posts/components/Rendering/IndexedLineSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +116 -0
- package/docs/_posts/components/Rendering/LineSet.md +85 -0
- package/docs/_posts/components/Rendering/Normal.md +41 -0
- package/docs/_posts/components/Rendering/PointSet.md +76 -0
- package/docs/_posts/components/Rendering/TriangleFanSet.md +112 -0
- package/docs/_posts/components/Rendering/TriangleSet.md +108 -0
- package/docs/_posts/components/Rendering/TriangleStripSet.md +116 -0
- package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +78 -0
- package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +75 -0
- package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +83 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +90 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +65 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +70 -0
- package/docs/_posts/components/RigidBodyPhysics/Contact.md +117 -0
- package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +162 -0
- package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +183 -0
- package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +175 -0
- package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +120 -0
- package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +108 -0
- package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +106 -0
- package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +119 -0
- package/docs/_posts/components/Scripting/Script.md +81 -0
- package/docs/_posts/components/Shaders/ComposedShader.md +81 -0
- package/docs/_posts/components/Shaders/FloatVertexAttribute.md +65 -0
- package/docs/_posts/components/Shaders/Matrix3VertexAttribute.md +53 -0
- package/docs/_posts/components/Shaders/Matrix4VertexAttribute.md +53 -0
- package/docs/_posts/components/Shaders/PackagedShader.md +77 -0
- package/docs/_posts/components/Shaders/ProgramShader.md +71 -0
- package/docs/_posts/components/Shaders/ShaderPart.md +76 -0
- package/docs/_posts/components/Shaders/ShaderProgram.md +68 -0
- package/docs/_posts/components/Shape/AcousticProperties.md +52 -0
- package/docs/_posts/components/Shape/Appearance.md +123 -0
- package/docs/_posts/components/Shape/FillProperties.md +67 -0
- package/docs/_posts/components/Shape/LineProperties.md +63 -0
- package/docs/_posts/components/Shape/Material.md +217 -0
- package/docs/_posts/components/Shape/PhysicalMaterial.md +173 -0
- package/docs/_posts/components/Shape/PointProperties.md +84 -0
- package/docs/_posts/components/Shape/Shape.md +63 -0
- package/docs/_posts/components/Shape/TwoSidedMaterial.md +149 -0
- package/docs/_posts/components/Shape/UnlitMaterial.md +115 -0
- package/docs/_posts/components/Sound/Analyser.md +72 -0
- package/docs/_posts/components/Sound/AudioClip.md +139 -0
- package/docs/_posts/components/Sound/AudioDestination.md +52 -0
- package/docs/_posts/components/Sound/BiquadFilter.md +70 -0
- package/docs/_posts/components/Sound/BufferAudioSource.md +86 -0
- package/docs/_posts/components/Sound/ChannelMerger.md +46 -0
- package/docs/_posts/components/Sound/ChannelSelector.md +48 -0
- package/docs/_posts/components/Sound/ChannelSplitter.md +48 -0
- package/docs/_posts/components/Sound/Convolver.md +66 -0
- package/docs/_posts/components/Sound/Delay.md +66 -0
- package/docs/_posts/components/Sound/DynamicsCompressor.md +74 -0
- package/docs/_posts/components/Sound/Gain.md +62 -0
- package/docs/_posts/components/Sound/ListenerPointSource.md +62 -0
- package/docs/_posts/components/Sound/MicrophoneSource.md +54 -0
- package/docs/_posts/components/Sound/OscillatorSource.md +58 -0
- package/docs/_posts/components/Sound/PeriodicWave.md +42 -0
- package/docs/_posts/components/Sound/Sound.md +92 -0
- package/docs/_posts/components/Sound/SpatialSound.md +68 -0
- package/docs/_posts/components/Sound/StreamAudioDestination.md +52 -0
- package/docs/_posts/components/Sound/StreamAudioSource.md +54 -0
- package/docs/_posts/components/Sound/WaveShaper.md +66 -0
- package/docs/_posts/components/Text/FontStyle.md +145 -0
- package/docs/_posts/components/Text/Text.md +102 -0
- package/docs/_posts/components/TextureProjector/TextureProjector.md +52 -0
- package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +52 -0
- package/docs/_posts/components/Texturing/ImageTexture.md +134 -0
- package/docs/_posts/components/Texturing/MovieTexture.md +221 -0
- package/docs/_posts/components/Texturing/MultiTexture.md +100 -0
- package/docs/_posts/components/Texturing/MultiTextureCoordinate.md +47 -0
- package/docs/_posts/components/Texturing/MultiTextureTransform.md +47 -0
- package/docs/_posts/components/Texturing/PixelTexture.md +80 -0
- package/docs/_posts/components/Texturing/TextureCoordinate.md +52 -0
- package/docs/_posts/components/Texturing/TextureCoordinateGenerator.md +64 -0
- package/docs/_posts/components/Texturing/TextureProperties.md +137 -0
- package/docs/_posts/components/Texturing/TextureTransform.md +73 -0
- package/docs/_posts/components/Texturing3D/ComposedTexture3D.md +76 -0
- package/docs/_posts/components/Texturing3D/ImageTexture3D.md +132 -0
- package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +131 -0
- package/docs/_posts/components/Texturing3D/PixelTexture3D.md +75 -0
- package/docs/_posts/components/Texturing3D/TextureCoordinate3D.md +53 -0
- package/docs/_posts/components/Texturing3D/TextureCoordinate4D.md +52 -0
- package/docs/_posts/components/Texturing3D/TextureTransform3D.md +69 -0
- package/docs/_posts/components/Texturing3D/TextureTransformMatrix3D.md +57 -0
- package/docs/_posts/components/Time/TimeSensor.md +136 -0
- package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +92 -0
- package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +53 -0
- package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +83 -0
- package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +51 -0
- package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +67 -0
- package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +99 -0
- package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +51 -0
- package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +48 -0
- package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +80 -0
- package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +75 -0
- package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +63 -0
- package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +71 -0
- package/docs/_posts/components/VolumeRendering/VolumeData.md +71 -0
- package/docs/_posts/components/X_ITE/BlendMode.md +94 -0
- package/docs/_posts/custom-shaders.md +9 -4
- package/docs/_posts/dom-integration.md +1 -6
- package/docs/_posts/features.md +2 -2
- package/docs/_posts/getting-started.md +100 -57
- package/docs/_posts/glossary.md +1 -1
- package/docs/_posts/how-to-configure-your-web-server.md +1 -1
- package/docs/_posts/reference/browser-services.md +78 -18
- package/docs/_posts/reference/constants-services.md +1 -1
- package/docs/_posts/reference/ecmascript-object-and-function-definitions.md +1 -1
- package/docs/_posts/reference/field-services-and-objects.md +8 -8
- package/docs/_posts/reference/prototype-services.md +7 -7
- package/docs/_posts/reference/route-services.md +1 -1
- package/docs/_posts/reference/scene-services.md +5 -5
- package/docs/_posts/reference/script-node-authoring-interface.md +1 -1
- package/docs/_posts/report-a-bug.md +1 -1
- package/docs/_posts/setup-a-localhost-server.md +5 -1
- package/docs/_posts/supported-nodes.md +239 -238
- package/docs/_posts/tutorials/adding-backgrounds.md +3 -3
- package/docs/_posts/tutorials/adding-fog.md +2 -2
- package/docs/_posts/tutorials/adding-sound.md +19 -19
- package/docs/_posts/tutorials/animating-transforms.md +17 -17
- package/docs/_posts/tutorials/basic-nodes.md +30 -30
- package/docs/_posts/tutorials/building-a-x3d-world.md +3 -3
- package/docs/_posts/tutorials/building-elevation-grids.md +7 -7
- package/docs/_posts/tutorials/building-extruded-shapes.md +7 -7
- package/docs/_posts/tutorials/building-primitive-shapes.md +13 -13
- package/docs/_posts/tutorials/building-shapes-out-of-points-lines-and-faces.md +21 -21
- package/docs/_posts/tutorials/controlling-appearance-with-materials.md +7 -7
- package/docs/_posts/tutorials/controlling-color-on-coordinate-based-geometry.md +11 -11
- package/docs/_posts/tutorials/controlling-detail.md +4 -4
- package/docs/_posts/tutorials/controlling-how-textures-are-mapped.md +7 -7
- package/docs/_posts/tutorials/controlling-navigation.md +3 -3
- package/docs/_posts/tutorials/controlling-shading-on-coordinate-based-geometry.md +13 -13
- package/docs/_posts/tutorials/controlling-the-viewpoint.md +3 -3
- package/docs/_posts/tutorials/creating-new-node-types.md +4 -4
- package/docs/_posts/tutorials/grouping-nodes.md +13 -13
- package/docs/_posts/tutorials/hello-world.md +1 -1
- package/docs/_posts/tutorials/improving-performance.md +1 -1
- package/docs/_posts/tutorials/increasing-rendering-speed.md +1 -1
- package/docs/_posts/tutorials/introducing-animation.md +10 -10
- package/docs/_posts/tutorials/introducing-script-use.md +3 -3
- package/docs/_posts/tutorials/introducing-x3d.md +1 -1
- package/docs/_posts/tutorials/lighting-your-world.md +4 -4
- package/docs/_posts/tutorials/mapping-textures.md +7 -7
- package/docs/_posts/tutorials/naming-nodes.md +1 -1
- package/docs/_posts/tutorials/overview.md +1 -1
- package/docs/_posts/tutorials/providing-information-about-your-world.md +2 -2
- package/docs/_posts/tutorials/sensing-the-viewer.md +15 -15
- package/docs/_posts/tutorials/sensing-viewer-actions.md +10 -10
- package/docs/_posts/tutorials/transforming-shapes.md +4 -4
- package/docs/_posts/tutorials/writing-program-scripts-with-ecmascript.md +5 -5
- package/docs/_posts/what's-new.md +40 -2
- package/docs/_tabs/components.md +383 -0
- package/docs/_tabs/imprint.md +1 -1
- package/docs/_tabs/laboratory.md +38 -6
- package/docs/_tabs/playground.html +22 -66
- package/docs/_tabs/reference.md +2 -1
- package/docs/_tabs/tags.md +1 -1
- package/docs/_tabs/tutorials.md +1 -1
- package/docs/assets/X3D/Michroma-Regular.ttf +0 -0
- package/docs/assets/X3D/peakpx.jpg +0 -0
- package/docs/assets/X3D/teaser.x3d +55 -0
- package/docs/assets/css/style.scss +120 -11
- package/docs/assets/img/laboratory/blend-mode.png +0 -0
- package/docs/assets/img/laboratory/dicom-nrrd.png +0 -0
- package/docs/assets/img/laboratory/earthquake.png +0 -0
- package/docs/assets/img/laboratory/gltf.png +0 -0
- package/docs/assets/img/laboratory/l-system.png +0 -0
- package/docs/assets/js/autoupdate.js +25 -0
- package/docs/laboratory/gltf-sample-viewer.html +318 -0
- package/docs/laboratory/x3d-visual-blend-mode-editor.html +1 -0
- package/package.json +9 -2
- package/src/assets/components/Texturing3D.js +5 -3
- package/src/assets/shaders/Types.glsl.js +5 -5
- package/src/assets/shaders/webgl1/PBR.fs.js +1 -1
- package/src/assets/shaders/webgl1/include/Colors.glsl.js +5 -7
- package/src/assets/shaders/webgl1/include/Fragment.glsl.js +4 -0
- package/src/assets/shaders/webgl1/include/Hatch.glsl.js +1 -1
- package/src/assets/shaders/webgl1/include/Texture.glsl.js +3 -3
- package/src/assets/shaders/webgl2/include/Colors.glsl.js +5 -7
- package/src/assets/shaders/webgl2/include/Hatch.glsl.js +1 -1
- package/src/assets/shaders/webgl2/include/Particle.glsl.js +2 -2
- package/src/assets/shaders/webgl2/include/Texture.glsl.js +2 -2
- package/src/bookmarks.js +12 -8
- package/src/examples.js +3 -0
- package/src/lib/jquery.js +20 -0
- package/src/lib/libgif/libgif.js +1004 -0
- package/src/lib/libtess.js +1 -0
- package/src/lib/nurbs/extras/sample.js +5 -7
- package/src/standard/Math/Algorithms/Bezier.js +175 -33
- package/src/standard/Math/Geometry/Box2.js +15 -55
- package/src/standard/Math/Geometry/Box3.js +19 -66
- package/src/standard/Math/Geometry/Triangle3.js +14 -79
- package/src/standard/Math/Numbers/Color3.js +4 -0
- package/src/standard/Math/Numbers/Color4.js +4 -0
- package/src/standard/Math/Numbers/Matrix3.js +11 -3
- package/src/standard/Math/Numbers/Matrix4.js +9 -6
- package/src/standard/Math/Numbers/Rotation4.js +72 -65
- package/src/tests.js +3 -0
- package/src/x_ite/Base/X3DArrayField.js +0 -2
- package/src/x_ite/Base/X3DInfoArray.js +2 -2
- package/src/x_ite/Base/X3DObjectArrayField.js +19 -0
- package/src/x_ite/Base/X3DTypedArrayField.js +149 -0
- package/src/x_ite/Browser/Core/BrowserOptions.js +108 -64
- package/src/x_ite/Browser/Core/Context.js +1 -1
- package/src/x_ite/Browser/Core/ContextMenu.js +2 -2
- package/src/x_ite/Browser/Core/Notification.js +1 -1
- package/src/x_ite/Browser/Core/RenderingProperties.js +4 -0
- package/src/x_ite/Browser/Core/X3DCoreContext.js +99 -54
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +4 -14
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +3 -13
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +3 -12
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +25 -22
- package/src/x_ite/Browser/Navigation/X3DViewer.js +12 -3
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +2 -2
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +19 -15
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +30 -10
- package/src/x_ite/Browser/Shaders/X3DShadersContext.js +1 -1
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +30 -3
- package/src/x_ite/Browser/Text/PolygonText.js +137 -134
- package/src/x_ite/Browser/Texturing/GifMedia.js +113 -0
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1 -6
- package/src/x_ite/Browser/Texturing3D/NRRDParser.js +81 -310
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/X3DBrowser.js +162 -122
- package/src/x_ite/Browser/X3DBrowserContext.js +7 -5
- package/src/x_ite/Components/Core/WorldInfo.js +3 -3
- package/src/x_ite/Components/Core/X3DNode.js +7 -7
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +2 -3
- package/src/x_ite/Components/Geometry3D/Extrusion.js +27 -23
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +10 -19
- package/src/x_ite/Components/Grouping/X3DBoundedObject.js +1 -3
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +39 -15
- package/src/x_ite/Components/HAnim/HAnimJoint.js +6 -9
- package/src/x_ite/Components/Layering/X3DLayerNode.js +21 -2
- package/src/x_ite/Components/Layout/Layout.js +4 -2
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +6 -0
- package/src/x_ite/Components/Lighting/DirectionalLight.js +4 -11
- package/src/x_ite/Components/Lighting/EnvironmentLight.js +1 -1
- package/src/x_ite/Components/Lighting/PointLight.js +4 -11
- package/src/x_ite/Components/Lighting/SpotLight.js +4 -11
- package/src/x_ite/Components/Lighting/X3DLightNode.js +7 -9
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +2 -2
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +14 -6
- package/src/x_ite/Components/Networking/Inline.js +48 -59
- package/src/x_ite/Components/Networking/X3DUrlObject.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +2 -2
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +7 -13
- package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +4 -2
- package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +4 -2
- package/src/x_ite/Components/Scripting/Script.js +2 -2
- package/src/x_ite/Components/Shaders/ShaderPart.js +1 -1
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1 -3
- package/src/x_ite/Components/Shape/Appearance.js +27 -1
- package/src/x_ite/Components/Shape/FillProperties.js +1 -0
- package/src/x_ite/Components/Shape/LineProperties.js +15 -9
- package/src/x_ite/Components/Shape/Material.js +33 -22
- package/src/x_ite/Components/Shape/PhysicalMaterial.js +22 -15
- package/src/x_ite/Components/Shape/PointProperties.js +23 -7
- package/src/x_ite/Components/Shape/UnlitMaterial.js +3 -2
- package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +25 -19
- package/src/x_ite/Components/Sound/AudioClip.js +5 -5
- package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +26 -34
- package/src/x_ite/Components/Text/X3DFontStyleNode.js +1 -1
- package/src/x_ite/Components/TextureProjector/TextureProjector.js +4 -12
- package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +6 -14
- package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +7 -7
- package/src/x_ite/Components/Texturing/ImageTexture.js +15 -10
- package/src/x_ite/Components/Texturing/MovieTexture.js +51 -11
- package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +2 -2
- package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +230 -0
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +12 -10
- package/src/x_ite/Execution/BindableList.js +35 -37
- package/src/x_ite/Execution/BindableStack.js +25 -7
- package/src/x_ite/Execution/X3DScene.js +2 -2
- package/src/x_ite/Execution/X3DWorld.js +1 -1
- package/src/x_ite/Fields/SFRotation.js +2 -1
- package/src/x_ite/Fields/SFString.js +1 -1
- package/src/x_ite/InputOutput/FileLoader.js +105 -236
- package/src/x_ite/InputOutput/Generator.js +12 -8
- package/src/x_ite/Parser/Expressions.js +85 -0
- package/src/x_ite/Parser/GLB2Parser.js +147 -0
- package/src/x_ite/Parser/GLTF2Parser.js +2221 -0
- package/src/x_ite/Parser/GoldenGate.js +64 -13
- package/src/x_ite/Parser/JSONParser.js +7 -36
- package/src/x_ite/Parser/OBJParser.js +1076 -0
- package/src/x_ite/Parser/STLAParser.js +376 -0
- package/src/x_ite/Parser/STLBParser.js +156 -0
- package/src/x_ite/Parser/SVGParser.js +2476 -0
- package/src/x_ite/Parser/VRMLParser.js +127 -183
- package/src/x_ite/Parser/X3DOptimizer.js +191 -0
- package/src/x_ite/Parser/X3DParser.js +34 -0
- package/src/x_ite/Parser/XMLParser.js +11 -109
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +2 -2
- package/src/x_ite/Prototype/X3DProtoDeclaration.js +3 -3
- package/src/x_ite/Rendering/DependentRenderer.js +1 -1
- package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +150 -0
- package/src/x_ite/Rendering/TextureBuffer.js +3 -5
- package/src/x_ite/Rendering/X3DRenderObject.js +2 -7
- package/src/x_ite/X3D.js +1 -0
- package/src/x_ite/X3DCanvas.js +10 -0
- package/src/x_ite.html +39 -17
- package/webpack.config.js +1 -0
- package/x_ite.min.html +38 -17
- package/src/standard/Networking/BinaryTransport.js +0 -116
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: PolylineEmitter
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-ParticleSystems
|
|
5
|
+
categories: [components, ParticleSystems]
|
|
6
|
+
tags: [PolylineEmitter, ParticleSystems]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
PolylineEmitter emits particles along a single polyline. The coordinates for the line along which particles should be randomly generated are taken from a combination of the coord and coordIndex fields. The starting point for generating particles is randomly distributed along this line and given the initial speed and direction.
|
|
17
|
+
|
|
18
|
+
The PolylineEmitter node belongs to the **ParticleSystems** component and its default container field is *emitter.* It is available since X3D version 3.2 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DParticleEmitterNode
|
|
25
|
+
+ PolylineEmitter
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Fields
|
|
29
|
+
|
|
30
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
31
|
+
|
|
32
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
33
|
+
|
|
34
|
+
### SFVec3f [in, out] **direction** 0 1 0 <small>[-1,1]</small>
|
|
35
|
+
|
|
36
|
+
Initial direction from which particles emanate.
|
|
37
|
+
|
|
38
|
+
### SFFloat [in, out] **speed** 0 <small>[0,∞)</small>
|
|
39
|
+
|
|
40
|
+
Initial linear speed (default is m/s) imparted to all particles along their direction of movement.
|
|
41
|
+
|
|
42
|
+
### SFFloat [in, out] **variation** 0.25 <small>[0,∞)</small>
|
|
43
|
+
|
|
44
|
+
Multiplier for the randomness used to control the range of possible output values. The bigger the value, the more random the output and the bigger the range of possible initial values possible.
|
|
45
|
+
|
|
46
|
+
#### Hint
|
|
47
|
+
|
|
48
|
+
- Variation of zero does not allow any randomness.
|
|
49
|
+
|
|
50
|
+
### SFFloat [ ] **mass** 0 <small>[0,∞)</small>
|
|
51
|
+
|
|
52
|
+
Basic mass of each particle in mass base units (default is grams).
|
|
53
|
+
|
|
54
|
+
#### Hint
|
|
55
|
+
|
|
56
|
+
- Mass is needed if gravity or other force-related calculations are performed per-particle.
|
|
57
|
+
|
|
58
|
+
### SFFloat [ ] **surfaceArea** 0 <small>[0,∞)</small>
|
|
59
|
+
|
|
60
|
+
Particle surface area in area base units (default is meters squared). Surface area is used for calculations such as wind effects per particle.
|
|
61
|
+
|
|
62
|
+
#### Hints
|
|
63
|
+
|
|
64
|
+
- SurfaceArea value represents average frontal area presented to the wind. Assumes spherical model for each particle (i.e., surface area is the same regardless of direction).
|
|
65
|
+
|
|
66
|
+
### MFInt32 [in, out] **coordIndex** -1 <small>[0,∞) or -1</small>
|
|
67
|
+
|
|
68
|
+
*coordIndex* indices are applied to contained Coordinate values in order to define randomly generated initial geometry of the particles.
|
|
69
|
+
|
|
70
|
+
#### Warning
|
|
71
|
+
|
|
72
|
+
- If no coordinates are available, PolylineEmitter acts like a point source located at local origin.
|
|
73
|
+
|
|
74
|
+
### SFNode [in, out] **coord** NULL <small>[X3DCoordinateNode]</small>
|
|
75
|
+
|
|
76
|
+
*coord*inates for the line along which particles are randomly generated.
|
|
77
|
+
|
|
78
|
+
#### Warning
|
|
79
|
+
|
|
80
|
+
- If no coordinates are available, PolylineEmitter acts like a point source located at local origin.
|
|
81
|
+
|
|
82
|
+
## Description
|
|
83
|
+
|
|
84
|
+
### Hint
|
|
85
|
+
|
|
86
|
+
- If no coordinates are available, PolylineEmitter acts like a point source located at local origin.
|
|
87
|
+
|
|
88
|
+
## Example
|
|
89
|
+
|
|
90
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/ParticleSystems/PolylineEmitter/PolylineEmitter.x3d"></x3d-canvas>
|
|
91
|
+
|
|
92
|
+
## External Links
|
|
93
|
+
|
|
94
|
+
- [X3D Specification of PolylineEmitter](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/particleSystems.html#PolylineEmitter){:target="_blank"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: SurfaceEmitter
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-ParticleSystems
|
|
5
|
+
categories: [components, ParticleSystems]
|
|
6
|
+
tags: [SurfaceEmitter, ParticleSystems]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
SurfaceEmitter generates particles from the surface of an object. New particles are generated by first randomly choosing a face on the tessellated geometry and then a random position on that face. Particles are generated with an initial direction of the normal to that point (including any normal averaging due to normalPerVertex and creaseAngle field settings).
|
|
17
|
+
|
|
18
|
+
The SurfaceEmitter node belongs to the **ParticleSystems** component and its default container field is *emitter.* It is available since X3D version 3.2 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DParticleEmitterNode
|
|
25
|
+
+ SurfaceEmitter
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Fields
|
|
29
|
+
|
|
30
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
31
|
+
|
|
32
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
33
|
+
|
|
34
|
+
### SFFloat [in, out] **speed** 0 <small>[0,∞)</small>
|
|
35
|
+
|
|
36
|
+
Initial linear speed (default is m/s) imparted to all particles along their direction of movement.
|
|
37
|
+
|
|
38
|
+
### SFFloat [in, out] **variation** 0.25 <small>[0,∞)</small>
|
|
39
|
+
|
|
40
|
+
Multiplier for the randomness used to control the range of possible output values. The bigger the value, the more random the output and the bigger the range of possible initial values possible.
|
|
41
|
+
|
|
42
|
+
#### Hint
|
|
43
|
+
|
|
44
|
+
- Variation of zero does not allow any randomness.
|
|
45
|
+
|
|
46
|
+
### SFFloat [ ] **mass** 0 <small>[0,∞)</small>
|
|
47
|
+
|
|
48
|
+
Basic mass of each particle in mass base units (default is grams).
|
|
49
|
+
|
|
50
|
+
#### Hint
|
|
51
|
+
|
|
52
|
+
- Mass is needed if gravity or other force-related calculations are performed per-particle.
|
|
53
|
+
|
|
54
|
+
### SFFloat [ ] **surfaceArea** 0 <small>[0,∞)</small>
|
|
55
|
+
|
|
56
|
+
Particle surface area in area base units (default is meters squared). Surface area is used for calculations such as wind effects per particle.
|
|
57
|
+
|
|
58
|
+
#### Hints
|
|
59
|
+
|
|
60
|
+
- SurfaceArea value represents average frontal area presented to the wind. Assumes spherical model for each particle (i.e., surface area is the same regardless of direction).
|
|
61
|
+
|
|
62
|
+
### SFNode [ ] **surface** NULL <small>[X3DGeometryNode]</small>
|
|
63
|
+
|
|
64
|
+
The geometry node provides geometry used as the emitting surface.
|
|
65
|
+
|
|
66
|
+
#### Hint
|
|
67
|
+
|
|
68
|
+
- If the surface is indicated as not being solid (solid field set to false), randomly choose from which side of the surface to emit, negating the normal direction when generating from the back side.
|
|
69
|
+
|
|
70
|
+
#### Warning
|
|
71
|
+
|
|
72
|
+
- Only valid geometry shall be used.
|
|
73
|
+
|
|
74
|
+
## Description
|
|
75
|
+
|
|
76
|
+
### Hint
|
|
77
|
+
|
|
78
|
+
- Ff surface is not solid (solid=false), randomly choose from which side of the surface to emit, negating the normal direction when generating from the back side.
|
|
79
|
+
|
|
80
|
+
### Warning
|
|
81
|
+
|
|
82
|
+
- Only valid geometry shall be used.
|
|
83
|
+
|
|
84
|
+
## Example
|
|
85
|
+
|
|
86
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/ParticleSystems/SurfaceEmitter/SurfaceEmitter.x3d"></x3d-canvas>
|
|
87
|
+
|
|
88
|
+
## External Links
|
|
89
|
+
|
|
90
|
+
- [X3D Specification of SurfaceEmitter](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/particleSystems.html#SurfaceEmitter){:target="_blank"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: VolumeEmitter
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-ParticleSystems
|
|
5
|
+
categories: [components, ParticleSystems]
|
|
6
|
+
tags: [VolumeEmitter, ParticleSystems]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
VolumeEmitter emits particles from a random position confined within the given closed geometry volume.
|
|
17
|
+
|
|
18
|
+
The VolumeEmitter node belongs to the **ParticleSystems** component and its default container field is *emitter.* It is available since X3D version 3.2 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DParticleEmitterNode
|
|
25
|
+
+ VolumeEmitter
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Fields
|
|
29
|
+
|
|
30
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
31
|
+
|
|
32
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
33
|
+
|
|
34
|
+
### SFBool [ ] **internal** TRUE
|
|
35
|
+
|
|
36
|
+
TODO, X3D specification is undefined.
|
|
37
|
+
|
|
38
|
+
### SFVec3f [in, out] **direction** 0 1 0 <small>[-1,1]</small>
|
|
39
|
+
|
|
40
|
+
Initial direction from which particles emanate.
|
|
41
|
+
|
|
42
|
+
### SFFloat [in, out] **speed** 0 <small>[0,∞)</small>
|
|
43
|
+
|
|
44
|
+
Initial linear speed (default is m/s) imparted to all particles along their direction of movement.
|
|
45
|
+
|
|
46
|
+
### SFFloat [in, out] **variation** 0.25 <small>[0,∞)</small>
|
|
47
|
+
|
|
48
|
+
Multiplier for the randomness used to control the range of possible output values. The bigger the value, the more random the output and the bigger the range of possible initial values possible.
|
|
49
|
+
|
|
50
|
+
#### Hint
|
|
51
|
+
|
|
52
|
+
- Variation of zero does not allow any randomness.
|
|
53
|
+
|
|
54
|
+
### SFFloat [ ] **mass** 0 <small>[0,∞)</small>
|
|
55
|
+
|
|
56
|
+
Basic mass of each particle in mass base units (default is grams).
|
|
57
|
+
|
|
58
|
+
#### Hint
|
|
59
|
+
|
|
60
|
+
- Mass is needed if gravity or other force-related calculations are performed per-particle.
|
|
61
|
+
|
|
62
|
+
### SFFloat [ ] **surfaceArea** 0 <small>[0,∞)</small>
|
|
63
|
+
|
|
64
|
+
Particle surface area in area base units (default is meters squared). Surface area is used for calculations such as wind effects per particle.
|
|
65
|
+
|
|
66
|
+
#### Hints
|
|
67
|
+
|
|
68
|
+
- SurfaceArea value represents average frontal area presented to the wind. Assumes spherical model for each particle (i.e., surface area is the same regardless of direction).
|
|
69
|
+
|
|
70
|
+
### MFInt32 [in, out] **coordIndex** -1 <small>[0,∞) or -1</small>
|
|
71
|
+
|
|
72
|
+
*coordIndex* indices are applied to contained Coordinate values in order to define randomly generated initial geometry of the particles.
|
|
73
|
+
|
|
74
|
+
### SFNode [in, out] **coord** NULL <small>[X3DCoordinateNode]</small>
|
|
75
|
+
|
|
76
|
+
*coord*inates for the geometry used as the emitting volume.
|
|
77
|
+
|
|
78
|
+
## Description
|
|
79
|
+
|
|
80
|
+
### Hint
|
|
81
|
+
|
|
82
|
+
- Otherwise, a VolumeEmitter node acts like a PolylineEmitter node.
|
|
83
|
+
|
|
84
|
+
## Example
|
|
85
|
+
|
|
86
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/ParticleSystems/VolumeEmitter/VolumeEmitter.x3d"></x3d-canvas>
|
|
87
|
+
|
|
88
|
+
## External Links
|
|
89
|
+
|
|
90
|
+
- [X3D Specification of VolumeEmitter](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/particleSystems.html#VolumeEmitter){:target="_blank"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: WindPhysicsModel
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-ParticleSystems
|
|
5
|
+
categories: [components, ParticleSystems]
|
|
6
|
+
tags: [WindPhysicsModel, ParticleSystems]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
WindPhysicsModel applies a wind effect to the particles. The wind includes a random variation factor to model gustiness.
|
|
17
|
+
|
|
18
|
+
The WindPhysicsModel node belongs to the **ParticleSystems** component and its default container field is *physics.* It is available since X3D version 3.2 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DParticlePhysicsModelNode
|
|
25
|
+
+ WindPhysicsModel
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Fields
|
|
29
|
+
|
|
30
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
31
|
+
|
|
32
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
33
|
+
|
|
34
|
+
### SFBool [in, out] **enabled** TRUE
|
|
35
|
+
|
|
36
|
+
Enables/disables node operation.
|
|
37
|
+
|
|
38
|
+
### SFVec3f [in, out] **direction** 0 0 0 <small>(∞,∞)</small>
|
|
39
|
+
|
|
40
|
+
*direction* in which wind is travelling in the form of a normalized, unit vector.
|
|
41
|
+
|
|
42
|
+
### SFFloat [in, out] **speed** 0.1 <small>[0,∞)</small>
|
|
43
|
+
|
|
44
|
+
Initial linear speed (default is m/s) imparted to all particles along their direction of movement.
|
|
45
|
+
|
|
46
|
+
### SFFloat [in, out] **gustiness** 0.1 <small>[0,∞)</small>
|
|
47
|
+
|
|
48
|
+
*gustiness* specifies how much wind speed varies from the average speed.
|
|
49
|
+
|
|
50
|
+
#### Hint
|
|
51
|
+
|
|
52
|
+
- Wind speed variation is calculated once per frame and applied equally to all particles.
|
|
53
|
+
|
|
54
|
+
### SFFloat [in, out] **turbulence** 0 <small>[0,1]</small>
|
|
55
|
+
|
|
56
|
+
*turbulence* field specifies how much the wind acts directly in line with the direction, and how much variation is applied in directions other than the wind direction.
|
|
57
|
+
|
|
58
|
+
#### Hint
|
|
59
|
+
|
|
60
|
+
- This is determined per-particle to model how each is effected by turbulence.
|
|
61
|
+
|
|
62
|
+
## Example
|
|
63
|
+
|
|
64
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/ParticleSystems/WindPhysicsModel/WindPhysicsModel.x3d"></x3d-canvas>
|
|
65
|
+
|
|
66
|
+
## External Links
|
|
67
|
+
|
|
68
|
+
- [X3D Specification of WindPhysicsModel](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/particleSystems.html#WindPhysicsModel){:target="_blank"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: LinePickSensor
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-Picking
|
|
5
|
+
categories: [components, Picking]
|
|
6
|
+
tags: [LinePickSensor, Picking]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
LinePickSensor uses one or more pickingGeometry line segments to compute intersections with pickTarget shapes. As each line intersection generates a known point in space, useful event information is returned including normal, geometry and texCoord values.
|
|
17
|
+
|
|
18
|
+
The LinePickSensor node belongs to the **Picking** component and its default container field is *children.* It is available since X3D version 3.2 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DChildNode
|
|
25
|
+
+ X3DSensorNode
|
|
26
|
+
+ X3DPickSensorNode
|
|
27
|
+
+ LinePickSensor
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Fields
|
|
31
|
+
|
|
32
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
33
|
+
|
|
34
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
35
|
+
|
|
36
|
+
### SFBool [in, out] **enabled** TRUE
|
|
37
|
+
|
|
38
|
+
Enables/disables node operation.
|
|
39
|
+
|
|
40
|
+
### SFBool [out] **isActive**
|
|
41
|
+
|
|
42
|
+
*isActive* indicates when the intersecting object is picked by the picking geometry. Output event isActive=true gets sent once a picked item is found. Output event isActive=false gets sent once no picked item is found.
|
|
43
|
+
|
|
44
|
+
### MFString [in, out] **objectType** "ALL" <small>["ALL","NONE","TERRAIN",...]</small>
|
|
45
|
+
|
|
46
|
+
The objectType field specifies a set of labels used in the picking process. Each string specified is treated as an independent label that needs to be matched against the same type in one of the pick sensor instances.
|
|
47
|
+
|
|
48
|
+
#### Hints
|
|
49
|
+
|
|
50
|
+
- Authors may define any value for objectType. MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
|
|
51
|
+
|
|
52
|
+
### SFNode [in, out] **pickingGeometry** NULL <small>[IndexedLineSet|LineSet]</small>
|
|
53
|
+
|
|
54
|
+
*pickingGeometry* specifies the exact geometry coordinates that are used to perform the intersection testing of the picking operation.
|
|
55
|
+
|
|
56
|
+
### MFNode [in, out] **pickTarget** [ ] <small>[X3DGroupingNode|X3DShapeNode|Inline]</small>
|
|
57
|
+
|
|
58
|
+
*pickTarget* specifies the list of nodes against which picking operations are performed. All nodes declared in this field and their descendents are evaluated for intersections.
|
|
59
|
+
|
|
60
|
+
### MFNode [out] **pickedGeometry**
|
|
61
|
+
|
|
62
|
+
Output event containing the node or nodes that have been found to intersect with the picking geometry from the last time this node performed a picking operation, given in the local coordinate system.
|
|
63
|
+
|
|
64
|
+
### SFString [ ] **intersectionType** "BOUNDS" <small>["GEOMETRY"|"BOUNDS"|...]</small>
|
|
65
|
+
|
|
66
|
+
*intersectionType* specifies precision of the collision computation.
|
|
67
|
+
|
|
68
|
+
#### Hint
|
|
69
|
+
|
|
70
|
+
- IntersectionType constants may be extended by the browser to provide additional options.
|
|
71
|
+
|
|
72
|
+
#### Warning
|
|
73
|
+
|
|
74
|
+
- Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
|
|
75
|
+
|
|
76
|
+
### SFString [ ] **sortOrder** "CLOSEST" <small>["ANY"|"CLOSEST"|"ALL"|"ALL_SORTED"]</small>
|
|
77
|
+
|
|
78
|
+
The sortOrder field determines the order provided for picked output events.
|
|
79
|
+
|
|
80
|
+
#### Hint
|
|
81
|
+
|
|
82
|
+
- Browser implementations may define additional values and algorithms beyond these four required values.
|
|
83
|
+
|
|
84
|
+
#### Warning
|
|
85
|
+
|
|
86
|
+
- Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
|
|
87
|
+
|
|
88
|
+
### MFVec3f [out] **pickedNormal**
|
|
89
|
+
|
|
90
|
+
Output event containing surface normal vectors computed by the picking intersection computations.
|
|
91
|
+
|
|
92
|
+
### MFVec3f [out] **pickedPoint**
|
|
93
|
+
|
|
94
|
+
Output event containing 3D points on surface of underlying pickingGeometry computed by the picking intersection computations, given in the local coordinate system.
|
|
95
|
+
|
|
96
|
+
### MFVec3f [out] **pickedTextureCoordinate**
|
|
97
|
+
|
|
98
|
+
Output event containing 3D texture coordinates of surfaces computed by the picking intersection computations. Picked texture coordinates are in three dimensions. If the target texture coordinate has two dimensions, the third coordinate (z component of an SFVec3f) shall be zero.
|
|
99
|
+
|
|
100
|
+
#### Warning
|
|
101
|
+
|
|
102
|
+
- If the target object has multiple textures defined, only texture coordinates for the first texture are returned and all other textures are ignored.
|
|
103
|
+
|
|
104
|
+
## Description
|
|
105
|
+
|
|
106
|
+
### Hints
|
|
107
|
+
|
|
108
|
+
- Sort order for line picking is based on each pair of coordinates that defining a line segment, with first declared vertex of the segment defined to be the start of the line to which the intersection points are closest.
|
|
109
|
+
- Picking is performed between rendered frames of the event model. An author sets up the picking request in one frame by placing a LinePickSensor in the desired location. At the start of the next frame, any picking intersections are reported by the pick sensor.
|
|
110
|
+
- Picking notification is performed at the start of the frame for all enabled pick sensors once all other sensors are processed.
|
|
111
|
+
- IndexedLineSet or LineSet can be used for pickingGeometry node.
|
|
112
|
+
|
|
113
|
+
### Warning
|
|
114
|
+
|
|
115
|
+
- Order of contained nodes is significant, single pickingGeometry node must precede pickTarget node array.
|
|
116
|
+
|
|
117
|
+
## Example
|
|
118
|
+
|
|
119
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/Picking/LinePickSensor/LinePickSensor.x3d"></x3d-canvas>
|
|
120
|
+
|
|
121
|
+
## External Links
|
|
122
|
+
|
|
123
|
+
- [X3D Specification of LinePickSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#LinePickSensor){:target="_blank"}
|
|
124
|
+
- [When the picking line segment intersects a coplanar polygon, computed intersection point(s) are illustrated in Figure 38.1](https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/components/picking.html#f-LineIntersection){:target="_blank"}
|
|
125
|
+
- [Event timing details are explained in 4.4.8.3 Execution model](https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/concepts.html#ExecutionModel){:target="_blank"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: PickableGroup
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-Picking
|
|
5
|
+
categories: [components, Picking]
|
|
6
|
+
tags: [PickableGroup, Picking]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
PickableGroup is a Grouping node that can contain most nodes. PickableGroup contains children that are marked as having a given classification of picking types, and can also enable or disable picking of the children.
|
|
17
|
+
|
|
18
|
+
The PickableGroup node belongs to the **Picking** component and its default container field is *children.* It is available since X3D version 3.2 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DChildNode
|
|
25
|
+
+ X3DGroupingNode
|
|
26
|
+
+ PickableGroup (X3DPickableObject)*
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
<small>\* Derived from multiple interfaces.</small>
|
|
30
|
+
|
|
31
|
+
## Fields
|
|
32
|
+
|
|
33
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
34
|
+
|
|
35
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
36
|
+
|
|
37
|
+
### SFBool [in, out] **pickable** TRUE
|
|
38
|
+
|
|
39
|
+
The pickable field determines whether pick traversal is performed on this node or its children.
|
|
40
|
+
|
|
41
|
+
#### Hint
|
|
42
|
+
|
|
43
|
+
- Pickable only affects children accessed through the transformation hierarchy of the parent.
|
|
44
|
+
|
|
45
|
+
#### Warning
|
|
46
|
+
|
|
47
|
+
- If one or more of the children of this instance is accessible through another transformation hierarchy through DEF/USE that still has picking enabled, they are still pickable through that path only.
|
|
48
|
+
|
|
49
|
+
### MFString [in, out] **objectType** "ALL" <small>["ALL","NONE","TERRAIN",...]</small>
|
|
50
|
+
|
|
51
|
+
The objectType field specifies a set of labels used in the picking process. Each string specified is treated as an independent label that needs to be matched against the same type in one of the pick sensor instances.
|
|
52
|
+
|
|
53
|
+
#### Hints
|
|
54
|
+
|
|
55
|
+
- Authors may define any value for objectType. MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
|
|
56
|
+
|
|
57
|
+
### SFVec3f [ ] **bboxSize** -1 -1 -1 <small>[0,∞) or -1 -1 -1</small>
|
|
58
|
+
|
|
59
|
+
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.
|
|
60
|
+
|
|
61
|
+
#### Hint
|
|
62
|
+
|
|
63
|
+
- Can be useful for collision computations or inverse-kinematics (IK) engines.
|
|
64
|
+
|
|
65
|
+
### SFVec3f [ ] **bboxCenter** 0 0 0 <small>(-∞,∞)</small>
|
|
66
|
+
|
|
67
|
+
Bounding box center: optional hint for position offset from origin of local coordinate system.
|
|
68
|
+
|
|
69
|
+
### MFNode [in] **addChildren**
|
|
70
|
+
|
|
71
|
+
Input field addChildren.
|
|
72
|
+
|
|
73
|
+
### MFNode [in] **removeChildren**
|
|
74
|
+
|
|
75
|
+
Input field removeChildren.
|
|
76
|
+
|
|
77
|
+
### MFNode [in, out] **children** [ ] <small>[X3DChildNode]</small>
|
|
78
|
+
|
|
79
|
+
Grouping nodes contain a list of children nodes.
|
|
80
|
+
|
|
81
|
+
#### Hint
|
|
82
|
+
|
|
83
|
+
- 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.
|
|
84
|
+
|
|
85
|
+
## Description
|
|
86
|
+
|
|
87
|
+
### Hint
|
|
88
|
+
|
|
89
|
+
- Insert a Shape node before adding geometry or Appearance.
|
|
90
|
+
|
|
91
|
+
## External Links
|
|
92
|
+
|
|
93
|
+
- [X3D Specification of PickableGroup](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#PickableGroup){:target="_blank"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: PointPickSensor
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-Picking
|
|
5
|
+
categories: [components, Picking]
|
|
6
|
+
tags: [PointPickSensor, Picking]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
PointPickSensor tests one or more pickingGeometry points in space as lying inside the provided pickTarget geometry. For each pickingGeometry PointSet coordinate point that lies inside the pickTarget geometry, a pickedPoint coordinate is returned along with a corresponding pickedGeometry node inside which the point lies.
|
|
17
|
+
|
|
18
|
+
The PointPickSensor node belongs to the **Picking** component and its default container field is *children.* It is available since X3D version 3.2 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DChildNode
|
|
25
|
+
+ X3DSensorNode
|
|
26
|
+
+ X3DPickSensorNode
|
|
27
|
+
+ PointPickSensor
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Fields
|
|
31
|
+
|
|
32
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
33
|
+
|
|
34
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
35
|
+
|
|
36
|
+
### SFBool [in, out] **enabled** TRUE
|
|
37
|
+
|
|
38
|
+
Enables/disables node operation.
|
|
39
|
+
|
|
40
|
+
### SFBool [out] **isActive**
|
|
41
|
+
|
|
42
|
+
*isActive* indicates when the intersecting object is picked by the picking geometry. Output event isActive=true gets sent once a picked item is found. Output event isActive=false gets sent once no picked item is found.
|
|
43
|
+
|
|
44
|
+
### MFString [in, out] **objectType** "ALL" <small>["ALL","NONE","TERRAIN",...]</small>
|
|
45
|
+
|
|
46
|
+
The objectType field specifies a set of labels used in the picking process. Each string specified is treated as an independent label that needs to be matched against the same type in one of the pick sensor instances.
|
|
47
|
+
|
|
48
|
+
#### Hints
|
|
49
|
+
|
|
50
|
+
- Authors may define any value for objectType. MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
|
|
51
|
+
|
|
52
|
+
### SFNode [in, out] **pickingGeometry** NULL <small>[PointSet]</small>
|
|
53
|
+
|
|
54
|
+
*pickingGeometry* specifies the exact geometry coordinates that are used to perform the intersection testing of the picking operation.
|
|
55
|
+
|
|
56
|
+
### MFNode [in, out] **pickTarget** [ ] <small>[X3DGroupingNode|X3DShapeNode|Inline]</small>
|
|
57
|
+
|
|
58
|
+
*pickTarget* specifies the list of nodes against which picking operations are performed. All nodes declared in this field and their descendents are evaluated for intersections.
|
|
59
|
+
|
|
60
|
+
### MFNode [out] **pickedGeometry**
|
|
61
|
+
|
|
62
|
+
Output event containing the node or nodes that have been found to intersect with the picking geometry from the last time this node performed a picking operation, given in the local coordinate system.
|
|
63
|
+
|
|
64
|
+
### SFString [ ] **intersectionType** "BOUNDS" <small>["GEOMETRY"|"BOUNDS"|...]</small>
|
|
65
|
+
|
|
66
|
+
*intersectionType* specifies precision of the collision computation.
|
|
67
|
+
|
|
68
|
+
#### Hint
|
|
69
|
+
|
|
70
|
+
- IntersectionType constants may be extended by the browser to provide additional options.
|
|
71
|
+
|
|
72
|
+
#### Warning
|
|
73
|
+
|
|
74
|
+
- Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
|
|
75
|
+
|
|
76
|
+
### SFString [ ] **sortOrder** "CLOSEST" <small>["CLOSEST"|"ALL"|"ALL_SORTED"]</small>
|
|
77
|
+
|
|
78
|
+
The sortOrder field determines the order provided for picked output events.
|
|
79
|
+
|
|
80
|
+
#### Hint
|
|
81
|
+
|
|
82
|
+
- Browser implementations may define additional values and algorithms beyond these four required values.
|
|
83
|
+
|
|
84
|
+
#### Warning
|
|
85
|
+
|
|
86
|
+
- Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
|
|
87
|
+
|
|
88
|
+
### MFVec3f [out] **pickedPoint**
|
|
89
|
+
|
|
90
|
+
Output event containing 3D points on surface of underlying pickingGeometry computed by the picking intersection computations, given in the local coordinate system.
|
|
91
|
+
|
|
92
|
+
## Description
|
|
93
|
+
|
|
94
|
+
### Hints
|
|
95
|
+
|
|
96
|
+
- Because points represent an infinitely small location in space, sortOrder values CLOSEST and ALL_SORTED are defined to mean ANY and ALL respectively.
|
|
97
|
+
- Picking is performed between rendered frames of the event model. An author sets up the picking request in one frame by placing a LinePickSensor in the desired location. At the start of the next frame, any picking intersections are reported by the pick sensor.
|
|
98
|
+
- Picking notification is performed at the start of the frame for all enabled pick sensors once all other sensors are processed.
|
|
99
|
+
- PointSet can be used for pickingGeometry node.
|
|
100
|
+
|
|
101
|
+
### Warning
|
|
102
|
+
|
|
103
|
+
- Order of contained nodes is significant, single pickingGeometry node must precede pickTarget node array.
|
|
104
|
+
|
|
105
|
+
## Example
|
|
106
|
+
|
|
107
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/Picking/PointPickSensor/PointPickSensor.x3d"></x3d-canvas>
|
|
108
|
+
|
|
109
|
+
## External Links
|
|
110
|
+
|
|
111
|
+
- [X3D Specification of PointPickSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#PointPickSensor){:target="_blank"}
|
|
112
|
+
- [Event timing details are explained in 4.4.8.3 Execution model](https://www.web3d.org/files/specifications/19775-1/V3.3/Part01/concepts.html#ExecutionModel){:target="_blank"}
|