x_ite 8.8.6 → 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 +14 -14
- 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 -28
- 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 +52 -40
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +19 -19
- 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 +26 -26
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +76 -74
- 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 +29 -30
- 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 +23 -23
- 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 +21 -21
- 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 +1002 -133
- 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 +47 -21
- package/docs/_posts/components/CADGeometry/CADFace.md +47 -21
- package/docs/_posts/components/CADGeometry/CADLayer.md +50 -21
- package/docs/_posts/components/CADGeometry/CADPart.md +56 -26
- 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 +27 -36
- 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 +39 -30
- 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 +43 -18
- package/docs/_posts/components/DIS/DISEntityTypeMapping.md +43 -34
- package/docs/_posts/components/DIS/EspduTransform.md +211 -78
- package/docs/_posts/components/DIS/ReceiverPdu.md +95 -45
- package/docs/_posts/components/DIS/SignalPdu.md +98 -44
- package/docs/_posts/components/DIS/TransmitterPdu.md +118 -68
- 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 +27 -14
- 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 +25 -10
- 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 +31 -23
- package/docs/_posts/components/Geometry3D/Cylinder.md +32 -28
- package/docs/_posts/components/Geometry3D/ElevationGrid.md +75 -31
- package/docs/_posts/components/Geometry3D/Extrusion.md +100 -48
- package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +95 -43
- 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 +85 -40
- package/docs/_posts/components/Geospatial/GeoLOD.md +69 -30
- package/docs/_posts/components/Geospatial/GeoLocation.md +66 -28
- 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 +66 -21
- package/docs/_posts/components/Geospatial/GeoTransform.md +74 -30
- package/docs/_posts/components/Geospatial/GeoViewpoint.md +88 -41
- package/docs/_posts/components/Grouping/Group.md +34 -18
- package/docs/_posts/components/Grouping/StaticGroup.md +39 -18
- package/docs/_posts/components/Grouping/Switch.md +41 -22
- package/docs/_posts/components/Grouping/Transform.md +47 -30
- package/docs/_posts/components/HAnim/HAnimDisplacer.md +48 -37
- package/docs/_posts/components/HAnim/HAnimHumanoid.md +245 -55
- package/docs/_posts/components/HAnim/HAnimJoint.md +136 -70
- package/docs/_posts/components/HAnim/HAnimMotion.md +128 -18
- package/docs/_posts/components/HAnim/HAnimSegment.md +92 -52
- package/docs/_posts/components/HAnim/HAnimSite.md +95 -52
- 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 +39 -14
- package/docs/_posts/components/Layering/LayerSet.md +21 -15
- package/docs/_posts/components/Layering/Viewport.md +34 -18
- package/docs/_posts/components/Layout/Layout.md +28 -17
- package/docs/_posts/components/Layout/LayoutGroup.md +37 -21
- package/docs/_posts/components/Layout/LayoutLayer.md +40 -15
- package/docs/_posts/components/Layout/ScreenFontStyle.md +74 -47
- package/docs/_posts/components/Layout/ScreenGroup.md +35 -19
- package/docs/_posts/components/Lighting/DirectionalLight.md +23 -15
- package/docs/_posts/components/Lighting/EnvironmentLight.md +7 -11
- package/docs/_posts/components/Lighting/PointLight.md +27 -15
- package/docs/_posts/components/Lighting/SpotLight.md +36 -23
- 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 +16 -12
- package/docs/_posts/components/NURBS/NurbsCurve2D.md +15 -11
- package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +31 -15
- package/docs/_posts/components/NURBS/NurbsPatchSurface.md +29 -23
- package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +30 -14
- package/docs/_posts/components/NURBS/NurbsSet.md +51 -17
- package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +48 -28
- 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 +26 -22
- package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +36 -26
- package/docs/_posts/components/Navigation/Billboard.md +35 -19
- package/docs/_posts/components/Navigation/Collision.md +61 -24
- package/docs/_posts/components/Navigation/LOD.md +55 -25
- package/docs/_posts/components/Navigation/NavigationInfo.md +69 -26
- package/docs/_posts/components/Navigation/OrthoViewpoint.md +89 -38
- package/docs/_posts/components/Navigation/Viewpoint.md +95 -40
- package/docs/_posts/components/Navigation/ViewpointGroup.md +29 -18
- package/docs/_posts/components/Networking/Anchor.md +56 -58
- package/docs/_posts/components/Networking/Inline.md +44 -31
- package/docs/_posts/components/Networking/LoadSensor.md +43 -11
- package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +16 -8
- package/docs/_posts/components/ParticleSystems/ConeEmitter.md +31 -12
- package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +23 -12
- package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +15 -8
- package/docs/_posts/components/ParticleSystems/ParticleSystem.md +110 -55
- package/docs/_posts/components/ParticleSystems/PointEmitter.md +25 -14
- package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +28 -16
- package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +25 -14
- package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +35 -16
- package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +12 -8
- package/docs/_posts/components/Picking/LinePickSensor.md +57 -31
- package/docs/_posts/components/Picking/PickableGroup.md +44 -26
- package/docs/_posts/components/Picking/PointPickSensor.md +47 -26
- package/docs/_posts/components/Picking/PrimitivePickSensor.md +43 -31
- package/docs/_posts/components/Picking/VolumePickSensor.md +43 -26
- package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +46 -21
- package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +43 -20
- package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +37 -15
- package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +50 -16
- package/docs/_posts/components/Rendering/ClipPlane.md +21 -16
- 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 +55 -27
- 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 +24 -12
- package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +40 -17
- package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +37 -19
- package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +24 -19
- package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +21 -12
- package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +36 -17
- package/docs/_posts/components/RigidBodyPhysics/Contact.md +20 -16
- package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +43 -41
- package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +86 -34
- package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +36 -26
- package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +36 -20
- package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +33 -23
- package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +31 -19
- package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +31 -23
- 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 +52 -46
- 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 +38 -10
- package/docs/_posts/components/Shape/Appearance.md +30 -23
- 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 +23 -24
- package/docs/_posts/components/Shape/Shape.md +38 -20
- 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 +151 -18
- package/docs/_posts/components/Sound/AudioClip.md +82 -32
- package/docs/_posts/components/Sound/AudioDestination.md +85 -9
- package/docs/_posts/components/Sound/BiquadFilter.md +160 -17
- package/docs/_posts/components/Sound/BufferAudioSource.md +184 -28
- package/docs/_posts/components/Sound/ChannelMerger.md +70 -8
- package/docs/_posts/components/Sound/ChannelSelector.md +73 -9
- package/docs/_posts/components/Sound/ChannelSplitter.md +77 -9
- package/docs/_posts/components/Sound/Convolver.md +138 -14
- package/docs/_posts/components/Sound/Delay.md +134 -15
- package/docs/_posts/components/Sound/DynamicsCompressor.md +146 -19
- package/docs/_posts/components/Sound/Gain.md +128 -13
- package/docs/_posts/components/Sound/ListenerPointSource.md +121 -12
- package/docs/_posts/components/Sound/MicrophoneSource.md +101 -10
- package/docs/_posts/components/Sound/OscillatorSource.md +107 -12
- package/docs/_posts/components/Sound/PeriodicWave.md +48 -7
- package/docs/_posts/components/Sound/Sound.md +61 -22
- package/docs/_posts/components/Sound/SpatialSound.md +136 -17
- package/docs/_posts/components/Sound/StreamAudioDestination.md +89 -9
- package/docs/_posts/components/Sound/StreamAudioSource.md +101 -10
- package/docs/_posts/components/Sound/WaveShaper.md +138 -15
- package/docs/_posts/components/Text/FontStyle.md +75 -49
- package/docs/_posts/components/Text/Text.md +48 -26
- package/docs/_posts/components/TextureProjector/TextureProjector.md +63 -12
- package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +64 -12
- package/docs/_posts/components/Texturing/ImageTexture.md +28 -20
- package/docs/_posts/components/Texturing/MovieTexture.md +87 -40
- 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 +45 -20
- 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 +28 -16
- 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 +70 -27
- package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +41 -20
- package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +20 -10
- package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +24 -21
- package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +18 -10
- package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +22 -14
- package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +59 -37
- package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +16 -8
- package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +28 -6
- package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +63 -30
- package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +27 -19
- package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +21 -13
- package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +25 -16
- package/docs/_posts/components/VolumeRendering/VolumeData.md +43 -26
- package/docs/_posts/components/X_ITE/BlendMode.md +16 -9
- package/docs/_posts/getting-started.md +1 -0
- package/docs/_posts/laboratory/x3d-file-converter.md +1 -1
- package/docs/_tabs/playground.html +3 -1
- package/docs/assets/css/style.scss +4 -4
- package/package.json +1 -1
- package/src/x_ite/Base/X3DBaseNode.js +1 -1
- package/src/x_ite/Base/X3DInfoArray.js +2 -2
- 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/Annotation/GroupAnnotation.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +3 -3
- package/src/x_ite/Components/DIS/DISEntityManager.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoLocation.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoViewpoint.js +18 -6
- package/src/x_ite/Components/Grouping/Switch.js +1 -1
- package/src/x_ite/Components/HAnim/HAnimMotion.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/NURBS/NurbsPatchSurface.js +1 -1
- package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.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/Viewpoint.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/ConeEmitter.js +9 -9
- package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +7 -7
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1 -1
- package/src/x_ite/Components/ParticleSystems/PointEmitter.js +8 -8
- package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +9 -9
- package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +7 -7
- package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +12 -10
- package/src/x_ite/Components/RigidBodyPhysics/Contact.js +1 -1
- package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +6 -6
- package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +0 -1
- package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +4 -4
- 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/FillProperties.js +1 -1
- package/src/x_ite/Components/Shape/Material.js +1 -1
- package/src/x_ite/Components/Shape/PhysicalMaterial.js +1 -1
- package/src/x_ite/Components/Shape/TwoSidedMaterial.js +1 -1
- package/src/x_ite/Components/Sound/Analyser.js +2 -2
- package/src/x_ite/Components/Sound/AudioDestination.js +2 -2
- package/src/x_ite/Components/Sound/BiquadFilter.js +3 -3
- package/src/x_ite/Components/Sound/BufferAudioSource.js +2 -2
- package/src/x_ite/Components/Sound/ChannelMerger.js +2 -2
- package/src/x_ite/Components/Sound/ChannelSelector.js +2 -2
- package/src/x_ite/Components/Sound/ChannelSplitter.js +2 -2
- package/src/x_ite/Components/Sound/Convolver.js +2 -2
- package/src/x_ite/Components/Sound/Delay.js +2 -2
- package/src/x_ite/Components/Sound/DynamicsCompressor.js +2 -2
- package/src/x_ite/Components/Sound/Gain.js +2 -2
- package/src/x_ite/Components/Sound/PeriodicWave.js +1 -1
- package/src/x_ite/Components/Sound/StreamAudioDestination.js +2 -2
- package/src/x_ite/Components/Sound/WaveShaper.js +3 -3
- package/src/x_ite/Components/TextureProjector/TextureProjector.js +4 -4
- package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +5 -5
- package/src/x_ite/Components/Texturing/PixelTexture.js +1 -1
- package/src/x_ite/Components/Texturing/TextureProperties.js +1 -1
- package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +1 -1
- package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +1 -1
- package/src/x_ite/Components/VolumeRendering/VolumeData.js +1 -1
- package/src/x_ite/Configuration/SupportedComponents.js +2 -2
- 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: PointPickSensor
|
|
3
|
-
date:
|
|
3
|
+
date: 2023-01-07
|
|
4
4
|
nav: components-Picking
|
|
5
5
|
categories: [components, Picking]
|
|
6
6
|
tags: [PointPickSensor, Picking]
|
|
@@ -15,7 +15,7 @@ tags: [PointPickSensor, Picking]
|
|
|
15
15
|
|
|
16
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
17
|
|
|
18
|
-
The PointPickSensor node belongs to the **Picking** component and its default container field is *children.* It is available
|
|
18
|
+
The PointPickSensor node belongs to the **Picking** component and its default container field is *children.* It is available from X3D version 3.2 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -31,35 +31,28 @@ The PointPickSensor node belongs to the **Picking** component and its default co
|
|
|
31
31
|
|
|
32
32
|
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
#### Hint
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
- [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
|
|
39
39
|
|
|
40
|
-
### SFBool [out] **
|
|
40
|
+
### SFBool [in, out] **enabled** TRUE
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Enables/disables node operation.
|
|
43
43
|
|
|
44
|
-
### MFString [in, out] **objectType** "ALL" <small>["ALL","NONE","TERRAIN"
|
|
44
|
+
### MFString [in, out] **objectType** "ALL" <small>["ALL", "NONE", "TERRAIN", ...]</small>
|
|
45
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.
|
|
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. Example: labeling a PickableGroup with the *objectType* value "WATER" and then attempting to intersect a pick sensor with *objectType* value "GROUND" fails since the *objectType* values do not match. Example: the special value "ALL" means that each node is available for picking regardless of the type specified by the pick sensor. Example: the special value "NONE" effectively disables all picking for this node and is the equivalent of setting the pickable field of the corresponding PickableGroup to false.
|
|
47
47
|
|
|
48
48
|
#### Hints
|
|
49
49
|
|
|
50
|
-
- Authors may define any value for objectType
|
|
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>
|
|
50
|
+
- Authors may define any value for *objectType*.
|
|
51
|
+
- MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
|
|
57
52
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
### MFNode [out] **pickedGeometry**
|
|
53
|
+
### SFString [in, out] **matchCriterion** "MATCH_ANY" <small>["MATCH_ANY"|"MATCH_EVERY"|"MATCH_ONLY_ONE"]</small>
|
|
61
54
|
|
|
62
|
-
|
|
55
|
+
Defines whether the intersection test (i.e. pick) by this X3DPickSensorNode must match one or more objectType. Specifically MATCH_ANY means any match of objectType values is acceptable, MATCH_EVERY means that every objectType value in this node shall match an objectType value in the X3DPickableObject, and MATCH_ONLY_ONE means that one and only one objectType value can match.
|
|
63
56
|
|
|
64
57
|
### SFString [ ] **intersectionType** "BOUNDS" <small>["GEOMETRY"|"BOUNDS"|...]</small>
|
|
65
58
|
|
|
@@ -67,7 +60,7 @@ Output event containing the node or nodes that have been found to intersect with
|
|
|
67
60
|
|
|
68
61
|
#### Hint
|
|
69
62
|
|
|
70
|
-
-
|
|
63
|
+
- *intersectionType* constants may be extended by the browser to provide additional options.
|
|
71
64
|
|
|
72
65
|
#### Warning
|
|
73
66
|
|
|
@@ -75,7 +68,7 @@ Output event containing the node or nodes that have been found to intersect with
|
|
|
75
68
|
|
|
76
69
|
### SFString [ ] **sortOrder** "CLOSEST" <small>["CLOSEST"|"ALL"|"ALL_SORTED"]</small>
|
|
77
70
|
|
|
78
|
-
The sortOrder field determines the order provided for picked output events.
|
|
71
|
+
The *sortOrder* field determines the order provided for picked output events. Example: ANY means any single object that can satisfy picking conditions for this pick sensor. Consistency of results is not guaranteed. Example: ALL means that every object that satisfies the picking conditions for this pick sensor shall be returned. Example: ALL_SORTED means that every object that satisfies the picking conditions for this pick sensor shall be returned with the order of the output fields provided in a distance-sorted order from closest to farthest away. The exact algorithm for sorting is defined by the individual node definitions. Example: CLOSEST means that the closest object by distance that satisfies the conditions of this pick sensor. *The exact algorithm for distance determination shall be defined by individual node definitions*.
|
|
79
72
|
|
|
80
73
|
#### Hint
|
|
81
74
|
|
|
@@ -85,17 +78,46 @@ The sortOrder field determines the order provided for picked output events.
|
|
|
85
78
|
|
|
86
79
|
- Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
|
|
87
80
|
|
|
81
|
+
### SFBool [out] **isActive**
|
|
82
|
+
|
|
83
|
+
*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.
|
|
84
|
+
|
|
85
|
+
#### Warning
|
|
86
|
+
|
|
87
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
88
|
+
|
|
88
89
|
### MFVec3f [out] **pickedPoint**
|
|
89
90
|
|
|
90
91
|
Output event containing 3D points on surface of underlying pickingGeometry computed by the picking intersection computations, given in the local coordinate system.
|
|
91
92
|
|
|
92
|
-
|
|
93
|
+
#### Warning
|
|
94
|
+
|
|
95
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
96
|
+
|
|
97
|
+
### SFNode [in, out] **pickingGeometry** NULL <small>[PointSet]</small>
|
|
98
|
+
|
|
99
|
+
*pickingGeometry* specifies the exact geometry coordinates that are used to perform the intersection testing of the picking operation.
|
|
100
|
+
|
|
101
|
+
### MFNode [in, out] **pickTarget** [ ] <small>[X3DGroupingNode|X3DShapeNode|Inline]</small>
|
|
102
|
+
|
|
103
|
+
*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.
|
|
104
|
+
|
|
105
|
+
### MFNode [out] **pickedGeometry**
|
|
106
|
+
|
|
107
|
+
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.
|
|
108
|
+
|
|
109
|
+
#### Warning
|
|
110
|
+
|
|
111
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
112
|
+
|
|
113
|
+
## Advisories
|
|
93
114
|
|
|
94
115
|
### Hints
|
|
95
116
|
|
|
96
117
|
- Because points represent an infinitely small location in space, sortOrder values CLOSEST and ALL_SORTED are defined to mean ANY and ALL respectively.
|
|
97
118
|
- 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
119
|
- Picking notification is performed at the start of the frame for all enabled pick sensors once all other sensors are processed.
|
|
120
|
+
- [Event timing details are explained in X3D Specification 4.4.8.3 Execution model](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#ExecutionModel){:target="_blank"}
|
|
99
121
|
- PointSet can be used for pickingGeometry node.
|
|
100
122
|
|
|
101
123
|
### Warning
|
|
@@ -106,7 +128,6 @@ Output event containing 3D points on surface of underlying pickingGeometry compu
|
|
|
106
128
|
|
|
107
129
|
<x3d-canvas src="https://create3000.github.io/media/examples/Picking/PointPickSensor/PointPickSensor.x3d" update="auto"></x3d-canvas>
|
|
108
130
|
|
|
109
|
-
##
|
|
131
|
+
## See Also
|
|
110
132
|
|
|
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"}
|
|
133
|
+
- [X3D Specification of PointPickSensor node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#PointPickSensor){:target="_blank"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: PrimitivePickSensor
|
|
3
|
-
date:
|
|
3
|
+
date: 2023-01-07
|
|
4
4
|
nav: components-Picking
|
|
5
5
|
categories: [components, Picking]
|
|
6
6
|
tags: [PrimitivePickSensor, Picking]
|
|
@@ -13,9 +13,9 @@ tags: [PrimitivePickSensor, Picking]
|
|
|
13
13
|
|
|
14
14
|
## Overview
|
|
15
15
|
|
|
16
|
-
PrimitivePickSensor tests picking intersections using one of the basic primitive shapes specified in the pickingGeometry field [Cone
|
|
16
|
+
PrimitivePickSensor tests picking intersections using one of the basic primitive shapes specified in the pickingGeometry field [Cone or Cylinder or Sphere or Box] against the pickTarget geometry.
|
|
17
17
|
|
|
18
|
-
The PrimitivePickSensor node belongs to the **Picking** component and its default container field is *children.* It is available
|
|
18
|
+
The PrimitivePickSensor node belongs to the **Picking** component and its default container field is *children.* It is available from X3D version 3.2 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -31,35 +31,28 @@ The PrimitivePickSensor node belongs to the **Picking** component and its defaul
|
|
|
31
31
|
|
|
32
32
|
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
#### Hint
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
- [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
|
|
39
39
|
|
|
40
|
-
### SFBool [out] **
|
|
40
|
+
### SFBool [in, out] **enabled** TRUE
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Enables/disables node operation.
|
|
43
43
|
|
|
44
|
-
### MFString [in, out] **objectType** "ALL" <small>["ALL","NONE","TERRAIN"
|
|
44
|
+
### MFString [in, out] **objectType** "ALL" <small>["ALL", "NONE", "TERRAIN", ...]</small>
|
|
45
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.
|
|
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. Example: labeling a PickableGroup with the *objectType* value "WATER" and then attempting to intersect a pick sensor with *objectType* value "GROUND" fails since the *objectType* values do not match. Example: the special value "ALL" means that each node is available for picking regardless of the type specified by the pick sensor. Example: the special value "NONE" effectively disables all picking for this node and is the equivalent of setting the pickable field of the corresponding PickableGroup to false.
|
|
47
47
|
|
|
48
48
|
#### Hints
|
|
49
49
|
|
|
50
|
-
- Authors may define any value for objectType
|
|
51
|
-
|
|
52
|
-
### SFNode [in, out] **pickingGeometry** NULL <small>[Cone|Cylinder|Sphere|Box]</small>
|
|
53
|
-
|
|
54
|
-
*pickingGeometry* specifies the exact geometry coordinates that are used to perform the intersection testing of the picking operation.
|
|
50
|
+
- Authors may define any value for *objectType*.
|
|
51
|
+
- MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
|
|
55
52
|
|
|
56
|
-
###
|
|
53
|
+
### SFString [in, out] **matchCriterion** "MATCH_ANY" <small>["MATCH_ANY"|"MATCH_EVERY"|"MATCH_ONLY_ONE"]</small>
|
|
57
54
|
|
|
58
|
-
|
|
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.
|
|
55
|
+
Defines whether the intersection test (i.e. pick) by this X3DPickSensorNode must match one or more objectType. Specifically MATCH_ANY means any match of objectType values is acceptable, MATCH_EVERY means that every objectType value in this node shall match an objectType value in the X3DPickableObject, and MATCH_ONLY_ONE means that one and only one objectType value can match.
|
|
63
56
|
|
|
64
57
|
### SFString [ ] **intersectionType** "BOUNDS" <small>["GEOMETRY"|"BOUNDS"|...]</small>
|
|
65
58
|
|
|
@@ -67,7 +60,7 @@ Output event containing the node or nodes that have been found to intersect with
|
|
|
67
60
|
|
|
68
61
|
#### Hint
|
|
69
62
|
|
|
70
|
-
-
|
|
63
|
+
- *intersectionType* constants may be extended by the browser to provide additional options.
|
|
71
64
|
|
|
72
65
|
#### Warning
|
|
73
66
|
|
|
@@ -75,7 +68,7 @@ Output event containing the node or nodes that have been found to intersect with
|
|
|
75
68
|
|
|
76
69
|
### SFString [ ] **sortOrder** "CLOSEST" <small>["ANY"|"CLOSEST"|"ALL"|"ALL_SORTED"]</small>
|
|
77
70
|
|
|
78
|
-
The sortOrder field determines the order provided for picked output events.
|
|
71
|
+
The *sortOrder* field determines the order provided for picked output events. Example: ANY means any single object that can satisfy picking conditions for this pick sensor. Consistency of results is not guaranteed. Example: ALL means that every object that satisfies the picking conditions for this pick sensor shall be returned. Example: ALL_SORTED means that every object that satisfies the picking conditions for this pick sensor shall be returned with the order of the output fields provided in a distance-sorted order from closest to farthest away. The exact algorithm for sorting is defined by the individual node definitions. Example: CLOSEST means that the closest object by distance that satisfies the conditions of this pick sensor. *The exact algorithm for distance determination shall be defined by individual node definitions*.
|
|
79
72
|
|
|
80
73
|
#### Hint
|
|
81
74
|
|
|
@@ -85,30 +78,49 @@ The sortOrder field determines the order provided for picked output events.
|
|
|
85
78
|
|
|
86
79
|
- Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
|
|
87
80
|
|
|
88
|
-
|
|
81
|
+
### SFBool [out] **isActive**
|
|
82
|
+
|
|
83
|
+
*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.
|
|
84
|
+
|
|
85
|
+
#### Warning
|
|
86
|
+
|
|
87
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
88
|
+
|
|
89
|
+
### SFNode [in, out] **pickingGeometry** NULL <small>[Cone|Cylinder|Sphere|Box]</small>
|
|
90
|
+
|
|
91
|
+
*pickingGeometry* specifies the exact geometry coordinates that are used to perform the intersection testing of the picking operation.
|
|
92
|
+
|
|
93
|
+
### MFNode [in, out] **pickTarget** [ ] <small>[X3DGroupingNode|X3DShapeNode|Inline]</small>
|
|
94
|
+
|
|
95
|
+
*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.
|
|
96
|
+
|
|
97
|
+
### MFNode [out] **pickedGeometry**
|
|
98
|
+
|
|
99
|
+
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.
|
|
100
|
+
|
|
101
|
+
#### Warning
|
|
89
102
|
|
|
90
|
-
|
|
103
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
91
104
|
|
|
92
|
-
|
|
105
|
+
## Advisories
|
|
93
106
|
|
|
94
107
|
### Hints
|
|
95
108
|
|
|
96
109
|
- Sorting is defined based on the primitive type as follows. For Cone, the closest picked primitive is defined to be that closest to the vertex point. For Cylinder, Box, and Sphere, the closest picked primitive is defined to be that closest to the center.
|
|
97
110
|
- 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
111
|
- Picking notification is performed at the start of the frame for all enabled pick sensors once all other sensors are processed.
|
|
112
|
+
- [Event timing details are explained in X3D Specification 4.4.8.3 Execution model](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#ExecutionModel){:target="_blank"}
|
|
99
113
|
- Box, Cone, Cylinder or Sphere can be used for pickingGeometry node.
|
|
100
114
|
|
|
101
115
|
### Warnings
|
|
102
116
|
|
|
103
|
-
- Boolean fields used to control visibility of primitive pickingGeometry subsections are ignored when evaluating picking intersections.
|
|
117
|
+
- Boolean fields used to control visibility of primitive pickingGeometry subsections are ignored when evaluating picking intersections. Example: a Cylinder without end caps is still treated as an enclosed Cylinder.
|
|
104
118
|
- Order of contained nodes is significant, single pickingGeometry node must precede pickTarget node array.
|
|
105
119
|
|
|
106
120
|
## Example
|
|
107
121
|
|
|
108
122
|
<x3d-canvas src="https://create3000.github.io/media/examples/Picking/PrimitivePickSensor/PrimitivePickSensor.x3d" update="auto"></x3d-canvas>
|
|
109
123
|
|
|
110
|
-
##
|
|
124
|
+
## See Also
|
|
111
125
|
|
|
112
|
-
- [X3D Specification of PrimitivePickSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#PrimitivePickSensor){:target="_blank"}
|
|
113
|
-
- [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"}
|
|
114
|
-
- A Cylinder without end caps is still treated as an enclosed Cylinder.
|
|
126
|
+
- [X3D Specification of PrimitivePickSensor node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#PrimitivePickSensor){:target="_blank"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: VolumePickSensor
|
|
3
|
-
date:
|
|
3
|
+
date: 2023-01-07
|
|
4
4
|
nav: components-Picking
|
|
5
5
|
categories: [components, Picking]
|
|
6
6
|
tags: [VolumePickSensor, Picking]
|
|
@@ -15,7 +15,7 @@ tags: [VolumePickSensor, Picking]
|
|
|
15
15
|
|
|
16
16
|
VolumePickSensor tests picking intersections using the pickingGeometry against the pickTarget geometry volume.
|
|
17
17
|
|
|
18
|
-
The VolumePickSensor node belongs to the **Picking** component and its default container field is *children.* It is available
|
|
18
|
+
The VolumePickSensor node belongs to the **Picking** component and its default container field is *children.* It is available from X3D version 3.2 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -31,35 +31,28 @@ The VolumePickSensor node belongs to the **Picking** component and its default c
|
|
|
31
31
|
|
|
32
32
|
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
#### Hint
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
- [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
|
|
39
39
|
|
|
40
|
-
### SFBool [out] **
|
|
40
|
+
### SFBool [in, out] **enabled** TRUE
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Enables/disables node operation.
|
|
43
43
|
|
|
44
|
-
### MFString [in, out] **objectType** "ALL" <small>["ALL","NONE","TERRAIN"
|
|
44
|
+
### MFString [in, out] **objectType** "ALL" <small>["ALL", "NONE", "TERRAIN", ...]</small>
|
|
45
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.
|
|
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. Example: labeling a PickableGroup with the *objectType* value "WATER" and then attempting to intersect a pick sensor with *objectType* value "GROUND" fails since the *objectType* values do not match. Example: the special value "ALL" means that each node is available for picking regardless of the type specified by the pick sensor. Example: the special value "NONE" effectively disables all picking for this node and is the equivalent of setting the pickable field of the corresponding PickableGroup to false.
|
|
47
47
|
|
|
48
48
|
#### Hints
|
|
49
49
|
|
|
50
|
-
- Authors may define any value for objectType
|
|
50
|
+
- Authors may define any value for *objectType*.
|
|
51
|
+
- MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
|
|
51
52
|
|
|
52
|
-
###
|
|
53
|
+
### SFString [in, out] **matchCriterion** "MATCH_ANY" <small>["MATCH_ANY"|"MATCH_EVERY"|"MATCH_ONLY_ONE"]</small>
|
|
53
54
|
|
|
54
|
-
|
|
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.
|
|
55
|
+
Defines whether the intersection test (i.e. pick) by this X3DPickSensorNode must match one or more objectType. Specifically MATCH_ANY means any match of objectType values is acceptable, MATCH_EVERY means that every objectType value in this node shall match an objectType value in the X3DPickableObject, and MATCH_ONLY_ONE means that one and only one objectType value can match.
|
|
63
56
|
|
|
64
57
|
### SFString [ ] **intersectionType** "BOUNDS" <small>["GEOMETRY"|"BOUNDS"|...]</small>
|
|
65
58
|
|
|
@@ -67,7 +60,7 @@ Output event containing the node or nodes that have been found to intersect with
|
|
|
67
60
|
|
|
68
61
|
#### Hint
|
|
69
62
|
|
|
70
|
-
-
|
|
63
|
+
- *intersectionType* constants may be extended by the browser to provide additional options.
|
|
71
64
|
|
|
72
65
|
#### Warning
|
|
73
66
|
|
|
@@ -75,7 +68,7 @@ Output event containing the node or nodes that have been found to intersect with
|
|
|
75
68
|
|
|
76
69
|
### SFString [ ] **sortOrder** "CLOSEST" <small>["ANY"|"CLOSEST"|"ALL"|"ALL_SORTED"]</small>
|
|
77
70
|
|
|
78
|
-
The sortOrder field determines the order provided for picked output events.
|
|
71
|
+
The *sortOrder* field determines the order provided for picked output events. Example: ANY means any single object that can satisfy picking conditions for this pick sensor. Consistency of results is not guaranteed. Example: ALL means that every object that satisfies the picking conditions for this pick sensor shall be returned. Example: ALL_SORTED means that every object that satisfies the picking conditions for this pick sensor shall be returned with the order of the output fields provided in a distance-sorted order from closest to farthest away. The exact algorithm for sorting is defined by the individual node definitions. Example: CLOSEST means that the closest object by distance that satisfies the conditions of this pick sensor. *The exact algorithm for distance determination shall be defined by individual node definitions*.
|
|
79
72
|
|
|
80
73
|
#### Hint
|
|
81
74
|
|
|
@@ -85,7 +78,31 @@ The sortOrder field determines the order provided for picked output events.
|
|
|
85
78
|
|
|
86
79
|
- Do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
|
|
87
80
|
|
|
88
|
-
|
|
81
|
+
### SFBool [out] **isActive**
|
|
82
|
+
|
|
83
|
+
*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.
|
|
84
|
+
|
|
85
|
+
#### Warning
|
|
86
|
+
|
|
87
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
88
|
+
|
|
89
|
+
### SFNode [in, out] **pickingGeometry** NULL <small>[X3DGeometryNode]</small>
|
|
90
|
+
|
|
91
|
+
*pickingGeometry* specifies the exact geometry coordinates that are used to perform the intersection testing of the picking operation.
|
|
92
|
+
|
|
93
|
+
### MFNode [in, out] **pickTarget** [ ] <small>[X3DGroupingNode|X3DShapeNode|Inline]</small>
|
|
94
|
+
|
|
95
|
+
*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.
|
|
96
|
+
|
|
97
|
+
### MFNode [out] **pickedGeometry**
|
|
98
|
+
|
|
99
|
+
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.
|
|
100
|
+
|
|
101
|
+
#### Warning
|
|
102
|
+
|
|
103
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
104
|
+
|
|
105
|
+
## Advisories
|
|
89
106
|
|
|
90
107
|
### Hints
|
|
91
108
|
|
|
@@ -94,6 +111,7 @@ The sortOrder field determines the order provided for picked output events.
|
|
|
94
111
|
- Sorting is defined based on distance between the centers of the bounds of the picking geometry and the picked geometry.
|
|
95
112
|
- 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.
|
|
96
113
|
- Picking notification is performed at the start of the frame for all enabled pick sensors once all other sensors are processed.
|
|
114
|
+
- [Event timing details are explained in X3D Specification 4.4.8.3 Execution model](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/concepts.html#ExecutionModel){:target="_blank"}
|
|
97
115
|
- Any geometry can be used for pickingGeometry node.
|
|
98
116
|
|
|
99
117
|
### Warnings
|
|
@@ -101,7 +119,6 @@ The sortOrder field determines the order provided for picked output events.
|
|
|
101
119
|
- PickingGeometry volume is defined by the convex hull of the enclosing planes of the provided X3DGeometryNode. If the provided volume is not manifold, pick results are undefined.
|
|
102
120
|
- Order of contained nodes is significant, single pickingGeometry node must precede pickTarget node array.
|
|
103
121
|
|
|
104
|
-
##
|
|
122
|
+
## See Also
|
|
105
123
|
|
|
106
|
-
- [X3D Specification of VolumePickSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#VolumePickSensor){:target="_blank"}
|
|
107
|
-
- [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"}
|
|
124
|
+
- [X3D Specification of VolumePickSensor node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/picking.html#VolumePickSensor){:target="_blank"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: CylinderSensor
|
|
3
|
-
date:
|
|
3
|
+
date: 2023-01-07
|
|
4
4
|
nav: components-PointingDeviceSensor
|
|
5
5
|
categories: [components, PointingDeviceSensor]
|
|
6
6
|
tags: [CylinderSensor, PointingDeviceSensor]
|
|
@@ -15,7 +15,7 @@ tags: [CylinderSensor, PointingDeviceSensor]
|
|
|
15
15
|
|
|
16
16
|
CylinderSensor converts pointer motion (for example, a mouse or wand) into rotation values using an invisible cylinder aligned with local Y-axis.
|
|
17
17
|
|
|
18
|
-
The CylinderSensor node belongs to the **PointingDeviceSensor** component and its default container field is *children.* It is available
|
|
18
|
+
The CylinderSensor node belongs to the **PointingDeviceSensor** 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,21 +32,26 @@ The CylinderSensor node belongs to the **PointingDeviceSensor** component and it
|
|
|
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
36
|
|
|
37
|
-
|
|
37
|
+
#### Hint
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
- [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
|
|
40
40
|
|
|
41
41
|
### SFString [in, out] **description** ""
|
|
42
42
|
|
|
43
|
-
Author-provided
|
|
43
|
+
Author-provided prose that describes intended purpose of this node.
|
|
44
44
|
|
|
45
45
|
#### Hints
|
|
46
46
|
|
|
47
|
-
-
|
|
47
|
+
- Include space characters since a *description* is not a DEF identifier. Write short phrases that make descriptions clear and readable.
|
|
48
|
+
- Many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as &#38; for & ampersand character, or &#34; for " quotation-mark character).
|
|
48
49
|
|
|
49
|
-
###
|
|
50
|
+
### SFBool [in, out] **enabled** TRUE
|
|
51
|
+
|
|
52
|
+
Enables/disables node operation.
|
|
53
|
+
|
|
54
|
+
### SFRotation [in, out] **axisRotation** 0 0 1 0 <small>[-1,1] or (-∞,∞)</small>
|
|
50
55
|
|
|
51
56
|
*axisRotation* determines local sensor coordinate system by rotating the local coordinate system.
|
|
52
57
|
|
|
@@ -56,23 +61,25 @@ Help decide rotation behavior from initial relative bearing of pointer drag: acu
|
|
|
56
61
|
|
|
57
62
|
#### Hint
|
|
58
63
|
|
|
59
|
-
-
|
|
64
|
+
- *diskAngle* 0 forces disk-like behavior, *diskAngle* 1.570796 (90 degrees) forces cylinder-like behavior.
|
|
60
65
|
|
|
61
66
|
### SFFloat [in, out] **minAngle** 0 <small>[-2π,2π]</small>
|
|
62
67
|
|
|
63
68
|
Clamps rotation_changed events within range of min/max values
|
|
64
69
|
|
|
65
|
-
####
|
|
70
|
+
#### Hints
|
|
66
71
|
|
|
67
|
-
- If minAngle \> maxAngle, rotation is not clamped.
|
|
72
|
+
- If *minAngle* \> maxAngle, rotation is not clamped.
|
|
73
|
+
- [Radian units for angular measure](https://en.wikipedia.org/wiki/Radian){:target="_blank"}
|
|
68
74
|
|
|
69
75
|
### SFFloat [in, out] **maxAngle** -1 <small>[-2π,2π]</small>
|
|
70
76
|
|
|
71
77
|
Clamps rotation_changed events within range of min/max values
|
|
72
78
|
|
|
73
|
-
####
|
|
79
|
+
#### Hints
|
|
74
80
|
|
|
75
|
-
- If minAngle \> maxAngle
|
|
81
|
+
- If minAngle \> *maxAngle*, rotation is not clamped.
|
|
82
|
+
- [Radian units for angular measure](https://en.wikipedia.org/wiki/Radian){:target="_blank"}
|
|
76
83
|
|
|
77
84
|
### SFFloat [in, out] **offset** 0 <small>(-∞,∞)</small>
|
|
78
85
|
|
|
@@ -90,33 +97,51 @@ Determines whether previous offset values are remembered/accumulated.
|
|
|
90
97
|
|
|
91
98
|
*trackPoint_changed* events give intersection point of bearing with sensor's virtual geometry.
|
|
92
99
|
|
|
100
|
+
#### Warnings
|
|
101
|
+
|
|
102
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
103
|
+
- *trackPoint_changed* events represent unclamped intersection points on plane surface. Browsers can interpret drags off of the surface in various ways. Note that translation_changed events are clamped by minPosition/maxPosition and thus may be preferable.
|
|
104
|
+
|
|
93
105
|
### SFRotation [out] **rotation_changed**
|
|
94
106
|
|
|
95
107
|
*rotation_changed* events equal sum of relative bearing changes plus offset value about Y-axis in local coordinate system.
|
|
96
108
|
|
|
109
|
+
#### Warning
|
|
110
|
+
|
|
111
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
112
|
+
|
|
97
113
|
### SFBool [out] **isOver**
|
|
98
114
|
|
|
99
|
-
Hover over geometry by aiming the mouse (or pointing device) to generate isOver events. Sensor sends output event isOver
|
|
115
|
+
Hover over geometry by aiming the mouse (or pointing device) to generate *isOver* events. Sensor sends output event *isOver*=true event when pointing device moves over sensor's geometry, and later sends output event *isOver*=false event when pointing device moves off.
|
|
116
|
+
|
|
117
|
+
#### Warning
|
|
118
|
+
|
|
119
|
+
- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
|
|
100
120
|
|
|
101
121
|
### SFBool [out] **isActive**
|
|
102
122
|
|
|
103
|
-
Select geometry by activating the pointing device (
|
|
123
|
+
Select geometry by activating the pointing device (for example, clicking the mouse) to generate *isActive* events. Output event *isActive*=true is sent when geometry is selected (for example, when primary mouse button is pressed), output event *isActive*=false is sent when geometry is deselected (for example, when primary mouse button is released).
|
|
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.
|
|
104
128
|
|
|
105
|
-
##
|
|
129
|
+
## Advisories
|
|
106
130
|
|
|
107
131
|
### Hints
|
|
108
132
|
|
|
109
133
|
- This sensor detects user interactions affecting peer nodes and their child geometry.
|
|
110
134
|
- Add semi-transparent surrounding geometry to see the effect of the sensor.
|
|
111
135
|
- Initial relative bearing of pointer drag determines whether cylinder sides or end-cap disks are used for manipulation.
|
|
136
|
+
- [X3D Architecture 20.2.1 Overview of pointing device sensors](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/pointingDeviceSensor.html#OverviewOfPointingDeviceSensors){:target="_blank"}
|
|
137
|
+
- [X3D Architecture 20.2.2 Drag sensors](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/pointingDeviceSensor.html#DragSensors){:target="_blank"}
|
|
138
|
+
- [X3D Architecture 20.2.3 Activating and manipulating pointing device sensors](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/pointingDeviceSensor.html#Activatingandmanipulating){:target="_blank"}
|
|
139
|
+
- [Example scenes and authoring assets](https://x3dgraphics.com/examples/X3dForWebAuthors/Chapter08UserInteractivity){:target="_blank"}
|
|
112
140
|
|
|
113
141
|
## Example
|
|
114
142
|
|
|
115
143
|
<x3d-canvas src="https://create3000.github.io/media/examples/PointingDeviceSensor/CylinderSensor/CylinderSensor.x3d" update="auto"></x3d-canvas>
|
|
116
144
|
|
|
117
|
-
##
|
|
145
|
+
## See Also
|
|
118
146
|
|
|
119
|
-
- [X3D Specification of CylinderSensor](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/pointingDeviceSensor.html#CylinderSensor){:target="_blank"}
|
|
120
|
-
- [See X3D Specification 20.2.1 Overview of pointing device sensors](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/pointingDeviceSensor.html#OverviewOfPointingDeviceSensors){:target="_blank"}
|
|
121
|
-
- [See X3D Specification 20.2.2 Drag sensors](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/pointingDeviceSensor.html#DragSensors){:target="_blank"}
|
|
122
|
-
- [See X3D Specification 20.2.3 Activating and manipulating pointing device sensors](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/pointingDeviceSensor.html#Activatingandmanipulating){:target="_blank"}
|
|
147
|
+
- [X3D Specification of CylinderSensor node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/pointingDeviceSensor.html#CylinderSensor){:target="_blank"}
|