x_ite 5.0.3 → 6.1.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/.vscode/settings.json +12 -5
- package/.vscode/tasks.json +25 -1
- package/Makefile +36 -28
- package/README.md +6 -11
- package/build/bin/dist.pl +0 -6
- package/build/bin/examples-and-tests.pl +75 -0
- package/build/bin/tests-menu.pl +57 -0
- package/build/bin/version.pl +7 -4
- package/build/parts/default.start.frag.js +3 -2
- package/dist/assets/components/annotation.js +3 -2
- package/dist/assets/components/annotation.min.js +1 -1
- package/dist/assets/components/cad-geometry.js +3 -2
- package/dist/assets/components/cad-geometry.min.js +1 -1
- package/dist/assets/components/cube-map-texturing.js +8 -20
- package/dist/assets/components/cube-map-texturing.min.js +1 -1
- package/dist/assets/components/dis.js +3 -2
- package/dist/assets/components/dis.min.js +1 -1
- package/dist/assets/components/event-utilities.js +4 -3
- package/dist/assets/components/event-utilities.min.js +1 -1
- package/dist/assets/components/geometry2d.js +38 -52
- package/dist/assets/components/geometry2d.min.js +1 -1
- package/dist/assets/components/geospatial.js +34 -1686
- package/dist/assets/components/geospatial.min.js +1 -1
- package/dist/assets/components/h-anim.js +71 -77
- package/dist/assets/components/h-anim.min.js +1 -1
- package/dist/assets/components/key-device-sensor.js +4 -3
- package/dist/assets/components/key-device-sensor.min.js +1 -1
- package/dist/assets/components/layout.js +101 -173
- package/dist/assets/components/layout.min.js +1 -1
- package/dist/assets/components/nurbs.js +3 -2
- package/dist/assets/components/nurbs.min.js +1 -1
- package/dist/assets/components/particle-systems.js +1926 -1669
- package/dist/assets/components/particle-systems.min.js +1 -1
- package/dist/assets/components/picking.js +34 -41
- package/dist/assets/components/picking.min.js +1 -1
- package/dist/assets/components/projective-texture-mapping.js +73 -86
- package/dist/assets/components/projective-texture-mapping.min.js +1 -1
- package/dist/assets/components/rigid-body-physics.js +37 -57
- package/dist/assets/components/rigid-body-physics.min.js +1 -1
- package/dist/assets/components/scripting.js +3 -2
- package/dist/assets/components/scripting.min.js +1 -1
- package/dist/assets/components/texturing-3d.js +27 -33
- package/dist/assets/components/texturing-3d.min.js +3 -3
- package/dist/assets/components/volume-rendering.js +12 -11
- package/dist/assets/components/volume-rendering.min.js +1 -1
- package/dist/assets/components/x_ite.js +3 -2
- package/dist/assets/components/x_ite.min.js +1 -1
- package/dist/assets/images/Shading.png +0 -0
- package/dist/assets/linetype/1.png +0 -0
- package/dist/assets/linetype/10.png +0 -0
- package/dist/assets/linetype/11.png +0 -0
- package/dist/assets/linetype/12.png +0 -0
- package/dist/assets/linetype/13.png +0 -0
- package/dist/assets/linetype/14.png +0 -0
- package/dist/assets/linetype/15.png +0 -0
- package/dist/assets/linetype/16.png +0 -0
- package/dist/assets/linetype/2.png +0 -0
- package/dist/assets/linetype/3.png +0 -0
- package/dist/assets/linetype/4.png +0 -0
- package/dist/assets/linetype/5.png +0 -0
- package/dist/assets/linetype/6.png +0 -0
- package/dist/assets/linetype/7.png +0 -0
- package/dist/assets/linetype/8.png +0 -0
- package/dist/assets/linetype/9.png +0 -0
- package/dist/assets/shaders/webgl1/Gouraud.vs +1 -1
- package/dist/assets/shaders/webgl1/Line.fs +0 -21
- package/dist/assets/shaders/webgl1/Line.vs +0 -10
- package/dist/assets/shaders/webgl1/PBR.fs +1 -1
- package/dist/assets/shaders/webgl1/PBR.vs +1 -1
- package/dist/assets/shaders/webgl1/Phong.fs +1 -1
- package/dist/assets/shaders/webgl1/Point.vs +1 -1
- package/dist/assets/shaders/webgl2/Depth.vs +29 -1
- package/dist/assets/shaders/webgl2/Gouraud.vs +32 -4
- package/dist/assets/shaders/webgl2/Line.fs +24 -12
- package/dist/assets/shaders/webgl2/Line.vs +36 -11
- package/dist/assets/shaders/webgl2/LineTransform.fs +4 -0
- package/dist/assets/shaders/webgl2/LineTransform.vs +57 -0
- package/dist/assets/shaders/webgl2/PBR.fs +1 -1
- package/dist/assets/shaders/webgl2/PBR.vs +35 -7
- package/dist/assets/shaders/webgl2/Phong.fs +1 -1
- package/dist/assets/shaders/webgl2/Phong.vs +31 -3
- package/dist/assets/shaders/webgl2/Point.vs +30 -2
- package/dist/assets/shaders/webgl2/Unlit.vs +31 -3
- package/dist/example.html +6 -6
- package/dist/x_ite.css +199 -224
- package/dist/x_ite.js +16335 -15917
- package/dist/x_ite.min.js +17 -17
- package/dist/x_ite.zip +0 -0
- package/docs/404.md +6 -0
- package/docs/Accessing-the-External-Browser.md +21 -15
- package/docs/Browser-Support.md +6 -0
- package/docs/Custom-Shaders.md +18 -25
- package/docs/Features.md +11 -5
- package/docs/Gemfile +44 -0
- package/docs/Gemfile.lock +122 -0
- package/docs/Glossary.md +6 -0
- package/docs/How-To-Configure-Your-Web-Server.md +6 -0
- package/docs/Supported-Nodes.md +9 -1
- package/docs/What's-New.md +93 -39
- package/docs/XHTML-DOM-Integration.md +6 -0
- package/docs/_config.yml +2 -2
- package/docs/assets/css/main.scss +26 -0
- package/docs/index.md +42 -50
- package/docs/reference/Browser-Services.md +9 -3
- package/docs/reference/Constants-Services.md +6 -0
- package/docs/reference/ECMAScript-Object-and-Function-Definitions.md +12 -6
- package/docs/reference/Field-Services-and-Objects.md +105 -1
- package/docs/reference/Prototype-Services.md +11 -0
- package/docs/reference/Route-Services.md +9 -0
- package/docs/reference/Scene-Services.md +17 -2
- package/docs/reference/Script-Node-Authoring-Interface.md +7 -1
- package/docs/tutorials/Adding-backgrounds.md +6 -0
- package/docs/tutorials/Adding-fog.md +6 -0
- package/docs/tutorials/Adding-sound.md +6 -0
- package/docs/tutorials/Animating-transforms.md +6 -0
- package/docs/tutorials/Basic-Nodes.md +6 -0
- package/docs/tutorials/Building-a-X3D-world.md +6 -0
- package/docs/tutorials/Building-elevation-grids.md +6 -0
- package/docs/tutorials/Building-extruded-shapes.md +6 -0
- package/docs/tutorials/Building-primitive-shapes.md +6 -0
- package/docs/tutorials/Building-shapes-out-of-points,-lines,-and-faces.md +6 -0
- package/docs/tutorials/Controlling-appearance-with-materials.md +6 -0
- package/docs/tutorials/Controlling-color-on-coordinate-based-geometry.md +6 -0
- package/docs/tutorials/Controlling-detail.md +6 -0
- package/docs/tutorials/Controlling-how-textures-are-mapped.md +6 -0
- package/docs/tutorials/Controlling-navigation.md +6 -0
- package/docs/tutorials/Controlling-shading-on-coordinate-based-geometry.md +6 -0
- package/docs/tutorials/Controlling-the-viewpoint.md +6 -0
- package/docs/tutorials/Creating-new-node-types.md +6 -0
- package/docs/tutorials/Grouping-nodes.md +6 -0
- package/docs/tutorials/Hello,-World!.md +6 -0
- package/docs/tutorials/Improving-Performance.md +6 -0
- package/docs/tutorials/Increasing-Rendering-Speed.md +6 -0
- package/docs/tutorials/Introducing-X3D.md +6 -0
- package/docs/tutorials/Introducing-animation.md +6 -0
- package/docs/tutorials/Introducing-script-use.md +6 -0
- package/docs/tutorials/Lighting-your-world.md +6 -0
- package/docs/tutorials/Mapping-textures.md +6 -0
- package/docs/tutorials/Naming-nodes.md +6 -0
- package/docs/tutorials/Providing-information-about-your-world.md +6 -0
- package/docs/tutorials/Sensing-the-viewer.md +6 -0
- package/docs/tutorials/Sensing-viewer-actions.md +6 -0
- package/docs/tutorials/Transforming-Shapes.md +6 -0
- package/docs/tutorials/Writing-program-scripts-with-ECMAScript.md +6 -0
- package/docs/tutorials/index.md +42 -36
- package/package.json +6 -7
- package/src/assets/components/geometry2d.js +1 -1
- package/src/assets/components/key-device-sensor.js +1 -1
- package/src/assets/components/layout.js +1 -1
- package/src/assets/components/particle-systems.js +1 -1
- package/src/assets/components/volume-rendering.js +1 -1
- package/src/assets/images/Shading.png +0 -0
- package/src/assets/linetype/1.png +0 -0
- package/src/assets/linetype/10.png +0 -0
- package/src/assets/linetype/11.png +0 -0
- package/src/assets/linetype/12.png +0 -0
- package/src/assets/linetype/13.png +0 -0
- package/src/assets/linetype/14.png +0 -0
- package/src/assets/linetype/15.png +0 -0
- package/src/assets/linetype/16.png +0 -0
- package/src/assets/linetype/2.png +0 -0
- package/src/assets/linetype/3.png +0 -0
- package/src/assets/linetype/4.png +0 -0
- package/src/assets/linetype/5.png +0 -0
- package/src/assets/linetype/6.png +0 -0
- package/src/assets/linetype/7.png +0 -0
- package/src/assets/linetype/8.png +0 -0
- package/src/assets/linetype/9.png +0 -0
- package/src/assets/shaders/Types.glsl +1 -9
- package/src/assets/shaders/webgl1/Gouraud.fs +1 -1
- package/src/assets/shaders/webgl1/Gouraud.vs +2 -3
- package/src/assets/shaders/webgl1/Line.fs +3 -28
- package/src/assets/shaders/webgl1/Line.vs +6 -20
- package/src/assets/shaders/webgl1/PBR.fs +6 -6
- package/src/assets/shaders/webgl1/PBR.vs +1 -1
- package/src/assets/shaders/webgl1/Phong.fs +10 -10
- package/src/assets/shaders/webgl1/Point.vs +2 -2
- package/src/assets/shaders/webgl1/Unlit.fs +4 -4
- package/src/assets/shaders/webgl1/include/Normal.glsl +1 -1
- package/src/assets/shaders/webgl1/include/Texture.glsl +3 -8
- package/src/assets/shaders/webgl2/Depth.vs +4 -1
- package/src/assets/shaders/webgl2/Gouraud.fs +1 -1
- package/src/assets/shaders/webgl2/Gouraud.vs +8 -6
- package/src/assets/shaders/webgl2/Line.fs +11 -17
- package/src/assets/shaders/webgl2/Line.vs +17 -21
- package/src/assets/shaders/webgl2/LineTransform.fs +6 -0
- package/src/assets/shaders/webgl2/LineTransform.vs +77 -0
- package/src/assets/shaders/webgl2/PBR.fs +6 -6
- package/src/assets/shaders/webgl2/PBR.vs +10 -7
- package/src/assets/shaders/webgl2/Phong.fs +11 -11
- package/src/assets/shaders/webgl2/Phong.vs +6 -3
- package/src/assets/shaders/webgl2/Point.vs +5 -4
- package/src/assets/shaders/webgl2/Unlit.fs +5 -5
- package/src/assets/shaders/webgl2/Unlit.vs +6 -3
- package/src/assets/shaders/webgl2/include/Line2.glsl +20 -0
- package/src/assets/shaders/webgl2/include/Normal.glsl +1 -1
- package/src/assets/shaders/webgl2/include/Particle.glsl +36 -0
- package/src/assets/shaders/webgl2/include/Texture.glsl +3 -3
- package/src/example.html +6 -6
- package/src/examples.js +5 -4
- package/src/standard/Math/Algorithm.js +12 -28
- package/src/standard/Math/Geometry/Line2.js +163 -0
- package/src/standard/Math/Geometry/Line3.js +3 -5
- package/src/standard/Math/Geometry/Plane3.js +0 -2
- package/src/standard/Math/Geometry/Triangle3.js +1 -1
- package/src/standard/Math/Geometry/ViewVolume.js +121 -103
- package/src/standard/Math/Numbers/Color3.js +6 -0
- package/src/standard/Math/Numbers/Color4.js +7 -0
- package/src/standard/Math/Numbers/Complex.js +48 -34
- package/src/standard/Math/Numbers/Matrix2.js +62 -2
- package/src/standard/Math/Numbers/Matrix3.js +129 -110
- package/src/standard/Math/Numbers/Matrix4.js +138 -119
- package/src/standard/Math/Numbers/Quaternion.js +12 -5
- package/src/standard/Math/Numbers/Rotation4.js +8 -1
- package/src/standard/Math/Numbers/Vector2.js +42 -9
- package/src/standard/Math/Numbers/Vector3.js +50 -14
- package/src/standard/Math/Numbers/Vector4.js +48 -11
- package/src/standard/Math/Utility/BVH.js +45 -17
- package/src/tests.js +68 -66
- package/src/x_ite/Base/X3DBaseNode.js +22 -11
- package/src/x_ite/Base/X3DField.js +1 -1
- package/src/x_ite/Browser/Core/BrowserOptions.js +24 -143
- package/src/x_ite/Browser/Core/BrowserTimings.js +6 -4
- package/src/x_ite/Browser/Core/Context.js +185 -0
- package/src/x_ite/Browser/Core/ContextMenu.js +398 -211
- package/src/x_ite/Browser/Core/Notification.js +1 -0
- package/src/x_ite/Browser/Core/X3DCoreContext.js +35 -146
- package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +1 -1
- package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +1 -0
- package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +2 -2
- package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +41 -2
- package/src/x_ite/Browser/Geospatial/Geocentric.js +2 -2
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +1 -1
- package/src/x_ite/Browser/Layout/ScreenText.js +18 -65
- package/src/x_ite/Browser/Layout/X3DLayoutContext.js +59 -16
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +13 -20
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +1 -4
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +0 -3
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +15 -8
- package/src/x_ite/Browser/Navigation/X3DViewer.js +12 -20
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +11 -7
- package/src/x_ite/Browser/ParticleSystems/BVH.glsl +183 -0
- package/src/x_ite/Browser/ParticleSystems/Box3.glsl +47 -0
- package/src/x_ite/Browser/ParticleSystems/GeometryTypes.js +66 -0
- package/src/x_ite/Browser/ParticleSystems/Line3.glsl +55 -0
- package/src/x_ite/Browser/ParticleSystems/Plane3.glsl +160 -0
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +27 -3
- package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +41 -37
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +21 -13
- package/src/x_ite/Browser/Shaders/Shader.js +33 -12
- package/src/x_ite/Browser/Shaders/ShaderSource.js +6 -0
- package/src/x_ite/Browser/Shaders/ShaderTest.js +16 -10
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +50 -9
- package/src/x_ite/Browser/Text/X3DTextContext.js +4 -13
- package/src/x_ite/Browser/Text/X3DTextGeometry.js +2 -1
- package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +71 -34
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +2 -2
- package/src/x_ite/Browser/Time/X3DTimeContext.js +4 -2
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/X3DBrowser.js +7 -6
- package/src/x_ite/Browser/X3DBrowserContext.js +43 -10
- package/src/x_ite/Components/Core/X3DNode.js +4 -0
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +0 -2
- package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +3 -4
- package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +1 -12
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +1 -2
- package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +1 -1
- package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +76 -77
- package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +2 -9
- package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +51 -65
- package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +1 -1
- package/src/x_ite/Components/Followers/ColorDamper.js +1 -1
- package/src/x_ite/Components/Followers/X3DChaserNode.js +18 -32
- package/src/x_ite/Components/Followers/X3DDamperNode.js +1 -6
- package/src/x_ite/Components/Followers/X3DFollowerNode.js +1 -1
- package/src/x_ite/Components/Geometry2D/Disk2D.js +30 -46
- package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +1 -1
- package/src/x_ite/Components/Geometry3D/ElevationGrid.js +12 -4
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +4 -4
- package/src/x_ite/Components/Geospatial/GeoCoordinate.js +10 -27
- package/src/x_ite/Components/Geospatial/GeoLOD.js +1 -1
- package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +5 -10
- package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +9 -16
- package/src/x_ite/Components/Geospatial/GeoTransform.js +6 -18
- package/src/x_ite/Components/Geospatial/GeoViewpoint.js +26 -30
- package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +20 -27
- package/src/x_ite/Components/Grouping/X3DGroupingNode.js +8 -8
- package/src/x_ite/Components/Grouping/X3DTransformNode.js +0 -4
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +68 -75
- package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +4 -11
- package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +1 -1
- package/src/x_ite/Components/Layout/LayoutGroup.js +4 -9
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +1 -1
- package/src/x_ite/Components/Layout/ScreenGroup.js +16 -80
- package/src/x_ite/Components/Lighting/DirectionalLight.js +28 -36
- package/src/x_ite/Components/Lighting/PointLight.js +32 -47
- package/src/x_ite/Components/Lighting/SpotLight.js +33 -48
- package/src/x_ite/Components/Navigation/Billboard.js +49 -56
- package/src/x_ite/Components/Navigation/LOD.js +2 -2
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +29 -30
- package/src/x_ite/Components/Navigation/Viewpoint.js +16 -20
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +82 -111
- package/src/x_ite/Components/Networking/Anchor.js +18 -7
- package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +6 -6
- package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +44 -36
- package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +26 -17
- package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +20 -7
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +463 -882
- package/src/x_ite/Components/ParticleSystems/PointEmitter.js +39 -35
- package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +112 -128
- package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +105 -112
- package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +138 -176
- package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +16 -11
- package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +807 -217
- package/src/x_ite/Components/Picking/LinePickSensor.js +31 -39
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +91 -108
- package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +56 -59
- package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +54 -71
- package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +8 -15
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +43 -50
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +32 -39
- package/src/x_ite/Components/Rendering/ClipPlane.js +3 -11
- package/src/x_ite/Components/Rendering/Color.js +12 -24
- package/src/x_ite/Components/Rendering/ColorRGBA.js +13 -25
- package/src/x_ite/Components/Rendering/IndexedLineSet.js +26 -4
- package/src/x_ite/Components/Rendering/LineSet.js +35 -13
- package/src/x_ite/Components/Rendering/PointSet.js +35 -13
- package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +13 -5
- package/src/x_ite/Components/Rendering/X3DGeometryNode.js +331 -387
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +350 -140
- package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +116 -126
- package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +24 -38
- package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +10 -17
- package/src/x_ite/Components/Shaders/ComposedShader.js +35 -75
- package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +8 -11
- package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +10 -14
- package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +10 -14
- package/src/x_ite/Components/Shaders/ShaderPart.js +1 -10
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +220 -210
- package/src/x_ite/Components/Shaders/X3DShaderNode.js +28 -10
- package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +15 -1
- package/src/x_ite/Components/Shape/Appearance.js +37 -4
- package/src/x_ite/Components/Shape/FillProperties.js +12 -1
- package/src/x_ite/Components/Shape/LineProperties.js +33 -1
- package/src/x_ite/Components/Shape/PointProperties.js +24 -3
- package/src/x_ite/Components/Shape/Shape.js +30 -39
- package/src/x_ite/Components/Shape/TwoSidedMaterial.js +3 -1
- package/src/x_ite/Components/Sound/Sound.js +31 -41
- package/src/x_ite/Components/Text/Text.js +6 -20
- package/src/x_ite/Components/Texturing/ImageTexture.js +1 -1
- package/src/x_ite/Components/Texturing/MovieTexture.js +1 -1
- package/src/x_ite/Components/Texturing/PixelTexture.js +2 -2
- package/src/x_ite/Components/Texturing/TextureCoordinate.js +5 -5
- package/src/x_ite/Components/Texturing/TextureProperties.js +4 -4
- package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +5 -4
- package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +24 -33
- package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +5 -5
- package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +5 -5
- package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +12 -19
- package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +8 -8
- package/src/x_ite/Components.js +2 -2
- package/src/x_ite/Fallback.js +9 -3
- package/src/x_ite/Fields/SFColor.js +4 -0
- package/src/x_ite/Fields/SFColorRGBA.js +4 -0
- package/src/x_ite/Fields/SFImage.js +2 -11
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +4 -0
- package/src/x_ite/Fields/SFRotation.js +4 -0
- package/src/x_ite/Fields/SFString.js +4 -0
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +22 -2
- package/src/x_ite/Parser/XMLParser.js +1 -1
- package/src/x_ite/Rendering/TextureBuffer.js +43 -36
- package/src/x_ite/Rendering/VertexArray.js +103 -0
- package/src/x_ite/Rendering/X3DRenderObject.js +127 -148
- package/src/x_ite/X3D.js +32 -26
- package/src/x_ite.config.js +0 -5
- package/src/x_ite.css +216 -175
- package/src/x_ite.html +15 -10
- package/src/x_ite.js +49 -1
- package/x_ite.min.html +15 -10
- package/dist/assets/hatching/0.png +0 -0
- package/dist/assets/linetype/0.png +0 -0
- package/src/assets/hatching/0.png +0 -0
- package/src/assets/linetype/0.png +0 -0
- package/src/spinner.css +0 -67
- package/src/x_ite/Browser/Shape/LineStipples.xcf +0 -0
package/docs/index.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Feel free to add content and custom Front Matter to this file.
|
|
3
|
+
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
|
4
|
+
|
|
5
|
+
layout: single
|
|
6
|
+
---
|
|
1
7
|
# Getting Started
|
|
2
8
|
|
|
3
9
|
## Overview
|
|
@@ -816,6 +822,8 @@ It can be used in [Electron](https://www.electronjs.org) apps in the **renderer
|
|
|
816
822
|
const X3D = require ("x_ite")
|
|
817
823
|
```
|
|
818
824
|
|
|
825
|
+
Make sure that contextIsolation is set to **false** when creating a BrowserWindow instance.
|
|
826
|
+
|
|
819
827
|
### Using X\_ITE with a CDN
|
|
820
828
|
|
|
821
829
|
CDNs can offer a performance benefit by hosting X\_ITE on servers spread across the globe. This also offers an advantage that if the visitor to your webpage has already downloaded a copy of X\_ITE from the same CDN, it won't have to be re-downloaded. To use the X\_ITE CDN, just reference the CSS and JavaScript file in the script element directly from the GitHub CDN or jsDelivr CDN domain.
|
|
@@ -829,7 +837,6 @@ GitCDN serves raw files directly from GitHub with proper Content-Type headers an
|
|
|
829
837
|
If you are a developer or you always wanna be up to date:
|
|
830
838
|
|
|
831
839
|
```html
|
|
832
|
-
<link rel="stylesheet" type="text/css" href="https://create3000.github.io/code/x_ite/latest/dist/x_ite.css"/>
|
|
833
840
|
<script type="text/javascript" src="https://create3000.github.io/code/x_ite/latest/dist/x_ite.min.js"></script>
|
|
834
841
|
```
|
|
835
842
|
|
|
@@ -838,8 +845,7 @@ If you are a developer or you always wanna be up to date:
|
|
|
838
845
|
If you are on production and everything works fine, then use a numbered version.
|
|
839
846
|
|
|
840
847
|
```html
|
|
841
|
-
<
|
|
842
|
-
<script type="text/javascript" src="https://create3000.github.io/code/x_ite/5.0.3/dist/x_ite.min.js"></script>
|
|
848
|
+
<script type="text/javascript" src="https://create3000.github.io/code/x_ite/6.1.0/dist/x_ite.min.js"></script>
|
|
843
849
|
```
|
|
844
850
|
|
|
845
851
|
### jsDelivr CDN
|
|
@@ -849,56 +855,42 @@ Open Source CDN, free, fast, and reliable.
|
|
|
849
855
|
#### Snipped
|
|
850
856
|
|
|
851
857
|
```html
|
|
852
|
-
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/create3000/x_ite@latest/dist/x_ite.css"/>
|
|
853
858
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/create3000/x_ite@latest/dist/x_ite.min.js"></script>
|
|
854
859
|
```
|
|
855
860
|
|
|
856
|
-
## WordPress Plug-In
|
|
857
|
-
|
|
858
|
-
WordPress users can use our plug-in to embed X\_ITE into their web page.
|
|
859
|
-
|
|
860
|
-
[Download WordPress plug-in](https://github.com/create3000/x_ite-wordpress/raw/main/dist/x_ite.zip)
|
|
861
|
-
|
|
862
|
-
### Installation
|
|
863
|
-
|
|
864
|
-
1. Unzip package and put it into the *plugins* folder of your WordPress installation.
|
|
865
|
-
2. Install and activate the plugin on the Plugins page.
|
|
866
|
-
3. Add shortcode `[X3DCanvas src="https://cdn.rawgit.com/create3000/Library/main/Examples/X_ITE/info.x3d" class="x_ite-browser"]` to page or post content.
|
|
867
|
-
4. Modify "src" and "class" attribute.
|
|
868
|
-
|
|
869
861
|
## Embedding X\_ITE within a Web Page
|
|
870
862
|
|
|
871
863
|
To display your X3D scene in a HTML5 page first save your scene as X3D XML Encoded file, X3D JSON Encoded file, or as X3D Classic Encoded file, i.e. create a file with the extension .x3d, .x3dj, .x3dv, or .wrl.
|
|
872
864
|
|
|
873
|
-
The HTML5 page is quite easy to create, the HTML5 code below shows you the minimum requirements. The path to the X3D scene is specified in the src attribute of the <
|
|
865
|
+
The HTML5 page is quite easy to create, the HTML5 code below shows you the minimum requirements. The path to the X3D scene is specified in the src attribute of the <x3d-canvas> element.
|
|
874
866
|
|
|
875
867
|
```html
|
|
876
868
|
<!DOCTYPE html>
|
|
877
869
|
<html>
|
|
878
870
|
<head>
|
|
879
871
|
<meta charset="utf-8"/>
|
|
880
|
-
<link rel="stylesheet" type="text/css" href="https://create3000.github.io/code/x_ite/latest/dist/x_ite.css"/>
|
|
881
872
|
<script type="text/javascript" src="https://create3000.github.io/code/x_ite/latest/dist/x_ite.min.js"></script>
|
|
882
873
|
<style type="text/css">
|
|
883
|
-
|
|
874
|
+
x3d-canvas {
|
|
884
875
|
width: 768px;
|
|
885
876
|
height: 432px;
|
|
886
877
|
}
|
|
887
878
|
</style>
|
|
888
879
|
</head>
|
|
889
880
|
<body>
|
|
890
|
-
<
|
|
881
|
+
<x3d-canvas src="path/to/your/X3D/world.x3d">
|
|
891
882
|
<p>Your browser may not support all features required by X_ITE.
|
|
892
883
|
For a better experience, keep your browser up to date.
|
|
893
|
-
<a href="http://outdatedbrowser.com">Check here for latest versions.</a
|
|
894
|
-
|
|
884
|
+
<a href="http://outdatedbrowser.com">Check here for latest versions.</a>
|
|
885
|
+
</p>
|
|
886
|
+
</x3d-canvas>
|
|
895
887
|
</body>
|
|
896
888
|
</html>
|
|
897
889
|
```
|
|
898
890
|
|
|
899
|
-
To get X\_ITE working you must include the
|
|
891
|
+
To get X\_ITE working you must include the JavaScript file »x\_ite.min.js«. After x\_ite is successfully loaded a new HTML element <x3d-canvas> is available on your page.
|
|
900
892
|
|
|
901
|
-
**Note:** You can style the <
|
|
893
|
+
**Note:** You can style the <x3d-canvas> element as every HTML element with CSS as well as you can place it everywhere within the DOM tree.
|
|
902
894
|
{: .notice--info}
|
|
903
895
|
|
|
904
896
|
### Supported File Formats
|
|
@@ -914,31 +906,31 @@ Additionally files can be compressed using GZip compression.
|
|
|
914
906
|
| Classic VRML | .x3dv, .x3dvz | model/x3d+vrml |
|
|
915
907
|
| VRML | .wrl, .wrz | model/vrml |
|
|
916
908
|
|
|
917
|
-
For more information see [How to Configure Your Web Server](
|
|
909
|
+
For more information see [How to Configure Your Web Server](w-To-Configure-Your-Web-Server.html).
|
|
918
910
|
|
|
919
911
|
### Fallback Content
|
|
920
912
|
|
|
921
|
-
The <
|
|
913
|
+
The <x3d-canvas> element is equal to the <canvas> element in that, it is easy to define some fallback content, to be displayed in older browsers not supporting it. You should always provide fallback content to be displayed by those browsers.
|
|
922
914
|
|
|
923
|
-
Providing fallback content is very straightforward: just insert the alternate content inside the <
|
|
915
|
+
Providing fallback content is very straightforward: just insert the alternate content inside the <x3d-canvas> element. Browsers that don't support <x3d-canvas> will ignore the container and render the fallback content inside it. Browsers that do support <x3d-canvas> will ignore the content inside the container, and just render the canvas normally.
|
|
924
916
|
|
|
925
917
|
For example, we could provide a text description of the X3D element or provide a static image of the dynamically rendered content. This can look something like this:
|
|
926
918
|
|
|
927
919
|
```html
|
|
928
|
-
<
|
|
920
|
+
<x3d-canvas src="world.x3d">
|
|
929
921
|
<p>Current stock price: $3.15 +0.15</p>
|
|
930
|
-
</
|
|
922
|
+
</x3d-canvas>
|
|
931
923
|
```
|
|
932
924
|
|
|
933
925
|
```html
|
|
934
|
-
<
|
|
926
|
+
<x3d-canvas src="world.x3dv">
|
|
935
927
|
<img src="images/clock.png"/>
|
|
936
|
-
</
|
|
928
|
+
</x3d-canvas>
|
|
937
929
|
```
|
|
938
930
|
|
|
939
|
-
## Attributes of the
|
|
931
|
+
## Attributes of the x3d-canvas Tag
|
|
940
932
|
|
|
941
|
-
The HTML **<
|
|
933
|
+
The HTML **<x3d-canvas>** element defines the main content of the X3D document. The <x3d-canvas> element has three attributes that define different behaviours. All of these attributes are optional.
|
|
942
934
|
|
|
943
935
|
### cache
|
|
944
936
|
|
|
@@ -957,17 +949,17 @@ A Boolean value (`true` or `false`) to indicate whether the notification bubble
|
|
|
957
949
|
|
|
958
950
|
### onerror
|
|
959
951
|
|
|
960
|
-
Type: script code. This event is sent to an
|
|
952
|
+
Type: script code. This event is sent to an x3d-canvas element when an error occurs loading a scene.
|
|
961
953
|
{: .notice}
|
|
962
954
|
|
|
963
955
|
### onload
|
|
964
956
|
|
|
965
|
-
Type: script code. This event handler will be called on the
|
|
957
|
+
Type: script code. This event handler will be called on the x3d-canvas element when a scene has finished loading. This applies whether the scene is applied via the src attribute or when a scene is loaded or replaced by another world. If you change the scene, the event will fire again when the new scene loads. This event will not bubble up the element tree.
|
|
966
958
|
{: .notice}
|
|
967
959
|
|
|
968
960
|
### onshutdown
|
|
969
961
|
|
|
970
|
-
Type: script code. This event handler will be called on the
|
|
962
|
+
Type: script code. This event handler will be called on the x3d-canvas element when a scene is unloaded or replaced by another world.
|
|
971
963
|
{: .notice}
|
|
972
964
|
|
|
973
965
|
### preserveDrawingBuffer
|
|
@@ -993,16 +985,16 @@ A MFString value with urls that should be loaded on page load. If no url attribu
|
|
|
993
985
|
### Example
|
|
994
986
|
|
|
995
987
|
```html
|
|
996
|
-
<
|
|
988
|
+
<x3d-canvas cache="true" src="path/to/your/X3D/world.x3d"></x3d-canvas>
|
|
997
989
|
```
|
|
998
990
|
|
|
999
991
|
### More Options
|
|
1000
992
|
|
|
1001
|
-
More options can be adjusted using the [Browser Object](
|
|
993
|
+
More options can be adjusted using the [Browser Object](reference/Browser-Services.html#browser-object) and [Browser Options](reference/Browser-Services.html#browser-options) for scene specific adjustments.
|
|
1002
994
|
|
|
1003
995
|
## Keyboard Shortcuts
|
|
1004
996
|
|
|
1005
|
-
If the
|
|
997
|
+
If the x3d-canvas element is focused, the following keyboard shortcuts are available.
|
|
1006
998
|
|
|
1007
999
|
### Home (Pos 1)
|
|
1008
1000
|
|
|
@@ -1026,27 +1018,27 @@ Display browser timings.
|
|
|
1026
1018
|
|
|
1027
1019
|
### Ctrl+S
|
|
1028
1020
|
|
|
1029
|
-
If
|
|
1021
|
+
If x3d-canvas attribute *debug* is `true`, toggle begin/end update of browser.
|
|
1030
1022
|
|
|
1031
1023
|
### Ctrl+1
|
|
1032
1024
|
|
|
1033
|
-
If
|
|
1025
|
+
If x3d-canvas attribute *debug* is `true`, set shading to POINT.
|
|
1034
1026
|
|
|
1035
1027
|
### Ctrl+2
|
|
1036
1028
|
|
|
1037
|
-
If
|
|
1029
|
+
If x3d-canvas attribute *debug* is `true`, set shading to WIREFRAME.
|
|
1038
1030
|
|
|
1039
1031
|
### Ctrl+3
|
|
1040
1032
|
|
|
1041
|
-
If
|
|
1033
|
+
If x3d-canvas attribute *debug* is `true`, set shading to FLAT.
|
|
1042
1034
|
|
|
1043
1035
|
### Ctrl+4
|
|
1044
1036
|
|
|
1045
|
-
If
|
|
1037
|
+
If x3d-canvas attribute *debug* is `true`, set shading to GOURAUD.
|
|
1046
1038
|
|
|
1047
1039
|
### Ctrl+5
|
|
1048
1040
|
|
|
1049
|
-
If
|
|
1041
|
+
If x3d-canvas attribute *debug* is `true`, set shading to PHONG.
|
|
1050
1042
|
|
|
1051
1043
|
### Shift+F8
|
|
1052
1044
|
|
|
@@ -1064,9 +1056,9 @@ Browser .getContextMenu () .setUserMenu (function ()
|
|
|
1064
1056
|
return {
|
|
1065
1057
|
"command-1": {
|
|
1066
1058
|
name: "Command 1",
|
|
1067
|
-
callback: function (
|
|
1059
|
+
callback: function (event)
|
|
1068
1060
|
{
|
|
1069
|
-
console .log ("Clicked on "
|
|
1061
|
+
console .log ("Clicked on Command 1");
|
|
1070
1062
|
},
|
|
1071
1063
|
},
|
|
1072
1064
|
};
|
|
@@ -1077,13 +1069,13 @@ Browser .getContextMenu () .setUserMenu (function ()
|
|
|
1077
1069
|
|
|
1078
1070
|
X\_ITE is designed to provide access to a browser and its contained scene graph via JavaScript, either within an internal X3D Script node or an external HTML script.
|
|
1079
1071
|
|
|
1080
|
-
[Learn more how to access the external browser.](
|
|
1072
|
+
[Learn more how to access the external browser.](Accessing-the-External-Browser.html)
|
|
1081
1073
|
|
|
1082
1074
|
## XHTML DOM Integration
|
|
1083
1075
|
|
|
1084
1076
|
XHTML DOM integration allows you to integrate 3D content seamlessly into your webpage, with just a JavaScript file included the scene can be written directly into the XHTML markup. There are no further plug-ins needed anymore.
|
|
1085
1077
|
|
|
1086
|
-
[Learn more about how XHTML and X3D can operate together.](
|
|
1078
|
+
[Learn more about how XHTML and X3D can operate together.](XHTML-DOM-Integration.html)
|
|
1087
1079
|
|
|
1088
1080
|
We show you a simple example how you can manipulate the X3D DOM in JavaScript like you would do it with any HTML.
|
|
1089
1081
|
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Feel free to add content and custom Front Matter to this file.
|
|
3
|
+
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
|
4
|
+
|
|
5
|
+
layout: single
|
|
6
|
+
---
|
|
1
7
|
# Browser Services
|
|
2
8
|
|
|
3
9
|
## Browser Object
|
|
@@ -76,7 +82,7 @@ Returns a browser property with the corresponding name.
|
|
|
76
82
|
|
|
77
83
|
#### Browser Properties
|
|
78
84
|
|
|
79
|
-
<table
|
|
85
|
+
<table>
|
|
80
86
|
<thead>
|
|
81
87
|
<tr>
|
|
82
88
|
<th>Name</th>
|
|
@@ -134,7 +140,7 @@ Returns a browser option with the corresponding name.
|
|
|
134
140
|
|
|
135
141
|
#### Browser Options
|
|
136
142
|
|
|
137
|
-
<table
|
|
143
|
+
<table>
|
|
138
144
|
<thead>
|
|
139
145
|
<tr>
|
|
140
146
|
<th>Name</th>
|
|
@@ -241,7 +247,7 @@ Returns a rendering property with the corresponding *name*.
|
|
|
241
247
|
|
|
242
248
|
#### Rendering Properties
|
|
243
249
|
|
|
244
|
-
<table
|
|
250
|
+
<table>
|
|
245
251
|
<thead>
|
|
246
252
|
<tr>
|
|
247
253
|
<th>Name</th>
|
|
@@ -1,15 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Feel free to add content and custom Front Matter to this file.
|
|
3
|
+
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
|
4
|
+
|
|
5
|
+
layout: single
|
|
6
|
+
---
|
|
1
7
|
# ECMAScript Object and Function Definitions
|
|
2
8
|
|
|
3
9
|
## Overview
|
|
4
10
|
|
|
5
11
|
There are a fixed set of objects in ECMAScript, each of which have a fixed set of properties (i.e. values) and methods (i.e. functions). For all object types except Math, there are functions to create an instance of the object. The supported set of objects are:
|
|
6
12
|
|
|
7
|
-
* [Browser Services](
|
|
8
|
-
* [Scene Services](
|
|
9
|
-
* [Field Services and Objects](
|
|
10
|
-
* [Route Services](
|
|
11
|
-
* [Prototype Services](
|
|
12
|
-
* [Constants Services](
|
|
13
|
+
* [Browser Services](Browser-Services.html)
|
|
14
|
+
* [Scene Services](Scene-Services.html)
|
|
15
|
+
* [Field Services and Objects](Field-Services-and-Objects.html)
|
|
16
|
+
* [Route Services](Route-Services.html)
|
|
17
|
+
* [Prototype Services](Prototype-Services.html)
|
|
18
|
+
* [Constants Services](Constants-Services.html)
|
|
13
19
|
|
|
14
20
|
### parseInt and parseFloat Functions
|
|
15
21
|
|
|
@@ -1,5 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Feel free to add content and custom Front Matter to this file.
|
|
3
|
+
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
|
4
|
+
|
|
5
|
+
layout: single
|
|
6
|
+
---
|
|
1
7
|
# Field Services and Objects
|
|
2
8
|
|
|
9
|
+
* [X3DFieldDefinition](#x3dfielddefinition)
|
|
10
|
+
* [FieldDefinitionArray](#fielddefinitionarray)
|
|
11
|
+
* [Field Hierarchy](#field-hierarchy)
|
|
12
|
+
* [X3DField](#x3dfield)
|
|
13
|
+
* [SFColor](#sfcolor-object)
|
|
14
|
+
* [SFColorRGBA](#sfcolorrgba-object)
|
|
15
|
+
* [SFImage](#sfimage-object)
|
|
16
|
+
* [SFMatrix3d/f](#sfmatrix3dsfmatrix3f-object)
|
|
17
|
+
* [SFMatrix4d/f](#sfmatrix4dsfmatrix4f-object)
|
|
18
|
+
* [SFNode](#sfnode-object)
|
|
19
|
+
* [SFRotation](#sfrotation-object)
|
|
20
|
+
* [SFVec2d/f](#sfvec2dsfvec2f-object)
|
|
21
|
+
* [SFVec3d/f](#sfvec3dsfvec3f-object)
|
|
22
|
+
* [SFVec4d/f](#sfvec4dsfvec4f-object)
|
|
23
|
+
* [X3DArrayField](#x3darrayfield)
|
|
24
|
+
* [MFBool](#mfbool-object)
|
|
25
|
+
* [MFColor/MFColorRGBA](#mfcolormfcolorrgba-object)
|
|
26
|
+
* [MFDouble/MFFloat](#mfdoublemffloat-object)
|
|
27
|
+
* [MFImage](#mfimage-object)
|
|
28
|
+
* [MFInt32](#mfint32-object)
|
|
29
|
+
* [MFMatrix3d/f](#mfmatrix3dmfmatrix3f-object)
|
|
30
|
+
* [MFMatrix3d/f](#mfmatrix4dmfmatrix4f-object)
|
|
31
|
+
* [MFNode](#mfnode-object)
|
|
32
|
+
* [MFRotation](#mfrotation-object)
|
|
33
|
+
* [MFString](#mfstring-object)
|
|
34
|
+
* [MFTime](#mftime-object)
|
|
35
|
+
* [MFVec2d/f](#mfvec2dmfvec2f-object)
|
|
36
|
+
* [MFVec3d/f](#mfvec3dmfvec3f-object)
|
|
37
|
+
* [MFVec4d/f](#mfvec4dmfvec4f-object)
|
|
38
|
+
|
|
3
39
|
## X3DFieldDefinition
|
|
4
40
|
|
|
5
41
|
The X3DFieldDefinition object represents all of the descriptive properties of a single field of a node.
|
|
@@ -477,6 +513,10 @@ Returns the second value of the vector.
|
|
|
477
513
|
|
|
478
514
|
### Methods
|
|
479
515
|
|
|
516
|
+
#### SFVec2f **abs** ()
|
|
517
|
+
|
|
518
|
+
Returns an SFVec2f whose value is the absolute value of the object.
|
|
519
|
+
|
|
480
520
|
#### SFVec2f **add** (*vec*)
|
|
481
521
|
|
|
482
522
|
Returns an SFVec2f whose value is the passed SFVec2f added, componentwise, to the object.
|
|
@@ -497,6 +537,10 @@ Returns an SFVec2f whose value is the passed SFVec2f divided, componentwise, by
|
|
|
497
537
|
|
|
498
538
|
Returns the dot product of this vector and SFVec2f *vec*.
|
|
499
539
|
|
|
540
|
+
#### SFVec2f **inverse** ()
|
|
541
|
+
|
|
542
|
+
Returns an SFVec2f whose value is the componentwise inverse of the object.
|
|
543
|
+
|
|
500
544
|
#### Number **length** ()
|
|
501
545
|
|
|
502
546
|
Returns the geometric length of this vector.
|
|
@@ -505,6 +549,14 @@ Returns the geometric length of this vector.
|
|
|
505
549
|
|
|
506
550
|
Returns a SFVec2f whose value is the linear interpolation between this object's vector and *destVector* at value 0 <= *t* <= 1. For *t* = 0, the value is this object's vector. For *t* = 1, the value is *destVector*.
|
|
507
551
|
|
|
552
|
+
#### SFVec2f **min** (*vec*)
|
|
553
|
+
|
|
554
|
+
Returns an SFVec2f whose value is the minimum of the passed SFVec2f and the object.
|
|
555
|
+
|
|
556
|
+
#### SFVec2f **max** (*vec*)
|
|
557
|
+
|
|
558
|
+
Returns an SFVec2f whose value is the maximum of the passed SFVec2f and the object.
|
|
559
|
+
|
|
508
560
|
#### SFVec2f **multiply** (*number*)
|
|
509
561
|
|
|
510
562
|
Returns an SFVec2f whose value is the object multiplied by the passed numeric value.
|
|
@@ -551,6 +603,10 @@ Returns the third value of the vector.
|
|
|
551
603
|
|
|
552
604
|
### Methods
|
|
553
605
|
|
|
606
|
+
#### SFVec3f **abs** ()
|
|
607
|
+
|
|
608
|
+
Returns an SFVec3f whose value is the absolute value of the object.
|
|
609
|
+
|
|
554
610
|
#### SFVec3f **add** (*vec*)
|
|
555
611
|
|
|
556
612
|
Returns an SFVec3f whose value is the passed SFVec3f added, componentwise, to the object.
|
|
@@ -575,6 +631,10 @@ Returns an SFVec3f whose value is the passed SFVec3f divided, componentwise, by
|
|
|
575
631
|
|
|
576
632
|
Returns the dot product of this vector and SFVec3f *vec*.
|
|
577
633
|
|
|
634
|
+
#### SFVec3f **inverse** ()
|
|
635
|
+
|
|
636
|
+
Returns an SFVec3f whose value is the componentwise inverse of the object.
|
|
637
|
+
|
|
578
638
|
#### Number **length** ()
|
|
579
639
|
|
|
580
640
|
Returns the geometric length of this vector.
|
|
@@ -583,6 +643,14 @@ Returns the geometric length of this vector.
|
|
|
583
643
|
|
|
584
644
|
Returns a SFVec3f whose value is the linear interpolation between this object's vector and *destVector* at value 0 <= *t* <= 1. For *t* = 0, the value is this object's vector. For *t* = 1, the value is *destVector*.
|
|
585
645
|
|
|
646
|
+
#### SFVec3f **min** (*vec*)
|
|
647
|
+
|
|
648
|
+
Returns an SFVec3f whose value is the minimum of the passed SFVec3f and the object.
|
|
649
|
+
|
|
650
|
+
#### SFVec3f **max** (*vec*)
|
|
651
|
+
|
|
652
|
+
Returns an SFVec3f whose value is the maximum of the passed SFVec3f and the object.
|
|
653
|
+
|
|
586
654
|
#### SFVec3f **multiply** (*number*)
|
|
587
655
|
|
|
588
656
|
Returns an SFVec3f whose value is the object multiplied by the passed numeric value.
|
|
@@ -633,6 +701,10 @@ Returns the fourth value of the vector.
|
|
|
633
701
|
|
|
634
702
|
### Methods
|
|
635
703
|
|
|
704
|
+
#### SFVec4f **abs** ()
|
|
705
|
+
|
|
706
|
+
Returns an SFVec4f whose value is the absolute value of the object.
|
|
707
|
+
|
|
636
708
|
#### SFVec4f **add** (*vec*)
|
|
637
709
|
|
|
638
710
|
Returns an SFVec4f whose value is the passed SFVec4f added, componentwise, to the object.
|
|
@@ -653,6 +725,10 @@ Returns an SFVec4f whose value is the passed SFVec4f divided, componentwise, by
|
|
|
653
725
|
|
|
654
726
|
Returns the dot product of this vector and SFVec4f *vec*.
|
|
655
727
|
|
|
728
|
+
#### SFVec4f **inverse** ()
|
|
729
|
+
|
|
730
|
+
Returns an SFVec4f whose value is the componentwise inverse of the object.
|
|
731
|
+
|
|
656
732
|
#### Number **length** ()
|
|
657
733
|
|
|
658
734
|
Returns the geometric length of this vector.
|
|
@@ -661,6 +737,14 @@ Returns the geometric length of this vector.
|
|
|
661
737
|
|
|
662
738
|
Returns a SFVec4f whose value is the linear interpolation between this object's vector and *destVector* at value 0 <= *t* <= 1. For *t* = 0, the value is this object's vector. For *t* = 1, the value is *destVector*.
|
|
663
739
|
|
|
740
|
+
#### SFVec4f **min** (*vec*)
|
|
741
|
+
|
|
742
|
+
Returns an SFVec4f whose value is the minimum of the passed SFVec4f and the object.
|
|
743
|
+
|
|
744
|
+
#### SFVec4f **max** (*vec*)
|
|
745
|
+
|
|
746
|
+
Returns an SFVec4f whose value is the maximum of the passed SFVec4f and the object.
|
|
747
|
+
|
|
664
748
|
#### SFVec4f **multiply** (*number*)
|
|
665
749
|
|
|
666
750
|
Returns an SFVec4f whose value is the object multiplied by the passed numeric value.
|
|
@@ -681,7 +765,7 @@ Returns an SFVec4f of object converted to unit length.
|
|
|
681
765
|
|
|
682
766
|
Returns an SFVec4f whose value is the passed SFVec4f subtracted, componentwise, from the object.
|
|
683
767
|
|
|
684
|
-
## X3DArrayField
|
|
768
|
+
## X3DArrayField
|
|
685
769
|
|
|
686
770
|
The X3DArrayField object is the base object of all MF\* objects. It is used to store a one-dimensional array of the corresponding SF\* objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. X3D*ArrayFieldObjectName*\[*index*\], where *index* is an integer-valued expression with 0<=*index*<length and length is the number of elements in the array). Assigning to an element with *index* > length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to 0.0.
|
|
687
771
|
|
|
@@ -945,6 +1029,26 @@ An integer containing the number of elements in the array. Assigning an integer
|
|
|
945
1029
|
|
|
946
1030
|
None
|
|
947
1031
|
|
|
1032
|
+
## MFTime Object
|
|
1033
|
+
|
|
1034
|
+
The MFTime object corresponds to a X3D MFTime field. It is used to store a one-dimensional array of SFTime objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfTimeObjectName*\[*index*\], where *index* is an integer-valued expression with 0<=*index*<length and length is the number of elements in the array). Assigning to an element with *index* > length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to the empty string.
|
|
1035
|
+
|
|
1036
|
+
### Instance Creation Method\(s\)
|
|
1037
|
+
|
|
1038
|
+
#### *mfTimeObjectName =* **new MFTime** (*\[string, string, ...\])*
|
|
1039
|
+
|
|
1040
|
+
The creation method can be passed 0 or more string-valued expressions to initialize the elements of the array.
|
|
1041
|
+
|
|
1042
|
+
### Properties
|
|
1043
|
+
|
|
1044
|
+
#### **length**
|
|
1045
|
+
|
|
1046
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
1047
|
+
|
|
1048
|
+
### Methods
|
|
1049
|
+
|
|
1050
|
+
None
|
|
1051
|
+
|
|
948
1052
|
## MFVec2d/MFVec2f Object
|
|
949
1053
|
|
|
950
1054
|
The MFVec2f object corresponds to a X3D MFVec2f field. It is used to store a one-dimensional array of SFVec2f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec2fObjectName*\[*index*\], where *index* is an integer-valued expression with 0<=*index*<length and length is the number of elements in the array). Assigning to an element with *index* > length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to SFVec2f (0, 0).
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Feel free to add content and custom Front Matter to this file.
|
|
3
|
+
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
|
4
|
+
|
|
5
|
+
layout: single
|
|
6
|
+
---
|
|
1
7
|
# Prototype Services
|
|
2
8
|
|
|
9
|
+
* [X3DProtoDeclaration](#x3dprotodeclaration)
|
|
10
|
+
* [X3DExternProtoDeclaration](#x3dexternprotodeclaration)
|
|
11
|
+
* [ProtoDeclarationArray](#protodeclarationarray)
|
|
12
|
+
* [ExternProtoDeclarationArray](#externprotodeclarationarray)
|
|
13
|
+
|
|
3
14
|
## X3DProtoDeclaration
|
|
4
15
|
|
|
5
16
|
A PROTO declaration is represented by the X3DProtoDeclaration object. This object can only be fetched using the X3DExecutionContext object.
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Feel free to add content and custom Front Matter to this file.
|
|
3
|
+
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
|
4
|
+
|
|
5
|
+
layout: single
|
|
6
|
+
---
|
|
1
7
|
# Route Services
|
|
2
8
|
|
|
9
|
+
* [X3DRoute](#x3droute)
|
|
10
|
+
* [RouteArray](#routearray)
|
|
11
|
+
|
|
3
12
|
## X3DRoute
|
|
4
13
|
|
|
5
14
|
Routes are represented by the X3DRoute object. Routes can only be created through calls to the addRoute () function of X3DExecutionContext.
|
|
@@ -1,5 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Feel free to add content and custom Front Matter to this file.
|
|
3
|
+
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
|
4
|
+
|
|
5
|
+
layout: single
|
|
6
|
+
---
|
|
1
7
|
# Scene Services
|
|
2
8
|
|
|
9
|
+
* [X3DExecutionContext](#x3dexecutioncontext)
|
|
10
|
+
* [X3DScene](#x3dscene)
|
|
11
|
+
* [ProfileInfo](#profileinfo)
|
|
12
|
+
* [ComponentInfo](#componentinfo)
|
|
13
|
+
* [UnitInfo](#unitinfo)
|
|
14
|
+
* [ProfileInfoArray](#profileinfoarray)
|
|
15
|
+
* [ComponentInfoArray](#componentinfoarray)
|
|
16
|
+
* [UnitInfoArray](#unitinfoarray)
|
|
17
|
+
|
|
3
18
|
## X3DExecutionContext
|
|
4
19
|
|
|
5
20
|
This section lists the methods available in the X3DExecutionContext object, which allows scripts to get access to the scene graph.
|
|
@@ -227,7 +242,7 @@ The category of default unit being modified as defined in the table. This proper
|
|
|
227
242
|
|
|
228
243
|
#### Standard units
|
|
229
244
|
|
|
230
|
-
<table
|
|
245
|
+
<table style="height: 210px;" width="466">
|
|
231
246
|
<thead>
|
|
232
247
|
<tr>
|
|
233
248
|
<th style="width: 229.833px;">Category</th>
|
|
@@ -260,7 +275,7 @@ Additional units, called *derived units* are used in this International Standard
|
|
|
260
275
|
|
|
261
276
|
#### Derived Units
|
|
262
277
|
|
|
263
|
-
<table
|
|
278
|
+
<table>
|
|
264
279
|
<thead>
|
|
265
280
|
<tr>
|
|
266
281
|
<th>Category</th>
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Feel free to add content and custom Front Matter to this file.
|
|
3
|
+
# To modify the layout, see https://jekyllrb.com/docs/themes/#overriding-theme-defaults
|
|
4
|
+
|
|
5
|
+
layout: single
|
|
6
|
+
---
|
|
1
7
|
# Script Node Authoring Interface
|
|
2
8
|
|
|
3
9
|
## Overview
|
|
@@ -111,7 +117,7 @@ let b = new MFFloat (1, 2, 3, 4) // 'b' has a MFFloat containing 4 floats
|
|
|
111
117
|
|
|
112
118
|
Combining objects of different types in a single expression or assignment statement will often perform implicit type conversion. Rules for this conversion are described in the following table:
|
|
113
119
|
|
|
114
|
-
<table
|
|
120
|
+
<table>
|
|
115
121
|
<thead>
|
|
116
122
|
<tr>
|
|
117
123
|
<th>Type</th>
|