x_ite 8.8.7 → 8.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Makefile +6 -0
- package/build/docs/nodes.pl +434 -0
- package/dist/assets/components/Annotation.js +13 -13
- package/dist/assets/components/Annotation.min.js +1 -1
- package/dist/assets/components/CADGeometry.js +13 -13
- package/dist/assets/components/CADGeometry.min.js +1 -1
- package/dist/assets/components/CubeMapTexturing.js +26 -26
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +14 -14
- package/dist/assets/components/DIS.min.js +1 -1
- package/dist/assets/components/EventUtilities.js +9 -9
- package/dist/assets/components/EventUtilities.min.js +1 -1
- package/dist/assets/components/Geometry2D.js +19 -19
- package/dist/assets/components/Geometry2D.min.js +1 -1
- package/dist/assets/components/Geospatial.js +33 -33
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +18 -18
- package/dist/assets/components/HAnim.min.js +1 -1
- package/dist/assets/components/KeyDeviceSensor.js +8 -8
- package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
- package/dist/assets/components/Layout.js +27 -27
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +24 -24
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +24 -24
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +18 -18
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +18 -18
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +37 -37
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +24 -24
- package/dist/assets/components/Text.min.js +1 -1
- package/dist/assets/components/TextureProjector.js +14 -14
- package/dist/assets/components/TextureProjector.min.js +1 -1
- package/dist/assets/components/Texturing3D.js +30 -30
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +18 -18
- package/dist/assets/components/VolumeRendering.min.js +1 -1
- package/dist/assets/components/X_ITE.js +9 -9
- package/dist/assets/components/X_ITE.min.js +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +965 -96
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/_config.yml +2 -2
- package/docs/_posts/components/CADGeometry/CADAssembly.md +45 -19
- package/docs/_posts/components/CADGeometry/CADFace.md +44 -18
- package/docs/_posts/components/CADGeometry/CADLayer.md +48 -19
- package/docs/_posts/components/CADGeometry/CADPart.md +54 -24
- package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +55 -26
- package/docs/_posts/components/CADGeometry/QuadSet.md +52 -20
- package/docs/_posts/components/Core/MetadataBoolean.md +29 -18
- package/docs/_posts/components/Core/MetadataDouble.md +31 -16
- package/docs/_posts/components/Core/MetadataFloat.md +31 -16
- package/docs/_posts/components/Core/MetadataInteger.md +31 -16
- package/docs/_posts/components/Core/MetadataSet.md +30 -15
- package/docs/_posts/components/Core/MetadataString.md +31 -16
- package/docs/_posts/components/Core/WorldInfo.md +21 -10
- package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +30 -25
- package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +19 -10
- package/docs/_posts/components/CubeMapTexturing/ImageCubeMapTexture.md +22 -18
- package/docs/_posts/components/DIS/DISEntityManager.md +40 -15
- package/docs/_posts/components/DIS/DISEntityTypeMapping.md +34 -25
- package/docs/_posts/components/DIS/EspduTransform.md +174 -41
- package/docs/_posts/components/DIS/ReceiverPdu.md +77 -27
- package/docs/_posts/components/DIS/SignalPdu.md +82 -28
- package/docs/_posts/components/DIS/TransmitterPdu.md +86 -36
- package/docs/_posts/components/EnvironmentalEffects/Background.md +80 -39
- package/docs/_posts/components/EnvironmentalEffects/Fog.md +39 -18
- package/docs/_posts/components/EnvironmentalEffects/FogCoordinate.md +10 -6
- package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +21 -14
- package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +83 -31
- package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +36 -8
- package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +31 -7
- package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +23 -7
- package/docs/_posts/components/EventUtilities/BooleanFilter.md +23 -10
- package/docs/_posts/components/EventUtilities/BooleanSequencer.md +46 -17
- package/docs/_posts/components/EventUtilities/BooleanToggle.md +29 -8
- package/docs/_posts/components/EventUtilities/BooleanTrigger.md +24 -7
- package/docs/_posts/components/EventUtilities/IntegerSequencer.md +46 -17
- package/docs/_posts/components/EventUtilities/IntegerTrigger.md +34 -9
- package/docs/_posts/components/EventUtilities/TimeTrigger.md +30 -9
- package/docs/_posts/components/Followers/ColorChaser.md +35 -11
- package/docs/_posts/components/Followers/ColorDamper.md +32 -12
- package/docs/_posts/components/Followers/CoordinateChaser.md +33 -9
- package/docs/_posts/components/Followers/CoordinateDamper.md +30 -10
- package/docs/_posts/components/Followers/OrientationChaser.md +34 -10
- package/docs/_posts/components/Followers/OrientationDamper.md +31 -11
- package/docs/_posts/components/Followers/PositionChaser.md +33 -9
- package/docs/_posts/components/Followers/PositionChaser2D.md +33 -9
- package/docs/_posts/components/Followers/PositionDamper.md +30 -10
- package/docs/_posts/components/Followers/PositionDamper2D.md +30 -10
- package/docs/_posts/components/Followers/ScalarChaser.md +33 -9
- package/docs/_posts/components/Followers/ScalarDamper.md +30 -10
- package/docs/_posts/components/Followers/TexCoordChaser2D.md +33 -9
- package/docs/_posts/components/Followers/TexCoordDamper2D.md +30 -10
- package/docs/_posts/components/Geometry2D/Arc2D.md +39 -14
- package/docs/_posts/components/Geometry2D/ArcClose2D.md +43 -19
- package/docs/_posts/components/Geometry2D/Circle2D.md +21 -10
- package/docs/_posts/components/Geometry2D/Disk2D.md +32 -14
- package/docs/_posts/components/Geometry2D/Polyline2D.md +24 -9
- package/docs/_posts/components/Geometry2D/Polypoint2D.md +16 -8
- package/docs/_posts/components/Geometry2D/Rectangle2D.md +23 -12
- package/docs/_posts/components/Geometry2D/TriangleSet2D.md +23 -12
- package/docs/_posts/components/Geometry3D/Box.md +26 -13
- package/docs/_posts/components/Geometry3D/Cone.md +30 -22
- package/docs/_posts/components/Geometry3D/Cylinder.md +30 -26
- package/docs/_posts/components/Geometry3D/ElevationGrid.md +73 -29
- package/docs/_posts/components/Geometry3D/Extrusion.md +100 -48
- package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +92 -38
- package/docs/_posts/components/Geometry3D/Sphere.md +25 -13
- package/docs/_posts/components/Geospatial/GeoCoordinate.md +30 -14
- package/docs/_posts/components/Geospatial/GeoElevationGrid.md +82 -37
- package/docs/_posts/components/Geospatial/GeoLOD.md +66 -27
- package/docs/_posts/components/Geospatial/GeoLocation.md +64 -26
- package/docs/_posts/components/Geospatial/GeoMetadata.md +28 -22
- package/docs/_posts/components/Geospatial/GeoOrigin.md +34 -19
- package/docs/_posts/components/Geospatial/GeoPositionInterpolator.md +64 -18
- package/docs/_posts/components/Geospatial/GeoProximitySensor.md +67 -18
- package/docs/_posts/components/Geospatial/GeoTouchSensor.md +63 -18
- package/docs/_posts/components/Geospatial/GeoTransform.md +72 -28
- package/docs/_posts/components/Geospatial/GeoViewpoint.md +79 -40
- package/docs/_posts/components/Grouping/Group.md +32 -16
- package/docs/_posts/components/Grouping/StaticGroup.md +37 -16
- package/docs/_posts/components/Grouping/Switch.md +39 -20
- package/docs/_posts/components/Grouping/Transform.md +45 -28
- package/docs/_posts/components/HAnim/HAnimDisplacer.md +38 -27
- package/docs/_posts/components/HAnim/HAnimHumanoid.md +197 -38
- package/docs/_posts/components/HAnim/HAnimJoint.md +104 -38
- package/docs/_posts/components/HAnim/HAnimMotion.md +117 -7
- package/docs/_posts/components/HAnim/HAnimSegment.md +72 -32
- package/docs/_posts/components/HAnim/HAnimSite.md +75 -32
- package/docs/_posts/components/Interpolation/ColorInterpolator.md +41 -11
- package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +39 -13
- package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +43 -14
- package/docs/_posts/components/Interpolation/EaseInEaseOut.md +36 -12
- package/docs/_posts/components/Interpolation/NormalInterpolator.md +40 -10
- package/docs/_posts/components/Interpolation/OrientationInterpolator.md +40 -10
- package/docs/_posts/components/Interpolation/PositionInterpolator.md +40 -10
- package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +43 -14
- package/docs/_posts/components/Interpolation/ScalarInterpolator.md +39 -13
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator.md +41 -16
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator2D.md +41 -16
- package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +40 -24
- package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +35 -11
- package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +51 -9
- package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +31 -9
- package/docs/_posts/components/Layering/Layer.md +27 -14
- package/docs/_posts/components/Layering/LayerSet.md +19 -13
- package/docs/_posts/components/Layering/Viewport.md +31 -15
- package/docs/_posts/components/Layout/Layout.md +27 -16
- package/docs/_posts/components/Layout/LayoutGroup.md +34 -18
- package/docs/_posts/components/Layout/LayoutLayer.md +28 -15
- package/docs/_posts/components/Layout/ScreenFontStyle.md +72 -45
- package/docs/_posts/components/Layout/ScreenGroup.md +32 -16
- package/docs/_posts/components/Lighting/DirectionalLight.md +19 -11
- package/docs/_posts/components/Lighting/EnvironmentLight.md +2 -6
- package/docs/_posts/components/Lighting/PointLight.md +23 -11
- package/docs/_posts/components/Lighting/SpotLight.md +32 -19
- package/docs/_posts/components/NURBS/Contour2D.md +17 -9
- package/docs/_posts/components/NURBS/ContourPolyline2D.md +10 -6
- package/docs/_posts/components/NURBS/CoordinateDouble.md +13 -9
- package/docs/_posts/components/NURBS/NurbsCurve.md +15 -11
- package/docs/_posts/components/NURBS/NurbsCurve2D.md +14 -10
- package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +28 -12
- package/docs/_posts/components/NURBS/NurbsPatchSurface.md +19 -13
- package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +27 -11
- package/docs/_posts/components/NURBS/NurbsSet.md +48 -14
- package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +31 -11
- package/docs/_posts/components/NURBS/NurbsSweptSurface.md +31 -14
- package/docs/_posts/components/NURBS/NurbsSwungSurface.md +25 -14
- package/docs/_posts/components/NURBS/NurbsTextureCoordinate.md +11 -7
- package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +26 -16
- package/docs/_posts/components/Navigation/Billboard.md +33 -17
- package/docs/_posts/components/Navigation/Collision.md +59 -22
- package/docs/_posts/components/Navigation/LOD.md +53 -23
- package/docs/_posts/components/Navigation/NavigationInfo.md +68 -25
- package/docs/_posts/components/Navigation/OrthoViewpoint.md +80 -37
- package/docs/_posts/components/Navigation/Viewpoint.md +86 -39
- package/docs/_posts/components/Navigation/ViewpointGroup.md +28 -17
- package/docs/_posts/components/Networking/Anchor.md +54 -56
- package/docs/_posts/components/Networking/Inline.md +42 -29
- package/docs/_posts/components/Networking/LoadSensor.md +41 -9
- package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +16 -8
- package/docs/_posts/components/ParticleSystems/ConeEmitter.md +25 -10
- package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +18 -11
- package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +15 -8
- package/docs/_posts/components/ParticleSystems/ParticleSystem.md +92 -46
- package/docs/_posts/components/ParticleSystems/PointEmitter.md +19 -12
- package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +23 -15
- package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +21 -14
- package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +25 -18
- package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +11 -7
- package/docs/_posts/components/Picking/LinePickSensor.md +37 -15
- package/docs/_posts/components/Picking/PickableGroup.md +40 -22
- package/docs/_posts/components/Picking/PointPickSensor.md +29 -12
- package/docs/_posts/components/Picking/PrimitivePickSensor.md +25 -17
- package/docs/_posts/components/Picking/VolumePickSensor.md +25 -12
- package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +43 -18
- package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +40 -17
- package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +35 -13
- package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +48 -14
- package/docs/_posts/components/Rendering/ClipPlane.md +20 -15
- package/docs/_posts/components/Rendering/Color.md +14 -14
- package/docs/_posts/components/Rendering/ColorRGBA.md +13 -9
- package/docs/_posts/components/Rendering/Coordinate.md +11 -7
- package/docs/_posts/components/Rendering/IndexedLineSet.md +58 -24
- package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +44 -23
- package/docs/_posts/components/Rendering/IndexedTriangleSet.md +45 -24
- package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +45 -20
- package/docs/_posts/components/Rendering/LineSet.md +26 -14
- package/docs/_posts/components/Rendering/Normal.md +28 -6
- package/docs/_posts/components/Rendering/PointSet.md +24 -11
- package/docs/_posts/components/Rendering/TriangleFanSet.md +44 -19
- package/docs/_posts/components/Rendering/TriangleSet.md +44 -19
- package/docs/_posts/components/Rendering/TriangleStripSet.md +45 -20
- package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +22 -10
- package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +37 -14
- package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +34 -16
- package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +17 -12
- package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +21 -12
- package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +31 -12
- package/docs/_posts/components/RigidBodyPhysics/Contact.md +19 -15
- package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +33 -27
- package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +63 -11
- package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +22 -12
- package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +30 -14
- package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +26 -14
- package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +24 -12
- package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +23 -15
- package/docs/_posts/components/Scripting/Script.md +43 -27
- package/docs/_posts/components/Shaders/ComposedShader.md +30 -17
- package/docs/_posts/components/Shaders/FloatVertexAttribute.md +18 -9
- package/docs/_posts/components/Shaders/Matrix3VertexAttribute.md +17 -8
- package/docs/_posts/components/Shaders/Matrix4VertexAttribute.md +17 -8
- package/docs/_posts/components/Shaders/PackagedShader.md +36 -30
- package/docs/_posts/components/Shaders/ProgramShader.md +35 -15
- package/docs/_posts/components/Shaders/ShaderPart.md +27 -18
- package/docs/_posts/components/Shaders/ShaderProgram.md +28 -17
- package/docs/_posts/components/Shape/AcousticProperties.md +34 -6
- package/docs/_posts/components/Shape/Appearance.md +29 -22
- package/docs/_posts/components/Shape/FillProperties.md +19 -12
- package/docs/_posts/components/Shape/LineProperties.md +18 -10
- package/docs/_posts/components/Shape/Material.md +64 -38
- package/docs/_posts/components/Shape/PhysicalMaterial.md +49 -25
- package/docs/_posts/components/Shape/PointProperties.md +21 -14
- package/docs/_posts/components/Shape/Shape.md +35 -17
- package/docs/_posts/components/Shape/TwoSidedMaterial.md +35 -36
- package/docs/_posts/components/Shape/UnlitMaterial.md +29 -17
- package/docs/_posts/components/Sound/Analyser.md +133 -4
- package/docs/_posts/components/Sound/AudioClip.md +64 -30
- package/docs/_posts/components/Sound/AudioDestination.md +76 -4
- package/docs/_posts/components/Sound/BiquadFilter.md +143 -4
- package/docs/_posts/components/Sound/BufferAudioSource.md +165 -13
- package/docs/_posts/components/Sound/ChannelMerger.md +62 -4
- package/docs/_posts/components/Sound/ChannelSelector.md +64 -4
- package/docs/_posts/components/Sound/ChannelSplitter.md +68 -4
- package/docs/_posts/components/Sound/Convolver.md +124 -4
- package/docs/_posts/components/Sound/Delay.md +119 -4
- package/docs/_posts/components/Sound/DynamicsCompressor.md +127 -4
- package/docs/_posts/components/Sound/Gain.md +115 -4
- package/docs/_posts/components/Sound/ListenerPointSource.md +109 -4
- package/docs/_posts/components/Sound/MicrophoneSource.md +91 -4
- package/docs/_posts/components/Sound/OscillatorSource.md +95 -4
- package/docs/_posts/components/Sound/PeriodicWave.md +43 -5
- package/docs/_posts/components/Sound/Sound.md +53 -20
- package/docs/_posts/components/Sound/SpatialSound.md +120 -4
- package/docs/_posts/components/Sound/StreamAudioDestination.md +80 -4
- package/docs/_posts/components/Sound/StreamAudioSource.md +91 -4
- package/docs/_posts/components/Sound/WaveShaper.md +123 -4
- package/docs/_posts/components/Text/FontStyle.md +73 -47
- package/docs/_posts/components/Text/Text.md +48 -26
- package/docs/_posts/components/TextureProjector/TextureProjector.md +55 -6
- package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +56 -6
- package/docs/_posts/components/Texturing/ImageTexture.md +28 -20
- package/docs/_posts/components/Texturing/MovieTexture.md +69 -38
- package/docs/_posts/components/Texturing/MultiTexture.md +47 -19
- package/docs/_posts/components/Texturing/MultiTextureCoordinate.md +27 -10
- package/docs/_posts/components/Texturing/MultiTextureTransform.md +32 -10
- package/docs/_posts/components/Texturing/PixelTexture.md +34 -14
- package/docs/_posts/components/Texturing/TextureCoordinate.md +20 -10
- package/docs/_posts/components/Texturing/TextureCoordinateGenerator.md +22 -12
- package/docs/_posts/components/Texturing/TextureProperties.md +44 -19
- package/docs/_posts/components/Texturing/TextureTransform.md +17 -8
- package/docs/_posts/components/Texturing3D/ComposedTexture3D.md +21 -13
- package/docs/_posts/components/Texturing3D/ImageTexture3D.md +32 -23
- package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +22 -16
- package/docs/_posts/components/Texturing3D/PixelTexture3D.md +25 -13
- package/docs/_posts/components/Texturing3D/TextureCoordinate3D.md +22 -10
- package/docs/_posts/components/Texturing3D/TextureCoordinate4D.md +21 -9
- package/docs/_posts/components/Texturing3D/TextureTransform3D.md +17 -8
- package/docs/_posts/components/Texturing3D/TextureTransformMatrix3D.md +20 -10
- package/docs/_posts/components/Time/TimeSensor.md +66 -23
- package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +36 -15
- package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +15 -5
- package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +20 -17
- package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +15 -7
- package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +16 -8
- package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +43 -21
- package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +16 -8
- package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +17 -7
- package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +50 -17
- package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +18 -10
- package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +16 -8
- package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +20 -11
- package/docs/_posts/components/VolumeRendering/VolumeData.md +32 -15
- package/docs/_posts/components/X_ITE/BlendMode.md +9 -2
- package/docs/_posts/getting-started.md +1 -0
- package/docs/_posts/laboratory/x3d-file-converter.md +1 -1
- package/package.json +1 -1
- package/src/x_ite/Browser/Core/X3DCoreContext.js +10 -3
- package/src/x_ite/Browser/DOMIntegration.js +13 -8
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +1 -1
- package/src/x_ite/Components/DIS/DISEntityManager.js +1 -1
- package/src/x_ite/Components/Grouping/Switch.js +1 -1
- package/src/x_ite/Components/Layering/X3DLayerNode.js +1 -1
- package/src/x_ite/Components/Lighting/DirectionalLight.js +1 -1
- package/src/x_ite/Components/Navigation/Collision.js +1 -1
- package/src/x_ite/Components/Navigation/LOD.js +1 -1
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +1 -1
- package/src/x_ite/Components/Networking/LoadSensor.js +1 -1
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +1 -1
- package/src/x_ite/Components/Shape/AcousticProperties.js +1 -1
- package/src/x_ite/Components/Shape/Appearance.js +1 -1
- package/src/x_ite/Components/Shape/Material.js +1 -1
- package/src/x_ite/Components/Shape/TwoSidedMaterial.js +1 -1
- package/src/x_ite/Components/Sound/PeriodicWave.js +1 -1
- package/src/x_ite/Components/Texturing/TextureProperties.js +1 -1
- package/src/x_ite/Fields/ArrayFields.js +2 -2
- package/src/x_ite/Fields/SFColor.js +1 -1
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +1 -1
- package/src/x_ite/Fields/SFRotation.js +3 -3
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +1 -1
- package/src/x_ite/Parser/GoldenGate.js +16 -5
- package/src/x_ite/Parser/PLYAParser.js +615 -0
- package/src/x_ite/Parser/PLYBParser.js +222 -0
- package/src/x_ite/Parser/STLAParser.js +0 -1
- /package/build/{bin → docs}/components.js +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Extrusion
|
|
3
|
-
date:
|
|
3
|
+
date: 2023-01-07
|
|
4
4
|
nav: components-Geometry3D
|
|
5
5
|
categories: [components, Geometry3D]
|
|
6
6
|
tags: [Extrusion, Geometry3D]
|
|
@@ -13,9 +13,9 @@ tags: [Extrusion, Geometry3D]
|
|
|
13
13
|
|
|
14
14
|
## Overview
|
|
15
15
|
|
|
16
|
-
Extrusion is a geometry node
|
|
16
|
+
Extrusion is a geometry node that sequentially stretches a 2D cross section along a 3D-spine path in the local coordinate system, creating an outer hull. Scaling and rotating the crossSection 2D outline at each control point can modify the outer hull of the Extrusion to produce a wide variety of interesting shapes.
|
|
17
17
|
|
|
18
|
-
The Extrusion node belongs to the **Geometry3D** component and its default container field is *geometry.* It is available
|
|
18
|
+
The Extrusion node belongs to the **Geometry3D** component and its default container field is *geometry.* It is available from X3D version 2.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -29,43 +29,60 @@ The Extrusion node belongs to the **Geometry3D** component and its default conta
|
|
|
29
29
|
|
|
30
30
|
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
|
|
33
|
+
|
|
34
|
+
#### Hint
|
|
35
|
+
|
|
36
|
+
- [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
|
|
33
37
|
|
|
34
38
|
### MFVec2f [in] **set_crossSection** <small>(-∞,∞)</small>
|
|
35
39
|
|
|
36
|
-
|
|
40
|
+
The *crossSection* array defines a silhouette outline of the outer Extrusion surface. *crossSection* is an ordered set of 2D points that draw a piecewise-linear curve which is extruded to form a series of connected vertices.
|
|
37
41
|
|
|
38
|
-
####
|
|
42
|
+
#### Warnings
|
|
39
43
|
|
|
40
|
-
-
|
|
44
|
+
- If the order of *crossSection* point definition does not match clockwise/counterclockwise setting of ccw field, then self-intersecting, impossible or inverted geometry can result!
|
|
45
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
41
46
|
|
|
42
47
|
### MFRotation [in] **set_orientation** <small>[-1,1] or (-∞,∞)</small>
|
|
43
48
|
|
|
44
|
-
|
|
49
|
+
The *orientation* array is a list of axis-angle 4-tuple values applied at each spine-aligned cross-section plane.
|
|
45
50
|
|
|
46
|
-
####
|
|
51
|
+
#### Hints
|
|
52
|
+
|
|
53
|
+
- If the *orientation* array contains a single 4-tuple value, it is applied at all spine-aligned crossSection planes.
|
|
54
|
+
- Number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple *orientation* values.
|
|
55
|
+
|
|
56
|
+
#### Warning
|
|
47
57
|
|
|
48
|
-
-
|
|
58
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
49
59
|
|
|
50
60
|
### MFVec2f [in] **set_scale** <small>(0,∞)</small>
|
|
51
61
|
|
|
52
|
-
|
|
62
|
+
*scale* is a list of 2D-*scale* parameters applied at each spine-aligned cross-section plane.
|
|
53
63
|
|
|
54
64
|
#### Hint
|
|
55
65
|
|
|
56
|
-
- Number of spine points, scale values and orientation values
|
|
66
|
+
- Number of values must all match for 3-tuple spine points, 2-tuple *scale* values, and 4-tuple orientation values.
|
|
57
67
|
|
|
58
|
-
####
|
|
68
|
+
#### Warnings
|
|
59
69
|
|
|
60
|
-
- Zero or negative scale values not allowed.
|
|
70
|
+
- Zero or negative *scale* values not allowed.
|
|
71
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
61
72
|
|
|
62
73
|
### MFVec3f [in] **set_spine** <small>(-∞,∞)</small>
|
|
63
74
|
|
|
64
|
-
|
|
75
|
+
The *spine* array defines a center-line sequence of 3D points that define a piecewise-linear curve forming a series of connected vertices. The *spine* is set of points along which a 2D crossSection is extruded, scaled and oriented.
|
|
65
76
|
|
|
66
|
-
####
|
|
77
|
+
#### Hints
|
|
78
|
+
|
|
79
|
+
- The *spine* array can be open or closed (closed means that endpoints are coincident).
|
|
80
|
+
- Number of values must all match for 3-tuple *spine* points, 2-tuple scale values, and 4-tuple orientation values.
|
|
81
|
+
|
|
82
|
+
#### Warnings
|
|
67
83
|
|
|
68
|
-
-
|
|
84
|
+
- Special care is needed if creating loops or spirals since self-intersecting, impossible or inverted geometry can result!
|
|
85
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
69
86
|
|
|
70
87
|
### SFBool [ ] **beginCap** TRUE
|
|
71
88
|
|
|
@@ -73,23 +90,25 @@ Whether beginning cap is drawn (similar to Cylinder top cap).
|
|
|
73
90
|
|
|
74
91
|
#### Warning
|
|
75
92
|
|
|
76
|
-
-
|
|
93
|
+
- Since this field has accessType initializeOnly, the value cannot be changed after initial creation.
|
|
77
94
|
|
|
78
95
|
### SFBool [ ] **endCap** TRUE
|
|
79
96
|
|
|
80
|
-
Whether end cap is drawn (similar to Cylinder
|
|
97
|
+
Whether end cap is drawn (similar to Cylinder bottom cap).
|
|
81
98
|
|
|
82
99
|
#### Warning
|
|
83
100
|
|
|
84
|
-
-
|
|
101
|
+
- Since this field has accessType initializeOnly, the value cannot be changed after initial creation.
|
|
85
102
|
|
|
86
103
|
### SFBool [ ] **solid** TRUE
|
|
87
104
|
|
|
88
|
-
Setting solid true means draw only one side of polygons (backface culling on), setting solid false means draw both sides of polygons (backface culling off).
|
|
105
|
+
Setting *solid* true means draw only one side of polygons (backface culling on), setting *solid* false means draw both sides of polygons (backface culling off).
|
|
89
106
|
|
|
90
|
-
####
|
|
107
|
+
#### Hints
|
|
91
108
|
|
|
92
|
-
-
|
|
109
|
+
- Mnemonic "this geometry is *solid* like a brick" (you don't render the inside of a brick).
|
|
110
|
+
- If in doubt, use *solid*='false' for maximum visibility.
|
|
111
|
+
- (X3D version 4.0 draft) accessType relaxed to inputOutput in order to support animation and visualization.
|
|
93
112
|
|
|
94
113
|
#### Warning
|
|
95
114
|
|
|
@@ -97,74 +116,107 @@ Setting solid true means draw only one side of polygons (backface culling on), s
|
|
|
97
116
|
|
|
98
117
|
### SFBool [ ] **ccw** TRUE
|
|
99
118
|
|
|
100
|
-
*ccw*
|
|
119
|
+
The *ccw* field indicates counterclockwise ordering of vertex-coordinates orientation.
|
|
101
120
|
|
|
102
|
-
####
|
|
121
|
+
#### Hints
|
|
122
|
+
|
|
123
|
+
- A good debugging technique for problematic polygons is to try changing the value of *ccw*, which can reverse solid effects (single-sided backface culling) and normal-vector direction.
|
|
124
|
+
- [Clockwise](https://en.wikipedia.org/wiki/Clockwise){:target="_blank"}
|
|
103
125
|
|
|
104
|
-
|
|
126
|
+
#### Warning
|
|
127
|
+
|
|
128
|
+
- Consistent and correct ordering of left-handed or right-handed point sequences is important throughout the coord array of point values.
|
|
105
129
|
|
|
106
130
|
### SFBool [ ] **convex** TRUE
|
|
107
131
|
|
|
108
|
-
|
|
132
|
+
The *convex* field is a hint to renderers whether all polygons in a shape are *convex* (true), or possibly concave (false). A *convex* polygon is planar, does not intersect itself, and has all interior angles \< 180 degrees.
|
|
133
|
+
|
|
134
|
+
#### Hints
|
|
135
|
+
|
|
136
|
+
- Concave is the opposite of *convex*.
|
|
137
|
+
- Select *convex*=false (i.e. concave) and solid=false (i.e. two-sided display) for greatest visibility of geometry.
|
|
138
|
+
- [*convex* polygon](https://en.wikipedia.org/wiki/Convex_polygon){:target="_blank"}
|
|
139
|
+
- [Tessellation](https://en.wikipedia.org/wiki/Tessellation){:target="_blank"}
|
|
109
140
|
|
|
110
141
|
#### Warning
|
|
111
142
|
|
|
112
|
-
- Concave geometry may be invisible default convex
|
|
143
|
+
- Concave or inverted geometry may be invisible when using default value *convex*=true, since some renderers use more-efficient algorithms to perform tessellation that may inadvertently fail on concave geometry.
|
|
113
144
|
|
|
114
145
|
### SFFloat [ ] **creaseAngle** 0 <small>[0,∞)</small>
|
|
115
146
|
|
|
116
|
-
*creaseAngle* defines angle (in radians) where adjacent polygons are drawn with sharp edges or smooth shading. If angle between normals of two adjacent polygons is less than creaseAngle
|
|
147
|
+
*creaseAngle* defines angle (in radians) where adjacent polygons are drawn with sharp edges or smooth shading. If angle between normals of two adjacent polygons is less than *creaseAngle*, smooth shading is rendered across the shared line segment.
|
|
117
148
|
|
|
118
|
-
####
|
|
149
|
+
#### Hints
|
|
119
150
|
|
|
120
|
-
-
|
|
151
|
+
- *creaseAngle*=0 means render all edges sharply, *creaseAngle*=3.14159 means render all edges smoothly.
|
|
152
|
+
- [Radian units for angular measure](https://en.wikipedia.org/wiki/Radian){:target="_blank"}
|
|
121
153
|
|
|
122
154
|
### MFVec2f [ ] **crossSection** [ 1 1, 1 -1, -1 -1, -1 1, 1 1 ] <small>(-∞,∞)</small>
|
|
123
155
|
|
|
124
|
-
|
|
156
|
+
The *crossSection* array defines a silhouette outline of the outer Extrusion surface. *crossSection* is an ordered set of 2D points that draw a piecewise-linear curve which is extruded to form a series of connected vertices.
|
|
125
157
|
|
|
126
|
-
####
|
|
158
|
+
#### Hints
|
|
159
|
+
|
|
160
|
+
- The *crossSection* array can be open or closed (closed means that endpoints are coincident).
|
|
161
|
+
- Number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple orientation values.
|
|
162
|
+
|
|
163
|
+
#### Warnings
|
|
127
164
|
|
|
128
|
-
-
|
|
165
|
+
- If the order of *crossSection* point definition does not match clockwise/counterclockwise setting of ccw field, then self-intersecting, impossible or inverted geometry can result!
|
|
166
|
+
- Avoid self-intersecting polygon line segments, otherwise defined geometry is irregular and rendering results are undefined (especially for end caps).
|
|
129
167
|
|
|
130
168
|
### MFRotation [ ] **orientation** 0 0 1 0 <small>[-1,1] or (-∞,∞)</small>
|
|
131
169
|
|
|
132
|
-
*orientation* is a list of axis-angle
|
|
170
|
+
The *orientation* array is a list of axis-angle 4-tuple values applied at each spine-aligned cross-section plane.
|
|
133
171
|
|
|
134
|
-
####
|
|
172
|
+
#### Hints
|
|
135
173
|
|
|
136
|
-
-
|
|
174
|
+
- If the *orientation* array contains a single 4-tuple value, it is applied at all spine-aligned crossSection planes.
|
|
175
|
+
- Number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple *orientation* values.
|
|
137
176
|
|
|
138
177
|
### MFVec2f [ ] **scale** 1 1 <small>(0,∞)</small>
|
|
139
178
|
|
|
140
|
-
*scale* is a list of 2D
|
|
179
|
+
*scale* is a list of 2D-*scale* parameters applied at each spine-aligned cross-section plane.
|
|
141
180
|
|
|
142
|
-
####
|
|
181
|
+
#### Hints
|
|
143
182
|
|
|
144
|
-
- Number of spine points, scale values and orientation values
|
|
183
|
+
- Number of values must all match for 3-tuple spine points, 2-tuple *scale* values, and 4-tuple orientation values.
|
|
184
|
+
- If the *scale* array contains one value, it is applied at all spine-aligned crossSection planes.
|
|
145
185
|
|
|
146
186
|
#### Warning
|
|
147
187
|
|
|
148
|
-
- Zero or negative scale values not allowed.
|
|
188
|
+
- Zero or negative *scale* values not allowed.
|
|
149
189
|
|
|
150
190
|
### MFVec3f [ ] **spine** [ 0 0 0, 0 1 0 ] <small>(-∞,∞)</small>
|
|
151
191
|
|
|
152
|
-
*spine*
|
|
192
|
+
The *spine* array defines a center-line sequence of 3D points that define a piecewise-linear curve forming a series of connected vertices. The *spine* is set of points along which a 2D crossSection is extruded, scaled and oriented.
|
|
153
193
|
|
|
154
|
-
####
|
|
194
|
+
#### Hints
|
|
195
|
+
|
|
196
|
+
- The *spine* array can be open or closed (closed means that endpoints are coincident).
|
|
197
|
+
- Number of values must all match for 3-tuple *spine* points, 2-tuple scale values, and 4-tuple orientation values.
|
|
198
|
+
- If a *spine* is closed (or nearly closed) then the inner diameter usually needs to be greater than the corresponding crossSection width.
|
|
155
199
|
|
|
156
|
-
|
|
200
|
+
#### Warnings
|
|
157
201
|
|
|
158
|
-
|
|
202
|
+
- Special care is needed if creating loops or spirals since self-intersecting, impossible or inverted geometry can result!
|
|
203
|
+
- Ensure that *spine* segments have non-zero length and are not coincident with each other.
|
|
159
204
|
|
|
160
|
-
|
|
205
|
+
## Advisories
|
|
161
206
|
|
|
207
|
+
### Hints
|
|
208
|
+
|
|
209
|
+
- [Extrusion](https://en.wikipedia.org/wiki/Extrusion){:target="_blank"}
|
|
162
210
|
- Insert a Shape node before adding geometry or Appearance.
|
|
163
211
|
|
|
212
|
+
### Warning
|
|
213
|
+
|
|
214
|
+
- Take care to avoid defining parameter combinations that create self-intersecting, impossible or inverted geometry.
|
|
215
|
+
|
|
164
216
|
## Example
|
|
165
217
|
|
|
166
218
|
<x3d-canvas src="https://create3000.github.io/media/examples/Geometry3D/Extrusion/Extrusion.x3d" update="auto"></x3d-canvas>
|
|
167
219
|
|
|
168
|
-
##
|
|
220
|
+
## See Also
|
|
169
221
|
|
|
170
|
-
- [X3D Specification of Extrusion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"}
|
|
222
|
+
- [X3D Specification of Extrusion node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: IndexedFaceSet
|
|
3
|
-
date:
|
|
3
|
+
date: 2023-01-07
|
|
4
4
|
nav: components-Geometry3D
|
|
5
5
|
categories: [components, Geometry3D]
|
|
6
6
|
tags: [IndexedFaceSet, Geometry3D]
|
|
@@ -13,9 +13,9 @@ tags: [IndexedFaceSet, Geometry3D]
|
|
|
13
13
|
|
|
14
14
|
## Overview
|
|
15
15
|
|
|
16
|
-
IndexedFaceSet is a geometry node
|
|
16
|
+
IndexedFaceSet defines polygons using index lists corresponding to vertex coordinates. IndexedFaceSet is a geometry node containing a Coordinate or CoordinateDouble node, and can also contain Color or ColorRGBA, Normal and TextureCoordinate nodes.
|
|
17
17
|
|
|
18
|
-
The IndexedFaceSet node belongs to the **Geometry3D** component and its default container field is *geometry.* It is available
|
|
18
|
+
The IndexedFaceSet node belongs to the **Geometry3D** component and its default container field is *geometry.* It is available from X3D version 2.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -30,17 +30,25 @@ The IndexedFaceSet node belongs to the **Geometry3D** component and its default
|
|
|
30
30
|
|
|
31
31
|
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
|
|
34
|
+
|
|
35
|
+
#### Hint
|
|
36
|
+
|
|
37
|
+
- [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
|
|
34
38
|
|
|
35
39
|
### MFInt32 [in] **set_colorIndex** <small>[0,∞) or -1</small>
|
|
36
40
|
|
|
37
|
-
*colorIndex* values define the order in which Color
|
|
41
|
+
*colorIndex* values define the order in which Color or ColorRGBA values are applied to polygons (or vertices).
|
|
38
42
|
|
|
39
43
|
#### Hints
|
|
40
44
|
|
|
41
|
-
- If *colorIndex* array is not provided, then Color
|
|
45
|
+
- If *colorIndex* array is not provided, then Color or ColorRGBA values are indexed according to the coordIndex field.
|
|
42
46
|
- If colorPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included.
|
|
43
|
-
- If colorPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual
|
|
47
|
+
- If colorPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual values in the coordIndex array polygon definitions.
|
|
48
|
+
|
|
49
|
+
#### Warning
|
|
50
|
+
|
|
51
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
44
52
|
|
|
45
53
|
### MFInt32 [in] **set_texCoordIndex** <small>[-1,∞)</small>
|
|
46
54
|
|
|
@@ -48,18 +56,19 @@ List of texture-coordinate indices mapping attached texture to corresponding coo
|
|
|
48
56
|
|
|
49
57
|
#### Hint
|
|
50
58
|
|
|
51
|
-
- If *texCoordIndex* array is not provided, then TextureCoordinate values are indexed according to the coordIndex field.
|
|
52
59
|
- Use a tool!
|
|
53
60
|
|
|
61
|
+
#### Warning
|
|
62
|
+
|
|
63
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
64
|
+
|
|
54
65
|
### MFInt32 [in] **set_normalIndex** <small>[0,∞) or -1</small>
|
|
55
66
|
|
|
56
|
-
*normalIndex* values define the order in which normal vectors are applied to polygons (or vertices).
|
|
67
|
+
*normalIndex* values define the order in which normal vectors are applied to polygons (or vertices). Interchange profile hint: this field may be ignored, applying the default value regardless.
|
|
57
68
|
|
|
58
|
-
####
|
|
69
|
+
#### Warning
|
|
59
70
|
|
|
60
|
-
-
|
|
61
|
-
- If normalPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual values in the coordIndex array polygon definitions.
|
|
62
|
-
- If no child Normal node is provided, the X3D browser shall automatically generate normals, using creaseAngle to determine smoothed shading across shared vertices.
|
|
71
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
63
72
|
|
|
64
73
|
### MFInt32 [in] **set_coordIndex** <small>[0,∞) or -1</small>
|
|
65
74
|
|
|
@@ -69,13 +78,19 @@ List of texture-coordinate indices mapping attached texture to corresponding coo
|
|
|
69
78
|
|
|
70
79
|
- Sentinel value -1 is used to separate indices for each successive polygon.
|
|
71
80
|
|
|
81
|
+
#### Warning
|
|
82
|
+
|
|
83
|
+
- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
|
|
84
|
+
|
|
72
85
|
### SFBool [ ] **solid** TRUE
|
|
73
86
|
|
|
74
|
-
Setting solid true means draw only one side of polygons (backface culling on), setting solid false means draw both sides of polygons (backface culling off).
|
|
87
|
+
Setting *solid* true means draw only one side of polygons (backface culling on), setting *solid* false means draw both sides of polygons (backface culling off).
|
|
75
88
|
|
|
76
|
-
####
|
|
89
|
+
#### Hints
|
|
77
90
|
|
|
78
|
-
-
|
|
91
|
+
- Mnemonic "this geometry is *solid* like a brick" (you don't render the inside of a brick).
|
|
92
|
+
- If in doubt, use *solid*='false' for maximum visibility.
|
|
93
|
+
- (X3D version 4.0 draft) accessType relaxed to inputOutput in order to support animation and visualization.
|
|
79
94
|
|
|
80
95
|
#### Warning
|
|
81
96
|
|
|
@@ -83,55 +98,80 @@ Setting solid true means draw only one side of polygons (backface culling on), s
|
|
|
83
98
|
|
|
84
99
|
### SFBool [ ] **ccw** TRUE
|
|
85
100
|
|
|
86
|
-
*ccw*
|
|
101
|
+
*ccw* defines clockwise/counterclockwise ordering of vertex coordinates, which in turn defines front/back orientation of polygon normals according to Right-Hand Rule (RHR).
|
|
87
102
|
|
|
88
|
-
####
|
|
103
|
+
#### Hints
|
|
104
|
+
|
|
105
|
+
- A good debugging technique for problematic polygons is to try changing the value of *ccw*, which can reverse solid effects (single-sided backface culling) and normal-vector direction.
|
|
106
|
+
- [Clockwise](https://en.wikipedia.org/wiki/Clockwise){:target="_blank"}
|
|
89
107
|
|
|
90
|
-
|
|
108
|
+
#### Warning
|
|
109
|
+
|
|
110
|
+
- Consistent and correct ordering of left-handed or right-handed point sequences is important throughout the coord array of point values.
|
|
91
111
|
|
|
92
112
|
### SFBool [ ] **convex** TRUE
|
|
93
113
|
|
|
94
|
-
|
|
114
|
+
The *convex* field is a hint to renderers whether all polygons in a shape are *convex* (true), or possibly concave (false). A *convex* polygon is planar, does not intersect itself, and has all interior angles \< 180 degrees.
|
|
115
|
+
|
|
116
|
+
#### Hints
|
|
117
|
+
|
|
118
|
+
- Concave is the opposite of *convex*. Interchange profile hint: only *convex*=true IndexedFaceSets have guaranteed support.
|
|
119
|
+
- Select *convex*=false (i.e. concave) and solid=false (i.e. two-sided display) for greatest visibility of geometry.
|
|
120
|
+
- [*convex* polygon](https://en.wikipedia.org/wiki/Convex_polygon){:target="_blank"}
|
|
121
|
+
- [Tessellation](https://en.wikipedia.org/wiki/Tessellation){:target="_blank"}
|
|
95
122
|
|
|
96
123
|
#### Warning
|
|
97
124
|
|
|
98
|
-
- Concave geometry may be invisible default convex
|
|
125
|
+
- Concave or inverted geometry may be invisible when using default value *convex*=true, since some renderers use more-efficient algorithms to perform tessellation that may inadvertently fail on concave geometry.
|
|
99
126
|
|
|
100
127
|
### SFFloat [ ] **creaseAngle** 0 <small>[0,∞)</small>
|
|
101
128
|
|
|
102
|
-
*creaseAngle* defines angle (in radians) for determining whether adjacent polygons are drawn with sharp edges or smooth shading. If angle between normals of two adjacent polygons is less than creaseAngle
|
|
129
|
+
*creaseAngle* defines angle (in radians) for determining whether adjacent polygons are drawn with sharp edges or smooth shading. If angle between normals of two adjacent polygons is less than *creaseAngle*, smooth shading is rendered across the shared line segment. Interchange profile hint: only 0 and π radians supported.
|
|
103
130
|
|
|
104
|
-
####
|
|
131
|
+
#### Hints
|
|
105
132
|
|
|
106
|
-
-
|
|
133
|
+
- *creaseAngle*=0 means render all edges sharply, *creaseAngle*=3.14159 means render all edges smoothly.
|
|
134
|
+
- [Radian units for angular measure](https://en.wikipedia.org/wiki/Radian){:target="_blank"}
|
|
107
135
|
|
|
108
136
|
### SFBool [ ] **colorPerVertex** TRUE
|
|
109
137
|
|
|
110
|
-
Whether Color
|
|
138
|
+
Whether Color or ColorRGBA values are applied to each point vertex (true) or to each polygon face (false).
|
|
111
139
|
|
|
112
|
-
####
|
|
140
|
+
#### Hint
|
|
113
141
|
|
|
114
142
|
- [X3D Scene Authoring Hints, Color](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color){:target="_blank"}
|
|
115
143
|
|
|
144
|
+
#### Warning
|
|
145
|
+
|
|
146
|
+
- If child Color or ColorRGBA node is not provided, then geometry is rendered using corresponding Appearance and material/texture values.
|
|
147
|
+
|
|
116
148
|
### SFBool [ ] **normalPerVertex** TRUE
|
|
117
149
|
|
|
118
|
-
Whether Normal node vector values are applied to each vertex (true) or to each polygon face (false).
|
|
150
|
+
Whether Normal node vector values are applied to each point vertex (true) or to each polygon face (false).
|
|
151
|
+
|
|
152
|
+
#### Hint
|
|
153
|
+
|
|
154
|
+
- If no child Normal node is provided, the X3D browser shall automatically generate normals, using creaseAngle to determine smoothed shading across shared vertices.
|
|
119
155
|
|
|
120
156
|
### MFInt32 [ ] **colorIndex** [ ] <small>[0,∞) or -1</small>
|
|
121
157
|
|
|
122
|
-
*colorIndex* values define the order in which Color
|
|
158
|
+
*colorIndex* values define the order in which Color or ColorRGBA values are applied to polygons (or vertices).
|
|
123
159
|
|
|
124
160
|
#### Hints
|
|
125
161
|
|
|
126
|
-
- If *colorIndex* array is not provided, then Color
|
|
162
|
+
- If *colorIndex* array is not provided, then Color or ColorRGBA values are indexed according to the coordIndex field.
|
|
127
163
|
- If colorPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included.
|
|
128
|
-
- If colorPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual
|
|
164
|
+
- If colorPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual values in the coordIndex array polygon definitions.
|
|
165
|
+
|
|
166
|
+
#### Warning
|
|
167
|
+
|
|
168
|
+
- If child Color or ColorRGBA node is not provided, then geometry is rendered using corresponding Appearance and material/texture values.
|
|
129
169
|
|
|
130
170
|
### MFInt32 [ ] **texCoordIndex** [ ] <small>[-1,∞)</small>
|
|
131
171
|
|
|
132
172
|
List of texture-coordinate indices mapping attached texture to corresponding coordinates.
|
|
133
173
|
|
|
134
|
-
####
|
|
174
|
+
#### Hints
|
|
135
175
|
|
|
136
176
|
- If *texCoordIndex* array is not provided, then TextureCoordinate values are indexed according to the coordIndex field.
|
|
137
177
|
- Use a tool!
|
|
@@ -144,7 +184,7 @@ List of texture-coordinate indices mapping attached texture to corresponding coo
|
|
|
144
184
|
|
|
145
185
|
- If normalPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included.
|
|
146
186
|
- If normalPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual values in the coordIndex array polygon definitions.
|
|
147
|
-
- If no child Normal node is provided, the X3D browser shall automatically generate normals, using creaseAngle to determine smoothed shading across shared vertices.
|
|
187
|
+
- If no child Normal node is provided, the X3D browser shall automatically generate normals, using creaseAngle to determine smoothed shading across shared vertices. Interchange profile hint: this field may be ignored, applying the default value regardless.
|
|
148
188
|
|
|
149
189
|
#### Warning
|
|
150
190
|
|
|
@@ -158,9 +198,13 @@ List of texture-coordinate indices mapping attached texture to corresponding coo
|
|
|
158
198
|
|
|
159
199
|
- Sentinel value -1 is used to separate indices for each successive polygon.
|
|
160
200
|
|
|
201
|
+
#### Warning
|
|
202
|
+
|
|
203
|
+
- *coordIndex* is required in order to connect contained coordinate point values.
|
|
204
|
+
|
|
161
205
|
### MFNode [in, out] **attrib** [ ] <small>[X3DVertexAttributeNode]</small>
|
|
162
206
|
|
|
163
|
-
|
|
207
|
+
Single contained FloatVertexAttribute node that can specify list of per-vertex attribute information for programmable shaders.
|
|
164
208
|
|
|
165
209
|
#### Hint
|
|
166
210
|
|
|
@@ -172,7 +216,7 @@ Single contained FogCoordinate node that can specify depth parameters for fog in
|
|
|
172
216
|
|
|
173
217
|
### SFNode [in, out] **color** NULL <small>[X3DColorNode]</small>
|
|
174
218
|
|
|
175
|
-
Single contained Color or ColorRGBA node that can specify color values applied to corresponding vertices according to colorIndex and colorPerVertex fields.
|
|
219
|
+
Single contained Color or ColorRGBA node that can specify *color* values applied to corresponding vertices according to colorIndex and colorPerVertex fields.
|
|
176
220
|
|
|
177
221
|
### SFNode [in, out] **texCoord** NULL <small>[X3DTextureCoordinateNode]</small>
|
|
178
222
|
|
|
@@ -186,21 +230,31 @@ Single contained Normal node that can specify perpendicular vectors for correspo
|
|
|
186
230
|
|
|
187
231
|
- Useful for special effects. Normal vector computation by 3D graphics hardware is quite fast so adding normals to a scene is typically unnecessary.
|
|
188
232
|
|
|
233
|
+
#### Warning
|
|
234
|
+
|
|
235
|
+
- *normal* vectors increase file size, typically doubling geometry definitions.
|
|
236
|
+
|
|
189
237
|
### SFNode [in, out] **coord** NULL <small>[X3DCoordinateNode]</small>
|
|
190
238
|
|
|
191
239
|
Single contained Coordinate or CoordinateDouble node that can specify a list of vertex values.
|
|
192
240
|
|
|
193
|
-
##
|
|
241
|
+
## Advisories
|
|
194
242
|
|
|
195
243
|
### Hints
|
|
196
244
|
|
|
245
|
+
- [Polygon](https://en.wikipedia.org/wiki/Polygon){:target="_blank"}
|
|
197
246
|
- Insert a Shape node before adding geometry or Appearance.
|
|
198
|
-
-
|
|
247
|
+
- For advanced extensibility, authors can substitute a type-matched ProtoInstance node (with correct containerField value) for contained node content.
|
|
248
|
+
|
|
249
|
+
### Warnings
|
|
250
|
+
|
|
251
|
+
- Rendering characteristics are undefined if polygons are not planar.
|
|
252
|
+
- Avoid self-intersecting polygon line segments, otherwise defined geometry is irregular and rendering results are undefined.
|
|
199
253
|
|
|
200
254
|
## Example
|
|
201
255
|
|
|
202
256
|
<x3d-canvas src="https://create3000.github.io/media/examples/Geometry3D/IndexedFaceSet/IndexedFaceSet.x3d" update="auto"></x3d-canvas>
|
|
203
257
|
|
|
204
|
-
##
|
|
258
|
+
## See Also
|
|
205
259
|
|
|
206
|
-
- [X3D Specification of IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"}
|
|
260
|
+
- [X3D Specification of IndexedFaceSet node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Sphere
|
|
3
|
-
date:
|
|
3
|
+
date: 2023-01-07
|
|
4
4
|
nav: components-Geometry3D
|
|
5
5
|
categories: [components, Geometry3D]
|
|
6
6
|
tags: [Sphere, Geometry3D]
|
|
@@ -13,9 +13,9 @@ tags: [Sphere, Geometry3D]
|
|
|
13
13
|
|
|
14
14
|
## Overview
|
|
15
15
|
|
|
16
|
-
Sphere is a geometry node.
|
|
16
|
+
Sphere is a geometry node, representing a perfectly round geometrical object that is the surface of a completely round ball.
|
|
17
17
|
|
|
18
|
-
The Sphere node belongs to the **Geometry3D** component and its default container field is *geometry.* It is available
|
|
18
|
+
The Sphere node belongs to the **Geometry3D** component and its default container field is *geometry.* It is available from X3D version 2.0 or higher.
|
|
19
19
|
|
|
20
20
|
## Hierarchy
|
|
21
21
|
|
|
@@ -29,38 +29,50 @@ The Sphere node belongs to the **Geometry3D** component and its default containe
|
|
|
29
29
|
|
|
30
30
|
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
|
|
33
|
+
|
|
34
|
+
#### Hint
|
|
35
|
+
|
|
36
|
+
- [X3D Architecture 7.2.4 Metadata](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/core.html#Metadata){:target="_blank"}
|
|
33
37
|
|
|
34
38
|
### SFFloat [ ] **radius** 1 <small>(0,∞)</small>
|
|
35
39
|
|
|
36
40
|
Size in meters.
|
|
37
41
|
|
|
42
|
+
#### Hint
|
|
43
|
+
|
|
44
|
+
- For size animation, modify the scale of a parent/ancestor Transform node instead.
|
|
45
|
+
|
|
38
46
|
#### Warning
|
|
39
47
|
|
|
40
|
-
- Simple-geometry dimensions are initializeOnly and cannot be changed after initial creation, for
|
|
48
|
+
- Simple-geometry dimensions are initializeOnly and cannot be changed after initial creation, avoiding the need for potentially expensive tessellation at run time.
|
|
41
49
|
|
|
42
50
|
### SFBool [ ] **solid** TRUE
|
|
43
51
|
|
|
44
|
-
Setting solid true means draw only one side of polygons (backface culling on), setting solid false means draw both sides of polygons (backface culling off).
|
|
52
|
+
Setting *solid* true means draw only one side of polygons (backface culling on), setting *solid* false means draw both sides of polygons (backface culling off).
|
|
45
53
|
|
|
46
|
-
####
|
|
54
|
+
#### Hints
|
|
47
55
|
|
|
48
|
-
-
|
|
56
|
+
- Mnemonic "this geometry is *solid* like a brick" (you don't render the inside of a brick).
|
|
57
|
+
- If in doubt, use *solid*='false' for maximum visibility.
|
|
58
|
+
- (X3D version 4.0 draft) accessType relaxed to inputOutput in order to support animation and visualization.
|
|
49
59
|
|
|
50
60
|
#### Warnings
|
|
51
61
|
|
|
52
|
-
- Default value true can completely hide geometry if viewed from wrong side!
|
|
62
|
+
- Default value true can completely hide geometry if viewed from wrong side!
|
|
63
|
+
- *solid* false not supported in VRML97.
|
|
53
64
|
|
|
54
|
-
##
|
|
65
|
+
## Advisories
|
|
55
66
|
|
|
56
|
-
###
|
|
67
|
+
### Hints
|
|
57
68
|
|
|
69
|
+
- [Sphere](https://en.wikipedia.org/wiki/Sphere){:target="_blank"}
|
|
58
70
|
- Insert a Shape node before adding geometry or Appearance.
|
|
59
71
|
|
|
60
72
|
## Example
|
|
61
73
|
|
|
62
74
|
<x3d-canvas src="https://create3000.github.io/media/examples/Geometry3D/Sphere/Sphere.x3d" update="auto"></x3d-canvas>
|
|
63
75
|
|
|
64
|
-
##
|
|
76
|
+
## See Also
|
|
65
77
|
|
|
66
|
-
- [X3D Specification of Sphere](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Sphere){:target="_blank"}
|
|
78
|
+
- [X3D Specification of Sphere node](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Sphere){:target="_blank"}
|