x_ite 8.4.3 → 8.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +5 -1
- package/Makefile +0 -3
- package/build/bin/components.js +173 -0
- package/build/bin/tags.pl +28 -0
- package/build/bin/tests.pl +80 -2
- package/build/bin/version.pl +12 -7
- package/dist/assets/components/Annotation.js +13 -13
- package/dist/assets/components/Annotation.min.js +1 -1
- package/dist/assets/components/CADGeometry.js +13 -13
- package/dist/assets/components/CADGeometry.min.js +1 -1
- package/dist/assets/components/CubeMapTexturing.js +28 -29
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +13 -13
- package/dist/assets/components/DIS.min.js +1 -1
- package/dist/assets/components/EventUtilities.js +9 -9
- package/dist/assets/components/EventUtilities.min.js +1 -1
- package/dist/assets/components/Geometry2D.js +19 -19
- package/dist/assets/components/Geometry2D.min.js +1 -1
- package/dist/assets/components/Geospatial.js +33 -33
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +63 -42
- package/dist/assets/components/HAnim.min.js +1 -1
- package/dist/assets/components/KeyDeviceSensor.js +8 -8
- package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
- package/dist/assets/components/Layout.js +37 -29
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +29 -31
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +23 -23
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +19 -19
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +24 -19
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +30 -30
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +172 -594
- package/dist/assets/components/Text.min.js +1 -1
- package/dist/assets/components/TextureProjector.js +31 -47
- package/dist/assets/components/TextureProjector.min.js +1 -1
- package/dist/assets/components/Texturing3D.js +367 -346
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +19 -19
- package/dist/assets/components/VolumeRendering.min.js +1 -1
- package/dist/assets/components/X_ITE.js +9 -9
- package/dist/assets/components/X_ITE.min.js +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +12174 -3553
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/_config.yml +5 -136
- package/docs/_data/nav/components-CADGeometry.yml +14 -0
- package/docs/_data/nav/components-Core.yml +16 -0
- package/docs/_data/nav/components-CubeMapTexturing.yml +8 -0
- package/docs/_data/nav/components-DIS.yml +14 -0
- package/docs/_data/nav/components-EnvironmentalEffects.yml +12 -0
- package/docs/_data/nav/components-EnvironmentalSensor.yml +8 -0
- package/docs/_data/nav/components-EventUtilities.yml +16 -0
- package/docs/_data/nav/components-Followers.yml +30 -0
- package/docs/_data/nav/components-Geometry2D.yml +18 -0
- package/docs/_data/nav/components-Geometry3D.yml +16 -0
- package/docs/_data/nav/components-Geospatial.yml +24 -0
- package/docs/_data/nav/components-Grouping.yml +10 -0
- package/docs/_data/nav/components-HAnim.yml +14 -0
- package/docs/_data/nav/components-Interpolation.yml +28 -0
- package/docs/_data/nav/components-KeyDeviceSensor.yml +6 -0
- package/docs/_data/nav/components-Layering.yml +8 -0
- package/docs/_data/nav/components-Layout.yml +12 -0
- package/docs/_data/nav/components-Lighting.yml +10 -0
- package/docs/_data/nav/components-NURBS.yml +30 -0
- package/docs/_data/nav/components-Navigation.yml +16 -0
- package/docs/_data/nav/components-Networking.yml +8 -0
- package/docs/_data/nav/components-ParticleSystems.yml +22 -0
- package/docs/_data/nav/components-Picking.yml +12 -0
- package/docs/_data/nav/components-PointingDeviceSensor.yml +10 -0
- package/docs/_data/nav/components-Rendering.yml +30 -0
- package/docs/_data/nav/components-RigidBodyPhysics.yml +30 -0
- package/docs/_data/nav/components-Scripting.yml +4 -0
- package/docs/_data/nav/components-Shaders.yml +18 -0
- package/docs/_data/nav/components-Shape.yml +22 -0
- package/docs/_data/nav/components-Sound.yml +44 -0
- package/docs/_data/nav/components-Text.yml +6 -0
- package/docs/_data/nav/components-TextureProjector.yml +6 -0
- package/docs/_data/nav/components-Texturing.yml +22 -0
- package/docs/_data/nav/components-Texturing3D.yml +18 -0
- package/docs/_data/nav/components-Time.yml +4 -0
- package/docs/_data/nav/components-VolumeRendering.yml +28 -0
- package/docs/_data/nav/components-X_ITE.yml +4 -0
- package/docs/_data/nav/main.yml +26 -0
- package/docs/_data/nav/reference.yml +18 -0
- package/docs/_data/nav/tutorials-animation-sensors-and-geometry.yml +18 -0
- package/docs/_data/nav/tutorials-basic.yml +6 -0
- package/docs/_data/nav/tutorials-optimize-your-scene.yml +6 -0
- package/docs/_data/nav/tutorials-scripts-and-prototypes.yml +12 -0
- package/docs/_data/nav/tutorials-shapes-geometry-and-appearance.yml +16 -0
- package/docs/_data/nav/tutorials-textures-lights-and-environment.yml +20 -0
- package/docs/_includes/nav.html +2 -2
- package/docs/_includes/scripts.html +2 -1
- package/docs/_posts/accessing-the-external-browser.md +1 -1
- package/docs/_posts/browser-support.md +1 -1
- package/docs/_posts/components/CADGeometry/CADAssembly.md +83 -0
- package/docs/_posts/components/CADGeometry/CADFace.md +70 -0
- package/docs/_posts/components/CADGeometry/CADLayer.md +84 -0
- package/docs/_posts/components/CADGeometry/CADPart.md +117 -0
- package/docs/_posts/components/CADGeometry/IndexedQuadSet.md +125 -0
- package/docs/_posts/components/CADGeometry/QuadSet.md +113 -0
- package/docs/_posts/components/Core/MetadataBoolean.md +90 -0
- package/docs/_posts/components/Core/MetadataDouble.md +67 -0
- package/docs/_posts/components/Core/MetadataFloat.md +67 -0
- package/docs/_posts/components/Core/MetadataInteger.md +66 -0
- package/docs/_posts/components/Core/MetadataSet.md +63 -0
- package/docs/_posts/components/Core/MetadataString.md +66 -0
- package/docs/_posts/components/Core/WorldInfo.md +54 -0
- package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +76 -0
- package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +65 -0
- package/docs/_posts/components/CubeMapTexturing/ImageCubeMapTexture.md +66 -0
- package/docs/_posts/components/DIS/DISEntityManager.md +73 -0
- package/docs/_posts/components/DIS/DISEntityTypeMapping.md +88 -0
- package/docs/_posts/components/DIS/EspduTransform.md +416 -0
- package/docs/_posts/components/DIS/ReceiverPdu.md +168 -0
- package/docs/_posts/components/DIS/SignalPdu.md +168 -0
- package/docs/_posts/components/DIS/TransmitterPdu.md +232 -0
- package/docs/_posts/components/EnvironmentalEffects/Background.md +189 -0
- package/docs/_posts/components/EnvironmentalEffects/Fog.md +97 -0
- package/docs/_posts/components/EnvironmentalEffects/FogCoordinate.md +40 -0
- package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +84 -0
- package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +142 -0
- package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +90 -0
- package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +91 -0
- package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +73 -0
- package/docs/_posts/components/EventUtilities/BooleanFilter.md +62 -0
- package/docs/_posts/components/EventUtilities/BooleanSequencer.md +86 -0
- package/docs/_posts/components/EventUtilities/BooleanToggle.md +46 -0
- package/docs/_posts/components/EventUtilities/BooleanTrigger.md +47 -0
- package/docs/_posts/components/EventUtilities/IntegerSequencer.md +90 -0
- package/docs/_posts/components/EventUtilities/IntegerTrigger.md +51 -0
- package/docs/_posts/components/EventUtilities/TimeTrigger.md +47 -0
- package/docs/_posts/components/Followers/ColorChaser.md +77 -0
- package/docs/_posts/components/Followers/ColorDamper.md +85 -0
- package/docs/_posts/components/Followers/CoordinateChaser.md +76 -0
- package/docs/_posts/components/Followers/CoordinateDamper.md +80 -0
- package/docs/_posts/components/Followers/OrientationChaser.md +72 -0
- package/docs/_posts/components/Followers/OrientationDamper.md +80 -0
- package/docs/_posts/components/Followers/PositionChaser.md +72 -0
- package/docs/_posts/components/Followers/PositionChaser2D.md +72 -0
- package/docs/_posts/components/Followers/PositionDamper.md +80 -0
- package/docs/_posts/components/Followers/PositionDamper2D.md +80 -0
- package/docs/_posts/components/Followers/ScalarChaser.md +76 -0
- package/docs/_posts/components/Followers/ScalarDamper.md +80 -0
- package/docs/_posts/components/Followers/TexCoordChaser2D.md +72 -0
- package/docs/_posts/components/Followers/TexCoordDamper2D.md +80 -0
- package/docs/_posts/components/Geometry2D/Arc2D.md +71 -0
- package/docs/_posts/components/Geometry2D/ArcClose2D.md +91 -0
- package/docs/_posts/components/Geometry2D/Circle2D.md +55 -0
- package/docs/_posts/components/Geometry2D/Disk2D.md +75 -0
- package/docs/_posts/components/Geometry2D/Polyline2D.md +54 -0
- package/docs/_posts/components/Geometry2D/Polypoint2D.md +54 -0
- package/docs/_posts/components/Geometry2D/Rectangle2D.md +66 -0
- package/docs/_posts/components/Geometry2D/TriangleSet2D.md +66 -0
- package/docs/_posts/components/Geometry3D/Box.md +66 -0
- package/docs/_posts/components/Geometry3D/Cone.md +90 -0
- package/docs/_posts/components/Geometry3D/Cylinder.md +98 -0
- package/docs/_posts/components/Geometry3D/ElevationGrid.md +162 -0
- package/docs/_posts/components/Geometry3D/Extrusion.md +170 -0
- package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +208 -0
- package/docs/_posts/components/Geometry3D/Sphere.md +66 -0
- package/docs/_posts/components/Geospatial/GeoCoordinate.md +65 -0
- package/docs/_posts/components/Geospatial/GeoElevationGrid.md +180 -0
- package/docs/_posts/components/Geospatial/GeoLOD.md +128 -0
- package/docs/_posts/components/Geospatial/GeoLocation.md +93 -0
- package/docs/_posts/components/Geospatial/GeoMetadata.md +75 -0
- package/docs/_posts/components/Geospatial/GeoOrigin.md +69 -0
- package/docs/_posts/components/Geospatial/GeoPositionInterpolator.md +95 -0
- package/docs/_posts/components/Geospatial/GeoProximitySensor.md +109 -0
- package/docs/_posts/components/Geospatial/GeoTouchSensor.md +108 -0
- package/docs/_posts/components/Geospatial/GeoTransform.md +121 -0
- package/docs/_posts/components/Geospatial/GeoViewpoint.md +126 -0
- package/docs/_posts/components/Grouping/Group.md +75 -0
- package/docs/_posts/components/Grouping/StaticGroup.md +65 -0
- package/docs/_posts/components/Grouping/Switch.md +89 -0
- package/docs/_posts/components/Grouping/Transform.md +126 -0
- package/docs/_posts/components/HAnim/HAnimDisplacer.md +89 -0
- package/docs/_posts/components/HAnim/HAnimHumanoid.md +136 -0
- package/docs/_posts/components/HAnim/HAnimJoint.md +165 -0
- package/docs/_posts/components/HAnim/HAnimMotion.md +68 -0
- package/docs/_posts/components/HAnim/HAnimSegment.md +107 -0
- package/docs/_posts/components/HAnim/HAnimSite.md +108 -0
- package/docs/_posts/components/Interpolation/ColorInterpolator.md +73 -0
- package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +76 -0
- package/docs/_posts/components/Interpolation/CoordinateInterpolator2D.md +73 -0
- package/docs/_posts/components/Interpolation/EaseInEaseOut.md +67 -0
- package/docs/_posts/components/Interpolation/NormalInterpolator.md +68 -0
- package/docs/_posts/components/Interpolation/OrientationInterpolator.md +72 -0
- package/docs/_posts/components/Interpolation/PositionInterpolator.md +72 -0
- package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +77 -0
- package/docs/_posts/components/Interpolation/ScalarInterpolator.md +76 -0
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator.md +93 -0
- package/docs/_posts/components/Interpolation/SplinePositionInterpolator2D.md +93 -0
- package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +106 -0
- package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +78 -0
- package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +78 -0
- package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +70 -0
- package/docs/_posts/components/Layering/Layer.md +67 -0
- package/docs/_posts/components/Layering/LayerSet.md +78 -0
- package/docs/_posts/components/Layering/Viewport.md +80 -0
- package/docs/_posts/components/Layout/Layout.md +107 -0
- package/docs/_posts/components/Layout/LayoutGroup.md +85 -0
- package/docs/_posts/components/Layout/LayoutLayer.md +74 -0
- package/docs/_posts/components/Layout/ScreenFontStyle.md +137 -0
- package/docs/_posts/components/Layout/ScreenGroup.md +71 -0
- package/docs/_posts/components/Lighting/DirectionalLight.md +100 -0
- package/docs/_posts/components/Lighting/EnvironmentLight.md +91 -0
- package/docs/_posts/components/Lighting/PointLight.md +103 -0
- package/docs/_posts/components/Lighting/SpotLight.md +132 -0
- package/docs/_posts/components/NURBS/Contour2D.md +57 -0
- package/docs/_posts/components/NURBS/ContourPolyline2D.md +46 -0
- package/docs/_posts/components/NURBS/CoordinateDouble.md +47 -0
- package/docs/_posts/components/NURBS/NurbsCurve.md +71 -0
- package/docs/_posts/components/NURBS/NurbsCurve2D.md +66 -0
- package/docs/_posts/components/NURBS/NurbsOrientationInterpolator.md +70 -0
- package/docs/_posts/components/NURBS/NurbsPatchSurface.md +106 -0
- package/docs/_posts/components/NURBS/NurbsPositionInterpolator.md +70 -0
- package/docs/_posts/components/NURBS/NurbsSet.md +66 -0
- package/docs/_posts/components/NURBS/NurbsSurfaceInterpolator.md +90 -0
- package/docs/_posts/components/NURBS/NurbsSweptSurface.md +69 -0
- package/docs/_posts/components/NURBS/NurbsSwungSurface.md +65 -0
- package/docs/_posts/components/NURBS/NurbsTextureCoordinate.md +77 -0
- package/docs/_posts/components/NURBS/NurbsTrimmedSurface.md +114 -0
- package/docs/_posts/components/Navigation/Billboard.md +88 -0
- package/docs/_posts/components/Navigation/Collision.md +102 -0
- package/docs/_posts/components/Navigation/LOD.md +99 -0
- package/docs/_posts/components/Navigation/NavigationInfo.md +122 -0
- package/docs/_posts/components/Navigation/OrthoViewpoint.md +117 -0
- package/docs/_posts/components/Navigation/Viewpoint.md +117 -0
- package/docs/_posts/components/Navigation/ViewpointGroup.md +80 -0
- package/docs/_posts/components/Networking/Anchor.md +111 -0
- package/docs/_posts/components/Networking/Inline.md +115 -0
- package/docs/_posts/components/Networking/LoadSensor.md +91 -0
- package/docs/_posts/components/ParticleSystems/BoundedPhysicsModel.md +54 -0
- package/docs/_posts/components/ParticleSystems/ConeEmitter.md +76 -0
- package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +72 -0
- package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +58 -0
- package/docs/_posts/components/ParticleSystems/ParticleSystem.md +177 -0
- package/docs/_posts/components/ParticleSystems/PointEmitter.md +76 -0
- package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +94 -0
- package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +90 -0
- package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +90 -0
- package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +68 -0
- package/docs/_posts/components/Picking/LinePickSensor.md +125 -0
- package/docs/_posts/components/Picking/PickableGroup.md +93 -0
- package/docs/_posts/components/Picking/PointPickSensor.md +112 -0
- package/docs/_posts/components/Picking/PrimitivePickSensor.md +114 -0
- package/docs/_posts/components/Picking/VolumePickSensor.md +107 -0
- package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +122 -0
- package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +114 -0
- package/docs/_posts/components/PointingDeviceSensor/SphereSensor.md +89 -0
- package/docs/_posts/components/PointingDeviceSensor/TouchSensor.md +87 -0
- package/docs/_posts/components/Rendering/ClipPlane.md +67 -0
- package/docs/_posts/components/Rendering/Color.md +56 -0
- package/docs/_posts/components/Rendering/ColorRGBA.md +61 -0
- package/docs/_posts/components/Rendering/Coordinate.md +45 -0
- package/docs/_posts/components/Rendering/IndexedLineSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleSet.md +128 -0
- package/docs/_posts/components/Rendering/IndexedTriangleStripSet.md +116 -0
- package/docs/_posts/components/Rendering/LineSet.md +85 -0
- package/docs/_posts/components/Rendering/Normal.md +41 -0
- package/docs/_posts/components/Rendering/PointSet.md +76 -0
- package/docs/_posts/components/Rendering/TriangleFanSet.md +112 -0
- package/docs/_posts/components/Rendering/TriangleSet.md +108 -0
- package/docs/_posts/components/Rendering/TriangleStripSet.md +116 -0
- package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +78 -0
- package/docs/_posts/components/RigidBodyPhysics/CollidableOffset.md +75 -0
- package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +83 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +90 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionSensor.md +65 -0
- package/docs/_posts/components/RigidBodyPhysics/CollisionSpace.md +70 -0
- package/docs/_posts/components/RigidBodyPhysics/Contact.md +117 -0
- package/docs/_posts/components/RigidBodyPhysics/DoubleAxisHingeJoint.md +162 -0
- package/docs/_posts/components/RigidBodyPhysics/MotorJoint.md +183 -0
- package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +175 -0
- package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +120 -0
- package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +108 -0
- package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +106 -0
- package/docs/_posts/components/RigidBodyPhysics/UniversalJoint.md +119 -0
- package/docs/_posts/components/Scripting/Script.md +81 -0
- package/docs/_posts/components/Shaders/ComposedShader.md +81 -0
- package/docs/_posts/components/Shaders/FloatVertexAttribute.md +65 -0
- package/docs/_posts/components/Shaders/Matrix3VertexAttribute.md +53 -0
- package/docs/_posts/components/Shaders/Matrix4VertexAttribute.md +53 -0
- package/docs/_posts/components/Shaders/PackagedShader.md +77 -0
- package/docs/_posts/components/Shaders/ProgramShader.md +71 -0
- package/docs/_posts/components/Shaders/ShaderPart.md +76 -0
- package/docs/_posts/components/Shaders/ShaderProgram.md +68 -0
- package/docs/_posts/components/Shape/AcousticProperties.md +52 -0
- package/docs/_posts/components/Shape/Appearance.md +123 -0
- package/docs/_posts/components/Shape/FillProperties.md +67 -0
- package/docs/_posts/components/Shape/LineProperties.md +63 -0
- package/docs/_posts/components/Shape/Material.md +217 -0
- package/docs/_posts/components/Shape/PhysicalMaterial.md +173 -0
- package/docs/_posts/components/Shape/PointProperties.md +84 -0
- package/docs/_posts/components/Shape/Shape.md +63 -0
- package/docs/_posts/components/Shape/TwoSidedMaterial.md +149 -0
- package/docs/_posts/components/Shape/UnlitMaterial.md +115 -0
- package/docs/_posts/components/Sound/Analyser.md +72 -0
- package/docs/_posts/components/Sound/AudioClip.md +139 -0
- package/docs/_posts/components/Sound/AudioDestination.md +52 -0
- package/docs/_posts/components/Sound/BiquadFilter.md +70 -0
- package/docs/_posts/components/Sound/BufferAudioSource.md +86 -0
- package/docs/_posts/components/Sound/ChannelMerger.md +46 -0
- package/docs/_posts/components/Sound/ChannelSelector.md +48 -0
- package/docs/_posts/components/Sound/ChannelSplitter.md +48 -0
- package/docs/_posts/components/Sound/Convolver.md +66 -0
- package/docs/_posts/components/Sound/Delay.md +66 -0
- package/docs/_posts/components/Sound/DynamicsCompressor.md +74 -0
- package/docs/_posts/components/Sound/Gain.md +62 -0
- package/docs/_posts/components/Sound/ListenerPointSource.md +62 -0
- package/docs/_posts/components/Sound/MicrophoneSource.md +54 -0
- package/docs/_posts/components/Sound/OscillatorSource.md +58 -0
- package/docs/_posts/components/Sound/PeriodicWave.md +42 -0
- package/docs/_posts/components/Sound/Sound.md +92 -0
- package/docs/_posts/components/Sound/SpatialSound.md +68 -0
- package/docs/_posts/components/Sound/StreamAudioDestination.md +52 -0
- package/docs/_posts/components/Sound/StreamAudioSource.md +54 -0
- package/docs/_posts/components/Sound/WaveShaper.md +66 -0
- package/docs/_posts/components/Text/FontStyle.md +145 -0
- package/docs/_posts/components/Text/Text.md +102 -0
- package/docs/_posts/components/TextureProjector/TextureProjector.md +52 -0
- package/docs/_posts/components/TextureProjector/TextureProjectorParallel.md +52 -0
- package/docs/_posts/components/Texturing/ImageTexture.md +134 -0
- package/docs/_posts/components/Texturing/MovieTexture.md +221 -0
- package/docs/_posts/components/Texturing/MultiTexture.md +100 -0
- package/docs/_posts/components/Texturing/MultiTextureCoordinate.md +47 -0
- package/docs/_posts/components/Texturing/MultiTextureTransform.md +47 -0
- package/docs/_posts/components/Texturing/PixelTexture.md +80 -0
- package/docs/_posts/components/Texturing/TextureCoordinate.md +52 -0
- package/docs/_posts/components/Texturing/TextureCoordinateGenerator.md +64 -0
- package/docs/_posts/components/Texturing/TextureProperties.md +137 -0
- package/docs/_posts/components/Texturing/TextureTransform.md +73 -0
- package/docs/_posts/components/Texturing3D/ComposedTexture3D.md +76 -0
- package/docs/_posts/components/Texturing3D/ImageTexture3D.md +132 -0
- package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +131 -0
- package/docs/_posts/components/Texturing3D/PixelTexture3D.md +75 -0
- package/docs/_posts/components/Texturing3D/TextureCoordinate3D.md +53 -0
- package/docs/_posts/components/Texturing3D/TextureCoordinate4D.md +52 -0
- package/docs/_posts/components/Texturing3D/TextureTransform3D.md +69 -0
- package/docs/_posts/components/Texturing3D/TextureTransformMatrix3D.md +57 -0
- package/docs/_posts/components/Time/TimeSensor.md +136 -0
- package/docs/_posts/components/VolumeRendering/BlendedVolumeStyle.md +92 -0
- package/docs/_posts/components/VolumeRendering/BoundaryEnhancementVolumeStyle.md +53 -0
- package/docs/_posts/components/VolumeRendering/CartoonVolumeStyle.md +83 -0
- package/docs/_posts/components/VolumeRendering/ComposedVolumeStyle.md +51 -0
- package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +67 -0
- package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +99 -0
- package/docs/_posts/components/VolumeRendering/OpacityMapVolumeStyle.md +51 -0
- package/docs/_posts/components/VolumeRendering/ProjectionVolumeStyle.md +48 -0
- package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +80 -0
- package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +75 -0
- package/docs/_posts/components/VolumeRendering/SilhouetteEnhancementVolumeStyle.md +63 -0
- package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +71 -0
- package/docs/_posts/components/VolumeRendering/VolumeData.md +71 -0
- package/docs/_posts/components/X_ITE/BlendMode.md +94 -0
- package/docs/_posts/custom-shaders.md +9 -4
- package/docs/_posts/dom-integration.md +1 -6
- package/docs/_posts/features.md +2 -2
- package/docs/_posts/getting-started.md +100 -57
- package/docs/_posts/glossary.md +1 -1
- package/docs/_posts/how-to-configure-your-web-server.md +1 -1
- package/docs/_posts/reference/browser-services.md +78 -18
- package/docs/_posts/reference/constants-services.md +1 -1
- package/docs/_posts/reference/ecmascript-object-and-function-definitions.md +1 -1
- package/docs/_posts/reference/field-services-and-objects.md +8 -8
- package/docs/_posts/reference/prototype-services.md +7 -7
- package/docs/_posts/reference/route-services.md +1 -1
- package/docs/_posts/reference/scene-services.md +5 -5
- package/docs/_posts/reference/script-node-authoring-interface.md +1 -1
- package/docs/_posts/report-a-bug.md +1 -1
- package/docs/_posts/setup-a-localhost-server.md +5 -1
- package/docs/_posts/supported-nodes.md +239 -238
- package/docs/_posts/tutorials/adding-backgrounds.md +3 -3
- package/docs/_posts/tutorials/adding-fog.md +2 -2
- package/docs/_posts/tutorials/adding-sound.md +19 -19
- package/docs/_posts/tutorials/animating-transforms.md +17 -17
- package/docs/_posts/tutorials/basic-nodes.md +30 -30
- package/docs/_posts/tutorials/building-a-x3d-world.md +3 -3
- package/docs/_posts/tutorials/building-elevation-grids.md +7 -7
- package/docs/_posts/tutorials/building-extruded-shapes.md +7 -7
- package/docs/_posts/tutorials/building-primitive-shapes.md +13 -13
- package/docs/_posts/tutorials/building-shapes-out-of-points-lines-and-faces.md +21 -21
- package/docs/_posts/tutorials/controlling-appearance-with-materials.md +7 -7
- package/docs/_posts/tutorials/controlling-color-on-coordinate-based-geometry.md +11 -11
- package/docs/_posts/tutorials/controlling-detail.md +4 -4
- package/docs/_posts/tutorials/controlling-how-textures-are-mapped.md +7 -7
- package/docs/_posts/tutorials/controlling-navigation.md +3 -3
- package/docs/_posts/tutorials/controlling-shading-on-coordinate-based-geometry.md +13 -13
- package/docs/_posts/tutorials/controlling-the-viewpoint.md +3 -3
- package/docs/_posts/tutorials/creating-new-node-types.md +4 -4
- package/docs/_posts/tutorials/grouping-nodes.md +13 -13
- package/docs/_posts/tutorials/hello-world.md +1 -1
- package/docs/_posts/tutorials/improving-performance.md +1 -1
- package/docs/_posts/tutorials/increasing-rendering-speed.md +1 -1
- package/docs/_posts/tutorials/introducing-animation.md +10 -10
- package/docs/_posts/tutorials/introducing-script-use.md +3 -3
- package/docs/_posts/tutorials/introducing-x3d.md +1 -1
- package/docs/_posts/tutorials/lighting-your-world.md +4 -4
- package/docs/_posts/tutorials/mapping-textures.md +7 -7
- package/docs/_posts/tutorials/naming-nodes.md +1 -1
- package/docs/_posts/tutorials/overview.md +1 -1
- package/docs/_posts/tutorials/providing-information-about-your-world.md +2 -2
- package/docs/_posts/tutorials/sensing-the-viewer.md +15 -15
- package/docs/_posts/tutorials/sensing-viewer-actions.md +10 -10
- package/docs/_posts/tutorials/transforming-shapes.md +4 -4
- package/docs/_posts/tutorials/writing-program-scripts-with-ecmascript.md +5 -5
- package/docs/_posts/what's-new.md +40 -2
- package/docs/_tabs/components.md +383 -0
- package/docs/_tabs/imprint.md +1 -1
- package/docs/_tabs/laboratory.md +38 -6
- package/docs/_tabs/playground.html +22 -66
- package/docs/_tabs/reference.md +2 -1
- package/docs/_tabs/tags.md +1 -1
- package/docs/_tabs/tutorials.md +1 -1
- package/docs/assets/X3D/Michroma-Regular.ttf +0 -0
- package/docs/assets/X3D/peakpx.jpg +0 -0
- package/docs/assets/X3D/teaser.x3d +55 -0
- package/docs/assets/css/style.scss +120 -11
- package/docs/assets/img/laboratory/blend-mode.png +0 -0
- package/docs/assets/img/laboratory/dicom-nrrd.png +0 -0
- package/docs/assets/img/laboratory/earthquake.png +0 -0
- package/docs/assets/img/laboratory/gltf.png +0 -0
- package/docs/assets/img/laboratory/l-system.png +0 -0
- package/docs/assets/js/autoupdate.js +25 -0
- package/docs/laboratory/gltf-sample-viewer.html +318 -0
- package/docs/laboratory/x3d-visual-blend-mode-editor.html +1 -0
- package/package.json +9 -2
- package/src/assets/components/Texturing3D.js +5 -3
- package/src/assets/shaders/Types.glsl.js +5 -5
- package/src/assets/shaders/webgl1/PBR.fs.js +1 -1
- package/src/assets/shaders/webgl1/include/Colors.glsl.js +5 -7
- package/src/assets/shaders/webgl1/include/Fragment.glsl.js +4 -0
- package/src/assets/shaders/webgl1/include/Hatch.glsl.js +1 -1
- package/src/assets/shaders/webgl1/include/Texture.glsl.js +3 -3
- package/src/assets/shaders/webgl2/include/Colors.glsl.js +5 -7
- package/src/assets/shaders/webgl2/include/Hatch.glsl.js +1 -1
- package/src/assets/shaders/webgl2/include/Particle.glsl.js +2 -2
- package/src/assets/shaders/webgl2/include/Texture.glsl.js +2 -2
- package/src/bookmarks.js +12 -8
- package/src/examples.js +3 -0
- package/src/lib/jquery.js +20 -0
- package/src/lib/libgif/libgif.js +1004 -0
- package/src/lib/libtess.js +1 -0
- package/src/lib/nurbs/extras/sample.js +5 -7
- package/src/standard/Math/Algorithms/Bezier.js +175 -33
- package/src/standard/Math/Geometry/Box2.js +15 -55
- package/src/standard/Math/Geometry/Box3.js +19 -66
- package/src/standard/Math/Geometry/Triangle3.js +14 -79
- package/src/standard/Math/Numbers/Color3.js +4 -0
- package/src/standard/Math/Numbers/Color4.js +4 -0
- package/src/standard/Math/Numbers/Matrix3.js +11 -3
- package/src/standard/Math/Numbers/Matrix4.js +9 -6
- package/src/standard/Math/Numbers/Rotation4.js +72 -65
- package/src/tests.js +3 -0
- package/src/x_ite/Base/X3DArrayField.js +0 -2
- package/src/x_ite/Base/X3DInfoArray.js +2 -2
- package/src/x_ite/Base/X3DObjectArrayField.js +19 -0
- package/src/x_ite/Base/X3DTypedArrayField.js +149 -0
- package/src/x_ite/Browser/Core/BrowserOptions.js +108 -64
- package/src/x_ite/Browser/Core/Context.js +1 -1
- package/src/x_ite/Browser/Core/ContextMenu.js +2 -2
- package/src/x_ite/Browser/Core/Notification.js +1 -1
- package/src/x_ite/Browser/Core/RenderingProperties.js +4 -0
- package/src/x_ite/Browser/Core/X3DCoreContext.js +99 -54
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +4 -14
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +3 -13
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +3 -12
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +25 -22
- package/src/x_ite/Browser/Navigation/X3DViewer.js +12 -3
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +2 -2
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +19 -15
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +30 -10
- package/src/x_ite/Browser/Shaders/X3DShadersContext.js +1 -1
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +30 -3
- package/src/x_ite/Browser/Text/PolygonText.js +137 -134
- package/src/x_ite/Browser/Texturing/GifMedia.js +113 -0
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1 -6
- package/src/x_ite/Browser/Texturing3D/NRRDParser.js +81 -310
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/X3DBrowser.js +162 -122
- package/src/x_ite/Browser/X3DBrowserContext.js +7 -5
- package/src/x_ite/Components/Core/WorldInfo.js +3 -3
- package/src/x_ite/Components/Core/X3DNode.js +7 -7
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +1 -1
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +2 -3
- package/src/x_ite/Components/Geometry3D/Extrusion.js +27 -23
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +10 -19
- package/src/x_ite/Components/Grouping/X3DBoundedObject.js +1 -3
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +39 -15
- package/src/x_ite/Components/HAnim/HAnimJoint.js +6 -9
- package/src/x_ite/Components/Layering/X3DLayerNode.js +21 -2
- package/src/x_ite/Components/Layout/Layout.js +4 -2
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +6 -0
- package/src/x_ite/Components/Lighting/DirectionalLight.js +4 -11
- package/src/x_ite/Components/Lighting/EnvironmentLight.js +1 -1
- package/src/x_ite/Components/Lighting/PointLight.js +4 -11
- package/src/x_ite/Components/Lighting/SpotLight.js +4 -11
- package/src/x_ite/Components/Lighting/X3DLightNode.js +7 -9
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +2 -2
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +14 -6
- package/src/x_ite/Components/Networking/Inline.js +48 -59
- package/src/x_ite/Components/Networking/X3DUrlObject.js +1 -1
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +2 -2
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +7 -13
- package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +4 -2
- package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +4 -2
- package/src/x_ite/Components/Scripting/Script.js +2 -2
- package/src/x_ite/Components/Shaders/ShaderPart.js +1 -1
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +1 -3
- package/src/x_ite/Components/Shape/Appearance.js +27 -1
- package/src/x_ite/Components/Shape/FillProperties.js +1 -0
- package/src/x_ite/Components/Shape/LineProperties.js +15 -9
- package/src/x_ite/Components/Shape/Material.js +33 -22
- package/src/x_ite/Components/Shape/PhysicalMaterial.js +22 -15
- package/src/x_ite/Components/Shape/PointProperties.js +23 -7
- package/src/x_ite/Components/Shape/UnlitMaterial.js +3 -2
- package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +25 -19
- package/src/x_ite/Components/Sound/AudioClip.js +5 -5
- package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +26 -34
- package/src/x_ite/Components/Text/X3DFontStyleNode.js +1 -1
- package/src/x_ite/Components/TextureProjector/TextureProjector.js +4 -12
- package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +6 -14
- package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +7 -7
- package/src/x_ite/Components/Texturing/ImageTexture.js +15 -10
- package/src/x_ite/Components/Texturing/MovieTexture.js +51 -11
- package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +2 -2
- package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +230 -0
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +12 -10
- package/src/x_ite/Execution/BindableList.js +35 -37
- package/src/x_ite/Execution/BindableStack.js +25 -7
- package/src/x_ite/Execution/X3DScene.js +2 -2
- package/src/x_ite/Execution/X3DWorld.js +1 -1
- package/src/x_ite/Fields/SFRotation.js +2 -1
- package/src/x_ite/Fields/SFString.js +1 -1
- package/src/x_ite/InputOutput/FileLoader.js +105 -236
- package/src/x_ite/InputOutput/Generator.js +12 -8
- package/src/x_ite/Parser/Expressions.js +85 -0
- package/src/x_ite/Parser/GLB2Parser.js +147 -0
- package/src/x_ite/Parser/GLTF2Parser.js +2221 -0
- package/src/x_ite/Parser/GoldenGate.js +64 -13
- package/src/x_ite/Parser/JSONParser.js +7 -36
- package/src/x_ite/Parser/OBJParser.js +1076 -0
- package/src/x_ite/Parser/STLAParser.js +376 -0
- package/src/x_ite/Parser/STLBParser.js +156 -0
- package/src/x_ite/Parser/SVGParser.js +2476 -0
- package/src/x_ite/Parser/VRMLParser.js +127 -183
- package/src/x_ite/Parser/X3DOptimizer.js +191 -0
- package/src/x_ite/Parser/X3DParser.js +34 -0
- package/src/x_ite/Parser/XMLParser.js +11 -109
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +2 -2
- package/src/x_ite/Prototype/X3DProtoDeclaration.js +3 -3
- package/src/x_ite/Rendering/DependentRenderer.js +1 -1
- package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +150 -0
- package/src/x_ite/Rendering/TextureBuffer.js +3 -5
- package/src/x_ite/Rendering/X3DRenderObject.js +2 -7
- package/src/x_ite/X3D.js +1 -0
- package/src/x_ite/X3DCanvas.js +10 -0
- package/src/x_ite.html +39 -17
- package/webpack.config.js +1 -0
- package/x_ite.min.html +38 -17
- package/src/standard/Networking/BinaryTransport.js +0 -116
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Cylinder
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-Geometry3D
|
|
5
|
+
categories: [components, Geometry3D]
|
|
6
|
+
tags: [Cylinder, Geometry3D]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Cylinder is a geometry node.
|
|
17
|
+
|
|
18
|
+
The Cylinder node belongs to the **Geometry3D** component and its default container field is *geometry.* It is available since X3D version 3.0 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DGeometryNode
|
|
25
|
+
+ Cylinder
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Fields
|
|
29
|
+
|
|
30
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
31
|
+
|
|
32
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
33
|
+
|
|
34
|
+
### SFBool [ ] **top** TRUE
|
|
35
|
+
|
|
36
|
+
Whether to draw top (inside faces are never drawn).
|
|
37
|
+
|
|
38
|
+
#### Warning
|
|
39
|
+
|
|
40
|
+
- Cannot be changed after initial creation.
|
|
41
|
+
|
|
42
|
+
### SFBool [ ] **side** TRUE
|
|
43
|
+
|
|
44
|
+
Whether to draw sides (inside faces are never drawn).
|
|
45
|
+
|
|
46
|
+
#### Warning
|
|
47
|
+
|
|
48
|
+
- Cannot be changed after initial creation.
|
|
49
|
+
|
|
50
|
+
### SFBool [ ] **bottom** TRUE
|
|
51
|
+
|
|
52
|
+
Whether to draw bottom (inside faces are never drawn).
|
|
53
|
+
|
|
54
|
+
#### Warning
|
|
55
|
+
|
|
56
|
+
- Cannot be changed after initial creation.
|
|
57
|
+
|
|
58
|
+
### SFFloat [ ] **height** 2 <small>(0,∞)</small>
|
|
59
|
+
|
|
60
|
+
Size in meters.
|
|
61
|
+
|
|
62
|
+
#### Warning
|
|
63
|
+
|
|
64
|
+
- Simple-geometry dimensions are initializeOnly and cannot be changed after initial creation, for animation use Transform scale instead.
|
|
65
|
+
|
|
66
|
+
### SFFloat [ ] **radius** 1 <small>(0,∞)</small>
|
|
67
|
+
|
|
68
|
+
Size in meters.
|
|
69
|
+
|
|
70
|
+
#### Warning
|
|
71
|
+
|
|
72
|
+
- Simple-geometry dimensions are initializeOnly and cannot be changed after initial creation, for animation use Transform scale instead.
|
|
73
|
+
|
|
74
|
+
### SFBool [ ] **solid** TRUE
|
|
75
|
+
|
|
76
|
+
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).
|
|
77
|
+
|
|
78
|
+
#### Hint
|
|
79
|
+
|
|
80
|
+
- If in doubt, use solid='false' for maximum visibility.
|
|
81
|
+
|
|
82
|
+
#### Warnings
|
|
83
|
+
|
|
84
|
+
- Default value true can completely hide geometry if viewed from wrong side! Solid false not supported in VRML97.
|
|
85
|
+
|
|
86
|
+
## Description
|
|
87
|
+
|
|
88
|
+
### Hint
|
|
89
|
+
|
|
90
|
+
- Insert a Shape node before adding geometry or Appearance.
|
|
91
|
+
|
|
92
|
+
## Example
|
|
93
|
+
|
|
94
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/Geometry3D/Cylinder/Cylinder.x3d"></x3d-canvas>
|
|
95
|
+
|
|
96
|
+
## External Links
|
|
97
|
+
|
|
98
|
+
- [X3D Specification of Cylinder](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Cylinder){:target="_blank"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: ElevationGrid
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-Geometry3D
|
|
5
|
+
categories: [components, Geometry3D]
|
|
6
|
+
tags: [ElevationGrid, Geometry3D]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
ElevationGrid is a geometry node defining a rectangular height field, with default values for a 1m by 1m square at height 0. Vertices corresponding to ElevationGrid height values define quadrilaterals, which are placed above or below a flat surface.
|
|
17
|
+
|
|
18
|
+
The ElevationGrid node belongs to the **Geometry3D** component and its default container field is *geometry.* It is available since X3D version 3.0 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DGeometryNode
|
|
25
|
+
+ ElevationGrid
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Fields
|
|
29
|
+
|
|
30
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
31
|
+
|
|
32
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
33
|
+
|
|
34
|
+
### MFFloat [in] **set_height** <small>(-∞,∞)</small>
|
|
35
|
+
|
|
36
|
+
Grid array of height vertices with upward direction along +Y axis, with xDimension rows and zDimension columns.
|
|
37
|
+
|
|
38
|
+
#### Hint
|
|
39
|
+
|
|
40
|
+
- Height array values are given in row-major order from left to right along X axis, then back to front along Z axis.
|
|
41
|
+
|
|
42
|
+
### SFInt32 [ ] **xDimension** <small>[0,∞)</small>
|
|
43
|
+
|
|
44
|
+
Number of elements in the height array along X direction.
|
|
45
|
+
|
|
46
|
+
### SFInt32 [ ] **zDimension** <small>[0,∞)</small>
|
|
47
|
+
|
|
48
|
+
Number of elements in the height array along Z direction.
|
|
49
|
+
|
|
50
|
+
### SFFloat [ ] **xSpacing** 1 <small>(0,∞)</small>
|
|
51
|
+
|
|
52
|
+
Meters distance between grid-array vertices along X direction.
|
|
53
|
+
|
|
54
|
+
#### Hint
|
|
55
|
+
|
|
56
|
+
- Total horizontal x-axis distance equals (xDimension-1) \* xSpacing.
|
|
57
|
+
|
|
58
|
+
### SFFloat [ ] **zSpacing** 1 <small>(0,∞)</small>
|
|
59
|
+
|
|
60
|
+
Meters distance between grid-array vertices along Z direction.
|
|
61
|
+
|
|
62
|
+
#### Hint
|
|
63
|
+
|
|
64
|
+
- Total lateral z-axis distance equals (zDimension-1) \* zSpacing.
|
|
65
|
+
|
|
66
|
+
### SFBool [ ] **solid** TRUE
|
|
67
|
+
|
|
68
|
+
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).
|
|
69
|
+
|
|
70
|
+
#### Hint
|
|
71
|
+
|
|
72
|
+
- If in doubt, use solid='false' for maximum visibility.
|
|
73
|
+
|
|
74
|
+
#### Warning
|
|
75
|
+
|
|
76
|
+
- Default value true can completely hide geometry if viewed from wrong side!
|
|
77
|
+
|
|
78
|
+
### SFBool [ ] **ccw** TRUE
|
|
79
|
+
|
|
80
|
+
*ccw* = counterclockwise: ordering of vertex coordinates orientation.
|
|
81
|
+
|
|
82
|
+
#### Hint
|
|
83
|
+
|
|
84
|
+
- Ccw false can reverse solid (backface culling) and normal-vector orientation.
|
|
85
|
+
|
|
86
|
+
### SFFloat [ ] **creaseAngle** 0 <small>[0,∞)</small>
|
|
87
|
+
|
|
88
|
+
*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.
|
|
89
|
+
|
|
90
|
+
#### Hint
|
|
91
|
+
|
|
92
|
+
- CreaseAngle=0 means render all edges sharply, creaseAngle=3.14159 means render all edges smoothly.
|
|
93
|
+
|
|
94
|
+
### SFBool [ ] **colorPerVertex** TRUE
|
|
95
|
+
|
|
96
|
+
Whether Color node color values are applied to each vertex (true) or per quadrilateral (false).
|
|
97
|
+
|
|
98
|
+
#### See Also
|
|
99
|
+
|
|
100
|
+
- [X3D Scene Authoring Hints, Color](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color){:target="_blank"}
|
|
101
|
+
|
|
102
|
+
### SFBool [ ] **normalPerVertex** TRUE
|
|
103
|
+
|
|
104
|
+
Whether Normal node vector values are applied to each vertex (true) or per quadrilateral (false).
|
|
105
|
+
|
|
106
|
+
### MFNode [in, out] **attrib** [ ] <small>[X3DVertexAttributeNode]</small>
|
|
107
|
+
|
|
108
|
+
Multiple contained FloatVertexAttribute nodes that can specify list of per-vertex attribute information for programmable shaders.
|
|
109
|
+
|
|
110
|
+
#### Hint
|
|
111
|
+
|
|
112
|
+
- [X3D Architecture 32.2.2.4 Per-vertex attributes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/shaders.html#Pervertexattributes){:target="_blank"}
|
|
113
|
+
|
|
114
|
+
### SFNode [in, out] **fogCoord** NULL <small>[FogCoordinate]</small>
|
|
115
|
+
|
|
116
|
+
Single contained FogCoordinate node that can specify depth parameters for fog in corresponding geometry.
|
|
117
|
+
|
|
118
|
+
### SFNode [in, out] **color** NULL <small>[X3DColorNode]</small>
|
|
119
|
+
|
|
120
|
+
Single contained Color or ColorRGBA node that can specify color values applied to corresponding vertices according to colorIndex and colorPerVertex fields.
|
|
121
|
+
|
|
122
|
+
### SFNode [in, out] **texCoord** NULL <small>[X3DTextureCoordinateNode]</small>
|
|
123
|
+
|
|
124
|
+
Single contained TextureCoordinate, TextureCoordinateGenerator or MultiTextureCoordinate node that can specify coordinates for texture mapping onto corresponding geometry.
|
|
125
|
+
|
|
126
|
+
### SFNode [in, out] **normal** NULL <small>[X3DNormalNode]</small>
|
|
127
|
+
|
|
128
|
+
Single contained Normal node that can specify perpendicular vectors for corresponding vertices to support rendering computations, applied according to the normalPerVertex field.
|
|
129
|
+
|
|
130
|
+
#### Hint
|
|
131
|
+
|
|
132
|
+
- Useful for special effects. Normal vector computation by 3D graphics hardware is quite fast so adding normals to a scene is typically unnecessary.
|
|
133
|
+
|
|
134
|
+
### MFFloat [ ] **height** [ ] <small>(-∞,∞)</small>
|
|
135
|
+
|
|
136
|
+
Grid array of height vertices with upward direction along +Y axis, with xDimension rows and zDimension columns.
|
|
137
|
+
|
|
138
|
+
#### Hint
|
|
139
|
+
|
|
140
|
+
- Height array values are given in row-major order from left to right along X axis, then back to front along Z axis.
|
|
141
|
+
|
|
142
|
+
## Description
|
|
143
|
+
|
|
144
|
+
### Hints
|
|
145
|
+
|
|
146
|
+
- The height array defines (xDimension-1)\*(zDimension-1) quadrilaterals.
|
|
147
|
+
- Positive direction for normal of each triangle is on same side of the quadrilateral. Triangles are defined either counterclockwise or clockwise depending on value of ccw field.
|
|
148
|
+
- ElevationGrid can contain Color/ColorRGBA, Normal and TextureCoordinate nodes.
|
|
149
|
+
- Insert a Shape node before adding geometry or Appearance.
|
|
150
|
+
- You can also substitute a type-matched ProtoInstance node for contained content.
|
|
151
|
+
|
|
152
|
+
### Warning
|
|
153
|
+
|
|
154
|
+
- Generated quadrilaterals can be nonplanar. Tessellation splits quadrilaterals into triangles along seam starting at initial vertex of the quadrilateral and proceeding to opposite vertex.
|
|
155
|
+
|
|
156
|
+
## Example
|
|
157
|
+
|
|
158
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/Geometry3D/ElevationGrid/ElevationGrid.x3d"></x3d-canvas>
|
|
159
|
+
|
|
160
|
+
## External Links
|
|
161
|
+
|
|
162
|
+
- [X3D Specification of ElevationGrid](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#ElevationGrid){:target="_blank"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Extrusion
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-Geometry3D
|
|
5
|
+
categories: [components, Geometry3D]
|
|
6
|
+
tags: [Extrusion, Geometry3D]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
Extrusion is a geometry node stretching a 2D cross section along a 3D-spine path in the local coordinate system. Scaling/rotating cross-sections can produce a variety of shapes.
|
|
17
|
+
|
|
18
|
+
The Extrusion node belongs to the **Geometry3D** component and its default container field is *geometry.* It is available since X3D version 3.0 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DGeometryNode
|
|
25
|
+
+ Extrusion
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Fields
|
|
29
|
+
|
|
30
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
31
|
+
|
|
32
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
33
|
+
|
|
34
|
+
### MFVec2f [in] **set_crossSection** <small>(-∞,∞)</small>
|
|
35
|
+
|
|
36
|
+
An ordered set of 2D points drawing a piecewise-linear curve and forming a planar series of connected vertices. This provides a silhouette of the outer surface.
|
|
37
|
+
|
|
38
|
+
#### Warning
|
|
39
|
+
|
|
40
|
+
- Match clockwise/counterclockwise or impossible/inverted geometry can result!
|
|
41
|
+
|
|
42
|
+
### MFRotation [in] **set_orientation** <small>[-1,1] or (-∞,∞)</small>
|
|
43
|
+
|
|
44
|
+
Orientation is a list of axis-angle orientation 4-tuples applied at each spine-aligned cross-section plane.
|
|
45
|
+
|
|
46
|
+
#### Hint
|
|
47
|
+
|
|
48
|
+
- Number of spine points, scale values and orientation values must be the same.
|
|
49
|
+
|
|
50
|
+
### MFVec2f [in] **set_scale** <small>(0,∞)</small>
|
|
51
|
+
|
|
52
|
+
Scale is a list of 2D-scale parameters applied at each spine-aligned cross-section plane.
|
|
53
|
+
|
|
54
|
+
#### Hint
|
|
55
|
+
|
|
56
|
+
- Number of spine points, scale values and orientation values must be the same.
|
|
57
|
+
|
|
58
|
+
#### Warning
|
|
59
|
+
|
|
60
|
+
- Zero or negative scale values not allowed.
|
|
61
|
+
|
|
62
|
+
### MFVec3f [in] **set_spine** <small>(-∞,∞)</small>
|
|
63
|
+
|
|
64
|
+
Spine is a list of 3D points for a piecewise-linear curve forming a series of connected vertices, open or closed. This is the path along which the crossSection is extruded.
|
|
65
|
+
|
|
66
|
+
#### Hint
|
|
67
|
+
|
|
68
|
+
- Number of spine points, scale values and orientation values must be the same.
|
|
69
|
+
|
|
70
|
+
### SFBool [ ] **beginCap** TRUE
|
|
71
|
+
|
|
72
|
+
Whether beginning cap is drawn (similar to Cylinder top cap).
|
|
73
|
+
|
|
74
|
+
#### Warning
|
|
75
|
+
|
|
76
|
+
- Cannot be changed after initial creation.
|
|
77
|
+
|
|
78
|
+
### SFBool [ ] **endCap** TRUE
|
|
79
|
+
|
|
80
|
+
Whether end cap is drawn (similar to Cylinder end cap).
|
|
81
|
+
|
|
82
|
+
#### Warning
|
|
83
|
+
|
|
84
|
+
- Cannot be changed after initial creation.
|
|
85
|
+
|
|
86
|
+
### SFBool [ ] **solid** TRUE
|
|
87
|
+
|
|
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).
|
|
89
|
+
|
|
90
|
+
#### Hint
|
|
91
|
+
|
|
92
|
+
- If in doubt, use solid='false' for maximum visibility.
|
|
93
|
+
|
|
94
|
+
#### Warning
|
|
95
|
+
|
|
96
|
+
- Default value true can completely hide geometry if viewed from wrong side!
|
|
97
|
+
|
|
98
|
+
### SFBool [ ] **ccw** TRUE
|
|
99
|
+
|
|
100
|
+
*ccw* = counterclockwise: ordering of vertex-coordinates orientation.
|
|
101
|
+
|
|
102
|
+
#### Hint
|
|
103
|
+
|
|
104
|
+
- Ccw false can reverse solid (backface culling) and normal-vector orientation.
|
|
105
|
+
|
|
106
|
+
### SFBool [ ] **convex** TRUE
|
|
107
|
+
|
|
108
|
+
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.
|
|
109
|
+
|
|
110
|
+
#### Warning
|
|
111
|
+
|
|
112
|
+
- Concave geometry may be invisible default convex=true.
|
|
113
|
+
|
|
114
|
+
### SFFloat [ ] **creaseAngle** 0 <small>[0,∞)</small>
|
|
115
|
+
|
|
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, smooth shading is rendered across the shared line segment.
|
|
117
|
+
|
|
118
|
+
#### Hint
|
|
119
|
+
|
|
120
|
+
- CreaseAngle=0 means render all edges sharply, creaseAngle=3.14159 means render all edges smoothly.
|
|
121
|
+
|
|
122
|
+
### MFVec2f [ ] **crossSection** [ 1 1, 1 -1, -1 -1, -1 1, 1 1 ] <small>(-∞,∞)</small>
|
|
123
|
+
|
|
124
|
+
An ordered set of 2D points drawing a piecewise-linear curve and forming a planar series of connected vertices. This provides a silhouette of the outer surface.
|
|
125
|
+
|
|
126
|
+
#### Warning
|
|
127
|
+
|
|
128
|
+
- Match clockwise/counterclockwise or impossible/inverted geometry can result!
|
|
129
|
+
|
|
130
|
+
### MFRotation [ ] **orientation** 0 0 1 0 <small>[-1,1] or (-∞,∞)</small>
|
|
131
|
+
|
|
132
|
+
*orientation* is a list of axis-angle orientation 4-tuples applied at each spine-aligned cross-section plane.
|
|
133
|
+
|
|
134
|
+
#### Hint
|
|
135
|
+
|
|
136
|
+
- Number of spine points, scale values and orientation values must be the same.
|
|
137
|
+
|
|
138
|
+
### MFVec2f [ ] **scale** 1 1 <small>(0,∞)</small>
|
|
139
|
+
|
|
140
|
+
*scale* is a list of 2D-scale parameters applied at each spine-aligned cross-section plane.
|
|
141
|
+
|
|
142
|
+
#### Hint
|
|
143
|
+
|
|
144
|
+
- Number of spine points, scale values and orientation values must be the same.
|
|
145
|
+
|
|
146
|
+
#### Warning
|
|
147
|
+
|
|
148
|
+
- Zero or negative scale values not allowed.
|
|
149
|
+
|
|
150
|
+
### MFVec3f [ ] **spine** [ 0 0 0, 0 1 0 ] <small>(-∞,∞)</small>
|
|
151
|
+
|
|
152
|
+
*spine* is a list of 3D points for a piecewise-linear curve forming a series of connected vertices, open or closed. This is the path along which the crossSection is extruded.
|
|
153
|
+
|
|
154
|
+
#### Hint
|
|
155
|
+
|
|
156
|
+
- Number of spine points, scale values and orientation values must be the same.
|
|
157
|
+
|
|
158
|
+
## Description
|
|
159
|
+
|
|
160
|
+
### Hint
|
|
161
|
+
|
|
162
|
+
- Insert a Shape node before adding geometry or Appearance.
|
|
163
|
+
|
|
164
|
+
## Example
|
|
165
|
+
|
|
166
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/Geometry3D/Extrusion/Extrusion.x3d"></x3d-canvas>
|
|
167
|
+
|
|
168
|
+
## External Links
|
|
169
|
+
|
|
170
|
+
- [X3D Specification of Extrusion](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#Extrusion){:target="_blank"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: IndexedFaceSet
|
|
3
|
+
date: 2022-01-07
|
|
4
|
+
nav: components-Geometry3D
|
|
5
|
+
categories: [components, Geometry3D]
|
|
6
|
+
tags: [IndexedFaceSet, Geometry3D]
|
|
7
|
+
---
|
|
8
|
+
<style>
|
|
9
|
+
.post h3 {
|
|
10
|
+
word-spacing: 0.2em;
|
|
11
|
+
}
|
|
12
|
+
</style>
|
|
13
|
+
|
|
14
|
+
## Overview
|
|
15
|
+
|
|
16
|
+
IndexedFaceSet is a geometry node that can contain a Color/ColorRGBA, Coordinate/CoordinateDouble, Normal and TextureCoordinate nodes.
|
|
17
|
+
|
|
18
|
+
The IndexedFaceSet node belongs to the **Geometry3D** component and its default container field is *geometry.* It is available since X3D version 3.0 or later.
|
|
19
|
+
|
|
20
|
+
## Hierarchy
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
+ X3DNode
|
|
24
|
+
+ X3DGeometryNode
|
|
25
|
+
+ X3DComposedGeometryNode
|
|
26
|
+
+ IndexedFaceSet
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Fields
|
|
30
|
+
|
|
31
|
+
### SFNode [in, out] **metadata** NULL <small>[X3DMetadataObject]</small>
|
|
32
|
+
|
|
33
|
+
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
|
|
34
|
+
|
|
35
|
+
### MFInt32 [in] **set_colorIndex** <small>[0,∞) or -1</small>
|
|
36
|
+
|
|
37
|
+
*colorIndex* values define the order in which Color|ColorRGBA values are applied to polygons (or vertices).
|
|
38
|
+
|
|
39
|
+
#### Hints
|
|
40
|
+
|
|
41
|
+
- If *colorIndex* array is not provided, then Color|ColorRGBA values are indexed according to the coordIndex field.
|
|
42
|
+
- 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
|
|
44
|
+
|
|
45
|
+
### MFInt32 [in] **set_texCoordIndex** <small>[-1,∞)</small>
|
|
46
|
+
|
|
47
|
+
List of texture-coordinate indices mapping attached texture to corresponding coordinates.
|
|
48
|
+
|
|
49
|
+
#### Hint
|
|
50
|
+
|
|
51
|
+
- If *texCoordIndex* array is not provided, then TextureCoordinate values are indexed according to the coordIndex field.
|
|
52
|
+
- Use a tool!
|
|
53
|
+
|
|
54
|
+
### MFInt32 [in] **set_normalIndex** <small>[0,∞) or -1</small>
|
|
55
|
+
|
|
56
|
+
*normalIndex* values define the order in which normal vectors are applied to polygons (or vertices).
|
|
57
|
+
|
|
58
|
+
#### Hints
|
|
59
|
+
|
|
60
|
+
- If normalPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included.
|
|
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.
|
|
63
|
+
|
|
64
|
+
### MFInt32 [in] **set_coordIndex** <small class="small">[0,∞) or -1</small>
|
|
65
|
+
|
|
66
|
+
**colorIndex** values define the order in which Color|ColorRGBA values are applied to polygons (or vertices).
|
|
67
|
+
|
|
68
|
+
#### Hints
|
|
69
|
+
|
|
70
|
+
- If *colorIndex* array is not provided, then Color|ColorRGBA values are indexed according to the coordIndex field.
|
|
71
|
+
- If colorPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included.
|
|
72
|
+
- 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.
|
|
73
|
+
|
|
74
|
+
### SFBool [ ] **solid** TRUE
|
|
75
|
+
|
|
76
|
+
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).
|
|
77
|
+
|
|
78
|
+
#### Hint
|
|
79
|
+
|
|
80
|
+
- If in doubt, use solid='false' for maximum visibility.
|
|
81
|
+
|
|
82
|
+
#### Warning
|
|
83
|
+
|
|
84
|
+
- Default value true can completely hide geometry if viewed from wrong side!
|
|
85
|
+
|
|
86
|
+
### SFBool [ ] **ccw** TRUE
|
|
87
|
+
|
|
88
|
+
*ccw* = counterclockwise: ordering of vertex coordinates orientation.
|
|
89
|
+
|
|
90
|
+
#### Hint
|
|
91
|
+
|
|
92
|
+
- Ccw false can reverse solid (backface culling) and normal-vector orientation.
|
|
93
|
+
|
|
94
|
+
### SFBool [ ] **convex** TRUE
|
|
95
|
+
|
|
96
|
+
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. Interchange profile hint: only convex=true IndexedFaceSets are supported.
|
|
97
|
+
|
|
98
|
+
#### Warning
|
|
99
|
+
|
|
100
|
+
- Concave geometry may be invisible default convex=true.
|
|
101
|
+
|
|
102
|
+
### SFFloat [ ] **creaseAngle** 0 <small>[0,∞)</small>
|
|
103
|
+
|
|
104
|
+
*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.
|
|
105
|
+
|
|
106
|
+
#### Hint
|
|
107
|
+
|
|
108
|
+
- CreaseAngle=0 means render all edges sharply, creaseAngle=3.14159 means render all edges smoothly.
|
|
109
|
+
|
|
110
|
+
### SFBool [ ] **colorPerVertex** TRUE
|
|
111
|
+
|
|
112
|
+
Whether Color node color values are applied to each vertex (true) or to each polygon face (false).
|
|
113
|
+
|
|
114
|
+
#### See Also
|
|
115
|
+
|
|
116
|
+
- [X3D Scene Authoring Hints, Color](https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color){:target="_blank"}
|
|
117
|
+
|
|
118
|
+
### SFBool [ ] **normalPerVertex** TRUE
|
|
119
|
+
|
|
120
|
+
Whether Normal node vector values are applied to each vertex (true) or to each polygon face (false).
|
|
121
|
+
|
|
122
|
+
### MFInt32 [ ] **colorIndex** [ ] <small>[0,∞) or -1</small>
|
|
123
|
+
|
|
124
|
+
*colorIndex* values define the order in which Color|ColorRGBA values are applied to polygons (or vertices).
|
|
125
|
+
|
|
126
|
+
#### Hints
|
|
127
|
+
|
|
128
|
+
- If *colorIndex* array is not provided, then Color|ColorRGBA values are indexed according to the coordIndex field.
|
|
129
|
+
- If colorPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included.
|
|
130
|
+
- If colorPerVertex='true' then a matching set of indices is provided, each separated by sentinel -1, that exactly corresponds to individual
|
|
131
|
+
|
|
132
|
+
### MFInt32 [ ] **texCoordIndex** [ ] <small>[-1,∞)</small>
|
|
133
|
+
|
|
134
|
+
List of texture-coordinate indices mapping attached texture to corresponding coordinates.
|
|
135
|
+
|
|
136
|
+
#### Hint
|
|
137
|
+
|
|
138
|
+
- If *texCoordIndex* array is not provided, then TextureCoordinate values are indexed according to the coordIndex field.
|
|
139
|
+
- Use a tool!
|
|
140
|
+
|
|
141
|
+
### MFInt32 [ ] **normalIndex** [ ] <small>[0,∞) or -1</small>
|
|
142
|
+
|
|
143
|
+
*normalIndex* values define the order in which normal vectors are applied to polygons (or vertices).
|
|
144
|
+
|
|
145
|
+
#### Hints
|
|
146
|
+
|
|
147
|
+
- If normalPerVertex='false' then one index is provided for each polygon defined by the coordIndex array. No sentinel -1 values are included.
|
|
148
|
+
- 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.
|
|
149
|
+
- If no child Normal node is provided, the X3D browser shall automatically generate normals, using creaseAngle to determine smoothed shading across shared vertices.
|
|
150
|
+
|
|
151
|
+
#### Warning
|
|
152
|
+
|
|
153
|
+
- If *normalIndex* array is not provided, then Normal values are indexed according to the coordIndex field.
|
|
154
|
+
|
|
155
|
+
### MFInt32 [ ] **coordIndex** [ ] <small>[0,∞) or -1</small>
|
|
156
|
+
|
|
157
|
+
*coordIndex* indices provide the order in which coordinates are applied to construct each polygon face. Order starts at index 0, commas are optional between sets.
|
|
158
|
+
|
|
159
|
+
#### Hint
|
|
160
|
+
|
|
161
|
+
- Sentinel value -1 is used to separate indices for each successive polygon.
|
|
162
|
+
|
|
163
|
+
### MFNode [in, out] **attrib** [ ] <small>[X3DVertexAttributeNode]</small>
|
|
164
|
+
|
|
165
|
+
Multiple contained FloatVertexAttribute nodes that can specify list of per-vertex attribute information for programmable shaders.
|
|
166
|
+
|
|
167
|
+
#### Hint
|
|
168
|
+
|
|
169
|
+
- [X3D Architecture 32.2.2.4 Per-vertex attributes](https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-CD1/Part01/components/shaders.html#Pervertexattributes){:target="_blank"}
|
|
170
|
+
|
|
171
|
+
### SFNode [in, out] **fogCoord** NULL <small>[FogCoordinate]</small>
|
|
172
|
+
|
|
173
|
+
Single contained FogCoordinate node that can specify depth parameters for fog in corresponding geometry.
|
|
174
|
+
|
|
175
|
+
### SFNode [in, out] **color** NULL <small>[X3DColorNode]</small>
|
|
176
|
+
|
|
177
|
+
Single contained Color or ColorRGBA node that can specify color values applied to corresponding vertices according to colorIndex and colorPerVertex fields.
|
|
178
|
+
|
|
179
|
+
### SFNode [in, out] **texCoord** NULL <small>[X3DTextureCoordinateNode]</small>
|
|
180
|
+
|
|
181
|
+
Single contained TextureCoordinate, TextureCoordinateGenerator or MultiTextureCoordinate node that can specify coordinates for texture mapping onto corresponding geometry.
|
|
182
|
+
|
|
183
|
+
### SFNode [in, out] **normal** NULL <small>[X3DNormalNode]</small>
|
|
184
|
+
|
|
185
|
+
Single contained Normal node that can specify perpendicular vectors for corresponding vertices to support rendering computations, applied according to the normalPerVertex field.
|
|
186
|
+
|
|
187
|
+
#### Hint
|
|
188
|
+
|
|
189
|
+
- Useful for special effects. Normal vector computation by 3D graphics hardware is quite fast so adding normals to a scene is typically unnecessary.
|
|
190
|
+
|
|
191
|
+
### SFNode [in, out] **coord** NULL <small>[X3DCoordinateNode]</small>
|
|
192
|
+
|
|
193
|
+
Single contained Coordinate or CoordinateDouble node that can specify a list of vertex values.
|
|
194
|
+
|
|
195
|
+
## Description
|
|
196
|
+
|
|
197
|
+
### Hints
|
|
198
|
+
|
|
199
|
+
- Insert a Shape node before adding geometry or Appearance.
|
|
200
|
+
- You can also substitute a type-matched ProtoInstance node for contained content.
|
|
201
|
+
|
|
202
|
+
## Example
|
|
203
|
+
|
|
204
|
+
<x3d-canvas src="https://create3000.github.io/media/examples/Geometry3D/IndexedFaceSet/IndexedFaceSet.x3d"></x3d-canvas>
|
|
205
|
+
|
|
206
|
+
## External Links
|
|
207
|
+
|
|
208
|
+
- [X3D Specification of IndexedFaceSet](https://www.web3d.org/documents/specifications/19775-1/V4.0/Part01/components/geometry3D.html#IndexedFaceSet){:target="_blank"}
|