x_ite 10.5.14 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +4 -4
  2. package/dist/X3DUOM.xml +0 -1
  3. package/dist/assets/components/AnnotationComponent.js +2 -2
  4. package/dist/assets/components/AnnotationComponent.min.js +2 -2
  5. package/dist/assets/components/CADGeometryComponent.js +2 -2
  6. package/dist/assets/components/CADGeometryComponent.min.js +2 -2
  7. package/dist/assets/components/CubeMapTexturingComponent.js +2 -2
  8. package/dist/assets/components/CubeMapTexturingComponent.min.js +2 -2
  9. package/dist/assets/components/DISComponent.js +2 -2
  10. package/dist/assets/components/DISComponent.min.js +2 -2
  11. package/dist/assets/components/EventUtilitiesComponent.js +2 -2
  12. package/dist/assets/components/EventUtilitiesComponent.min.js +2 -2
  13. package/dist/assets/components/Geometry2DComponent.js +2 -2
  14. package/dist/assets/components/Geometry2DComponent.min.js +2 -2
  15. package/dist/assets/components/GeospatialComponent.js +2 -2
  16. package/dist/assets/components/GeospatialComponent.min.js +2 -2
  17. package/dist/assets/components/HAnimComponent.js +19 -17
  18. package/dist/assets/components/HAnimComponent.min.js +2 -2
  19. package/dist/assets/components/KeyDeviceSensorComponent.js +2 -2
  20. package/dist/assets/components/KeyDeviceSensorComponent.min.js +2 -2
  21. package/dist/assets/components/LayoutComponent.js +2 -2
  22. package/dist/assets/components/LayoutComponent.min.js +2 -2
  23. package/dist/assets/components/NURBSComponent.js +2 -2
  24. package/dist/assets/components/NURBSComponent.min.js +2 -2
  25. package/dist/assets/components/ParticleSystemsComponent.js +2 -2
  26. package/dist/assets/components/ParticleSystemsComponent.min.js +2 -2
  27. package/dist/assets/components/PickingComponent.js +2 -2
  28. package/dist/assets/components/PickingComponent.min.js +2 -2
  29. package/dist/assets/components/RigidBodyPhysicsComponent.js +2 -2
  30. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +2 -2
  31. package/dist/assets/components/ScriptingComponent.js +3 -4
  32. package/dist/assets/components/ScriptingComponent.min.js +2 -2
  33. package/dist/assets/components/TextComponent.js +4 -4
  34. package/dist/assets/components/TextComponent.min.js +2 -2
  35. package/dist/assets/components/TextureProjectionComponent.js +4 -4
  36. package/dist/assets/components/TextureProjectionComponent.min.js +2 -2
  37. package/dist/assets/components/Texturing3DComponent.js +10 -10
  38. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  39. package/dist/assets/components/VolumeRenderingComponent.js +2 -2
  40. package/dist/assets/components/VolumeRenderingComponent.min.js +2 -2
  41. package/dist/assets/components/X_ITEComponent.js +2 -2
  42. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  43. package/dist/assets/lib/draco_decoder_gltf.js +1 -1
  44. package/dist/example.html +1 -1
  45. package/dist/x_ite.css +1 -1
  46. package/dist/x_ite.d.ts +171 -50
  47. package/dist/x_ite.js +64995 -63008
  48. package/dist/x_ite.min.js +2 -2
  49. package/dist/x_ite.min.mjs +2 -2
  50. package/dist/x_ite.mjs +65648 -63773
  51. package/dist/x_ite.zip +0 -0
  52. package/package.json +3 -3
package/dist/example.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <meta charset="utf-8"/>
5
5
  <script src="x_ite.min.js"></script>
6
6
  <!-- or use: -->
7
- <!-- <script src="https://cdn.jsdelivr.net/npm/x_ite@10.5.14/dist/x_ite.min.js"></script> -->
7
+ <!-- <script src="https://cdn.jsdelivr.net/npm/x_ite@11.0.0/dist/x_ite.min.js"></script> -->
8
8
  <style>
