x_ite 4.0.5 → 4.7.5
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/.github/ISSUE_TEMPLATE/bug_report.md +38 -0
- package/.vscode/settings.json +15 -0
- package/.vscode/tasks.json +25 -0
- package/Makefile +55 -15
- package/README.md +13 -130
- package/build/bin/dist.pl +156 -0
- package/build/bin/version-number.pl +25 -0
- package/build/{version.pl → bin/version.pl} +64 -21
- package/build/components/annotation.build.js +15 -0
- package/build/components/cad-geometry.build.js +15 -0
- package/build/components/cube-map-texturing.build.js +15 -0
- package/build/components/dis.build.js +15 -0
- package/build/components/event-utilities.build.js +15 -0
- package/build/components/geometry2d.build.js +15 -0
- package/build/components/geospatial.build.js +15 -0
- package/build/components/h-anim.build.js +15 -0
- package/build/components/key-device-sensor.build.js +15 -0
- package/build/components/layout.build.js +15 -0
- package/build/components/nurbs.build.js +15 -0
- package/build/components/particle-systems.build.js +15 -0
- package/build/components/picking.build.js +15 -0
- package/build/components/projective-texture-mapping.build.js +15 -0
- package/build/components/rigid-body-physics.build.js +15 -0
- package/build/components/scripting.build.js +15 -0
- package/build/components/texturing-3d.build.js +15 -0
- package/build/components/volume-rendering.build.js +15 -0
- package/build/components/x_ite.build.js +15 -0
- package/build/parts/default.end.frag +2 -0
- package/build/parts/default.start.frag +6 -0
- package/build/parts/x_ite.end.frag +23 -0
- package/build/parts/x_ite.start.frag +8 -0
- package/build/x_ite.build.js +18 -0
- package/dist/LICENSE.txt +49 -0
- package/dist/assets/components/annotation.js +813 -0
- package/dist/assets/components/annotation.min.js +1 -0
- package/dist/assets/components/cad-geometry.js +1037 -0
- package/dist/assets/components/cad-geometry.min.js +1 -0
- package/dist/assets/components/cube-map-texturing.js +1212 -0
- package/dist/assets/components/cube-map-texturing.min.js +1 -0
- package/dist/assets/components/dis.js +908 -0
- package/dist/assets/components/dis.min.js +1 -0
- package/dist/assets/components/event-utilities.js +1114 -0
- package/dist/assets/components/event-utilities.min.js +1 -0
- package/dist/assets/components/geometry2d.js +2190 -0
- package/dist/assets/components/geometry2d.min.js +1 -0
- package/dist/assets/components/geospatial.js +3850 -0
- package/dist/assets/components/geospatial.min.js +2 -0
- package/dist/assets/components/h-anim.js +1084 -0
- package/dist/assets/components/h-anim.min.js +1 -0
- package/dist/assets/components/key-device-sensor.js +850 -0
- package/dist/assets/components/key-device-sensor.min.js +1 -0
- package/dist/assets/components/layout.js +2008 -0
- package/dist/assets/components/layout.min.js +1 -0
- package/dist/assets/components/nurbs.js +5388 -0
- package/dist/assets/components/nurbs.min.js +2 -0
- package/dist/assets/components/particle-systems.js +4216 -0
- package/dist/assets/components/particle-systems.min.js +2 -0
- package/dist/assets/components/picking.js +2481 -0
- package/dist/assets/components/picking.min.js +1 -0
- package/dist/assets/components/projective-texture-mapping.js +813 -0
- package/dist/assets/components/projective-texture-mapping.min.js +1 -0
- package/dist/assets/components/rigid-body-physics.js +4569 -0
- package/dist/assets/components/rigid-body-physics.min.js +59 -0
- package/dist/assets/components/scripting.js +801 -0
- package/dist/assets/components/scripting.min.js +1 -0
- package/dist/assets/components/texturing-3d.js +10054 -0
- package/dist/assets/components/texturing-3d.min.js +48 -0
- package/dist/assets/components/volume-rendering.js +3966 -0
- package/dist/assets/components/volume-rendering.min.js +3 -0
- package/dist/assets/components/x_ite.js +285 -0
- package/dist/assets/components/x_ite.min.js +1 -0
- package/{fonts → dist/assets/fonts}/DroidSerif-Bold.ttf +0 -0
- package/{fonts → dist/assets/fonts}/DroidSerif-BoldItalic.ttf +0 -0
- package/{fonts → dist/assets/fonts}/DroidSerif-Italic.ttf +0 -0
- package/{fonts → dist/assets/fonts}/DroidSerif-Regular.ttf +0 -0
- package/{fonts → dist/assets/fonts}/Ubuntu-B.ttf +0 -0
- package/{fonts → dist/assets/fonts}/Ubuntu-BI.ttf +0 -0
- package/{fonts → dist/assets/fonts}/Ubuntu-R.ttf +0 -0
- package/{fonts → dist/assets/fonts}/Ubuntu-RI.ttf +0 -0
- package/{fonts → dist/assets/fonts}/UbuntuMono-B.ttf +0 -0
- package/{fonts → dist/assets/fonts}/UbuntuMono-BI.ttf +0 -0
- package/{fonts → dist/assets/fonts}/UbuntuMono-R.ttf +0 -0
- package/{fonts → dist/assets/fonts}/UbuntuMono-RI.ttf +0 -0
- package/dist/assets/hatching/0.png +0 -0
- package/dist/assets/hatching/1.png +0 -0
- package/dist/assets/hatching/10.png +0 -0
- package/dist/assets/hatching/11.png +0 -0
- package/dist/assets/hatching/12.png +0 -0
- package/dist/assets/hatching/13.png +0 -0
- package/dist/assets/hatching/14.png +0 -0
- package/dist/assets/hatching/15.png +0 -0
- package/dist/assets/hatching/16.png +0 -0
- package/dist/assets/hatching/17.png +0 -0
- package/dist/assets/hatching/18.png +0 -0
- package/dist/assets/hatching/19.png +0 -0
- package/dist/assets/hatching/2.png +0 -0
- package/dist/assets/hatching/3.png +0 -0
- package/dist/assets/hatching/4.png +0 -0
- package/dist/assets/hatching/5.png +0 -0
- package/dist/assets/hatching/6.png +0 -0
- package/dist/assets/hatching/7.png +0 -0
- package/dist/assets/hatching/8.png +0 -0
- package/dist/assets/hatching/9.png +0 -0
- package/dist/{images → assets/images}/ExamineViewer.png +0 -0
- package/dist/{images → assets/images}/FlyViewer.png +0 -0
- package/dist/{images → assets/images}/NoneViewer.png +0 -0
- package/dist/{images → assets/images}/PlaneViewer.png +0 -0
- package/dist/{images → assets/images}/PrimitiveQuality.png +0 -0
- package/dist/{images → assets/images}/TextureQuality.png +0 -0
- package/dist/{images → assets/images}/Time.png +0 -0
- package/dist/{images → assets/images}/Viewpoint.png +0 -0
- package/dist/{images → assets/images}/WalkViewer.png +0 -0
- package/dist/assets/images/go-next.png +0 -0
- package/dist/{images → assets/images}/gtk-fullscreen.png +0 -0
- package/dist/{images → assets/images}/gtk-leave-fullscreen.png +0 -0
- package/dist/{images → assets/images}/gtk-zoom-fit.png +0 -0
- package/dist/{images → assets/images}/gtk-zoom-in.png +0 -0
- package/dist/{images → assets/images}/help-about.png +0 -0
- package/dist/{images → assets/images}/icon.bw.png +0 -0
- package/dist/{images → assets/images}/icon.png +0 -0
- package/dist/assets/images/logo.128.png +0 -0
- package/dist/{images → assets/images}/logo.bw.png +0 -0
- package/dist/{images → assets/images}/logo.png +0 -0
- package/dist/assets/linetype/0.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/Background.fs +23 -0
- package/dist/assets/shaders/webgl1/Background.vs +16 -0
- package/dist/assets/shaders/webgl1/Depth.fs +60 -0
- package/dist/assets/shaders/webgl1/Depth.vs +13 -0
- package/dist/assets/shaders/webgl1/Fallback.fs +28 -0
- package/dist/assets/shaders/webgl1/Fallback.vs +24 -0
- package/dist/assets/shaders/webgl1/FallbackUnlit.fs +16 -0
- package/dist/assets/shaders/webgl1/FallbackUnlit.vs +18 -0
- package/dist/assets/shaders/webgl1/Gouraud.fs +529 -0
- package/dist/assets/shaders/webgl1/Gouraud.vs +108 -0
- package/dist/assets/shaders/webgl1/Phong.fs +838 -0
- package/dist/assets/shaders/webgl1/Phong.vs +52 -0
- package/dist/assets/shaders/webgl1/PointSet.fs +541 -0
- package/dist/assets/shaders/webgl1/PointSet.vs +48 -0
- package/dist/assets/shaders/webgl1/Unlit.fs +541 -0
- package/dist/assets/shaders/webgl1/Unlit.vs +52 -0
- package/dist/assets/shaders/webgl1/Wireframe.fs +93 -0
- package/dist/assets/shaders/webgl1/Wireframe.vs +47 -0
- package/dist/assets/shaders/webgl2/Background.fs +25 -0
- package/dist/assets/shaders/webgl2/Background.vs +17 -0
- package/dist/assets/shaders/webgl2/Depth.fs +62 -0
- package/dist/assets/shaders/webgl2/Depth.vs +14 -0
- package/dist/assets/shaders/webgl2/Gouraud.fs +684 -0
- package/dist/assets/shaders/webgl2/Gouraud.vs +109 -0
- package/dist/assets/shaders/webgl2/Phong.fs +1014 -0
- package/dist/assets/shaders/webgl2/Phong.vs +53 -0
- package/dist/assets/shaders/webgl2/PointSet.fs +696 -0
- package/dist/assets/shaders/webgl2/PointSet.vs +49 -0
- package/dist/assets/shaders/webgl2/Unlit.fs +696 -0
- package/dist/assets/shaders/webgl2/Unlit.vs +53 -0
- package/dist/assets/shaders/webgl2/Wireframe.fs +102 -0
- package/dist/assets/shaders/webgl2/Wireframe.vs +48 -0
- package/dist/example.html +8 -7
- package/dist/x_ite.css +180 -59
- package/dist/x_ite.js +74696 -68048
- package/dist/x_ite.min.js +42 -41
- package/dist/x_ite.zip +0 -0
- package/docs/404.md +5 -0
- package/docs/Accessing-the-External-Browser.md +290 -0
- package/docs/Browser-Support.md +47 -0
- package/docs/Custom-Shaders.md +905 -0
- package/docs/Features.md +49 -0
- package/docs/Glossary.md +339 -0
- package/docs/How-To-Configure-Your-Web-Server.md +56 -0
- package/docs/Supported-Nodes.md +370 -0
- package/docs/What's-New.md +1240 -0
- package/docs/XHTML-DOM-Integration.md +82 -0
- package/docs/_config.yml +140 -0
- package/docs/_data/navigation.yml +137 -0
- package/docs/assets/css/main.scss +100 -0
- package/docs/assets/images/logo.png +0 -0
- package/docs/google3696ee938394d7b6.html +1 -0
- package/docs/index.md +1026 -0
- package/docs/reference/Browser-Services.md +333 -0
- package/docs/reference/Constants-Services.md +376 -0
- package/docs/reference/ECMAScript-Object-and-Function-Definitions.md +128 -0
- package/docs/reference/Field-Services-and-Objects.md +1006 -0
- package/docs/reference/Prototype-Services.md +121 -0
- package/docs/reference/Route-Services.md +49 -0
- package/docs/reference/Scene-Services.md +360 -0
- package/docs/reference/Script-Node-Authoring-Interface.md +334 -0
- package/docs/tutorials/Adding-backgrounds.md +268 -0
- package/docs/tutorials/Adding-fog.md +67 -0
- package/docs/tutorials/Adding-sound.md +326 -0
- package/docs/tutorials/Animating-transforms.md +385 -0
- package/docs/tutorials/Basic-Nodes.md +317 -0
- package/docs/tutorials/Building-a-X3D-world.md +152 -0
- package/docs/tutorials/Building-elevation-grids.md +170 -0
- package/docs/tutorials/Building-extruded-shapes.md +145 -0
- package/docs/tutorials/Building-primitive-shapes.md +204 -0
- package/docs/tutorials/Building-shapes-out-of-points,-lines,-and-faces.md +311 -0
- package/docs/tutorials/Controlling-appearance-with-materials.md +186 -0
- package/docs/tutorials/Controlling-color-on-coordinate-based-geometry.md +208 -0
- package/docs/tutorials/Controlling-detail.md +130 -0
- package/docs/tutorials/Controlling-how-textures-are-mapped.md +277 -0
- package/docs/tutorials/Controlling-navigation.md +70 -0
- package/docs/tutorials/Controlling-shading-on-coordinate-based-geometry.md +180 -0
- package/docs/tutorials/Controlling-the-viewpoint.md +49 -0
- package/docs/tutorials/Creating-new-node-types.md +313 -0
- package/docs/tutorials/Grouping-nodes.md +237 -0
- package/docs/tutorials/Hello,-World!.md +204 -0
- package/docs/tutorials/Improving-Performance.md +227 -0
- package/docs/tutorials/Increasing-Rendering-Speed.md +110 -0
- package/docs/tutorials/Introducing-X3D.md +94 -0
- package/docs/tutorials/Introducing-animation.md +211 -0
- package/docs/tutorials/Introducing-script-use.md +127 -0
- package/docs/tutorials/Lighting-your-world.md +139 -0
- package/docs/tutorials/Mapping-textures.md +212 -0
- package/docs/tutorials/Naming-nodes.md +161 -0
- package/docs/tutorials/Providing-information-about-your-world.md +30 -0
- package/docs/tutorials/Sensing-the-viewer.md +205 -0
- package/docs/tutorials/Sensing-viewer-actions.md +214 -0
- package/docs/tutorials/Transforming-Shapes.md +270 -0
- package/docs/tutorials/Writing-program-scripts-with-ECMAScript.md +631 -0
- package/docs/tutorials/index.md +78 -0
- package/meta/logo/logo.png +0 -0
- package/meta/logo/logo.svg +216 -217
- package/meta/web3d.html +76 -54
- package/package.json +41 -24
- package/src/assets/components/annotation.js +87 -0
- package/src/assets/components/cad-geometry.js +88 -0
- package/src/assets/components/cube-map-texturing.js +78 -0
- package/src/assets/components/dis.js +84 -0
- package/src/assets/components/event-utilities.js +93 -0
- package/src/assets/components/geometry2d.js +93 -0
- package/src/assets/components/geospatial.js +102 -0
- package/src/assets/components/h-anim.js +83 -0
- package/src/assets/components/key-device-sensor.js +78 -0
- package/src/assets/components/layout.js +87 -0
- package/src/assets/components/nurbs.js +118 -0
- package/src/assets/components/particle-systems.js +105 -0
- package/src/assets/components/picking.js +87 -0
- package/src/assets/components/projective-texture-mapping.js +75 -0
- package/src/assets/components/rigid-body-physics.js +123 -0
- package/src/assets/components/scripting.js +72 -0
- package/src/assets/components/texturing-3d.js +91 -0
- package/src/assets/components/volume-rendering.js +118 -0
- package/src/assets/components/x_ite.js +69 -0
- package/src/assets/fonts/DroidSerif-Bold.ttf +0 -0
- package/src/assets/fonts/DroidSerif-BoldItalic.ttf +0 -0
- package/src/assets/fonts/DroidSerif-Italic.ttf +0 -0
- package/src/assets/fonts/DroidSerif-Regular.ttf +0 -0
- package/src/assets/fonts/Ubuntu-B.ttf +0 -0
- package/src/assets/fonts/Ubuntu-BI.ttf +0 -0
- package/src/assets/fonts/Ubuntu-R.ttf +0 -0
- package/src/assets/fonts/Ubuntu-RI.ttf +0 -0
- package/src/assets/fonts/UbuntuMono-B.ttf +0 -0
- package/src/assets/fonts/UbuntuMono-BI.ttf +0 -0
- package/src/assets/fonts/UbuntuMono-R.ttf +0 -0
- package/src/assets/fonts/UbuntuMono-RI.ttf +0 -0
- package/src/assets/hatching/0.png +0 -0
- package/src/assets/hatching/1.png +0 -0
- package/src/assets/hatching/10.png +0 -0
- package/src/assets/hatching/11.png +0 -0
- package/src/assets/hatching/12.png +0 -0
- package/src/assets/hatching/13.png +0 -0
- package/src/assets/hatching/14.png +0 -0
- package/src/assets/hatching/15.png +0 -0
- package/src/assets/hatching/16.png +0 -0
- package/src/assets/hatching/17.png +0 -0
- package/src/assets/hatching/18.png +0 -0
- package/src/assets/hatching/19.png +0 -0
- package/src/assets/hatching/2.png +0 -0
- package/src/assets/hatching/3.png +0 -0
- package/src/assets/hatching/4.png +0 -0
- package/src/assets/hatching/5.png +0 -0
- package/src/assets/hatching/6.png +0 -0
- package/src/assets/hatching/7.png +0 -0
- package/src/assets/hatching/8.png +0 -0
- package/src/assets/hatching/9.png +0 -0
- package/src/{images → assets/images}/ExamineViewer.png +0 -0
- package/src/{images → assets/images}/FlyViewer.png +0 -0
- package/src/{images → assets/images}/NoneViewer.png +0 -0
- package/src/{images → assets/images}/PlaneViewer.png +0 -0
- package/src/{images → assets/images}/PrimitiveQuality.png +0 -0
- package/src/{images → assets/images}/TextureQuality.png +0 -0
- package/src/{images → assets/images}/Time.png +0 -0
- package/src/{images → assets/images}/Viewpoint.png +0 -0
- package/src/{images → assets/images}/WalkViewer.png +0 -0
- package/src/assets/images/go-next.png +0 -0
- package/src/{images → assets/images}/gtk-fullscreen.png +0 -0
- package/src/{images → assets/images}/gtk-leave-fullscreen.png +0 -0
- package/src/{images → assets/images}/gtk-zoom-fit.png +0 -0
- package/src/{images → assets/images}/gtk-zoom-in.png +0 -0
- package/src/{images → assets/images}/help-about.png +0 -0
- package/src/{images → assets/images}/icon.bw.png +0 -0
- package/src/{images → assets/images}/icon.png +0 -0
- package/src/assets/images/logo.128.png +0 -0
- package/src/{images → assets/images}/logo.bw.png +0 -0
- package/src/{images → assets/images}/logo.png +0 -0
- package/src/assets/linetype/0.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 +102 -0
- package/src/assets/shaders/webgl1/Background.fs +16 -0
- package/src/assets/shaders/webgl1/Background.vs +22 -0
- package/src/assets/shaders/webgl1/Depth.fs +16 -0
- package/src/assets/shaders/webgl1/Depth.vs +20 -0
- package/src/assets/shaders/webgl1/Fallback.fs +38 -0
- package/src/assets/shaders/webgl1/Fallback.vs +30 -0
- package/src/assets/shaders/webgl1/FallbackUnlit.fs +22 -0
- package/src/assets/shaders/webgl1/FallbackUnlit.vs +24 -0
- package/src/assets/shaders/webgl1/Gouraud.fs +66 -0
- package/src/assets/shaders/webgl1/Gouraud.vs +148 -0
- package/src/assets/shaders/webgl1/Phong.fs +173 -0
- package/src/assets/shaders/webgl1/Phong.vs +67 -0
- package/src/assets/shaders/webgl1/PointSet.fs +100 -0
- package/src/assets/shaders/webgl1/PointSet.vs +70 -0
- package/src/assets/shaders/webgl1/Unlit.fs +89 -0
- package/src/assets/shaders/webgl1/Unlit.vs +67 -0
- package/src/assets/shaders/webgl1/Wireframe.fs +74 -0
- package/src/assets/shaders/webgl1/Wireframe.vs +63 -0
- package/src/assets/shaders/webgl1/include/ClipPlanes.glsl +16 -0
- package/src/assets/shaders/webgl1/include/Fog.glsl +38 -0
- package/src/assets/shaders/webgl1/include/Hatch.glsl +18 -0
- package/src/assets/shaders/webgl1/include/Pack.glsl +51 -0
- package/src/assets/shaders/webgl1/include/Perlin.glsl +40 -0
- package/src/assets/shaders/webgl1/include/Shadow.glsl +310 -0
- package/src/assets/shaders/webgl1/include/Texture.glsl +488 -0
- package/src/assets/shaders/webgl2/Background.fs +19 -0
- package/src/assets/shaders/webgl2/Background.vs +23 -0
- package/src/assets/shaders/webgl2/Depth.fs +19 -0
- package/src/assets/shaders/webgl2/Depth.vs +21 -0
- package/src/assets/shaders/webgl2/Gouraud.fs +64 -0
- package/src/assets/shaders/webgl2/Gouraud.vs +149 -0
- package/src/assets/shaders/webgl2/Phong.fs +171 -0
- package/src/assets/shaders/webgl2/Phong.vs +68 -0
- package/src/assets/shaders/webgl2/PointSet.fs +99 -0
- package/src/assets/shaders/webgl2/PointSet.vs +71 -0
- package/src/assets/shaders/webgl2/Unlit.fs +88 -0
- package/src/assets/shaders/webgl2/Unlit.vs +68 -0
- package/src/assets/shaders/webgl2/Wireframe.fs +73 -0
- package/src/assets/shaders/webgl2/Wireframe.vs +64 -0
- package/src/assets/shaders/webgl2/include/ClipPlanes.glsl +16 -0
- package/src/assets/shaders/webgl2/include/Fog.glsl +46 -0
- package/src/assets/shaders/webgl2/include/Hatch.glsl +18 -0
- package/src/assets/shaders/webgl2/include/Pack.glsl +51 -0
- package/src/assets/shaders/webgl2/include/Perlin.glsl +40 -0
- package/src/assets/shaders/webgl2/include/Shadow.glsl +324 -0
- package/src/assets/shaders/webgl2/include/Texture.glsl +623 -0
- package/src/bookmarks.js +83 -164
- package/src/dummy.js +1 -0
- package/src/example.html +8 -7
- package/src/examples.js +150 -0
- package/src/lib/ammojs/AmmoJS.js +58 -0
- package/src/lib/ammojs/Makefile +26 -0
- package/src/lib/ammojs/ammo.idl +1031 -0
- package/src/lib/ammojs/ammo.js +40 -0
- package/src/lib/jpeg/jpeg.js +1019 -0
- package/src/lib/nurbs/extras/sample.js +242 -0
- package/src/lib/nurbs/nurbs.js +342 -0
- package/src/lib/nurbs/src/evaluate.js +413 -0
- package/src/lib/nurbs/src/numerical-derivative.js +54 -0
- package/src/lib/nurbs/src/support.js +151 -0
- package/src/lib/nurbs/src/transform.js +78 -0
- package/src/lib/nurbs/src/utils/accessor-preamble.js +33 -0
- package/src/lib/nurbs/src/utils/bisection-search.js +28 -0
- package/src/lib/nurbs/src/utils/cache-key.js +57 -0
- package/src/lib/nurbs/src/utils/create-accessors.js +110 -0
- package/src/lib/nurbs/src/utils/infer-type.js +52 -0
- package/src/lib/nurbs/src/utils/is-array-like.js +10 -0
- package/src/lib/nurbs/src/utils/is-ndarray-like.js +18 -0
- package/src/lib/nurbs/src/utils/is-ndarray.js +21 -0
- package/src/lib/nurbs/src/utils/ndloop.js +23 -0
- package/src/lib/nurbs/src/utils/size-getter.js +22 -0
- package/src/lib/nurbs/src/utils/variable.js +31 -0
- package/src/locale/de.po +8 -3
- package/src/locale/fr.po +9 -4
- package/src/locale/gettext.js +3 -3
- package/src/spinner.css +21 -8
- package/src/standard/Geospatial/Geodetic.js +48 -48
- package/src/standard/Geospatial/ReferenceEllipsoids.js +1 -1
- package/src/standard/Geospatial/UniversalTransverseMercator.js +43 -43
- package/src/standard/Math/Algorithm.js +25 -41
- package/src/standard/Math/Algorithms/Bezier.js +147 -0
- package/src/standard/Math/Algorithms/MergeSort.js +2 -2
- package/src/standard/Math/Algorithms/PartialSort.js +97 -0
- package/src/standard/Math/Algorithms/QuickSort.js +8 -6
- package/src/standard/Math/Algorithms/SAT.js +4 -8
- package/src/standard/Math/Algorithms/eigendecomposition.js +37 -33
- package/src/standard/Math/Geometry/Box2.js +84 -56
- package/src/standard/Math/Geometry/Box3.js +457 -284
- package/src/standard/Math/Geometry/Camera.js +24 -15
- package/src/standard/Math/Geometry/Cylinder3.js +13 -13
- package/src/standard/Math/Geometry/Line3.js +61 -53
- package/src/standard/Math/Geometry/Plane3.js +16 -16
- package/src/standard/Math/Geometry/Sphere3.js +122 -105
- package/src/standard/Math/Geometry/Spheroid3.js +1 -1
- package/src/standard/Math/Geometry/Triangle2.js +6 -6
- package/src/standard/Math/Geometry/Triangle3.js +80 -88
- package/src/standard/Math/Geometry/ViewVolume.js +315 -116
- package/src/standard/Math/Numbers/Color3.js +45 -29
- package/src/standard/Math/Numbers/Color4.js +25 -14
- package/src/standard/Math/Numbers/Complex.js +15 -22
- package/src/standard/Math/Numbers/Matrix2.js +37 -17
- package/src/standard/Math/Numbers/Matrix3.js +181 -212
- package/src/standard/Math/Numbers/Matrix4.js +204 -262
- package/src/standard/Math/Numbers/Quaternion.js +60 -147
- package/src/standard/Math/Numbers/Rotation4.js +197 -129
- package/src/standard/Math/Numbers/Vector2.js +53 -109
- package/src/standard/Math/Numbers/Vector3.js +75 -144
- package/src/standard/Math/Numbers/Vector4.js +85 -155
- package/src/standard/Math/Utility/BVH.js +35 -30
- package/src/standard/Math/Utility/MatrixStack.js +6 -9
- package/src/standard/Networking/BinaryTransport.js +8 -8
- package/src/standard/Time/MicroTime.js +79 -0
- package/src/standard/Utility/DataStorage.js +40 -17
- package/src/standard/Utility/MapUtilities.js +69 -0
- package/src/standard/Utility/ObjectCache.js +2 -3
- package/src/standard/Utility/Shuffle.js +5 -6
- package/src/tests.js +386 -0
- package/src/x_ite/Base/Events.js +22 -30
- package/src/x_ite/Base/X3DChildObject.js +35 -19
- package/src/x_ite/Base/X3DEventObject.js +10 -12
- package/src/x_ite/Base/X3DObject.js +63 -43
- package/src/x_ite/Basic/FieldDefinitionArray.js +16 -10
- package/src/x_ite/Basic/X3DArrayField.js +3 -430
- package/src/x_ite/Basic/X3DBaseNode.js +551 -288
- package/src/x_ite/Basic/X3DField.js +133 -96
- package/src/x_ite/Basic/X3DFieldDefinition.js +0 -4
- package/src/x_ite/Basic/X3DObjectArrayField.js +545 -0
- package/src/x_ite/Basic/X3DTypedArrayField.js +839 -0
- package/src/x_ite/Bits/TraverseType.js +2 -5
- package/src/x_ite/Bits/X3DConstants.js +12 -322
- package/src/x_ite/Browser/Core/BrowserOptions.js +205 -77
- package/src/x_ite/Browser/Core/BrowserProperties.js +2 -4
- package/src/x_ite/Browser/Core/BrowserTimings.js +16 -15
- package/src/x_ite/Browser/Core/ContextMenu.js +202 -80
- package/src/x_ite/Browser/Core/Notification.js +14 -6
- package/src/x_ite/Browser/Core/PrimitiveQuality.js +3 -7
- package/src/x_ite/Browser/Core/RenderingProperties.js +10 -11
- package/src/x_ite/Browser/Core/Shading.js +66 -0
- package/src/x_ite/Browser/Core/TextureQuality.js +3 -7
- package/src/x_ite/Browser/Core/X3DCoreContext.js +495 -48
- package/src/x_ite/Browser/Core/X3DCoreContext.js.~1~ +714 -0
- package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +17 -23
- package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +12 -20
- package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +82 -34
- package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +3 -5
- package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +3 -5
- package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +12 -9
- package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +60 -42
- package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +16 -20
- package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +51 -12
- package/src/x_ite/Browser/Geometry3D/BoxOptions.js +17 -21
- package/src/x_ite/Browser/Geometry3D/ConeOptions.js +2 -4
- package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +2 -4
- package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +2 -4
- package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +3 -5
- package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -9
- package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +98 -0
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +12 -12
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +2 -4
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +2 -4
- package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +22 -200
- package/src/x_ite/Browser/Layout/ScreenText.js +287 -295
- package/src/x_ite/Browser/Layout/X3DLayoutContext.js +15 -12
- package/src/x_ite/Browser/Lighting/X3DLightingContext.js +18 -12
- package/src/x_ite/Browser/NURBS/NURBS.js +481 -0
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +587 -127
- package/src/x_ite/Browser/Navigation/FlyViewer.js +23 -5
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +402 -18
- package/src/x_ite/Browser/Navigation/NoneViewer.js +13 -3
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +46 -28
- package/src/x_ite/Browser/Navigation/WalkViewer.js +45 -17
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +414 -207
- package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +65 -48
- package/src/x_ite/Browser/Navigation/X3DViewer.js +99 -45
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +39 -38
- package/src/x_ite/Browser/Networking/urls.js +34 -5
- package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +7 -9
- package/src/x_ite/Browser/Picking/IntersectionType.js +63 -0
- package/src/x_ite/Browser/Picking/MatchCriterion.js +64 -0
- package/src/x_ite/Browser/Picking/SortOrder.js +65 -0
- package/src/x_ite/Browser/Picking/VolumePicker.js +197 -0
- package/src/x_ite/Browser/Picking/X3DPickingContext.js +130 -0
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +89 -30
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +1 -3
- package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +33 -15
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +39 -151
- package/src/x_ite/Browser/RigidBodyPhysics/AppliedParametersType.js +70 -0
- package/src/x_ite/Browser/Shaders/Shader.js +150 -50
- package/src/x_ite/Browser/Shaders/ShaderSource.js +140 -0
- package/src/x_ite/Browser/Shaders/ShaderTest.js +94 -77
- package/src/x_ite/Browser/Shaders/X3DShadersContext.js +220 -5
- package/src/x_ite/Browser/Shape/AlphaMode.js +65 -0
- package/src/x_ite/Browser/Shape/LineStipples.xcf +0 -0
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +108 -4
- package/src/x_ite/Browser/Sound/X3DSoundContext.js +1 -20
- package/src/x_ite/Browser/Text/PolygonText.js +165 -359
- package/src/x_ite/Browser/Text/TextAlignment.js +3 -7
- package/src/x_ite/Browser/Text/X3DTextContext.js +38 -30
- package/src/x_ite/Browser/Text/X3DTextGeometry.js +58 -84
- package/src/x_ite/Browser/Texturing/MultiTextureFunctionType.js +64 -0
- package/src/x_ite/Browser/Texturing/MultiTextureModeType.js +81 -0
- package/src/x_ite/Browser/Texturing/MultiTextureSourceType.js +65 -0
- package/src/x_ite/Browser/Texturing/TextureCoordinateGeneratorModeType.js +73 -0
- package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +148 -41
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +1126 -0
- package/src/x_ite/Browser/Texturing3D/NRRDParser.js +686 -0
- package/src/x_ite/Browser/Time/X3DTimeContext.js +20 -17
- package/src/x_ite/Browser/VERSION.js +2 -2
- package/src/x_ite/Browser/VolumeRendering/VolumeStyle.fs +120 -0
- package/src/x_ite/Browser/VolumeRendering/VolumeStyle.vs +28 -0
- package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +114 -0
- package/src/x_ite/Browser/X3DBrowser.js +282 -182
- package/src/x_ite/Browser/X3DBrowserContext.js +77 -43
- package/src/x_ite/Components/Annotation/AnnotationLayer.js +108 -0
- package/src/x_ite/Components/Annotation/AnnotationTarget.js +101 -0
- package/src/x_ite/Components/{PointingDeviceSensor/TouchGroup.js → Annotation/GroupAnnotation.js} +30 -24
- package/src/x_ite/Components/Annotation/IconAnnotation.js +110 -0
- package/src/x_ite/Components/Annotation/TextAnnotation.js +102 -0
- package/src/x_ite/Components/Annotation/URLAnnotation.js +101 -0
- package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +76 -0
- package/src/x_ite/Components/CADGeometry/CADAssembly.js +6 -8
- package/src/x_ite/Components/CADGeometry/CADFace.js +137 -33
- package/src/x_ite/Components/CADGeometry/CADLayer.js +5 -18
- package/src/x_ite/Components/CADGeometry/CADPart.js +6 -12
- package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +20 -36
- package/src/x_ite/Components/CADGeometry/QuadSet.js +11 -24
- package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +2 -4
- package/src/x_ite/Components/Core/MetadataBoolean.js +2 -4
- package/src/x_ite/Components/Core/MetadataDouble.js +2 -4
- package/src/x_ite/Components/Core/MetadataFloat.js +2 -4
- package/src/x_ite/Components/Core/MetadataInteger.js +2 -4
- package/src/x_ite/Components/Core/MetadataSet.js +2 -4
- package/src/x_ite/Components/Core/MetadataString.js +2 -4
- package/src/x_ite/Components/Core/WorldInfo.js +18 -10
- package/src/x_ite/Components/Core/X3DBindableNode.js +5 -36
- package/src/x_ite/Components/Core/X3DChildNode.js +16 -5
- package/src/x_ite/Components/Core/X3DInfoNode.js +2 -4
- package/src/x_ite/Components/Core/X3DMetadataObject.js +1 -3
- package/src/x_ite/Components/Core/X3DNode.js +2 -64
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +190 -210
- package/src/x_ite/Components/Core/X3DSensorNode.js +2 -4
- package/src/x_ite/Components/Core.js +111 -0
- package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +42 -50
- package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +41 -42
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +44 -59
- package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +48 -46
- package/src/x_ite/Components/DIS/DISEntityManager.js +2 -4
- package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +2 -4
- package/src/x_ite/Components/DIS/EspduTransform.js +13 -9
- package/src/x_ite/Components/DIS/ReceiverPdu.js +13 -9
- package/src/x_ite/Components/DIS/SignalPdu.js +13 -9
- package/src/x_ite/Components/DIS/TransmitterPdu.js +13 -9
- package/src/x_ite/Components/EnvironmentalEffects/Background.js +2 -4
- package/src/x_ite/Components/EnvironmentalEffects/Fog.js +15 -18
- package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +59 -7
- package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +12 -10
- package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +2 -4
- package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +149 -143
- package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +61 -22
- package/src/x_ite/Components/EnvironmentalEffects.js +90 -0
- package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +121 -121
- package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +173 -53
- package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +33 -31
- package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +19 -11
- package/src/x_ite/Components/EnvironmentalSensor.js +81 -0
- package/src/x_ite/Components/EventUtilities/BooleanFilter.js +2 -4
- package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +2 -4
- package/src/x_ite/Components/EventUtilities/BooleanToggle.js +2 -4
- package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +2 -4
- package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +2 -4
- package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +2 -4
- package/src/x_ite/Components/EventUtilities/TimeTrigger.js +2 -4
- package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +2 -4
- package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +2 -4
- package/src/x_ite/Components/Followers/ColorChaser.js +3 -7
- package/src/x_ite/Components/Followers/ColorDamper.js +3 -7
- package/src/x_ite/Components/Followers/CoordinateChaser.js +3 -11
- package/src/x_ite/Components/Followers/CoordinateDamper.js +2 -10
- package/src/x_ite/Components/Followers/OrientationChaser.js +9 -7
- package/src/x_ite/Components/Followers/OrientationDamper.js +9 -7
- package/src/x_ite/Components/Followers/PositionChaser.js +3 -7
- package/src/x_ite/Components/Followers/PositionChaser2D.js +3 -7
- package/src/x_ite/Components/Followers/PositionDamper.js +3 -7
- package/src/x_ite/Components/Followers/PositionDamper2D.js +3 -7
- package/src/x_ite/Components/Followers/ScalarChaser.js +7 -7
- package/src/x_ite/Components/Followers/ScalarDamper.js +3 -7
- package/src/x_ite/Components/Followers/TexCoordChaser2D.js +3 -11
- package/src/x_ite/Components/Followers/TexCoordDamper2D.js +3 -11
- package/src/x_ite/Components/Followers/X3DChaserNode.js +26 -26
- package/src/x_ite/Components/Followers/X3DDamperNode.js +6 -10
- package/src/x_ite/Components/Followers/X3DFollowerNode.js +11 -11
- package/src/x_ite/Components/Followers.js +120 -0
- package/src/x_ite/Components/Geometry2D/Arc2D.js +28 -30
- package/src/x_ite/Components/Geometry2D/ArcClose2D.js +95 -93
- package/src/x_ite/Components/Geometry2D/Circle2D.js +16 -15
- package/src/x_ite/Components/Geometry2D/Disk2D.js +80 -88
- package/src/x_ite/Components/Geometry2D/Polyline2D.js +13 -19
- package/src/x_ite/Components/Geometry2D/Polypoint2D.js +12 -18
- package/src/x_ite/Components/Geometry2D/Rectangle2D.js +13 -13
- package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +31 -30
- package/src/x_ite/Components/Geometry3D/Box.js +12 -12
- package/src/x_ite/Components/Geometry3D/Cone.js +34 -36
- package/src/x_ite/Components/Geometry3D/Cylinder.js +52 -54
- package/src/x_ite/Components/Geometry3D/ElevationGrid.js +90 -52
- package/src/x_ite/Components/Geometry3D/Extrusion.js +472 -388
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +193 -163
- package/src/x_ite/Components/Geometry3D/Sphere.js +17 -19
- package/src/x_ite/Components/Geometry3D.js +90 -0
- package/src/x_ite/Components/Geospatial/GeoCoordinate.js +124 -61
- package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +54 -36
- package/src/x_ite/Components/Geospatial/GeoLOD.js +190 -98
- package/src/x_ite/Components/Geospatial/GeoLocation.js +8 -10
- package/src/x_ite/Components/Geospatial/GeoMetadata.js +2 -4
- package/src/x_ite/Components/Geospatial/GeoOrigin.js +2 -4
- package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +4 -4
- package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +10 -7
- package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +4 -4
- package/src/x_ite/Components/Geospatial/GeoTransform.js +13 -13
- package/src/x_ite/Components/Geospatial/GeoViewpoint.js +131 -78
- package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +7 -9
- package/src/x_ite/Components/Grouping/Group.js +5 -7
- package/src/x_ite/Components/Grouping/StaticGroup.js +194 -22
- package/src/x_ite/Components/Grouping/Switch.js +174 -25
- package/src/x_ite/Components/Grouping/Transform.js +5 -7
- package/src/x_ite/Components/Grouping/X3DBoundedObject.js +70 -16
- package/src/x_ite/Components/Grouping/X3DGroupingNode.js +442 -151
- package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +53 -29
- package/src/x_ite/Components/Grouping/X3DTransformNode.js +6 -9
- package/src/x_ite/Components/Grouping.js +93 -0
- package/src/x_ite/Components/{H-Anim → HAnim}/HAnimDisplacer.js +8 -10
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +360 -0
- package/src/x_ite/Components/{H-Anim → HAnim}/HAnimJoint.js +108 -23
- package/src/x_ite/Components/HAnim/HAnimMotion.js +113 -0
- package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSegment.js +14 -14
- package/src/x_ite/Components/{H-Anim → HAnim}/HAnimSite.js +14 -16
- package/src/x_ite/Components/Interpolation/ColorInterpolator.js +13 -11
- package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +21 -13
- package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +19 -11
- package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +8 -8
- package/src/x_ite/Components/Interpolation/NormalInterpolator.js +28 -14
- package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +27 -16
- package/src/x_ite/Components/Interpolation/PositionInterpolator.js +10 -8
- package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +10 -8
- package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +2 -4
- package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +7 -9
- package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +7 -9
- package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +7 -9
- package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +10 -11
- package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +2 -4
- package/src/x_ite/Components/Interpolation.js +111 -0
- package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +72 -8
- package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +65 -4
- package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +5 -29
- package/src/x_ite/Components/Layering/Layer.js +14 -6
- package/src/x_ite/Components/Layering/LayerSet.js +6 -10
- package/src/x_ite/Components/Layering/Viewport.js +10 -12
- package/src/x_ite/Components/Layering/X3DLayerNode.js +76 -69
- package/src/x_ite/Components/Layering/X3DViewportNode.js +2 -6
- package/src/x_ite/Components/Layering.js +84 -0
- package/src/x_ite/Components/Layout/Layout.js +163 -173
- package/src/x_ite/Components/Layout/LayoutGroup.js +20 -19
- package/src/x_ite/Components/Layout/LayoutLayer.js +12 -9
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +4 -8
- package/src/x_ite/Components/Layout/ScreenGroup.js +63 -56
- package/src/x_ite/Components/Layout/X3DLayoutNode.js +2 -4
- package/src/x_ite/Components/Lighting/DirectionalLight.js +41 -31
- package/src/x_ite/Components/Lighting/PointLight.js +117 -104
- package/src/x_ite/Components/Lighting/SpotLight.js +77 -53
- package/src/x_ite/Components/Lighting/X3DLightNode.js +90 -68
- package/src/x_ite/Components/Lighting.js +81 -0
- package/src/x_ite/Components/NURBS/Contour2D.js +47 -5
- package/src/x_ite/Components/NURBS/ContourPolyline2D.js +69 -5
- package/src/x_ite/Components/NURBS/CoordinateDouble.js +2 -4
- package/src/x_ite/Components/NURBS/NurbsCurve.js +140 -10
- package/src/x_ite/Components/NURBS/NurbsCurve2D.js +117 -8
- package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +139 -10
- package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +3 -5
- package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +125 -10
- package/src/x_ite/Components/NURBS/NurbsSet.js +92 -11
- package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +96 -12
- package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +88 -7
- package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +88 -7
- package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +62 -13
- package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +41 -6
- package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +2 -4
- package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +333 -7
- package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +9 -5
- package/src/x_ite/Components/Navigation/Billboard.js +14 -15
- package/src/x_ite/Components/Navigation/Collision.js +13 -12
- package/src/x_ite/Components/Navigation/LOD.js +221 -66
- package/src/x_ite/Components/Navigation/NavigationInfo.js +110 -99
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +138 -45
- package/src/x_ite/Components/Navigation/Viewpoint.js +55 -33
- package/src/x_ite/Components/Navigation/ViewpointGroup.js +18 -10
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +241 -181
- package/src/x_ite/Components/Navigation.js +93 -0
- package/src/x_ite/Components/Networking/Anchor.js +24 -28
- package/src/x_ite/Components/Networking/Inline.js +68 -50
- package/src/x_ite/Components/Networking/LoadSensor.js +2 -4
- package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +2 -4
- package/src/x_ite/Components/Networking/X3DUrlObject.js +93 -11
- package/src/x_ite/Components/Networking.js +84 -0
- package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +6 -8
- package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +8 -4
- package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +7 -4
- package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +4 -4
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +451 -287
- package/src/x_ite/Components/ParticleSystems/PointEmitter.js +7 -4
- package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +53 -40
- package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +62 -55
- package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +133 -123
- package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +25 -22
- package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +28 -27
- package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +2 -4
- package/src/x_ite/Components/Picking/LinePickSensor.js +253 -10
- package/src/x_ite/Components/Picking/PickableGroup.js +121 -10
- package/src/x_ite/Components/Picking/PointPickSensor.js +262 -12
- package/src/x_ite/Components/Picking/PrimitivePickSensor.js +176 -8
- package/src/x_ite/Components/Picking/VolumePickSensor.js +152 -8
- package/src/x_ite/Components/Picking/X3DPickSensorNode.js +378 -7
- package/src/x_ite/Components/Picking/X3DPickableObject.js +22 -4
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +33 -15
- package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +7 -4
- package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +2 -4
- package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +4 -4
- package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +4 -4
- package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +3 -5
- package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +2 -4
- package/src/x_ite/Components/PointingDeviceSensor.js +90 -0
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorParallel.js +282 -0
- package/src/x_ite/Components/ProjectiveTextureMapping/TextureProjectorPerspective.js +227 -0
- package/src/x_ite/Components/ProjectiveTextureMapping/X3DTextureProjectorNode.js +217 -0
- package/src/x_ite/Components/Rendering/ClipPlane.js +12 -16
- package/src/x_ite/Components/Rendering/Color.js +62 -17
- package/src/x_ite/Components/Rendering/ColorRGBA.js +65 -17
- package/src/x_ite/Components/Rendering/Coordinate.js +4 -4
- package/src/x_ite/Components/Rendering/IndexedLineSet.js +68 -81
- package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +20 -19
- package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +10 -7
- package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +21 -23
- package/src/x_ite/Components/Rendering/LineSet.js +54 -37
- package/src/x_ite/Components/Rendering/Normal.js +65 -13
- package/src/x_ite/Components/Rendering/PointSet.js +52 -33
- package/src/x_ite/Components/Rendering/TriangleFanSet.js +10 -14
- package/src/x_ite/Components/Rendering/TriangleSet.js +2 -4
- package/src/x_ite/Components/Rendering/TriangleStripSet.js +9 -13
- package/src/x_ite/Components/Rendering/X3DColorNode.js +13 -12
- package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +118 -79
- package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +103 -44
- package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +2 -4
- package/src/x_ite/Components/Rendering/X3DGeometryNode.js +722 -591
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +129 -92
- package/src/x_ite/Components/Rendering/X3DNormalNode.js +2 -4
- package/src/x_ite/Components/Rendering.js +132 -0
- package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +116 -7
- package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +199 -11
- package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +436 -11
- package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +118 -10
- package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +192 -9
- package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +84 -8
- package/src/x_ite/Components/RigidBodyPhysics/Contact.js +20 -14
- package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +200 -12
- package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +14 -4
- package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +424 -17
- package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +295 -19
- package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +162 -10
- package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +135 -8
- package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +10 -6
- package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +93 -9
- package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +5 -8
- package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +150 -4
- package/src/x_ite/Components/Scripting/Script.js +156 -105
- package/src/x_ite/Components/Scripting/X3DScriptNode.js +3 -7
- package/src/x_ite/Components/Shaders/ComposedShader.js +38 -53
- package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +38 -15
- package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +32 -14
- package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +32 -14
- package/src/x_ite/Components/Shaders/PackagedShader.js +19 -17
- package/src/x_ite/Components/Shaders/ProgramShader.js +2 -4
- package/src/x_ite/Components/Shaders/ShaderPart.js +38 -26
- package/src/x_ite/Components/Shaders/ShaderProgram.js +16 -14
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +836 -699
- package/src/x_ite/Components/Shaders/X3DShaderNode.js +61 -101
- package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +2 -4
- package/src/x_ite/Components/Shaders.js +102 -0
- package/src/x_ite/Components/Shape/Appearance.js +179 -69
- package/src/x_ite/Components/Shape/FillProperties.js +65 -8
- package/src/x_ite/Components/Shape/LineProperties.js +29 -9
- package/src/x_ite/Components/Shape/Material.js +50 -64
- package/src/x_ite/Components/Shape/PointProperties.js +162 -0
- package/src/x_ite/Components/Shape/Shape.js +116 -68
- package/src/x_ite/Components/Shape/TwoSidedMaterial.js +56 -62
- package/src/x_ite/Components/Shape/UnlitMaterial.js +109 -0
- package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +2 -4
- package/src/x_ite/Components/Shape/X3DAppearanceNode.js +14 -11
- package/src/x_ite/Components/Shape/X3DMaterialNode.js +17 -6
- package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +111 -0
- package/src/x_ite/Components/Shape/X3DShapeNode.js +54 -29
- package/src/x_ite/Components/Shape.js +108 -0
- package/src/x_ite/Components/Sound/AudioClip.js +47 -57
- package/src/x_ite/Components/Sound/Sound.js +177 -83
- package/src/x_ite/Components/Sound/X3DSoundNode.js +2 -4
- package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +38 -24
- package/src/x_ite/Components/Sound.js +81 -0
- package/src/x_ite/Components/Text/FontStyle.js +4 -6
- package/src/x_ite/Components/Text/Text.js +21 -18
- package/src/x_ite/Components/Text/X3DFontStyleNode.js +58 -93
- package/src/x_ite/Components/Text.js +78 -0
- package/src/x_ite/Components/Texturing/ImageTexture.js +57 -67
- package/src/x_ite/Components/Texturing/MovieTexture.js +59 -70
- package/src/x_ite/Components/Texturing/MultiTexture.js +238 -15
- package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +85 -8
- package/src/x_ite/Components/Texturing/MultiTextureTransform.js +47 -8
- package/src/x_ite/Components/Texturing/PixelTexture.js +61 -27
- package/src/x_ite/Components/Texturing/TextureCoordinate.js +72 -22
- package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +69 -11
- package/src/x_ite/Components/Texturing/TextureProperties.js +98 -69
- package/src/x_ite/Components/Texturing/TextureTransform.js +58 -52
- package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +91 -0
- package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +183 -0
- package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +77 -0
- package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +42 -97
- package/src/x_ite/Components/Texturing/X3DTexture2DNode.js.~1~ +209 -0
- package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +4 -12
- package/src/x_ite/Components/Texturing/X3DTextureNode.js +10 -71
- package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +5 -14
- package/src/x_ite/Components/Texturing.js +120 -0
- package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +90 -8
- package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +106 -16
- package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +126 -8
- package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +75 -25
- package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +74 -24
- package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +42 -36
- package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +19 -16
- package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +110 -8
- package/src/x_ite/Components/Time/TimeSensor.js +68 -38
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +29 -29
- package/src/x_ite/Components/Time.js +75 -0
- package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +311 -12
- package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +60 -8
- package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +219 -10
- package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +134 -7
- package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +88 -9
- package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +311 -15
- package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +87 -7
- package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +136 -6
- package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +224 -13
- package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +193 -12
- package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +87 -10
- package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +97 -9
- package/src/x_ite/Components/VolumeRendering/VolumeData.js +155 -12
- package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +2 -4
- package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +155 -5
- package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +64 -4
- package/src/x_ite/Components/X_ITE/BlendMode.js +206 -0
- package/src/x_ite/Components.js +110 -0
- package/src/x_ite/Configuration/ComponentInfo.js +21 -15
- package/src/x_ite/Configuration/ComponentInfoArray.js +11 -16
- package/src/x_ite/Configuration/ProfileInfo.js +10 -10
- package/src/x_ite/Configuration/ProfileInfoArray.js +10 -3
- package/src/x_ite/Configuration/SupportedComponents.js +312 -303
- package/src/x_ite/Configuration/SupportedNodes.js +44 -716
- package/src/x_ite/Configuration/SupportedProfiles.js +196 -168
- package/src/x_ite/Configuration/UnitInfo.js +22 -8
- package/src/x_ite/Configuration/UnitInfoArray.js +2 -3
- package/src/x_ite/Configuration/X3DInfoArray.js +46 -26
- package/src/x_ite/DEBUG.js +4 -5
- package/src/x_ite/Execution/BindableList.js +99 -34
- package/src/x_ite/Execution/BindableStack.js +65 -74
- package/src/x_ite/Execution/ExportedNode.js +32 -9
- package/src/x_ite/Execution/ImportedNode.js +144 -63
- package/src/x_ite/Execution/Scene.js +33 -35
- package/src/x_ite/Execution/World.js +31 -29
- package/src/x_ite/Execution/X3DExecutionContext.js +452 -194
- package/src/x_ite/Execution/X3DScene.js +303 -74
- package/src/x_ite/{Error.js → Fallback.js} +25 -24
- package/src/x_ite/Fields/ArrayFields.js +315 -112
- package/src/x_ite/Fields/SFBool.js +11 -10
- package/src/x_ite/Fields/SFColor.js +43 -19
- package/src/x_ite/Fields/SFColorRGBA.js +40 -18
- package/src/x_ite/Fields/SFDouble.js +17 -10
- package/src/x_ite/Fields/SFFloat.js +18 -11
- package/src/x_ite/Fields/SFImage.js +47 -38
- package/src/x_ite/Fields/SFInt32.js +10 -9
- package/src/x_ite/Fields/SFMatrix3.js +24 -17
- package/src/x_ite/Fields/SFMatrix4.js +24 -17
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +15 -8
- package/src/x_ite/Fields/SFNode.js +119 -39
- package/src/x_ite/Fields/SFNodeCache.js +89 -0
- package/src/x_ite/Fields/SFRotation.js +42 -27
- package/src/x_ite/Fields/SFString.js +14 -15
- package/src/x_ite/Fields/SFTime.js +12 -11
- package/src/x_ite/Fields/SFVec2.js +17 -14
- package/src/x_ite/Fields/SFVec3.js +23 -17
- package/src/x_ite/Fields/SFVec4.js +25 -19
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +51 -19
- package/src/x_ite/Fields.js +3 -9
- package/src/x_ite/InputOutput/FileLoader.js +264 -181
- package/src/x_ite/InputOutput/Generator.js +136 -60
- package/src/x_ite/Parser/HTMLSupport.js +3 -596
- package/src/x_ite/Parser/JSONParser.js +446 -0
- package/src/x_ite/Parser/Parser.js +617 -652
- package/src/x_ite/Parser/X3DParser.js +176 -0
- package/src/x_ite/Parser/XMLParser.js +359 -94
- package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +19 -3
- package/src/x_ite/Prototype/ProtoDeclarationArray.js +19 -3
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +120 -61
- package/src/x_ite/Prototype/X3DProtoDeclaration.js +144 -59
- package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +16 -18
- package/src/x_ite/Rendering/DependentRenderer.js +9 -13
- package/src/x_ite/Rendering/{DepthBuffer.js → TextureBuffer.js} +84 -53
- package/src/x_ite/Rendering/X3DRenderObject.js +640 -531
- package/src/x_ite/Routing/RouteArray.js +38 -16
- package/src/x_ite/Routing/X3DRoute.js +67 -68
- package/src/x_ite/Routing/X3DRoutingContext.js +6 -6
- package/src/x_ite/X3D.js +74 -70
- package/src/x_ite.config.js +91 -0
- package/src/x_ite.css +175 -53
- package/src/x_ite.html +128 -439
- package/src/x_ite.js +87 -25
- package/tests/{SEE.txt → README.md} +1 -0
- package/tests/tests.mdproj +1 -1
- package/x_ite.min.html +128 -439
- package/.bzrignore +0 -3
- package/.npmignore +0 -3
- package/AUTHORS.md +0 -6
- package/STYLE_GUIDE.md +0 -51
- package/X_ITE.sln +0 -56
- package/X_ITE.userprefs +0 -13
- package/build/build.mdproj +0 -24
- package/build/dist.pl +0 -97
- package/build/parts/end.frag +0 -10
- package/build/parts/start.frag +0 -7
- package/dist/LICENCES.txt +0 -344
- package/dist/dist.mdproj +0 -45
- package/dist/images/logo.128.png +0 -0
- package/fonts/fonts.mdproj +0 -29
- package/meta/meta.mdproj +0 -35
- package/require.build.js +0 -15
- package/require.build.min.js +0 -15
- package/src/images/logo.128.png +0 -0
- package/src/lib/jquery-contextMenu/README.md +0 -355
- package/src/lib/jquery-contextMenu/dist/images/cut.png +0 -0
- package/src/lib/jquery-contextMenu/dist/images/door.png +0 -0
- package/src/lib/jquery-contextMenu/dist/images/page_white_add.png +0 -0
- package/src/lib/jquery-contextMenu/dist/images/page_white_copy.png +0 -0
- package/src/lib/jquery-contextMenu/dist/images/page_white_delete.png +0 -0
- package/src/lib/jquery-contextMenu/dist/images/page_white_edit.png +0 -0
- package/src/lib/jquery-contextMenu/dist/images/page_white_paste.png +0 -0
- package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.css +0 -155
- package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.js +0 -1811
- package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.css +0 -16
- package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.css.map +0 -1
- package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.js +0 -18
- package/src/lib/jquery-contextMenu/dist/jquery.contextMenu.min.js.map +0 -1
- package/src/lib/jquery-contextMenu/dist/jquery.ui.position.js +0 -517
- package/src/lib/jquery-contextMenu/dist/jquery.ui.position.min.js +0 -4
- package/src/lib/jquery-contextMenu/package.json +0 -99
- package/src/lib/opentype.js/.npmignore +0 -5
- package/src/locale/de.mo +0 -0
- package/src/locale/fr.mo +0 -0
- package/src/require.config.js +0 -51
- package/src/src.mdproj +0 -729
- package/src/standard/Networking/URI.js +0 -687
- package/src/x_ite/Browser/Shaders/BackgroundSphereFragmentShader.fs +0 -29
- package/src/x_ite/Browser/Shaders/BackgroundSphereVertexShader.vs +0 -22
- package/src/x_ite/Browser/Shaders/Bits/Line3.h +0 -14
- package/src/x_ite/Browser/Shaders/Bits/Plane3.h +0 -47
- package/src/x_ite/Browser/Shaders/Bits/Random.h +0 -31
- package/src/x_ite/Browser/Shaders/Depth.fs +0 -51
- package/src/x_ite/Browser/Shaders/Depth.vs +0 -20
- package/src/x_ite/Browser/Shaders/Gouraud.fs +0 -110
- package/src/x_ite/Browser/Shaders/Gouraud.vs +0 -188
- package/src/x_ite/Browser/Shaders/Phong.fs +0 -255
- package/src/x_ite/Browser/Shaders/Phong.vs +0 -38
- package/src/x_ite/Browser/Shaders/PointSet.fs +0 -64
- package/src/x_ite/Browser/Shaders/Wireframe.fs +0 -61
- package/src/x_ite/Browser/Shaders/Wireframe.vs +0 -55
- package/src/x_ite/Components/H-Anim/HAnimHumanoid.js +0 -118
|
@@ -0,0 +1,1006 @@
|
|
|
1
|
+
# Field Services and Objects
|
|
2
|
+
|
|
3
|
+
## X3DFieldDefinition
|
|
4
|
+
|
|
5
|
+
The X3DFieldDefinition object represents all of the descriptive properties of a single field of a node.
|
|
6
|
+
|
|
7
|
+
### Instance Creation Method\(s\)
|
|
8
|
+
|
|
9
|
+
None.
|
|
10
|
+
|
|
11
|
+
### Properties
|
|
12
|
+
|
|
13
|
+
#### **name**
|
|
14
|
+
|
|
15
|
+
A string of the field name (e.g., "children"). This property is read only.
|
|
16
|
+
|
|
17
|
+
#### **accessType**
|
|
18
|
+
|
|
19
|
+
Value from the X3DConstants object describing the accessType (e.g., "inputOnly"). This property is read only.
|
|
20
|
+
|
|
21
|
+
#### **dataType**
|
|
22
|
+
|
|
23
|
+
Value from X3DConstants cobject describing the field's data type (e.g., "SFBool"). This property is read only.
|
|
24
|
+
|
|
25
|
+
### Methods
|
|
26
|
+
|
|
27
|
+
None.
|
|
28
|
+
|
|
29
|
+
## FieldDefinitionArray
|
|
30
|
+
|
|
31
|
+
FieldDefinitionArray is an object that represents an array of X3DFieldDefinition objects. This is a read-only object. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *fieldDefinitionArrayName*\[*index*\], where *index* is an integer-valued expression with 0<=*index*<length and length is the number of elements in the array).
|
|
32
|
+
|
|
33
|
+
### Instance Creation Method\(s\)
|
|
34
|
+
|
|
35
|
+
None. This object cannot be instantiated by the user.
|
|
36
|
+
|
|
37
|
+
### Properties
|
|
38
|
+
|
|
39
|
+
#### **length**
|
|
40
|
+
|
|
41
|
+
An integer containing the number of elements in the array. This property is read only.
|
|
42
|
+
|
|
43
|
+
### Methods
|
|
44
|
+
|
|
45
|
+
None
|
|
46
|
+
|
|
47
|
+
## Field Hierarchy
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
+ X3DField
|
|
51
|
+
+ SFColor
|
|
52
|
+
+ SFColorRGBA
|
|
53
|
+
+ SFImage
|
|
54
|
+
+ SFMatrix3d
|
|
55
|
+
+ SFMatrix3f
|
|
56
|
+
+ SFMatrix4d
|
|
57
|
+
+ SFMatrix4f
|
|
58
|
+
+ SFNode
|
|
59
|
+
+ SFRotation
|
|
60
|
+
+ SFVec2d
|
|
61
|
+
+ SFVec2f
|
|
62
|
+
+ SFVec3d
|
|
63
|
+
+ SFVec3f
|
|
64
|
+
+ SFVec4d
|
|
65
|
+
+ SFVec4f
|
|
66
|
+
|
|
|
67
|
+
+ X3DArrayField
|
|
68
|
+
+ MFBool
|
|
69
|
+
+ MFColor
|
|
70
|
+
+ MFColorRGBA
|
|
71
|
+
+ MFDouble
|
|
72
|
+
+ MFFloat
|
|
73
|
+
+ MFImage
|
|
74
|
+
+ MFInt32
|
|
75
|
+
+ MFMatrix3d
|
|
76
|
+
+ MFMatrix3f
|
|
77
|
+
+ MFMatrix4d
|
|
78
|
+
+ MFMatrix4f
|
|
79
|
+
+ MFNode
|
|
80
|
+
+ MFRotation
|
|
81
|
+
+ MFString
|
|
82
|
+
+ MFVec2d
|
|
83
|
+
+ MFVec2f
|
|
84
|
+
+ MFVec3d
|
|
85
|
+
+ MFVec3f
|
|
86
|
+
+ MFVec4d
|
|
87
|
+
+ MFVec4f
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## X3DField
|
|
91
|
+
|
|
92
|
+
The X3DField object is the base object of all SF\* field and X3DArrayField.
|
|
93
|
+
|
|
94
|
+
### Instance Creation Method\(s\)
|
|
95
|
+
|
|
96
|
+
None
|
|
97
|
+
|
|
98
|
+
### Properties
|
|
99
|
+
|
|
100
|
+
None
|
|
101
|
+
|
|
102
|
+
### Methods
|
|
103
|
+
|
|
104
|
+
#### Boolean **equals** (*field*)
|
|
105
|
+
|
|
106
|
+
Returns true if the passed SF\* or MF\* *field* of the same type is equals to this object, otherwise false.
|
|
107
|
+
|
|
108
|
+
## SFColor Object
|
|
109
|
+
|
|
110
|
+
The SFColor object corresponds to a X3D SFColor field. All properties are accessed using the syntax *sfColorObjectName.<property>*, where *sfColorObjectName* is an instance of a SFColor object. All methods are invoked using the syntax *sfColorObjectName.method (<argument-list>)*, where *sfColorObjectName* is an instance of a SFColor object.
|
|
111
|
+
|
|
112
|
+
### Instance Creation Method\(s\)
|
|
113
|
+
|
|
114
|
+
#### *sfColorObjectName =* **new SFColor** (*r, g, b)*
|
|
115
|
+
|
|
116
|
+
*r, g,* and *b* are scalar values with the red, green, and blue values of the color in the range 0–1.
|
|
117
|
+
|
|
118
|
+
### Properties
|
|
119
|
+
|
|
120
|
+
#### **r**
|
|
121
|
+
|
|
122
|
+
Red component of the color.
|
|
123
|
+
|
|
124
|
+
#### **g**
|
|
125
|
+
|
|
126
|
+
Green component of the color.
|
|
127
|
+
|
|
128
|
+
#### **b**
|
|
129
|
+
|
|
130
|
+
Blue component of the color.
|
|
131
|
+
|
|
132
|
+
### Methods
|
|
133
|
+
|
|
134
|
+
#### void **setHSV** (*h, s, v*)
|
|
135
|
+
|
|
136
|
+
Sets a HSV color value; *h* is the hue, *s* is the saturation, *v* is the value and a is the alpha component of the HSV color.
|
|
137
|
+
|
|
138
|
+
The saturation, and value component must be in the range 0–1, and the hue component must be in the range 0–2π.
|
|
139
|
+
|
|
140
|
+
#### Array **getHSV** ()
|
|
141
|
+
|
|
142
|
+
Return an array with the components of the color's HSV value.
|
|
143
|
+
|
|
144
|
+
#### SFColor **lerp** (*destination, t*)
|
|
145
|
+
|
|
146
|
+
Linearely interpolate in HSV space between source color and destination color by an amount of t.
|
|
147
|
+
|
|
148
|
+
## SFColorRGBA Object
|
|
149
|
+
|
|
150
|
+
The SFColorRGBA object corresponds to a X3D SFColorRGBA field. All properties are accessed using the syntax *sfColorRGBAObjectName.<property>*, where *sfColorRGBAObjectName* is an instance of a SFColorRGBA object. All methods are invoked using the syntax *sfColorRGBAObjectName.method (<argument-list>)*, where *sfColorRGBAObjectName* is an instance of a SFColorRGBA object.
|
|
151
|
+
|
|
152
|
+
### Instance Creation Method\(s\)
|
|
153
|
+
|
|
154
|
+
#### *sfColorRGBAObjectName =* **new SFColor** (*r, g, b, a)*
|
|
155
|
+
|
|
156
|
+
*r, g,* *b* and *a* are scalar values with the red, green and blue values of the color in the range 0–1.
|
|
157
|
+
|
|
158
|
+
### Properties
|
|
159
|
+
|
|
160
|
+
#### **r**
|
|
161
|
+
|
|
162
|
+
Red component of the color.
|
|
163
|
+
|
|
164
|
+
#### **g**
|
|
165
|
+
|
|
166
|
+
Green component of the color.
|
|
167
|
+
|
|
168
|
+
#### **b**
|
|
169
|
+
|
|
170
|
+
Blue component of the color.
|
|
171
|
+
|
|
172
|
+
#### **a**
|
|
173
|
+
|
|
174
|
+
Alpha component of the color.
|
|
175
|
+
|
|
176
|
+
### Methods
|
|
177
|
+
|
|
178
|
+
#### void **setHSVA** (*h, s, v, a*)
|
|
179
|
+
|
|
180
|
+
Sets a HSV color value; *h* is the hue, *s* is the saturation, *v* is the value and a is the alpha component of the HSV color.
|
|
181
|
+
|
|
182
|
+
The saturation, and value component must be in the range 0–1, and the hue component must be in the range 0–2π.
|
|
183
|
+
|
|
184
|
+
#### Array **getHSVA** ()
|
|
185
|
+
|
|
186
|
+
Return an array with the components of the color's HSVA value.
|
|
187
|
+
|
|
188
|
+
#### SFColorRGBA **lerp** (*destination, t*)
|
|
189
|
+
|
|
190
|
+
Linearely interpolate in HSVA space between source color and destination color by an amount of t.
|
|
191
|
+
|
|
192
|
+
## SFImage Object
|
|
193
|
+
|
|
194
|
+
The SFImage object corresponds to a X3D SFImage field.
|
|
195
|
+
|
|
196
|
+
### Instance Creation Method\(s\)
|
|
197
|
+
|
|
198
|
+
#### *sfImageObjectName =* **new SFRotation** (*width, height, components\[, MFInt32 array\])*
|
|
199
|
+
|
|
200
|
+
*width* is the width in pixels of the image.
|
|
201
|
+
*height* is the height in pixels of the image.
|
|
202
|
+
*components* are the number of components of the image (0-4).
|
|
203
|
+
*array* is a MFInt32 array with pixel data.
|
|
204
|
+
|
|
205
|
+
### Properties
|
|
206
|
+
|
|
207
|
+
#### **width**
|
|
208
|
+
|
|
209
|
+
Width of the image in pixels.
|
|
210
|
+
|
|
211
|
+
#### **height**
|
|
212
|
+
|
|
213
|
+
Height of the image in pixels.
|
|
214
|
+
|
|
215
|
+
#### **comp**
|
|
216
|
+
|
|
217
|
+
Number of components.
|
|
218
|
+
|
|
219
|
+
#### **array**
|
|
220
|
+
|
|
221
|
+
A MFInt32 array corresponding to the pixels of the image.
|
|
222
|
+
|
|
223
|
+
### Methods
|
|
224
|
+
|
|
225
|
+
None
|
|
226
|
+
|
|
227
|
+
## SFMatrix3d/SFMatrix3f Object
|
|
228
|
+
|
|
229
|
+
The SFMatrix3f object provides many useful methods for performing manipulations on 3×3 matrices. Each of element of the matrix can be accessed using C-style array dereferencing (i.e., *sflMatrix3fObjectName\[0\], ..., sflMatrixObjectName\[8\]*).
|
|
230
|
+
|
|
231
|
+
### Instance Creation Method\(s\)
|
|
232
|
+
|
|
233
|
+
#### *x3dMatrix3fObjectName =* **new X3DMatrix3f** (*f11, f12, f13, f21, f22, f23, f31, f32, f33)*
|
|
234
|
+
|
|
235
|
+
A new matrix initialized with the values in *f11* through *f44* is created and returned.
|
|
236
|
+
|
|
237
|
+
#### *x3dMatrix3fObjectName =* **new SFMatrix3f** (*)*
|
|
238
|
+
|
|
239
|
+
A new matrix initialized with the identity matrix is created and returned.
|
|
240
|
+
|
|
241
|
+
### Properties
|
|
242
|
+
|
|
243
|
+
None
|
|
244
|
+
|
|
245
|
+
### Methods
|
|
246
|
+
|
|
247
|
+
#### void **setTransform** (*translation*, *rotation*, *scaleFactor*, *scaleOrientation*, *center*)
|
|
248
|
+
|
|
249
|
+
Sets the SFMatrix3f to the passed values. *translation* is an SFVec2f object, *rotation* is a Number, *scaleFactor* is a SFVec2f object, *scaleOrientation* is a Number and *center* is a SFVec2f object. Any of the rightmost parameters can be omitted. In other words, the method can take from 0 to 5 parameters. For example, you can specify 0 parameters (resulting in a identity matrix), 1 parameter (a translation), 2 parameters (a translation and a rotation), 3 parameters (a translation, rotation and a scaleFactor), etc. Any unspecified parameter is set to its default as specified in the **Transform** node section of the X3D specification.
|
|
250
|
+
|
|
251
|
+
#### void **getTransform** (*translation*, *rotation*, *scaleFactor*)
|
|
252
|
+
|
|
253
|
+
Decomposes the SFMatrix3f and returns the components in the passed *translation*, *rotation*, and *scaleFactor* objects*. rotation* is a SFVec3f where x and y are the complex value of the rotation and z is the rotation angle in radians. The other types of the parameters are the same as in **setTransform**. Any projection or shear information in the matrix is ignored.
|
|
254
|
+
|
|
255
|
+
#### SFMatrix3f **inverse** ()
|
|
256
|
+
|
|
257
|
+
Returns a SFMatrix whose value is the inverse of this object.
|
|
258
|
+
|
|
259
|
+
#### SFMatrix3f **transpose** ()
|
|
260
|
+
|
|
261
|
+
Returns a SFMatrix3f whose value is the transpose of this object.
|
|
262
|
+
|
|
263
|
+
#### SFMatrix3f **multLeft** *(matrix)*
|
|
264
|
+
|
|
265
|
+
Returns a SFMatrix3f whose value is the object multiplied by the passed *matrix* on the left.
|
|
266
|
+
|
|
267
|
+
#### SFMatrix3f **multRight** (*matrix*)
|
|
268
|
+
|
|
269
|
+
Returns a SFMatrix3f whose value is the object multiplied by the passed *matrix* on the right.
|
|
270
|
+
|
|
271
|
+
#### SFVec2f **multVecMatrix** (*vec*)
|
|
272
|
+
|
|
273
|
+
Returns a SFVec2f whose value is the object multiplied by the passed row vector.
|
|
274
|
+
|
|
275
|
+
#### SFVec2f **multMatrixVec** (*vec*)
|
|
276
|
+
|
|
277
|
+
Returns a SFVec2f whose value is the object multiplied by the passed column vector.
|
|
278
|
+
|
|
279
|
+
#### SFVec2f **multDirMatrix** (*vec*)
|
|
280
|
+
|
|
281
|
+
Returns a SFVec2f whose value is the object's 2×2 submatrix multiplied by the passed row vector.
|
|
282
|
+
|
|
283
|
+
#### SFVec2f **multMatrixDir** (*vec*)
|
|
284
|
+
|
|
285
|
+
Returns a SFVec2f whose value is the object's 2×2 submatrix multiplied by the passed column vector.
|
|
286
|
+
|
|
287
|
+
## SFMatrix4d/SFMatrix4f Object
|
|
288
|
+
|
|
289
|
+
The SFMatrix4f object provides many useful methods for performing manipulations on 4×4 matrices. Each of element of the matrix can be accessed using C-style array dereferencing (i.e., *sflMatrix4fObjectName\[0\], ..., sflMatrixObjectName\[15\]*).
|
|
290
|
+
|
|
291
|
+
### Instance Creation Method\(s\)
|
|
292
|
+
|
|
293
|
+
#### *x3dMatrix4fObjectName =* **new X3DMatrix4f** (*f11, f12, f13, f14, f21, f22, f23, f24, f31, f32, f33, f34, f41, f42, f43, f44)*
|
|
294
|
+
|
|
295
|
+
A new matrix initialized with the values in *f11* through *f44* is created and returned.
|
|
296
|
+
|
|
297
|
+
#### *x3dMatrix4fObjectName =* **new SFMatrix4f** (*)*
|
|
298
|
+
|
|
299
|
+
A new matrix initialized with the identity matrix is created and returned.
|
|
300
|
+
|
|
301
|
+
### Properties
|
|
302
|
+
|
|
303
|
+
None
|
|
304
|
+
|
|
305
|
+
### Methods
|
|
306
|
+
|
|
307
|
+
#### void **setTransform** (*translation*, *rotation*, *scaleFactor*, *scaleOrientation*, *center*)
|
|
308
|
+
|
|
309
|
+
Sets the SFMatrix4f to the passed values. *translation* is an SFVec3f object, *rotation* is a SFRotation object, *scaleFactor* is a SFVec3f object, *scaleOrientation* is a SFRotation object and *center* is a SFVec3f object. Any of the rightmost parameters can be omitted. In other words, the method can take from 0 to 5 parameters. For example, you can specify 0 parameters (resulting in a identity matrix), 1 parameter (a translation), 2 parameters (a translation and a rotation), 3 parameters (a translation, rotation and a scaleFactor), etc. Any unspecified parameter is set to its default as specified in the **Transform** node section of the X3D specification.
|
|
310
|
+
|
|
311
|
+
#### void **getTransform** (*translation*, *rotation*, *scaleFactor*)
|
|
312
|
+
|
|
313
|
+
Decomposes the SFMatrix4f and returns the components in the passed *translation*, *rotation*, and *scaleFactor* objects*.* The types of the parameters are the same as in **setTransform**. Any projection or shear information in the matrix is ignored.
|
|
314
|
+
|
|
315
|
+
#### SFMatrix4f **inverse** ()
|
|
316
|
+
|
|
317
|
+
Returns a SFMatrix whose value is the inverse of this object.
|
|
318
|
+
|
|
319
|
+
#### SFMatrix4f **transpose** ()
|
|
320
|
+
|
|
321
|
+
Returns a SFMatrix4f whose value is the transpose of this object.
|
|
322
|
+
|
|
323
|
+
#### SFMatrix4f **multLeft** *(matrix)*
|
|
324
|
+
|
|
325
|
+
Returns a SFMatrix4f whose value is the object multiplied by the passed *matrix* on the left.
|
|
326
|
+
|
|
327
|
+
#### SFMatrix4f **multRight** (*matrix*)
|
|
328
|
+
|
|
329
|
+
Returns a SFMatrix4f whose value is the object multiplied by the passed *matrix* on the right.
|
|
330
|
+
|
|
331
|
+
#### SFVec3f **multVecMatrix** (*vec*)
|
|
332
|
+
|
|
333
|
+
Returns a SFVec3f whose value is the object multiplied by the passed row vector.
|
|
334
|
+
|
|
335
|
+
#### SFVec3f **multMatrixVec** (*vec*)
|
|
336
|
+
|
|
337
|
+
Returns a SFVec3f whose value is the object multiplied by the passed column vector.
|
|
338
|
+
|
|
339
|
+
#### SFVec3f **multDirMatrix** (*vec*)
|
|
340
|
+
|
|
341
|
+
Returns a SFVec3f whose value is the object's 3×3 submatrix multiplied by the passed row vector.
|
|
342
|
+
|
|
343
|
+
#### SFVec3f **multMatrixDir** (*vec*)
|
|
344
|
+
|
|
345
|
+
Returns a SFVec3f whose value is the object's 3×3 submatrix multiplied by the passed column vector.
|
|
346
|
+
|
|
347
|
+
## SFNode Object
|
|
348
|
+
|
|
349
|
+
The SFNode object corresponds to a X3D SFNode field.
|
|
350
|
+
|
|
351
|
+
### Instance Creation Method\(s\)
|
|
352
|
+
|
|
353
|
+
#### *sfNodeObjectName =* **new SFNode** (*x3dsyntax*)
|
|
354
|
+
|
|
355
|
+
*x3dsyntax* is a UTF-8 string containing the definition of a X3D node.
|
|
356
|
+
|
|
357
|
+
### Properties
|
|
358
|
+
|
|
359
|
+
Each node may assign values to its inputOnly fields and obtain the last output values of its outputOnly fields using the *sfNodeObjectName.fieldName* syntax. The *directOutput* field of the corresponding Script node must then be set to TRUE.
|
|
360
|
+
|
|
361
|
+
### Methods
|
|
362
|
+
|
|
363
|
+
#### String **getNodeName** ()
|
|
364
|
+
|
|
365
|
+
Returns the node name.
|
|
366
|
+
|
|
367
|
+
#### Array **getNodeType** ()
|
|
368
|
+
|
|
369
|
+
Returns, in the array, a list of constant values that indicate node types as provided in the X3DConstants object.
|
|
370
|
+
|
|
371
|
+
#### FieldDefinitionArray **getFieldDefinitions** ()
|
|
372
|
+
|
|
373
|
+
Returns a list of fields defined for the SFNode object.
|
|
374
|
+
|
|
375
|
+
#### void **addFieldCallback** (*name, key, callback*)
|
|
376
|
+
|
|
377
|
+
Adds a field callback function, if external browser interface is used. *Name* is the name of the field. *Key* is a custom key of any type associated with the *callback*. The callback is called when the field has been changed.
|
|
378
|
+
|
|
379
|
+
The callback has a signature of *function (value),* where value is the current value of the field.
|
|
380
|
+
|
|
381
|
+
#### void **removeFieldCallback** (*name, key*)
|
|
382
|
+
|
|
383
|
+
Removes a field callback function associated with the parameters *name* and *key*.
|
|
384
|
+
|
|
385
|
+
#### String **toVRMLString** ()
|
|
386
|
+
|
|
387
|
+
Returns the X3D VRML-encoded string that, if parsed as the value of an SFNode field, produce this node.
|
|
388
|
+
|
|
389
|
+
#### String **toXMLString** ()
|
|
390
|
+
|
|
391
|
+
Returns the X3D XML-encoded string that, if parsed as the value of an SFNode field, produce this node.
|
|
392
|
+
|
|
393
|
+
## SFRotation Object
|
|
394
|
+
|
|
395
|
+
The SFRotation object corresponds to a X3D SFRotation field.
|
|
396
|
+
|
|
397
|
+
### Instance Creation Method\(s\)
|
|
398
|
+
|
|
399
|
+
#### *sfRotationObjectName =* **new SFRotation** (*x, y, z, angle)*
|
|
400
|
+
|
|
401
|
+
*x*, *y*, and *z* are the axis of the rotation.
|
|
402
|
+
*angle* is the angle of the rotation (in radians). All values are scalar.
|
|
403
|
+
|
|
404
|
+
#### *sfRotationObjectName* = **new SFRotation** (*axis, angle*)
|
|
405
|
+
|
|
406
|
+
*axis* is a SFVec3f object whose value is the axis of rotation.
|
|
407
|
+
*angle* is the scalar angle of the rotation (in radians).
|
|
408
|
+
|
|
409
|
+
#### *sfRotationObjectName* = new SFRotation (*fromVector, toVector*)
|
|
410
|
+
|
|
411
|
+
*fromVector* and *toVector* are SFVec3f valued objects. These vectors are normalized and the rotation value that would rotate from the
|
|
412
|
+
*fromVector* to the *toVector* is stored in the object.
|
|
413
|
+
|
|
414
|
+
### Properties
|
|
415
|
+
|
|
416
|
+
#### **x**
|
|
417
|
+
|
|
418
|
+
Returns the first value of the axis vector.
|
|
419
|
+
|
|
420
|
+
#### **y**
|
|
421
|
+
|
|
422
|
+
Returns the second value of the axis vector.
|
|
423
|
+
|
|
424
|
+
#### **z**
|
|
425
|
+
|
|
426
|
+
Returns the third value of the axis vector
|
|
427
|
+
|
|
428
|
+
#### **angle**
|
|
429
|
+
|
|
430
|
+
A SFFloat corresponding to the angle of the rotation (in radians).
|
|
431
|
+
|
|
432
|
+
### Methods
|
|
433
|
+
|
|
434
|
+
#### Number **getAxis** ()
|
|
435
|
+
|
|
436
|
+
Returns the axis of rotation as an SFVec3f object.
|
|
437
|
+
|
|
438
|
+
#### SFRotation **inverse** ()
|
|
439
|
+
|
|
440
|
+
Returns a SFRotation object whose value is the inverse of this object's rotation
|
|
441
|
+
|
|
442
|
+
#### SFRotation **multiply** *(rotation)*
|
|
443
|
+
|
|
444
|
+
Returns an SFRotation whose value is the object multiplied by the passed SFRotation.
|
|
445
|
+
|
|
446
|
+
#### SFVec3f **multVec** (*vec*)
|
|
447
|
+
|
|
448
|
+
Returns a SFVec3f whose value is the SFVec3f *vec* multiplied by the matrix corresponding to this object's rotation.
|
|
449
|
+
|
|
450
|
+
#### void **setAxis** (*vec*)
|
|
451
|
+
|
|
452
|
+
Set the axis of rotation to the vector passed in *vec*.
|
|
453
|
+
|
|
454
|
+
#### SFRotation **slerp** (*destRotation, t*)
|
|
455
|
+
|
|
456
|
+
Returns a SFRotation whose value is the spherical linear interpolation between this object's rotation and *destRotation* at value 0 <= *t* <= 1. For *t* = 0, the value is this object's rotation. For *t* = 1, the value is *destRotation*.
|
|
457
|
+
|
|
458
|
+
## SFVec2d/SFVec2f Object
|
|
459
|
+
|
|
460
|
+
The SFVec2f object corresponds to a X3D SFVec2f field. Each component of the vector can be accessed using the x and y properties or using C-style array dereferencing (i.e. *sfVec2fObjectName\[0\]* or *sfVec2fObjectName\[1\]).*
|
|
461
|
+
|
|
462
|
+
### Instance Creation Method\(s\)
|
|
463
|
+
|
|
464
|
+
#### *sfVec2fObjectName =* **new SFVec2f** (*number1, number2)*
|
|
465
|
+
|
|
466
|
+
Where *number1* and *number2* are scalar expressions.
|
|
467
|
+
|
|
468
|
+
### Properties
|
|
469
|
+
|
|
470
|
+
#### **x**
|
|
471
|
+
|
|
472
|
+
Returns the first value of the vector.
|
|
473
|
+
|
|
474
|
+
#### **y**
|
|
475
|
+
|
|
476
|
+
Returns the second value of the vector.
|
|
477
|
+
|
|
478
|
+
### Methods
|
|
479
|
+
|
|
480
|
+
#### SFVec2f **add** (*vec*)
|
|
481
|
+
|
|
482
|
+
Returns an SFVec2f whose value is the passed SFVec2f added, componentwise, to the object.
|
|
483
|
+
|
|
484
|
+
#### Number **distance** (*vec*)
|
|
485
|
+
|
|
486
|
+
Returns the distance of this vector to SFVec2f *vec*.
|
|
487
|
+
|
|
488
|
+
#### SFVec2f **divide** (*number*)
|
|
489
|
+
|
|
490
|
+
Returns an SFVec2f whose value is the object divided by the passed numeric value.
|
|
491
|
+
|
|
492
|
+
#### SFVec2f **divVec** (*vec*)
|
|
493
|
+
|
|
494
|
+
Returns an SFVec2f whose value is the passed SFVec2f divided, componentwise, by the object.
|
|
495
|
+
|
|
496
|
+
#### Number **dot** (*vec*)
|
|
497
|
+
|
|
498
|
+
Returns the dot product of this vector and SFVec2f *vec*.
|
|
499
|
+
|
|
500
|
+
#### Number **length** ()
|
|
501
|
+
|
|
502
|
+
Returns the geometric length of this vector.
|
|
503
|
+
|
|
504
|
+
#### SFVec2f **lerp** (*destVector, t*)
|
|
505
|
+
|
|
506
|
+
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
|
+
|
|
508
|
+
#### SFVec2f **multiply** (*number*)
|
|
509
|
+
|
|
510
|
+
Returns an SFVec2f whose value is the object multiplied by the passed numeric value.
|
|
511
|
+
|
|
512
|
+
#### SFVec2f **multVec** (*vec*)
|
|
513
|
+
|
|
514
|
+
Returns an SFVec2f whose value is the passed SFVec2f multiplied, componentwise, with the object.
|
|
515
|
+
|
|
516
|
+
#### SFVec2f **negate** ()
|
|
517
|
+
|
|
518
|
+
Returns an SFVec2f whose value is the componentwise negation of the object.
|
|
519
|
+
|
|
520
|
+
#### SFVec2f **normalize** ()
|
|
521
|
+
|
|
522
|
+
Returns an SFVec2f of object converted to unit length.
|
|
523
|
+
|
|
524
|
+
#### SFVec2f **subtract** (*vec*)
|
|
525
|
+
|
|
526
|
+
Returns an SFVec2f whose value is the passed SFVec2f subtracted, componentwise, from the object.
|
|
527
|
+
|
|
528
|
+
## SFVec3d/SFVec3f Object
|
|
529
|
+
|
|
530
|
+
The SFVec3f object corresponds to a X3D SFVec3f field. Each component of the vector can be accessed using the x, y, and z properties or using C-style array dereferencing (i.e. *sfVec3fObjectName\[0\], sfVec3fObjectName\[1\]* or *sfVec3fObjectName\[2\]).*
|
|
531
|
+
|
|
532
|
+
### Instance Creation Method\(s\)
|
|
533
|
+
|
|
534
|
+
#### *sfVec3fObjectName =* **new SFVec3f** (*number1, number2, number3)*
|
|
535
|
+
|
|
536
|
+
Where *number1,**number2,* and *number3* are scalar expressions.
|
|
537
|
+
|
|
538
|
+
### Properties
|
|
539
|
+
|
|
540
|
+
#### **x**
|
|
541
|
+
|
|
542
|
+
Returns the first value of the vector.
|
|
543
|
+
|
|
544
|
+
#### **y**
|
|
545
|
+
|
|
546
|
+
Returns the second value of the vector.
|
|
547
|
+
|
|
548
|
+
#### **z**
|
|
549
|
+
|
|
550
|
+
Returns the third value of the vector.
|
|
551
|
+
|
|
552
|
+
### Methods
|
|
553
|
+
|
|
554
|
+
#### SFVec3f **add** (*vec*)
|
|
555
|
+
|
|
556
|
+
Returns an SFVec3f whose value is the passed SFVec3f added, componentwise, to the object.
|
|
557
|
+
|
|
558
|
+
#### SFVec3f **cross** (*vec*)
|
|
559
|
+
|
|
560
|
+
Returns the cross product of the object and the passed SFVec3f.
|
|
561
|
+
|
|
562
|
+
#### Number **distance** (*vec*)
|
|
563
|
+
|
|
564
|
+
Returns the distance of this vector to SFVec3f *vec*.
|
|
565
|
+
|
|
566
|
+
#### SFVec3f **divide** (*number*)
|
|
567
|
+
|
|
568
|
+
Returns an SFVec3f whose value is the object divided by the passed numeric value.
|
|
569
|
+
|
|
570
|
+
#### SFVec3f **divVec** (*vec*)
|
|
571
|
+
|
|
572
|
+
Returns an SFVec3f whose value is the passed SFVec3f divided, componentwise, by the object.
|
|
573
|
+
|
|
574
|
+
#### Number **dot** (*vec*)
|
|
575
|
+
|
|
576
|
+
Returns the dot product of this vector and SFVec3f *vec*.
|
|
577
|
+
|
|
578
|
+
#### Number **length** ()
|
|
579
|
+
|
|
580
|
+
Returns the geometric length of this vector.
|
|
581
|
+
|
|
582
|
+
#### SFVec3f **lerp** (*destVector, t*)
|
|
583
|
+
|
|
584
|
+
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
|
+
|
|
586
|
+
#### SFVec3f **multiply** (*number*)
|
|
587
|
+
|
|
588
|
+
Returns an SFVec3f whose value is the object multiplied by the passed numeric value.
|
|
589
|
+
|
|
590
|
+
#### SFVec3f **multVec** (*vec*)
|
|
591
|
+
|
|
592
|
+
Returns an SFVec3f whose value is the passed SFVec3f multiplied, componentwise, with the object.
|
|
593
|
+
|
|
594
|
+
#### SFVec3f **negate** ()
|
|
595
|
+
|
|
596
|
+
Returns an SFVec3f whose value is the componentwise negation of the object.
|
|
597
|
+
|
|
598
|
+
#### SFVec3f **normalize** ()
|
|
599
|
+
|
|
600
|
+
Returns an SFVec3f of object converted to unit length
|
|
601
|
+
|
|
602
|
+
#### SFVec3f **subtract** (*vec*)
|
|
603
|
+
|
|
604
|
+
Returns an SFVec3f whose value is the passed SFVec3f subtracted, componentwise, from the object.
|
|
605
|
+
|
|
606
|
+
## SFVec4d/SFVec4f Object
|
|
607
|
+
|
|
608
|
+
The SFVec4f object corresponds to a X3D SFVec4f field. Each component of the vector can be accessed using the x, y, z and w properties or using C-style array dereferencing (i.e. *sfVec4fObjectName\[0\], sfVec4fObjectName\[1\], sfVec4fObjectName\[2\]* or *sfVec4fObjectName\[3\]).*
|
|
609
|
+
|
|
610
|
+
### Instance Creation Method\(s\)
|
|
611
|
+
|
|
612
|
+
#### *sfVec4fObjectName =* **new SFVec4f** (*number1, number2, number3, number4)*
|
|
613
|
+
|
|
614
|
+
Where *number1, number2, number3* and *number4* are scalar expressions.
|
|
615
|
+
|
|
616
|
+
### Properties
|
|
617
|
+
|
|
618
|
+
#### **x**
|
|
619
|
+
|
|
620
|
+
Returns the first value of the vector.
|
|
621
|
+
|
|
622
|
+
#### **y**
|
|
623
|
+
|
|
624
|
+
Returns the second value of the vector.
|
|
625
|
+
|
|
626
|
+
#### **z**
|
|
627
|
+
|
|
628
|
+
Returns the third value of the vector.
|
|
629
|
+
|
|
630
|
+
#### **w**
|
|
631
|
+
|
|
632
|
+
Returns the fourth value of the vector.
|
|
633
|
+
|
|
634
|
+
### Methods
|
|
635
|
+
|
|
636
|
+
#### SFVec4f **add** (*vec*)
|
|
637
|
+
|
|
638
|
+
Returns an SFVec4f whose value is the passed SFVec4f added, componentwise, to the object.
|
|
639
|
+
|
|
640
|
+
#### Number **distance** (*vec*)
|
|
641
|
+
|
|
642
|
+
Returns the distance of this vector to SFVec4f *vec*.
|
|
643
|
+
|
|
644
|
+
#### SFVec4f **divide** (*number*)
|
|
645
|
+
|
|
646
|
+
Returns an SFVec4f whose value is the object divided by the passed numeric value.
|
|
647
|
+
|
|
648
|
+
#### SFVec4f **divVec** (*vec*)
|
|
649
|
+
|
|
650
|
+
Returns an SFVec4f whose value is the passed SFVec4f divided, componentwise, by the object.
|
|
651
|
+
|
|
652
|
+
#### Number **dot** (*vec*)
|
|
653
|
+
|
|
654
|
+
Returns the dot product of this vector and SFVec4f *vec*.
|
|
655
|
+
|
|
656
|
+
#### Number **length** ()
|
|
657
|
+
|
|
658
|
+
Returns the geometric length of this vector.
|
|
659
|
+
|
|
660
|
+
#### SFVec4f **lerp** (*destVector, t*)
|
|
661
|
+
|
|
662
|
+
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
|
+
|
|
664
|
+
#### SFVec4f **multiply** (*number*)
|
|
665
|
+
|
|
666
|
+
Returns an SFVec4f whose value is the object multiplied by the passed numeric value.
|
|
667
|
+
|
|
668
|
+
#### SFVec4f **multVec** (*vec*)
|
|
669
|
+
|
|
670
|
+
Returns an SFVec4f whose value is the passed SFVec4f multiplied, componentwise, with the object.
|
|
671
|
+
|
|
672
|
+
#### SFVec4f **negate** ()
|
|
673
|
+
|
|
674
|
+
Returns an SFVec4f whose value is the componentwise negation of the object.
|
|
675
|
+
|
|
676
|
+
#### SFVec4f **normalize** ()
|
|
677
|
+
|
|
678
|
+
Returns an SFVec4f of object converted to unit length.
|
|
679
|
+
|
|
680
|
+
#### SFVec4f **subtract** (*vec*)
|
|
681
|
+
|
|
682
|
+
Returns an SFVec4f whose value is the passed SFVec4f subtracted, componentwise, from the object.
|
|
683
|
+
|
|
684
|
+
## X3DArrayField Object
|
|
685
|
+
|
|
686
|
+
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
|
+
|
|
688
|
+
### Instance Creation Method(s
|
|
689
|
+
|
|
690
|
+
None
|
|
691
|
+
|
|
692
|
+
### Properties
|
|
693
|
+
|
|
694
|
+
#### **length**
|
|
695
|
+
|
|
696
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
697
|
+
|
|
698
|
+
### Methods
|
|
699
|
+
|
|
700
|
+
#### Boolean **equals** (*array*)
|
|
701
|
+
|
|
702
|
+
Returns true if the passed MF\*l *array* of the same type is equals to this object, otherwise false.
|
|
703
|
+
|
|
704
|
+
#### SF\* **pop** ()
|
|
705
|
+
|
|
706
|
+
The `pop` method removes the last element from an array and returns that value to the caller. The return value is the removed element from the array; `undefined` if the array is empty.
|
|
707
|
+
|
|
708
|
+
#### Number **push** (*element1 \[, ..., elementN\]*)
|
|
709
|
+
|
|
710
|
+
The `push` method appends values to an array. The return value is the new length of the object upon which the method was called.
|
|
711
|
+
|
|
712
|
+
#### SF\* **shift** ()
|
|
713
|
+
|
|
714
|
+
The `shift` method removes the first element from an array and returns that value to the caller. The return value is the removed element from the array; `undefined` if the array is empty.
|
|
715
|
+
|
|
716
|
+
#### MF\* **splice** (*start \[, deleteCount, \[item1, item2, ...\]\]*)
|
|
717
|
+
|
|
718
|
+
#### start
|
|
719
|
+
|
|
720
|
+
Index at which to start changing the array (with origin 0). If greater than the length of the array, actual starting index will be set to the length of the array. If negative, will begin that many elements from the end of the array (with origin 1) and will be set to 0 if absolute value is greater than the length of the array.
|
|
721
|
+
|
|
722
|
+
#### deleteCount <small class="small">optional</small>
|
|
723
|
+
|
|
724
|
+
An integer indicating the number of old array elements to remove. If *deleteCount* is 0, no elements are removed. In this case, you should specify at least one new element. If *deleteCount* is greater than the number of elements left in the array starting at start, then all of the elements through the end of the array will be deleted.
|
|
725
|
+
|
|
726
|
+
If *deleteCount* is omitted, or if its value is larger than array.length - start, then all of the elements beginning with start index on through the end of the array will be deleted.
|
|
727
|
+
|
|
728
|
+
#### item1, item2, ... <small class="small">optional</small>
|
|
729
|
+
|
|
730
|
+
The elements to add to the array, beginning at the start index. If you don't specify any elements, `splice ()` will only remove elements from the array.
|
|
731
|
+
|
|
732
|
+
#### Return value
|
|
733
|
+
|
|
734
|
+
An MF\* array containing the deleted elements. If only one element is removed, an array of one element is returned. If no elements are removed, an empty array is returned.
|
|
735
|
+
|
|
736
|
+
#### Number **unshift** (*element1 \[, ..., elementN\]*)
|
|
737
|
+
|
|
738
|
+
The `unshift` method inserts the given values to the beginning of an X3DArrayField object. The return value is the new length of the object upon which the method was called.
|
|
739
|
+
|
|
740
|
+
## MFBool Object
|
|
741
|
+
|
|
742
|
+
The MFBool object corresponds to a X3D MFBool field. It is used to store a one-dimensional array of SFBool objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfBoolObjectName*\[*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.
|
|
743
|
+
|
|
744
|
+
### Instance Creation Method\(s\)
|
|
745
|
+
|
|
746
|
+
#### *mfBoolObjectName =* **new MFBool** (*\[boolean, boolean...\])*
|
|
747
|
+
|
|
748
|
+
The creation method can be passed 0 or more numeric-valued expressions to initialize the elements of the array.
|
|
749
|
+
|
|
750
|
+
### Properties
|
|
751
|
+
|
|
752
|
+
#### **length**
|
|
753
|
+
|
|
754
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
755
|
+
|
|
756
|
+
### Methods
|
|
757
|
+
|
|
758
|
+
None
|
|
759
|
+
|
|
760
|
+
## MFColor/MFColorRGBA Object
|
|
761
|
+
|
|
762
|
+
The MFColor object corresponds to a X3D MFColor field. It is used to store a one-dimensional array of SFColor objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfColorObjectName*\[*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 SFColor (0, 0, 0).
|
|
763
|
+
|
|
764
|
+
### Instance Creation Method\(s\)
|
|
765
|
+
|
|
766
|
+
#### *mfColorObjectName =* **new MFColor** (*\[SFColor, SFColor, ...\])*
|
|
767
|
+
|
|
768
|
+
The creation method can be passed 0 or more SFColor-valued expressions to initialize the elements of the array.
|
|
769
|
+
|
|
770
|
+
### Properties
|
|
771
|
+
|
|
772
|
+
#### **length**
|
|
773
|
+
|
|
774
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
775
|
+
|
|
776
|
+
### Common Methods
|
|
777
|
+
|
|
778
|
+
### Methods
|
|
779
|
+
|
|
780
|
+
None
|
|
781
|
+
|
|
782
|
+
## MFDouble/MFFloat Object
|
|
783
|
+
|
|
784
|
+
The MFFloat object corresponds to a X3D MFFloat field. It is used to store a one-dimensional array of SFFloat objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfFloatObjectName*\[*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.
|
|
785
|
+
|
|
786
|
+
### Instance Creation Method\(s\)
|
|
787
|
+
|
|
788
|
+
#### *mfFloatObjectName =* **new MFFloat** (*\[number, number...\])*
|
|
789
|
+
|
|
790
|
+
The creation method can be passed 0 or more numeric-valued expressions to initialize the elements of the array.
|
|
791
|
+
|
|
792
|
+
### Properties
|
|
793
|
+
|
|
794
|
+
#### **length**
|
|
795
|
+
|
|
796
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
797
|
+
|
|
798
|
+
### Methods
|
|
799
|
+
|
|
800
|
+
None
|
|
801
|
+
|
|
802
|
+
## MFImage Object
|
|
803
|
+
|
|
804
|
+
The MFImage object corresponds to a X3D MFImage field. It is used to store a one-dimensional array of SFImage objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfImageObjectName*\[*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 SFImage (0,0,0).
|
|
805
|
+
|
|
806
|
+
### Instance Creation Method\(s\)
|
|
807
|
+
|
|
808
|
+
#### *mfImageObjectName =* **new MFImage** (*\[SFImage, SFImage, ...\])*
|
|
809
|
+
|
|
810
|
+
The creation method can be passed 0 or more SFImage-valued expressions to initialize the elements of the array.
|
|
811
|
+
|
|
812
|
+
### Properties
|
|
813
|
+
|
|
814
|
+
#### **length**
|
|
815
|
+
|
|
816
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
817
|
+
|
|
818
|
+
### Methods
|
|
819
|
+
|
|
820
|
+
None
|
|
821
|
+
|
|
822
|
+
## MFInt32 Object
|
|
823
|
+
|
|
824
|
+
The MFInt32 object corresponds to a X3D MFInt32 field. It is used to store a one-dimensional array of SFInt32 objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfInt32ObjectName*\[*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.
|
|
825
|
+
|
|
826
|
+
### Instance Creation Method\(s\)
|
|
827
|
+
|
|
828
|
+
#### *mfInt32ObjectName =* **new MFInt32** (*\[number, number, ...\])*
|
|
829
|
+
|
|
830
|
+
The creation method can be passed 0 or more integer-valued expressions to initialize the elements of the array.
|
|
831
|
+
|
|
832
|
+
### Properties
|
|
833
|
+
|
|
834
|
+
#### **length**
|
|
835
|
+
|
|
836
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
837
|
+
|
|
838
|
+
### Methods
|
|
839
|
+
|
|
840
|
+
None
|
|
841
|
+
|
|
842
|
+
## MFMatrix3d/MFMatrix3f Object
|
|
843
|
+
|
|
844
|
+
The MFMatrix3f object corresponds to a X3D MFMatrix3f field. It is used to store a one-dimensional array of SFMatrix3f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfMatrix3fObjectName*\[*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 NULL.
|
|
845
|
+
|
|
846
|
+
### Instance Creation Method\(s\)
|
|
847
|
+
|
|
848
|
+
#### *mfMatrix3fObjectName =* **new MFMatrix3f** (*\[SFMatrix3f, SFMatrix3f, ...\])*
|
|
849
|
+
|
|
850
|
+
The creation method can be passed 0 or more SFMatrix3f-valued expressions to initialize the elements of the array.
|
|
851
|
+
|
|
852
|
+
### Properties
|
|
853
|
+
|
|
854
|
+
#### **length**
|
|
855
|
+
|
|
856
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
857
|
+
|
|
858
|
+
### Methods
|
|
859
|
+
|
|
860
|
+
None
|
|
861
|
+
|
|
862
|
+
## MFMatrix4d/MFMatrix4f Object
|
|
863
|
+
|
|
864
|
+
The MFMatrix4f object corresponds to a X3D MFMatrix4f field. It is used to store a one-dimensional array of SFMatrix4f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfMatrix4fObjectName*\[*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 NULL.
|
|
865
|
+
|
|
866
|
+
### Instance Creation Method\(s\)
|
|
867
|
+
|
|
868
|
+
#### *mfMatrix4fObjectName =* **new MFMatrix4f** (*\[SFMatrix4f, SFMatrix4f, ...\])*
|
|
869
|
+
|
|
870
|
+
The creation method can be passed 0 or more SFMatrix4f-valued expressions to initialize the elements of the array.
|
|
871
|
+
|
|
872
|
+
### Properties
|
|
873
|
+
|
|
874
|
+
#### **length**
|
|
875
|
+
|
|
876
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
877
|
+
|
|
878
|
+
### Methods
|
|
879
|
+
|
|
880
|
+
None
|
|
881
|
+
|
|
882
|
+
## MFNode Object
|
|
883
|
+
|
|
884
|
+
The MFNode object corresponds to a X3D MFNode field. It is used to store a one-dimensional array of SFNode objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfNodeObjectName*\[*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 NULL.
|
|
885
|
+
|
|
886
|
+
### Instance Creation Method\(s\)
|
|
887
|
+
|
|
888
|
+
#### *mfNodeObjectName =* **new MFNode** (*\[SFNode, SFNode, ...\])*
|
|
889
|
+
|
|
890
|
+
The creation method can be passed 0 or more SFNode-valued expressions to initialize the elements of the array.
|
|
891
|
+
|
|
892
|
+
### Properties
|
|
893
|
+
|
|
894
|
+
#### **length**
|
|
895
|
+
|
|
896
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
897
|
+
|
|
898
|
+
### Methods
|
|
899
|
+
|
|
900
|
+
#### String **toVRMLString** ()
|
|
901
|
+
|
|
902
|
+
Returns the X3D VRML-encoded string that, if parsed as the value of an MFNode field, produce this node.
|
|
903
|
+
|
|
904
|
+
#### String **toXMLString** ()
|
|
905
|
+
|
|
906
|
+
Returns the X3D XML-encoded string that, if parsed as the value of an MFNode field, produce this node.
|
|
907
|
+
|
|
908
|
+
## MFRotation Object
|
|
909
|
+
|
|
910
|
+
The MFRotation object corresponds to a X3D MFRotation field. It is used to store a one-dimensional array of SFRotation objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfRotationObjectName*\[*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 SFRotation (0, 0, 1, 0).
|
|
911
|
+
|
|
912
|
+
### Instance Creation Method\(s\)
|
|
913
|
+
|
|
914
|
+
#### *mfRotationObjectName =* **new MFRotation** (*\[SFRotation, SFRotation, ...\])*
|
|
915
|
+
|
|
916
|
+
The creation method can be passed 0 or more SFRotation-valued expressions to initialize the elements of the array.
|
|
917
|
+
|
|
918
|
+
### Properties
|
|
919
|
+
|
|
920
|
+
#### **length**
|
|
921
|
+
|
|
922
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
923
|
+
|
|
924
|
+
### Methods
|
|
925
|
+
|
|
926
|
+
None
|
|
927
|
+
|
|
928
|
+
## MFString Object
|
|
929
|
+
|
|
930
|
+
The MFString object corresponds to a X3D MFString field. It is used to store a one-dimensional array of String objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfStringObjectName*\[*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.
|
|
931
|
+
|
|
932
|
+
### Instance Creation Method\(s\)
|
|
933
|
+
|
|
934
|
+
#### *mfStringObjectName =* **new MFString** (*\[string, string, ...\])*
|
|
935
|
+
|
|
936
|
+
The creation method can be passed 0 or more string-valued expressions to initialize the elements of the array.
|
|
937
|
+
|
|
938
|
+
### Properties
|
|
939
|
+
|
|
940
|
+
#### **length**
|
|
941
|
+
|
|
942
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
943
|
+
|
|
944
|
+
### Methods
|
|
945
|
+
|
|
946
|
+
None
|
|
947
|
+
|
|
948
|
+
## MFVec2d/MFVec2f Object
|
|
949
|
+
|
|
950
|
+
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).
|
|
951
|
+
|
|
952
|
+
### Instance Creation Method\(s\)
|
|
953
|
+
|
|
954
|
+
#### *mfVec2fObjectName =* **new MFVec2f** (*\[SFVec2f, SFVec2f, ...\])*
|
|
955
|
+
|
|
956
|
+
The creation method can be passed 0 or more SFVec2f-valued expressions to initialize the elements of the array.
|
|
957
|
+
|
|
958
|
+
### Properties
|
|
959
|
+
|
|
960
|
+
#### **length**
|
|
961
|
+
|
|
962
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
963
|
+
|
|
964
|
+
### Methods
|
|
965
|
+
|
|
966
|
+
None
|
|
967
|
+
|
|
968
|
+
## MFVec3d/MFVec3f Object
|
|
969
|
+
|
|
970
|
+
The MFVec3f object corresponds to a X3D MFVec3f field. It is used to store a one-dimensional array of SFVec3f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec3fObjectName*\[*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 SFVec3f (0, 0, 0).
|
|
971
|
+
|
|
972
|
+
### Instance Creation Method\(s\)
|
|
973
|
+
|
|
974
|
+
#### *mfVec3fObjectName =* **new MFVec3f** (*\[SFVec3f, SFVec3f, ...\])*
|
|
975
|
+
|
|
976
|
+
The creation method can be passed 0 or more SFVec3f-valued expressions to initialize the elements of the array.
|
|
977
|
+
|
|
978
|
+
### Properties
|
|
979
|
+
|
|
980
|
+
#### **length**
|
|
981
|
+
|
|
982
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
983
|
+
|
|
984
|
+
### Methods
|
|
985
|
+
|
|
986
|
+
None
|
|
987
|
+
|
|
988
|
+
## MFVec4d/MFVec4f Object
|
|
989
|
+
|
|
990
|
+
The MFVec4f object corresponds to a X3D MFVec4f field. It is used to store a one-dimensional array of SFVec4f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec4fObjectName*\[*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 SFVec4f (0, 0).
|
|
991
|
+
|
|
992
|
+
### Instance Creation Method\(s\)
|
|
993
|
+
|
|
994
|
+
#### *mfVec4fObjectName =* **new MFVec4f** (*\[SFVec4f, SFVec4f, ...\])*
|
|
995
|
+
|
|
996
|
+
The creation method can be passed 0 or more SFVec4f-valued expressions to initialize the elements of the array.
|
|
997
|
+
|
|
998
|
+
### Properties
|
|
999
|
+
|
|
1000
|
+
#### **length**
|
|
1001
|
+
|
|
1002
|
+
An integer containing the number of elements in the array. Assigning an integer to length changes the number of elements in the array.
|
|
1003
|
+
|
|
1004
|
+
### Methods
|
|
1005
|
+
|
|
1006
|
+
None
|