9
9
  x3d-canvas {
10
10
  width: 1000px;
package/dist/x_ite.css CHANGED
@@ -1 +1 @@
1
- /* X_ITE v10.5.14 */@font-face{font-family:"PT Sans";font-style:normal;font-weight:400;src:url("assets/fonts/PT_Sans/PTSans-Regular.ttf") format("truetype")}@font-face{font-family:"PT Sans";font-style:normal;font-weight:700;src:url("assets/fonts/PT_Sans/PTSans-Bold.ttf") format("truetype")}@font-face{font-family:"PT Sans";font-style:italic;font-weight:400;src:url("assets/fonts/PT_Sans/PTSans-Italic.ttf") format("truetype")}@font-face{font-family:"PT Sans";font-style:italic;font-weight:700;src:url("assets/fonts/PT_Sans/PTSans-BoldItalic.ttf") format("truetype")}:host,X3DCanvas{display:inline-block;overflow:hidden;outline:none;margin:0;border:0;border-radius:0;padding:0;width:300px;height:150px;-webkit-user-select:none;user-select:none}:host([hidden]){display:none}:host(.x_ite-fullscreen){width:100vw !important;height:100vh !important}X3DCanvas>:not(.x_ite-private-browser,.x_ite-private-menu){display:none}.x_ite-private-browser{overflow:hidden;position:relative;outline:none;margin:0;border:0;border-radius:0;padding:0;width:100%;height:100%;-webkit-user-select:none;user-select:none}.x_ite-private-surface{outline:none;margin:0;border:0;border-radius:0;padding:0;height:100%}.x_ite-private-canvas{display:block;outline:none;margin:0;border:0;border-radius:0;padding:0;width:100%;height:100%}.x_ite-private-notification{position:absolute;top:20px;right:-4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:5px;color:#fff;font-family:PT Sans,sans-serif;font-size:10pt;letter-spacing:unset;line-height:1;white-space:pre;pointer-events:none}.x_ite-private-notification span{padding:0 24px 0 20px;background:url("assets/images/icon.bw.png") no-repeat 0 2px;image-rendering:pixelated}.x_ite-private-browser-timings{position:absolute;bottom:-4px;left:-4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border-top:4px solid rgba(60,60,60,.61803);border-right:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:10px 15px 14px 14px;color:#fff;font-family:PT Sans,sans-serif;font-size:9pt;white-space:pre;pointer-events:none}.x_ite-private-browser-timings table,.x_ite-private-browser-timings thead,.x_ite-private-browser-timings tbody,.x_ite-private-browser-timings tfoot,.x_ite-private-browser-timings tr,.x_ite-private-browser-timings th,.x_ite-private-browser-timings td{box-sizing:border-box;outline:0;margin:0;border:0;border-radius:0;padding:0;background:none;color:#fff;font-size:inherit;font-weight:normal;font-style:normal;letter-spacing:unset;line-height:1;text-align:left}.x_ite-private-browser-timings table{overflow:hidden;background:url("assets/images/Time.png") no-repeat;image-rendering:pixelated;width:100%;max-width:100%;border-collapse:separate;border-spacing:2px;empty-cells:show}.x_ite-private-browser-timings thead th{padding-left:20px;padding-bottom:5px;font-weight:bold}.x_ite-private-browser-timings td:first-child{padding-right:10px}.x_ite-private-browser-timings table.more tr.x_ite-private-more td{padding-bottom:5px}.x_ite-private-browser-timings table.less tr.x_ite-private-more~tr{display:none}.x_ite-private-browser-timings td{padding-bottom:2px}.x_ite-private-browser-timings tfoot td:first-child{padding-right:0}.x_ite-private-browser-timings tfoot td{padding-top:4px}.x_ite-private-browser-timings button{box-sizing:border-box;border:0;border-radius:10px;width:100%;height:14pt;padding:0;background:rgba(0,0,0,.38196601);color:#fff;font-family:PT Sans,sans-serif;font-style:italic;font-size:9pt;letter-spacing:unset;line-height:1.1;text-align:center;pointer-events:all;cursor:pointer}.x_ite-private-world-info-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0}.x_ite-private-world-info{overflow-y:auto;position:absolute;top:0;right:0;bottom:0;left:0;inset:0;margin:21pt;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border:4px solid rgba(60,60,60,.61803);border-radius:15px;padding:21pt}.x_ite-private-world-info .x_ite-private-world-info-top,.x_ite-private-world-info .x_ite-private-world-info-title,.x_ite-private-world-info .x_ite-private-world-info-info,.x_ite-private-world-info p{box-sizing:border-box;outline:0;margin:0;border:0;border-radius:0;padding:0;background:none;color:#fff;font-family:PT Sans,sans-serif;font-size:inherit;font-weight:inherit;font-style:normal;letter-spacing:unset;line-height:1.2;text-align:left}.x_ite-private-world-info .x_ite-private-world-info-top{font-weight:bold;font-style:italic;font-size:9pt}.x_ite-private-world-info .x_ite-private-world-info-title{margin:.3em 0 1em 0;font-weight:bold;font-size:21pt}.x_ite-private-world-info .x_ite-private-world-info-info,.x_ite-private-world-info .x_ite-private-world-info-info p{margin:1em 0 1em 0;font-size:14pt}.x_ite-private-world-info a{text-decoration:underline;color:#fd9f2e}.x_ite-private-menu.context-menu-layer{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;inset:0}.x_ite-private-menu.context-menu-list,.x_ite-private-menu .context-menu-list{display:none;box-sizing:border-box;min-width:120px;margin:0;margin-left:1px;border:4px solid rgba(0,0,0,0);border-radius:5px;padding:5px 10px 9px 9px;color:#fff;font-family:PT Sans,sans-serif;font-size:10pt;white-space:pre;line-height:1.2;list-style-type:none}.x_ite-private-menu.context-menu-list{position:fixed;z-index:10000;isolation:isolate}.x_ite-private-menu .context-menu-list{position:absolute}.x_ite-private-menu .context-menu-list{top:-13px}.x_ite-private-menu .context-menu-background{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;box-sizing:border-box;min-width:120px;margin:0;margin-left:1px;border:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:5px 10px 9px 9px;background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-background-clip:padding-box;background-clip:padding-box}.x_ite-private-menu .context-menu-item{cursor:pointer;position:relative;border-radius:5px;margin:0;font-size:10pt;line-height:1;letter-spacing:unset;text-align:left}.x_ite-private-menu .context-menu-item{margin:0 4px 0 4px}.x_ite-private-menu .context-menu-item:first-of-type{margin-top:4px}.x_ite-private-menu .context-menu-item:last-of-type{margin-bottom:4px}.x_ite-private-menu .context-menu-item:hover:not(.context-menu-not-selectable){background-color:rgba(255,69,58,.8)}.x_ite-private-menu .context-menu-item:hover>.context-menu-list{display:block}.x_ite-private-menu .context-menu-not-selectable{cursor:default}.x_ite-private-menu .context-menu-separator{cursor:default;margin:2px 0;border-top:0;border-bottom:1px solid #8a8a8a;padding-top:0;padding-bottom:0}.x_ite-private-menu .context-menu-separator+.context-menu-separator{display:none !important}.x_ite-private-menu .context-menu-submenu:after{content:"";position:absolute;display:block;right:0;top:8px;margin-right:2px;border-style:solid;border-width:4px 0 4px 5px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #eee;width:0;height:0}.x_ite-private-menu .context-menu-item>span{display:block;width:100%;padding:5px 24px}.x_ite-private-menu .context-menu-input>label{cursor:pointer;display:block;box-sizing:border-box;margin:0;padding:5px 24px;width:100%;font-size:10pt;letter-spacing:unset;line-height:1}.x_ite-private-menu .context-menu-input>label>*{vertical-align:top;font-size:10pt;font-weight:normal;letter-spacing:unset;line-height:1}.x_ite-private-menu .context-menu-item>label>input{all:revert;cursor:pointer}.x_ite-private-menu .context-menu-input>label>input[type=checkbox],.x_ite-private-menu .context-menu-input>label>input[type=radio]{accent-color:#ff453a;display:inline;width:12px;margin:0;margin-left:-20px;padding:0}.x_ite-private-menu .context-menu-input>label>span{padding-left:8px}.x_ite-private-menu .context-menu-title{font-weight:bold}.x_ite-private-menu .context-menu-selected{font-weight:bold;font-style:italic}.x_ite-private-menu .context-menu-icon{background-repeat:no-repeat;background-position:2px 3px;image-rendering:pixelated}.x_ite-private-icon-viewpoint{background:url("assets/images/Viewpoint.png")}.x_ite-private-icon-examine-viewer{background:url("assets/images/ExamineViewer.png")}.x_ite-private-icon-walk-viewer{background:url("assets/images/WalkViewer.png")}.x_ite-private-icon-fly-viewer{background:url("assets/images/FlyViewer.png")}.x_ite-private-icon-lookat-viewer{background:url("assets/images/gtk-zoom-in.png")}.x_ite-private-icon-plane-viewer{background:url("assets/images/PlaneViewer.png")}.x_ite-private-icon-none-viewer{background:url("assets/images/NoneViewer.png")}.x_ite-private-icon-zoom-fit{background:url("assets/images/gtk-zoom-fit.png")}.x_ite-private-icon-zoom-in{background:url("assets/images/gtk-zoom-in.png")}.x_ite-private-icon-primitive-quality{background:url("assets/images/PrimitiveQuality.png")}.x_ite-private-icon-texture-quality{background:url("assets/images/TextureQuality.png")}.x_ite-private-icon-shading{background:url("assets/images/Shading.png")}.x_ite-private-icon-enter-fullscreen{background:url("assets/images/gtk-fullscreen.png")}.x_ite-private-icon-leave-fullscreen{background:url("assets/images/gtk-leave-fullscreen.png")}.x_ite-private-icon-world-info{background:url("assets/images/go-next.png")}.x_ite-private-icon-help-about{background:url("assets/images/help-about.png")}.x_ite-private-splash-screen{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:#1b1d21;background:-moz-radial-gradient(center, ellipse cover, #2f3135 0%, #1b1d21 100%);background:-webkit-radial-gradient(center, ellipse cover, #2f3135 0%, #1b1d21 100%);background:radial-gradient(ellipse at center, #2f3135 0%, #1b1d21 100%)}.x_ite-private-spinner{position:absolute;top:calc(50% - 69px);left:calc(50% - 67px);width:138px;height:134px;background:url("assets/images/logo.128.png") no-repeat;image-rendering:optimizeQuality;-webkit-animation:spinner-animation-spin 32s linear infinite;-moz-animation:spinner-animation-spin 32s linear infinite;animation:spinner-animation-spin 32s linear infinite}@-moz-keyframes spinner-animation-spin{100%{-moz-transform:rotate(360deg)}}@-webkit-keyframes spinner-animation-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-animation-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.x_ite-private-progress{position:absolute;top:calc(50% - 28pt - 11pt);left:calc(50% - 100px);width:200px}.x_ite-private-x_ite{color:#fff;font-size:28pt;text-align:center;text-shadow:1px 1px 0 #000;font-family:PT Sans,sans-serif}.x_ite-private-x_ite span.x_ite-private-x3d{font-weight:bold}.x_ite-private-spinner-text{color:#fff;font-size:11pt;text-align:center;text-shadow:1px 1px 0 #000;font-family:PT Sans,sans-serif}.x_ite-private-progressbar{margin:8px;border-left:2px solid hsla(0,0%,100%,.5);border-right:2px solid hsla(0,0%,100%,.5);padding:0 2px;text-align:left}.x_ite-private-progressbar div{width:0%;height:6px;background:hsla(0,0%,100%,.5)}.x_ite-private-xr-button{position:absolute;right:10px;bottom:10px;width:32px;height:18px;background:url("assets/images/XR.svg");opacity:.6;cursor:pointer}
1
+ /* X_ITE v11.0.0 */@font-face{font-family:"PT Sans";font-style:normal;font-weight:400;src:url("assets/fonts/PT_Sans/PTSans-Regular.ttf") format("truetype")}@font-face{font-family:"PT Sans";font-style:normal;font-weight:700;src:url("assets/fonts/PT_Sans/PTSans-Bold.ttf") format("truetype")}@font-face{font-family:"PT Sans";font-style:italic;font-weight:400;src:url("assets/fonts/PT_Sans/PTSans-Italic.ttf") format("truetype")}@font-face{font-family:"PT Sans";font-style:italic;font-weight:700;src:url("assets/fonts/PT_Sans/PTSans-BoldItalic.ttf") format("truetype")}:host,X3DCanvas{display:inline-block;overflow:hidden;outline:none;margin:0;border:0;border-radius:0;padding:0;width:300px;height:150px;-webkit-user-select:none;user-select:none}:host([hidden]){display:none}:host(.x_ite-fullscreen){width:100vw !important;height:100vh !important}X3DCanvas>:not(.x_ite-private-browser,.x_ite-private-menu){display:none}.x_ite-private-browser{overflow:hidden;position:relative;outline:none;margin:0;border:0;border-radius:0;padding:0;width:100%;height:100%;-webkit-user-select:none;user-select:none}.x_ite-private-surface{outline:none;margin:0;border:0;border-radius:0;padding:0;height:100%}.x_ite-private-canvas{display:block;outline:none;margin:0;border:0;border-radius:0;padding:0;width:100%;height:100%}.x_ite-private-notification{position:absolute;top:20px;right:-4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:5px;color:#fff;font-family:PT Sans,sans-serif;font-size:10pt;letter-spacing:unset;line-height:1;white-space:pre;pointer-events:none}.x_ite-private-notification span{padding:0 24px 0 20px;background:url("assets/images/icon.bw.png") no-repeat 0 2px;image-rendering:pixelated}.x_ite-private-browser-timings{position:absolute;bottom:-4px;left:-4px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border-top:4px solid rgba(60,60,60,.61803);border-right:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:10px 15px 14px 14px;color:#fff;font-family:PT Sans,sans-serif;font-size:9pt;white-space:pre;pointer-events:none}.x_ite-private-browser-timings table,.x_ite-private-browser-timings thead,.x_ite-private-browser-timings tbody,.x_ite-private-browser-timings tfoot,.x_ite-private-browser-timings tr,.x_ite-private-browser-timings th,.x_ite-private-browser-timings td{box-sizing:border-box;outline:0;margin:0;border:0;border-radius:0;padding:0;background:none;color:#fff;font-size:inherit;font-weight:normal;font-style:normal;letter-spacing:unset;line-height:1;text-align:left}.x_ite-private-browser-timings table{overflow:hidden;background:url("assets/images/Time.png") no-repeat;image-rendering:pixelated;width:100%;max-width:100%;border-collapse:separate;border-spacing:2px;empty-cells:show}.x_ite-private-browser-timings thead th{padding-left:20px;padding-bottom:5px;font-weight:bold}.x_ite-private-browser-timings td:first-child{padding-right:10px}.x_ite-private-browser-timings table.more tr.x_ite-private-more td{padding-bottom:5px}.x_ite-private-browser-timings table.less tr.x_ite-private-more~tr{display:none}.x_ite-private-browser-timings td{padding-bottom:2px}.x_ite-private-browser-timings tfoot td:first-child{padding-right:0}.x_ite-private-browser-timings tfoot td{padding-top:4px}.x_ite-private-browser-timings button{box-sizing:border-box;border:0;border-radius:10px;width:100%;height:14pt;padding:0;background:rgba(0,0,0,.38196601);color:#fff;font-family:PT Sans,sans-serif;font-style:italic;font-size:9pt;letter-spacing:unset;line-height:1.1;text-align:center;pointer-events:all;cursor:pointer}.x_ite-private-world-info-overlay{position:absolute;top:0;right:0;bottom:0;left:0;inset:0}.x_ite-private-world-info{overflow-y:auto;position:absolute;top:0;right:0;bottom:0;left:0;inset:0;margin:21pt;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-background-clip:padding-box;background-clip:padding-box;border:4px solid rgba(60,60,60,.61803);border-radius:15px;padding:21pt}.x_ite-private-world-info .x_ite-private-world-info-top,.x_ite-private-world-info .x_ite-private-world-info-title,.x_ite-private-world-info .x_ite-private-world-info-info,.x_ite-private-world-info p{box-sizing:border-box;outline:0;margin:0;border:0;border-radius:0;padding:0;background:none;color:#fff;font-family:PT Sans,sans-serif;font-size:inherit;font-weight:inherit;font-style:normal;letter-spacing:unset;line-height:1.2;text-align:left}.x_ite-private-world-info .x_ite-private-world-info-top{font-weight:bold;font-style:italic;font-size:9pt}.x_ite-private-world-info .x_ite-private-world-info-title{margin:.3em 0 1em 0;font-weight:bold;font-size:21pt}.x_ite-private-world-info .x_ite-private-world-info-info,.x_ite-private-world-info .x_ite-private-world-info-info p{margin:1em 0 1em 0;font-size:14pt}.x_ite-private-world-info a{text-decoration:underline;color:#fd9f2e}.x_ite-private-menu.context-menu-layer{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;inset:0}.x_ite-private-menu.context-menu-list,.x_ite-private-menu .context-menu-list{display:none;box-sizing:border-box;min-width:120px;margin:0;margin-left:1px;border:4px solid rgba(0,0,0,0);border-radius:5px;padding:5px 10px 9px 9px;color:#fff;font-family:PT Sans,sans-serif;font-size:10pt;white-space:pre;line-height:1.2;list-style-type:none}.x_ite-private-menu.context-menu-list{position:fixed;z-index:10000;isolation:isolate}.x_ite-private-menu .context-menu-list{position:absolute}.x_ite-private-menu .context-menu-list{top:-13px}.x_ite-private-menu .context-menu-background{position:absolute;top:0;right:0;bottom:0;left:0;inset:0;box-sizing:border-box;min-width:120px;margin:0;margin-left:1px;border:4px solid rgba(60,60,60,.61803);border-radius:5px;padding:5px 10px 9px 9px;background:rgba(0,0,0,.61803);background:-moz-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:-webkit-linear-gradient(top, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);background:linear-gradient(to bottom, rgba(50, 50, 50, 0.61803) 0%, rgba(0, 0, 0, 0.61803) 100%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-background-clip:padding-box;background-clip:padding-box}.x_ite-private-menu .context-menu-item{cursor:pointer;position:relative;border-radius:5px;margin:0;font-size:10pt;line-height:1;letter-spacing:unset;text-align:left}.x_ite-private-menu .context-menu-item{margin:0 4px 0 4px}.x_ite-private-menu .context-menu-item:first-of-type{margin-top:4px}.x_ite-private-menu .context-menu-item:last-of-type{margin-bottom:4px}.x_ite-private-menu .context-menu-item:hover:not(.context-menu-not-selectable){background-color:rgba(255,69,58,.8)}.x_ite-private-menu .context-menu-item:hover>.context-menu-list{display:block}.x_ite-private-menu .context-menu-not-selectable{cursor:default}.x_ite-private-menu .context-menu-separator{cursor:default;margin:2px 0;border-top:0;border-bottom:1px solid #8a8a8a;padding-top:0;padding-bottom:0}.x_ite-private-menu .context-menu-separator+.context-menu-separator{display:none !important}.x_ite-private-menu .context-menu-submenu:after{content:"";position:absolute;display:block;right:0;top:8px;margin-right:2px;border-style:solid;border-width:4px 0 4px 5px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #eee;width:0;height:0}.x_ite-private-menu .context-menu-item>span{display:block;width:100%;padding:5px 24px}.x_ite-private-menu .context-menu-input>label{cursor:pointer;display:block;box-sizing:border-box;margin:0;padding:5px 24px;width:100%;font-size:10pt;letter-spacing:unset;line-height:1}.x_ite-private-menu .context-menu-input>label>*{vertical-align:top;font-size:10pt;font-weight:normal;letter-spacing:unset;line-height:1}.x_ite-private-menu .context-menu-item>label>input{all:revert;cursor:pointer}.x_ite-private-menu .context-menu-input>label>input[type=checkbox],.x_ite-private-menu .context-menu-input>label>input[type=radio]{accent-color:#ff453a;display:inline;width:12px;margin:0;margin-left:-20px;padding:0}.x_ite-private-menu .context-menu-input>label>span{padding-left:8px}.x_ite-private-menu .context-menu-title{font-weight:bold}.x_ite-private-menu .context-menu-selected{font-weight:bold;font-style:italic}.x_ite-private-menu .context-menu-icon{background-repeat:no-repeat;background-position:2px 3px;image-rendering:pixelated}.x_ite-private-icon-viewpoint{background:url("assets/images/Viewpoint.png")}.x_ite-private-icon-examine-viewer{background:url("assets/images/ExamineViewer.png")}.x_ite-private-icon-walk-viewer{background:url("assets/images/WalkViewer.png")}.x_ite-private-icon-fly-viewer{background:url("assets/images/FlyViewer.png")}.x_ite-private-icon-lookat-viewer{background:url("assets/images/gtk-zoom-in.png")}.x_ite-private-icon-plane-viewer{background:url("assets/images/PlaneViewer.png")}.x_ite-private-icon-none-viewer{background:url("assets/images/NoneViewer.png")}.x_ite-private-icon-zoom-fit{background:url("assets/images/gtk-zoom-fit.png")}.x_ite-private-icon-zoom-in{background:url("assets/images/gtk-zoom-in.png")}.x_ite-private-icon-primitive-quality{background:url("assets/images/PrimitiveQuality.png")}.x_ite-private-icon-texture-quality{background:url("assets/images/TextureQuality.png")}.x_ite-private-icon-shading{background:url("assets/images/Shading.png")}.x_ite-private-icon-enter-fullscreen{background:url("assets/images/gtk-fullscreen.png")}.x_ite-private-icon-leave-fullscreen{background:url("assets/images/gtk-leave-fullscreen.png")}.x_ite-private-icon-world-info{background:url("assets/images/go-next.png")}.x_ite-private-icon-help-about{background:url("assets/images/help-about.png")}.x_ite-private-splash-screen{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;inset:0;background:#1b1d21;background:-moz-radial-gradient(center, ellipse cover, #2f3135 0%, #1b1d21 100%);background:-webkit-radial-gradient(center, ellipse cover, #2f3135 0%, #1b1d21 100%);background:radial-gradient(ellipse at center, #2f3135 0%, #1b1d21 100%)}.x_ite-private-spinner{position:absolute;top:calc(50% - 69px);left:calc(50% - 67px);width:138px;height:134px;background:url("assets/images/logo.128.png") no-repeat;image-rendering:optimizeQuality;-webkit-animation:spinner-animation-spin 32s linear infinite;-moz-animation:spinner-animation-spin 32s linear infinite;animation:spinner-animation-spin 32s linear infinite}@-moz-keyframes spinner-animation-spin{100%{-moz-transform:rotate(360deg)}}@-webkit-keyframes spinner-animation-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-animation-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.x_ite-private-progress{position:absolute;top:calc(50% - 28pt - 11pt);left:calc(50% - 100px);width:200px}.x_ite-private-x_ite{color:#fff;font-size:28pt;text-align:center;text-shadow:1px 1px 0 #000;font-family:PT Sans,sans-serif}.x_ite-private-x_ite span.x_ite-private-x3d{font-weight:bold}.x_ite-private-spinner-text{color:#fff;font-size:11pt;text-align:center;text-shadow:1px 1px 0 #000;font-family:PT Sans,sans-serif}.x_ite-private-progressbar{margin:8px;border-left:2px solid hsla(0,0%,100%,.5);border-right:2px solid hsla(0,0%,100%,.5);padding:0 2px;text-align:left}.x_ite-private-progressbar div{width:0%;height:6px;background:hsla(0,0%,100%,.5)}.x_ite-private-xr-button{position:absolute;right:10px;bottom:10px;width:32px;height:18px;background:url("assets/images/XR.svg");opacity:.6;cursor:pointer}
package/dist/x_ite.d.ts CHANGED
@@ -61,26 +61,26 @@ declare namespace X3D
61
61
  /**
62
62
  * This section lists the methods available in the *browser* object, which allows scripts to get and set browser information.
63
63
  */
64
- class X3DBrowser
64
+ class X3DBrowser extends X3DObject
65
65
  {
66
66
  /**
67
- * A browser-implementation specific string describing the browser.
67
+ * A browser-implementation specific string describing the browser. This property is read only.
68
68
  */
69
69
  readonly name: string;
70
70
  /**
71
- * A browser-implementation specific string describing the browser version.
71
+ * A browser-implementation specific string describing the browser version. This property is read only.
72
72
  */
73
73
  readonly version: string;
74
74
  /**
75
- * If provided, the URL to the entity that wrote this browser.
75
+ * If provided, the URL to the entity that wrote this browser. This property is read only.
76
76
  */
77
77
  readonly providerURL: string;
78
78
  /**
79
- * The current speed of the avatar in m/s.
79
+ * The current speed of the avatar in m/s. This property is read only.
80
80
  */
81
81
  readonly currentSpeed: number;
82
82
  /**
83
- * The current frame rate in frames per second.
83
+ * The current frame rate in frames per second. This property is read only.
84
84
  */
85
85
  readonly currentFrameRate: number;
86
86
  /**
@@ -88,49 +88,49 @@ declare namespace X3D
88
88
  */
89
89
  description: string;
90
90
  /**
91
- * Returns the list of all profiles that are supported by this browser.
91
+ * Returns the list of all profiles that are supported by this browser. This property is read only.
92
92
  */
93
93
  readonly supportedProfiles: ProfileInfoArray;
94
94
  /**
95
- * Returns a list of all components that are supported by this browser.
95
+ * Returns a list of all components that are supported by this browser. This property is read only.
96
96
  */
97
97
  readonly supportedComponents: ComponentInfoArray;
98
98
  /**
99
- * Returns a list of all concrete node classes that are supported by this browser.
99
+ * Returns a list of all concrete node classes that are supported by this browser. This property is read only.
100
100
  */
101
101
  readonly concreteNodes: ConcreteNodesArray;
102
102
  /**
103
- * Returns a list of all abstract node classes that are supported by this browser.
103
+ * Returns a list of all abstract node classes that are supported by this browser. This property is read only.
104
104
  */
105
105
  readonly abstractNodes: AbstractNodesArray;
106
106
  /**
107
- * Returns a list of all field type classes that are supported by this browser.
107
+ * Returns a list of all field type classes that are supported by this browser. This property is read only.
108
108
  */
109
109
  readonly fieldTypes: FieldTypesArray;
110
110
  /**
111
- * A String value containing the URL against which relative URLs are resolved. By default, this is the address of the web page itself. Although this feature is rarely needed, it can be useful when loading a `data:` or `blob:` URL with `Browser.loadURL`, or when using `Browser.createX3DFromString`. The value of *baseURL* will only be used with the external browser.
111
+ * A String value which can be read and written, containing the URL against which relative URLs are resolved. By default, this is the address of the web page itself. Although this feature is rarely needed, it can be useful when loading a `data:` or `blob:` URL with `Browser.loadURL`, or when using `Browser.createX3DFromString`. The value of *baseURL* will only be used with the external browser.
112
112
  */
113
113
  baseURL: string;
114
114
  /**
115
- * The real type of this class is dependent on whether the user code is inside a prototype instance or not. If the user code is inside a prototype instance the property represent an X3DExecutionContext otherwise it represent an X3DScene.
115
+ * The real type of this class is dependent on whether the user code is inside a prototype instance or not. If the user code is inside a prototype instance the property represent an X3DExecutionContext otherwise it represent an X3DScene. This property is read only.
116
116
  */
117
117
  readonly currentScene: X3DScene;
118
- /**
119
- * Returns a reference to the corresponding X3DCanvasElement.
120
- */
121
- readonly element: X3DCanvasElement;
122
118
  /*
123
- * Returns the active layer.
119
+ * Returns the active layer, if any. The active layer is the layer on which navigation takes place. This property is read only.
124
120
  */
125
121
  readonly activeLayer: X3DLayerNodeProxy | null;
126
122
  /*
127
- * Returns the active navigation info in the active layer.
123
+ * Returns the bound NavigationInfo node in the active layer, if any. This property is read only.
128
124
  */
129
125
  readonly activeNavigationInfo: NavigationInfoProxy | null;
130
126
  /*
131
- * Returns the active viewpoint in the active layer.
127
+ * Returns the bound X3DViewpointNode in the active layer, if any. This property is read only.
132
128
  */
133
129
  readonly activeViewpoint: X3DViewpointNodeProxy | null;
130
+ /**
131
+ * Returns a reference to the corresponding X3DCanvasElement. This property is read only.
132
+ */
133
+ readonly element: X3DCanvasElement;
134
134
  /**
135
135
  * The `getSupportedProfile` service returns a ProfileInfo object of the named profile from the `supportedProfiles` array. The parameter is the name of a profile from which to fetch the declaration. The browser only returns a ProfileInfo object if it supports the named profile. If it does not support the named profile, an error is thrown.
136
136
  */
@@ -148,9 +148,9 @@ declare namespace X3D
148
148
  */
149
149
  getComponent (name : string, level?: number): ComponentInfo;
150
150
  /**
151
- * The `createScene` service creates a new empty scene that conforms to the given profile and component declarations.
151
+ * The `createScene` service creates a new empty scene that conforms to the given profile and component declarations. The Promise resolves when all components are loaded.
152
152
  */
153
- createScene (profile: ProfileInfo, ... components: ComponentInfo []): X3DScene;
153
+ createScene (profile: ProfileInfo, ... components: ComponentInfo []): Promise<X3DScene>;
154
154
  /**
155
155
  * Loads all components, external and internal, specified by `args`. If the argument is a `String`, the name of a component must be given.
156
156
  */
@@ -182,7 +182,7 @@ declare namespace X3D
182
182
  /**
183
183
  * Imports an X3D JSON document or fragment, converts it, and returns a Promise that resolves to an X3DScene object.
184
184
  */
185
- importJS (json: string | JSONObject): Promise <X3DScene>;
185
+ importJS (json: JSONObject | string): Promise <X3DScene>;
186
186
  /**
187
187
  * Returns a browser property with the corresponding *name*.
188
188
  */
@@ -209,8 +209,8 @@ declare namespace X3D
209
209
  * - X3DConstants .SHUTDOWN_EVENT
210
210
  * - X3DConstants .INITIALIZED_ERROR
211
211
  */
212
- addBrowserCallback (key: any, callback?: (event: number) => void): void;
213
- addBrowserCallback (key: any, event: number, callback?: (event: number) => void): void;
212
+ addBrowserCallback (key: any, callback: (event: number) => void): void;
213
+ addBrowserCallback (key: any, event: number, callback: (event: number) => void): void;
214
214
  /**
215
215
  * Removes a browser callback function associated with *key* and *event*. If *event* is omitted, all callback associated whit key are removed.
216
216
  */
@@ -240,6 +240,14 @@ declare namespace X3D
240
240
  */
241
241
  changeViewpoint (name: string): void;
242
242
  changeViewpoint (layer: SFNode, name: string): void;
243
+ /**
244
+ * Start processing events.
245
+ */
246
+ beginUpdate (): void;
247
+ /**
248
+ * Stop processing events.
249
+ */
250
+ endUpdate (): void;
243
251
  /**
244
252
  * Prints *args* to the browser's console without a newline character. Successive calls to this function append the descriptions on the same line. The output is the implicit call to the object's `toString ()` function.
245
253
  */
@@ -264,10 +272,6 @@ declare namespace X3D
264
272
  * For *options* see `X3DScene.toVRMLString`.
265
273
  */
266
274
  toJSONString (options?: ToStringOptions): string;
267
- /**
268
- * Disposes this object.
269
- */
270
- dispose (): void;
271
275
 
272
276
  // VRML methods
273
277
 
@@ -557,16 +561,12 @@ declare namespace X3D
557
561
  * For *options* see `X3DScene.toVRMLString`.
558
562
  */
559
563
  toJSONString (options?: ToStringOptions): string;
560
- /**
561
- * Disposes this object.
562
- */
563
- dispose (): void;
564
564
  }
565
565
 
566
566
  /**
567
567
  * This section lists the methods available in the X3DExecutionContext object, which allows scripts to get access to the scene graph.
568
568
  */
569
- class X3DExecutionContext
569
+ class X3DExecutionContext extends X3DObject
570
570
  {
571
571
  /**
572
572
  * The string represent the basic specification version used by the parsed file in decimal format. For example, a scene conforming to this specification returns a value such as "4.0". This property is read only.
@@ -577,7 +577,7 @@ declare namespace X3D
577
577
  */
578
578
  readonly encoding: "ASCII" | "VRML" | "XML" | "JSON" | "BINARY" | "SCRIPTED" | "BIFS" | "NONE" | "GLTF" | "OBJ" | "STL" | "PLY" | "SVG";
579
579
  /**
580
- * A reference to the ProfileInfo object used by this execution context. This property is read only.
580
+ * A reference to the ProfileInfo object used by this execution context. A value of `null` implies profile `Full`. This property is read only.
581
581
  */
582
582
  readonly profile: ProfileInfo | null;
583
583
  /**
@@ -740,7 +740,7 @@ declare namespace X3D
740
740
  /**
741
741
  * This object stores information about a particular X3D profile.
742
742
  */
743
- class ProfileInfo
743
+ class ProfileInfo extends X3DObject
744
744
  {
745
745
  /**
746
746
  * A string of the formal name of this profile. This property is read only.
@@ -768,7 +768,7 @@ declare namespace X3D
768
768
  /**
769
769
  * The ComponentInfo object stores information about a particular X3D component. The object consists solely of read-only properties. It does not define any additional functions.
770
770
  */
771
- class ComponentInfo
771
+ class ComponentInfo extends X3DObject
772
772
  {
773
773
  /**
774
774
  * A string of the formal name of this profile. This property is read only.
@@ -796,7 +796,7 @@ declare namespace X3D
796
796
  /**
797
797
  * The UnitInfo object stores information about a particular unit declaration. The object consists solely of read-only properties. It does not define any additional functions.
798
798
  */
799
- class UnitInfo
799
+ class UnitInfo extends X3DObject
800
800
  {
801
801
  /**
802
802
  * The category of default unit being modified as defined in the table. This property is read only.
@@ -825,7 +825,7 @@ declare namespace X3D
825
825
  /**
826
826
  * The X3DImportedNode object stores information about a particular import declaration. The object consists solely of read-only properties. It does not define any additional functions.
827
827
  */
828
- class X3DImportedNode
828
+ class X3DImportedNode extends X3DObject
829
829
  {
830
830
  /**
831
831
  * The SFNode object of the Inline node. This property is read only.
@@ -853,7 +853,7 @@ declare namespace X3D
853
853
  /**
854
854
  * The X3DExportedNode object stores information about a particular export declaration. The object consists solely of read-only properties. It does not define any additional functions.
855
855
  */
856
- class X3DExportedNode
856
+ class X3DExportedNode extends X3DObject
857
857
  {
858
858
  /**
859
859
  * A string of the exported name. This property is read only.
@@ -873,7 +873,7 @@ declare namespace X3D
873
873
  /**
874
874
  * A PROTO declaration is represented by the X3DProtoDeclaration object. This object can only be fetched using the X3DExecutionContext object.
875
875
  */
876
- class X3DProtoDeclaration
876
+ class X3DProtoDeclaration extends X3DObject
877
877
  {
878
878
  /**
879
879
  * A string of the declared name of this prototype. This property is read only.
@@ -920,7 +920,7 @@ declare namespace X3D
920
920
  /**
921
921
  * An EXTERNPROTO declaration is represented by the X3DExternProtoDeclaration object. EXTERNPROTO declarations can only be fetched using the X3DExecutionContext object.
922
922
  */
923
- class X3DExternProtoDeclaration
923
+ class X3DExternProtoDeclaration extends X3DObject
924
924
  {
925
925
  /**
926
926
  * A string of the declared name of this extern prototype. This property is read only.
@@ -979,7 +979,7 @@ declare namespace X3D
979
979
  /**
980
980
  * Routes are represented by the X3DRoute object. Routes can only be created through calls to the addRoute () function of X3DExecutionContext.
981
981
  */
982
- class X3DRoute
982
+ class X3DRoute extends X3DObject
983
983
  {
984
984
  /**
985
985
  * A reference to the node that is the source of this route.
@@ -999,7 +999,7 @@ declare namespace X3D
999
999
  readonly destinationField: string;
1000
1000
  }
1001
1001
 
1002
- class X3DInfoArray <T>
1002
+ class X3DInfoArray <T> extends X3DObject
1003
1003
  {
1004
1004
  [Symbol .iterator](): IterableIterator <T>;
1005
1005
  readonly [index: number]: T;
@@ -1463,7 +1463,7 @@ declare namespace X3D
1463
1463
  /**
1464
1464
  * The X3DFieldDefinition object represents all of the descriptive properties of a single field of a node.
1465
1465
  */
1466
- class X3DFieldDefinition
1466
+ class X3DFieldDefinition extends X3DObject
1467
1467
  {
1468
1468
  /**
1469
1469
  * Value from the X3DConstants object describing the accessType (e.g., "X3DConstants.inputOnly"). This property is read only.
@@ -1486,7 +1486,7 @@ declare namespace X3D
1486
1486
  /**
1487
1487
  * The X3DField object is the base object of all SF* field and X3DArrayField.
1488
1488
  */
1489
- class X3DField
1489
+ class X3DField extends X3DObject
1490
1490
  {
1491
1491
  /**
1492
1492
  * Returns a copy of this X3DField.
@@ -1528,10 +1528,6 @@ declare namespace X3D
1528
1528
  addRouteCallback (key: any, callback: () => void): void;
1529
1529
  removeRouteCallback (key: any): void;
1530
1530
  getRouteCallbacks (): Map <any, () => void>;
1531
- /**
1532
- * Disposes this object.
1533
- */
1534
- dispose (): void;
1535
1531
  }
1536
1532
 
1537
1533
  /**
@@ -1830,6 +1826,26 @@ declare namespace X3D
1830
1826
  * Returns a SFVec2d/f whose value is the object's 2×2 submatrix multiplied by the passed column vector.
1831
1827
  */
1832
1828
  multMatrixDir <T extends SFVec2d | SFVec2f> (col: T): T;
1829
+ /**
1830
+ * Returns a SFMatrix3d/f whose value is the object translated by the passed *translation* on the left.
1831
+ */
1832
+ translate <T extends SFVec2d | SFVec2f> (translation: T): this;
1833
+ /**
1834
+ * Returns a SFMatrix3d/f whose value is the object rotated by the passed *rotation* (in radians) on the left.
1835
+ */
1836
+ rotate (rotation: number): this;
1837
+ /**
1838
+ * Returns a SFMatrix3d/f whose value is the object scaled by the passed *scale* on the left.
1839
+ */
1840
+ scale <T extends SFVec2d | SFVec2f> (scale: T): this;
1841
+ /**
1842
+ * Returns a SFMatrix3d/f whose value is the object skewed by the passed *angle* (in radians) on the left.
1843
+ */
1844
+ skewX (angle: number): this;
1845
+ /**
1846
+ * Returns a SFMatrix3d/f whose value is the object skewed by the passed *angle* (in radians) on the left.
1847
+ */
1848
+ skewY (angle: number): this;
1833
1849
  }
1834
1850
 
1835
1851
  /**
@@ -1930,6 +1946,18 @@ declare namespace X3D
1930
1946
  * Returns a SFVec3d/f whose value is the object's 3×3 submatrix multiplied by the passed column vector.
1931
1947
  */
1932
1948
  multMatrixDir <T extends SFVec3d | SFVec3f> (col: T): T;
1949
+ /**
1950
+ * Returns a SFMatrix4d/f whose value is the object translated by the passed *translation* on the left.
1951
+ */
1952
+ translate <T extends SFVec3d | SFVec3f> (translation: T): this;
1953
+ /**
1954
+ * Returns a SFMatrix4d/f whose value is the object rotated by the passed *rotation* on the left.
1955
+ */
1956
+ rotate (rotation: SFRotation): this;
1957
+ /**
1958
+ * Returns a SFMatrix4d/f whose value is the object scaled by the passed *scale* on the left.
1959
+ */
1960
+ scale <T extends SFVec3d | SFVec3f> (scale: T): this;
1933
1961
  }
1934
1962
 
1935
1963
  /**
@@ -2192,6 +2220,10 @@ declare namespace X3D
2192
2220
  * Returns an SFVec2d/f whose value is the passed SFVec2d/f added, componentwise, to the object.
2193
2221
  */
2194
2222
  add (other: this): this;
2223
+ /**
2224
+ * Returns the elements of this object constrained to the range *low* to *high*. The returned value is computed as `min(max(x, low), high)`.
2225
+ */
2226
+ clamp (low: this, high: this): this;
2195
2227
  /**
2196
2228
  * Returns the distance of this vector to SFVec2d/f *other*.
2197
2229
  */
@@ -2304,6 +2336,10 @@ declare namespace X3D
2304
2336
  * Returns an SFVec3d/f whose value is the passed SFVec3d/f added, componentwise, to the object.
2305
2337
  */
2306
2338
  add (other: this): this;
2339
+ /**
2340
+ * Returns the elements of this object constrained to the range *low* to *high*. The returned value is computed as `min(max(x, low), high)`.
2341
+ */
2342
+ clamp (low: this, high: this): this;
2307
2343
  /**
2308
2344
  * Returns the cross product of the object and the passed SFVec3d/f *other*.
2309
2345
  */
@@ -2424,6 +2460,10 @@ declare namespace X3D
2424
2460
  * Returns an SFVec4d/f whose value is the passed SFVec4d/f added, componentwise, to the object.
2425
2461
  */
2426
2462
  add (other: this): this;
2463
+ /**
2464
+ * Returns the elements of this object constrained to the range *low* to *high*. The returned value is computed as `min(max(x, low), high)`.
2465
+ */
2466
+ clamp (low: this, high: this): this;
2427
2467
  /**
2428
2468
  * Returns the distance of this vector to SFVec4d/f *other*.
2429
2469
  */
@@ -2498,6 +2538,9 @@ declare namespace X3D
2498
2538
  static readonly typeName: "SFVec4f";
2499
2539
  }
2500
2540
 
2541
+ /**
2542
+ * 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.
2543
+ */
2501
2544
  class X3DArrayField <T> extends X3DField
2502
2545
  {
2503
2546
  /**
@@ -2550,111 +2593,189 @@ declare namespace X3D
2550
2593
  type ArrayAction <T> = (element: T, i: number, array: X3DArrayField <T>) => void
2551
2594
  type ArrayReducer <T, U> = (accum: U, current: T, i: number, array: X3DArrayField <T>) => U
2552
2595
 
2596
+ /**
2597
+ * The MFBool object corresponds to an 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 `false`.
2598
+ */
2553
2599
  class MFBool extends X3DArrayField <boolean>
2554
2600
  {
2555
2601
  static readonly typeName: "MFBool";
2556
2602
  }
2557
2603
 
2604
+ /**
2605
+ * The MFColor/MFColorRGBA object corresponds to an X3D MFColor/MFColorRGBA field. It is used to store a one-dimensional array of SFColor/SFColorRGBA 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)` or `SFColorRGBA (0, 0, 0, 0)`.
2606
+ */
2558
2607
  class MFColor extends X3DArrayField <SFColor>
2559
2608
  {
2560
2609
  static readonly typeName: "MFColor";
2561
2610
  }
2562
2611
 
2612
+ /**
2613
+ * The MFColor/MFColorRGBA object corresponds to an X3D MFColor/MFColorRGBA field. It is used to store a one-dimensional array of SFColor/SFColorRGBA 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)` or `SFColorRGBA (0, 0, 0, 0)`.
2614
+ */
2563
2615
  class MFColorRGBA extends X3DArrayField <SFColorRGBA>
2564
2616
  {
2565
2617
  static readonly typeName: "MFColorRGBA";
2566
2618
  }
2567
2619
 
2620
+ /**
2621
+ * The MFDouble/MFFloat object corresponds to an X3D MFDouble/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`.
2622
+ */
2568
2623
  class MFDouble extends X3DArrayField <number>
2569
2624
  {
2570
2625
  static readonly typeName: "MFDouble";
2571
2626
  }
2572
2627
 
2628
+ /**
2629
+ * The MFDouble/MFFloat object corresponds to an X3D MFDouble/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`.
2630
+ */
2573
2631
  class MFFloat extends X3DArrayField <number>
2574
2632
  {
2575
2633
  static readonly typeName: "MFFloat";
2576
2634
  }
2577
2635
 
2636
+ /**
2637
+ * The MFImage object corresponds to an 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)`.
2638
+ */
2578
2639
  class MFImage extends X3DArrayField <SFImage>
2579
2640
  {
2580
2641
  static readonly typeName: "MFImage";
2581
2642
  }
2582
2643
 
2644
+ /**
2645
+ * The MFInt32 object corresponds to an 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`.
2646
+ */
2583
2647
  class MFInt32 extends X3DArrayField <number>
2584
2648
  {
2585
2649
  static readonly typeName: "MFInt32";
2586
2650
  }
2587
2651
 
2652
+ /**
2653
+ * The MFMatrix3d/f object corresponds to an X3D MFMatrix3d/f field. It is used to store a one-dimensional array of SFMatrix3d/f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfMatrix3d/fObjectName*[*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 identity matrix.
2654
+ */
2588
2655
  class MFMatrix3d extends X3DArrayField <SFMatrix3d>
2589
2656
  {
2590
2657
  static readonly typeName: "MFMatrix3d";
2591
2658
  }
2592
2659
 
2660
+ /**
2661
+ * The MFMatrix3d/f object corresponds to an X3D MFMatrix3d/f field. It is used to store a one-dimensional array of SFMatrix3d/f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfMatrix3d/fObjectName*[*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 identity matrix.
2662
+ */
2593
2663
  class MFMatrix3f extends X3DArrayField <SFMatrix3f>
2594
2664
  {
2595
2665
  static readonly typeName: "MFMatrix3f";
2596
2666
  }
2597
2667
 
2668
+ /**
2669
+ * The MFMatrix4d/f object corresponds to an X3D MFMatrix4d/f field. It is used to store a one-dimensional array of SFMatrix4d/f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfMatrix4d/fObjectName*[*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 identity matrix.
2670
+ */
2598
2671
  class MFMatrix4d extends X3DArrayField <SFMatrix4d>
2599
2672
  {
2600
2673
  static readonly typeName: "MFMatrix4d";
2601
2674
  }
2602
2675
 
2676
+ /**
2677
+ * The MFMatrix4d/f object corresponds to an X3D MFMatrix4d/f field. It is used to store a one-dimensional array of SFMatrix4d/f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfMatrix4d/fObjectName*[*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 identity matrix.
2678
+ */
2603
2679
  class MFMatrix4f extends X3DArrayField <SFMatrix4f>
2604
2680
  {
2605
2681
  static readonly typeName: "MFMatrix4f";
2606
2682
  }
2607
2683
 
2684
+ /**
2685
+ * The MFNode object corresponds to an 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`.
2686
+ */
2608
2687
  class MFNode <T extends SFNode | null = SFNode | null> extends X3DArrayField <T>
2609
2688
  {
2610
2689
  static readonly typeName: "MFNode";
2611
2690
  }
2612
2691
 
2692
+ /**
2693
+ * The MFRotation object corresponds to an 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)`.
2694
+ */
2613
2695
  class MFRotation extends X3DArrayField <SFRotation>
2614
2696
  {
2615
2697
  static readonly typeName: "MFRotation";
2616
2698
  }
2617
2699
 
2700
+ /**
2701
+ * The MFString object corresponds to an 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.
2702
+ */
2618
2703
  class MFString <T extends string = string> extends X3DArrayField <T>
2619
2704
  {
2620
2705
  static readonly typeName: "MFString";
2621
2706
  }
2622
2707
 
2708
+ /**
2709
+ * The MFTime object corresponds to an X3D MFTime field. It is used to store a one-dimensional array of SFTime objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfTimeObjectName*[*index*], where *index* is an integer-valued expression with 0<=*index*<length and length is the number of elements in the array). Assigning to an element with *index* > length results in the array being dynamically expanded to contain length elements. All elements not explicitly initialized are set to `0.0`.
2710
+ */
2623
2711
  class MFTime extends X3DArrayField <number>
2624
2712
  {
2625
2713
  static readonly typeName: "MFTime";
2626
2714
  }
2627
2715
 
2716
+ /**
2717
+ * The MFVec2d/f object corresponds to an X3D MFVec2d/f field. It is used to store a one-dimensional array of SFVec2d/f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec2d/fObjectName*[*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 `SFVec2d/f (0, 0)`.
2718
+ */
2628
2719
  class MFVec2d extends X3DArrayField <SFVec2d>
2629
2720
  {
2630
2721
  static readonly typeName: "MFVec2d";
2631
2722
  }
2632
2723
 
2724
+ /**
2725
+ * The MFVec2d/f object corresponds to an X3D MFVec2d/f field. It is used to store a one-dimensional array of SFVec2d/f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec2d/fObjectName*[*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 `SFVec2d/f (0, 0)`.
2726
+ */
2633
2727
  class MFVec2f extends X3DArrayField <SFVec2f>
2634
2728
  {
2635
2729
  static readonly typeName: "MFVec2f";
2636
2730
  }
2637
2731
 
2732
+ /**
2733
+ * The MFVec3d/f object corresponds to an X3D MFVec3d/f field. It is used to store a one-dimensional array of SFVec3d/f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec3d/fObjectName*[*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 `SFVec3d/f (0, 0, 0)`.
2734
+ */
2638
2735
  class MFVec3d extends X3DArrayField <SFVec3d>
2639
2736
  {
2640
2737
  static readonly typeName: "MFVec3d";
2641
2738
  }
2642
2739
 
2740
+ /**
2741
+ * The MFVec3d/f object corresponds to an X3D MFVec3d/f field. It is used to store a one-dimensional array of SFVec3d/f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec3d/fObjectName*[*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 `SFVec3d/f (0, 0, 0)`.
2742
+ */
2643
2743
  class MFVec3f extends X3DArrayField <SFVec3f>
2644
2744
  {
2645
2745
  static readonly typeName: "MFVec3f";
2646
2746
  }
2647
2747
 
2748
+ /**
2749
+ * The MFVec4d/f object corresponds to an X3D MFVec4d/f field. It is used to store a one-dimensional array of SFVec4d/f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec4d/fObjectName*[*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 `SFVec4d/f (0, 0, 0, 0)`.
2750
+ */
2648
2751
  class MFVec4d extends X3DArrayField <SFVec4d>
2649
2752
  {
2650
2753
  static readonly typeName: "MFVec4d";
2651
2754
  }
2652
2755
 
2756
+ /**
2757
+ * The MFVec4d/f object corresponds to an X3D MFVec4d/f field. It is used to store a one-dimensional array of SFVec4d/f objects. Individual elements of the array can be referenced using the standard C-style dereferencing operator (e.g. *mfVec4d/fObjectName*[*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 `SFVec4d/f (0, 0, 0, 0)`.
2758
+ */
2653
2759
  class MFVec4f extends X3DArrayField <SFVec4f>
2654
2760
  {
2655
2761
  static readonly typeName: "MFVec4f";
2656
2762
  }
2657
2763
 
2764
+ /**
2765
+ * Base class for all X3D classes.
2766
+ */
2767
+ class X3DObject
2768
+ {
2769
+ /**
2770
+ * Returns the type name of this object.
2771
+ */
2772
+ getTypeName (): string;
2773
+ /**
2774
+ * Disposes this object.
2775
+ */
2776
+ dispose (): void;
2777
+ }
2778
+
2658
2779
  // NODES START
2659
2780
  // DO NOT EDIT THIS SECTION, THIS SECTION IS AUTOMATICALLY GENERATED.
2660
2781