x_ite 9.0.2 → 9.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/assets/components/Annotation.js +33 -33
  2. package/dist/assets/components/Annotation.min.js +1 -1
  3. package/dist/assets/components/CADGeometry.js +34 -34
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +99 -105
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +92 -47
  8. package/dist/assets/components/DIS.min.js +1 -1
  9. package/dist/assets/components/EventUtilities.js +34 -34
  10. package/dist/assets/components/EventUtilities.min.js +1 -1
  11. package/dist/assets/components/Geometry2D.js +45 -45
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +90 -76
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +171 -149
  16. package/dist/assets/components/HAnim.min.js +1 -1
  17. package/dist/assets/components/KeyDeviceSensor.js +18 -16
  18. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  19. package/dist/assets/components/Layout.js +44 -44
  20. package/dist/assets/components/Layout.min.js +1 -1
  21. package/dist/assets/components/NURBS.js +68 -173
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +112 -97
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +106 -102
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +214 -125
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +43 -43
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +34 -33
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjection.js +48 -48
  34. package/dist/assets/components/TextureProjection.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +60 -64
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +66 -66
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +12 -12
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/x_ite.css +1 -1
  42. package/dist/x_ite.js +1034 -818
  43. package/dist/x_ite.min.js +1 -1
  44. package/dist/x_ite.min.mjs +1 -1
  45. package/dist/x_ite.mjs +1034 -818
  46. package/dist/x_ite.zip +0 -0
  47. package/package.json +2 -2
@@ -1 +1 @@
1
- /* X_ITE v9.0.2 */(()=>{"use strict";var e={355:e=>{e.exports=window[Symbol.for("X_ITE.X3D-9.0.2")].require("lib/jquery")}},t={};function i(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,i),o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Components");var t=i.n(e);const n=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Components/Texturing/TextureProperties");var s=i.n(n);const o=window[Symbol.for("X_ITE.X3D-9.0.2")].require("standard/Math/Numbers/Vector3");var r=i.n(o);const a=window[Symbol.for("X_ITE.X3D-9.0.2")].require("standard/Math/Numbers/Matrix4");var l=i.n(a);const h=window[Symbol.for("X_ITE.X3D-9.0.2")].require("standard/Math/Geometry/ViewVolume");var u=i.n(h);const c=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Namespace");var d=i.n(c);const p=Symbol();function y(){}Object.assign(y.prototype,{getScreenTextureProperties(){return this[p]=new(s())(this.getPrivateScene()),this[p]._boundaryModeS="CLAMP_TO_EDGE",this[p]._boundaryModeT="CLAMP_TO_EDGE",this[p]._boundaryModeR="CLAMP_TO_EDGE",this[p]._minificationFilter="NEAREST_PIXEL",this[p]._magnificationFilter="NEAREST_PIXEL",this[p]._generateMipMaps=!1,this[p]._textureCompression="DEFAULT",this[p].setup(),this.getScreenTextureProperties=function(){return this[p]},Object.defineProperty(this,"getScreenTextureProperties",{enumerable:!1}),this[p]},getScreenScaleMatrix:(()=>{const e=new(r())(0,0,0),t=new(r())(0,0,0),i=new(l());return function(n,s,o){const a=n.getModelViewMatrix().get(),l=n.getProjectionMatrix().get(),h=n.getViewVolume().getViewport();n.getViewpoint().getScreenScale(a.origin,h,e);const c=a.xAxis.normalize().multiply(e.x*o),d=a.yAxis.normalize().multiply(e.y*o),p=a.zAxis.normalize().multiply(e.x*o);i.set(c.x,c.y,c.z,0,d.x,d.y,d.z,0,p.x,p.y,p.z,0,a[12],a[13],a[14],1),u().projectPoint(r().Zero,i,l,h,t),t.x=Math.round(t.x),t.y=Math.round(t.y),u().unProjectPoint(t.x,t.y,t.z,i,l,h,t),t.z=0,i.translate(t),s.assign(a).inverse().multLeft(i)}})()});const g=y;d().add("X3DLayoutContext","x_ite/Browser/Layout/X3DLayoutContext",g);const w=g,f=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Fields");var x=i.n(f);const _=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Base/X3DFieldDefinition");var m=i.n(_);const S=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Base/FieldDefinitionArray");var b=i.n(S);const X=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Components/Core/X3DChildNode");var M=i.n(X);const O=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Base/X3DConstants");var v=i.n(O);function z(e){M().call(this,e),this.addType(v().X3DLayoutNode)}Object.setPrototypeOf(z.prototype,M().prototype),Object.defineProperties(z,{typeName:{value:"X3DLayoutNode",enumerable:!0},componentName:{value:"Layout",enumerable:!0}});const T=z;d().add("X3DLayoutNode","x_ite/Components/Layout/X3DLayoutNode",T);const N=T,F=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Base/X3DCast");var L=i.n(F);const I=window[Symbol.for("X_ITE.X3D-9.0.2")].require("standard/Math/Numbers/Vector2");var E=i.n(I);const U=window[Symbol.for("X_ITE.X3D-9.0.2")].require("standard/Math/Numbers/Rotation4");var D=i.n(U);let C=0;const B=C++,Y=C++,P=C++,R=C++,G=C++,V=C++,j=C++,A=C++,q=C++,k=C++;function W(e){N.call(this,e),this.addType(v().Layout),this.alignX=Y,this.alignY=Y,this.offsetUnitX=V,this.offsetUnitY=V,this.offsetX=0,this.offsetY=0,this.sizeUnitX=V,this.sizeUnitY=V,this.sizeX=1,this.sizeY=1,this.scaleModeX=q,this.scaleModeY=q,this.parent=null,this.rectangleCenter=new(E())(0,0),this.rectangleSize=new(E())(0,0),this.matrix=new(l())}Object.assign(Object.setPrototypeOf(W.prototype,N.prototype),{viewportPixel:new(E())(0,0),pixelSize:new(E())(0,0),translation:new(r())(0,0,0),offset:new(r())(0,0,0),scale:new(r())(1,1,1),currentTranslation:new(r())(0,0,0),currentRotation:new(D()),currentScale:new(r())(0,0,0),modelViewMatrix:new(l()),initialize(){N.prototype.initialize.call(this),this._align.addInterest("set_align__",this),this._offsetUnits.addInterest("set_offsetUnits__",this),this._offset.addInterest("set_offset__",this),this._sizeUnits.addInterest("set_sizeUnits__",this),this._size.addInterest("set_size__",this),this._scaleMode.addInterest("set_scaleMode__",this),this.set_align__(),this.set_offsetUnits__(),this.set_offset__(),this.set_sizeUnits__(),this.set_size__(),this.set_scaleMode__()},set_align__(){this._align.length>0?"LEFT"===this._align[0]?this.alignX=B:"RIGHT"===this._align[0]?this.alignX=P:this.alignX=Y:this.alignX=Y,this._align.length>1?"BOTTOM"===this._align[1]?this.alignY=R:"TOP"===this._align[1]?this.alignY=G:this.alignY=Y:this.alignY=Y},set_offsetUnits__(){this._offsetUnits.length>0?("FRACTION"===this._offsetUnits[0]?this.offsetUnitX=j:"PIXEL"===this._offsetUnits[0]?this.offsetUnitX=A:this.offsetUnitX=V,this._offsetUnits.length>1?"FRACTION"===this._offsetUnits[1]?this.offsetUnitY=j:"PIXEL"===this._offsetUnits[1]?this.offsetUnitY=A:this.offsetUnitY=V:this.offsetUnitY=this.offsetUnitX):(this.offsetUnitX=V,this.offsetUnitY=V)},set_offset__(){this._offset.length>0?(this.offsetX=this._offset[0],this._offset.length>1?this.offsetY=this._offset[1]:this.offsetY=offsetX):(this.offsetX=0,this.offsetY=0)},set_sizeUnits__(){this._sizeUnits.length>0?("FRACTION"===this._sizeUnits[0]?this.sizeUnitX=j:"PIXEL"===this._sizeUnits[0]?this.sizeUnitX=A:this.sizeUnitX=V,this._sizeUnits.length>1?"FRACTION"===this._sizeUnits[1]?this.sizeUnitY=j:"PIXEL"===this._sizeUnits[1]?this.sizeUnitY=A:this.sizeUnitY=V:this.sizeUnitY=this.sizeUnitX):(this.sizeUnitX=V,this.sizeUnitY=V)},set_size__(){this._size.length>0?(this.sizeX=this._size[0],this._size.length>1?this.sizeY=this._size[1]:this.sizeY=this.sizeX):(this.sizeX=0,this.sizeY=0)},set_scaleMode__(){this._scaleMode.length>0?("FRACTION"===this._scaleMode[0]?this.scaleModeX=j:"PIXEL"===this._scaleMode[0]?this.scaleModeX=A:"STRETCH"===this._scaleMode[0]?this.scaleModeX=k:this.scaleModeX=q,this._scaleMode.length>1?"FRACTION"===this._scaleMode[1]?this.scaleModeY=j:"PIXEL"===this._scaleMode[1]?this.scaleModeY=A:"STRETCH"===this._scaleMode[1]?this.scaleModeY=k:this.scaleModeY=q:this.scaleModeY=this.scaleModeX):(this.scaleModeX=q,this.scaleModeY=q)},getRectangleCenter(){return this.rectangleCenter},getRectangleSize(){return this.rectangleSize},getAlignX(){return this.alignX},getAlignY(){return this.alignY},getOffsetUnitX(){return this.offsetUnitX===V?this.parent?this.parent.getOffsetUnitX():j:this.offsetUnitX},getOffsetUnitY(){return this.offsetUnitY===V?this.parent?this.parent.getOffsetUnitY():j:this.offsetUnitY},getOffsetX(){return this.offsetX},getOffsetY(){return this.offsetY},getSizeUnitX(){return this.sizeUnitX===V?this.parent?this.parent.getSizeUnitX():j:this.sizeUnitX},getSizeUnitY(){return this.sizeUnitY===V?this.parent?this.parent.getSizeUnitY():j:this.sizeUnitY},getSizeX(){return this.sizeX},getSizeY(){return this.sizeY},getScaleModeX(){return this.parent?this.scaleModeX:this.scaleModeX===q?j:this.scaleModeX},getScaleModeY(){return this.parent?this.scaleModeY:this.scaleModeY===q?j:this.scaleModeY},transform(e,t){const i=this.parent=t.getParentLayout(),n=this.getBrowser().getRenderingProperty("ContentScale"),s=this.matrix,o=t.getViewpoint(),r=t.getNavigationInfo().getNearValue(),a=t.getViewVolume().getScissor(),l=o.getViewportSize(a,r),h=this.viewportPixel,u=this.pixelSize,c=i?i.getRectangleSize():l,d=this.rectangleSize,p=this.rectangleCenter;switch(h.set(a[2],a[3]).divide(n),u.assign(l).divVec(h),this.getSizeUnitX()){case j:d.x=this.sizeX*c.x;break;case A:d.x=this.sizeX*u.x}switch(this.getSizeUnitY()){case j:d.y=this.sizeY*c.y;break;case A:d.y=this.sizeY*u.y}const y=this.translation.set(0,0,0);switch(this.getAlignX()){case B:y.x=-(c.x-d.x)/2;break;case Y:this.getSizeUnitX()===A&&1&h.x&&(y.x=-u.x/2);break;case P:y.x=(c.x-d.x)/2}switch(this.getAlignY()){case R:y.y=-(c.y-d.y)/2;break;case Y:this.getSizeUnitX===A&&1&h.y&&(y.y=-u.y/2);break;case G:y.y=(c.y-d.y)/2}const g=this.offset.set(0,0,0);switch(this.getOffsetUnitX()){case j:g.x=this.offsetX*c.x;break;case A:g.x=this.offsetX*l.x/h.x}switch(this.getOffsetUnitY()){case j:g.y=this.offsetY*c.y;break;case A:g.y=this.offsetY*l.y/h.y}const w=this.scale.set(1,1,1),f=this.currentTranslation,x=this.currentRotation,_=this.currentScale;switch(t.getModelViewMatrix().get().get(f,x,_),this.getScaleModeX()){case q:w.x=_.x;break;case j:w.x=d.x;break;case k:break;case A:w.x=l.x/h.x}switch(this.getScaleModeY()){case q:w.y=_.y;break;case j:w.y=d.y;break;case k:break;case A:w.y=l.y/h.y}return this.getScaleModeX()===k?this.getScaleModeY()===k?d.x>d.y?(w.x=d.x,w.y=w.x):(w.y=d.y,w.x=w.y):w.x=w.y:this.getScaleModeY()===k&&(w.y=w.x),p.assign(y.add(g)),s.set(f,x),s.translate(y),s.scale(w),s}}),Object.defineProperties(W,{typeName:{value:"Layout",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"layout",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"align",new(x().MFString)("CENTER","CENTER")),new(m())(v().inputOutput,"offsetUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"offset",new(x().MFFloat)(0,0)),new(m())(v().inputOutput,"sizeUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"size",new(x().MFFloat)(1,1)),new(m())(v().inputOutput,"scaleMode",new(x().MFString)("NONE","NONE"))]),enumerable:!0}});const H=W;d().add("Layout","x_ite/Components/Layout/Layout",H);const K=H,Z=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Components/Grouping/X3DGroupingNode");var Q=i.n(Z);const J=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Rendering/TraverseType");var $=i.n(J);function ee(e){Q().call(this,e),this.addType(v().LayoutGroup),this.viewportNode=null,this.layoutNode=null,this.matrix=new(l()),this.modelViewMatrix=new(l()),this.screenMatrix=new(l())}Object.assign(Object.setPrototypeOf(ee.prototype,Q().prototype),{initialize(){Q().prototype.initialize.call(this),this._viewport.addInterest("set_viewport__",this),this._layout.addInterest("set_layout__",this),this.set_viewport__(),this.set_layout__()},set_viewport__(){this.viewportNode=L()(v().X3DViewportNode,this._viewport)},set_layout__(){this.layoutNode=L()(v().X3DLayoutNode,this._layout)},getBBox(e,t){return Q().prototype.getBBox.call(this,e,t).multRight(this.getMatrix())},getMatrix(){return this.layoutNode?this.matrix.assign(this.modelViewMatrix).inverse().multLeft(this.screenMatrix):this.matrix.identity()},getLayout(){return this.layoutNode},traverse(e,t){if(e!==$().COLLISION){if(this.viewportNode&&this.viewportNode.push(),this.layoutNode){const i=t.getModelViewMatrix();this.modelViewMatrix.assign(i.get()),this.screenMatrix.assign(this.layoutNode.transform(e,t)),i.pushMatrix(this.screenMatrix),t.getLayouts().push(this.layoutNode),Q().prototype.traverse.call(this,e,t),t.getLayouts().pop(),i.pop()}else Q().prototype.traverse.call(this,e,t);this.viewportNode&&this.viewportNode.pop()}}}),Object.defineProperties(ee,{typeName:{value:"LayoutGroup",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const te=ee;d().add("LayoutGroup","x_ite/Components/Layout/LayoutGroup",te);const ie=te,ne=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Components/Layering/X3DLayerNode");var se=i.n(ne);const oe=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Components/Navigation/OrthoViewpoint");var re=i.n(oe);function ae(e){se().call(this,e,new(re())(e),new ie(e)),this.addType(v().LayoutLayer)}Object.assign(Object.setPrototypeOf(ae.prototype,se().prototype),{initialize(){se().prototype.initialize.call(this),this._layout.addFieldInterest(this.getGroup()._layout),this._addChildren.addFieldInterest(this.getGroup()._addChildren),this._removeChildren.addFieldInterest(this.getGroup()._removeChildren),this._children.addFieldInterest(this.getGroup()._children),this.getGroup()._layout=this._layout,this.getGroup()._children=this._children,this.getGroup().setPrivate(!0),this.getGroup().setup()}}),Object.defineProperties(ae,{typeName:{value:"LayoutLayer",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"layers",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"pickable",new(x().SFBool)(!0)),new(m())(v().inputOutput,"objectType",new(x().MFString)("ALL")),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const le=ae;d().add("LayoutLayer","x_ite/Components/Layout/LayoutLayer",le);const he=le,ue=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Components/Text/X3DFontStyleNode");var ce=i.n(ue);const de=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Browser/Text/X3DTextGeometry");var pe=i.n(de);const ye=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Browser/Text/TextAlignment");var ge=i.n(ye);const we=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Components/Texturing/PixelTexture");var fe=i.n(we);const xe=window[Symbol.for("X_ITE.X3D-9.0.2")].require("x_ite/Components/Rendering/X3DGeometryNode");var _e=i.n(xe);const me=window[Symbol.for("X_ITE.X3D-9.0.2")].require("standard/Math/Geometry/Box3");var Se=i.n(me);const be=window[Symbol.for("X_ITE.X3D-9.0.2")].require("standard/Math/Algorithm");var Xe=i.n(be),Me=i(355);function Oe(e,t){pe().call(this,e,t),e.setTransparent(!0),this.texCoordArray=_e().createArray(),this.textureNode=new(fe())(e.getExecutionContext()),this.canvas=Me("<canvas></canvas>"),this.context=this.canvas[0].getContext("2d",{willReadFrequently:!0}),this.matrix=new(l()),this.textureNode._textureProperties=t.getBrowser().getScreenTextureProperties(),this.textureNode.setup()}Object.assign(Object.setPrototypeOf(Oe.prototype,pe().prototype),{modelViewMatrix:new(l()),isTransparent:()=>!0,getMatrix(){return this.matrix},update:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){pe().prototype.update.call(this);const i=this.getFontStyle(),n=this.getText();switch(n._textBounds.x=Math.ceil(n._textBounds.x)+1,n._textBounds.y=Math.ceil(n._textBounds.y)+1,this.getBBox().getExtents(e,t),e.x-=1,e.y-=1,i.getMajorAlignment()){case ge().BEGIN:case ge().FIRST:e.x=Math.floor(e.x),t.x=e.x+n._textBounds.x;break;case ge().MIDDLE:e.x=Math.round(e.x),t.x=e.x+n._textBounds.x;break;case ge().END:t.x=Math.ceil(t.x),e.x=t.x-n._textBounds.x}switch(i.getMinorAlignment()){case ge().BEGIN:case ge().FIRST:t.y=Math.ceil(t.y),e.y=t.y-n._textBounds.y;break;case ge().MIDDLE:t.y=Math.round(t.y),e.y=t.y-n._textBounds.y;break;case ge().END:e.y=Math.floor(e.y),t.y=e.y+n._textBounds.y}n._origin.x=e.x,n._origin.y=t.y,this.getBBox().setExtents(e,t)}})(),build:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){const i=this.getFontStyle(),n=i.getFont();if(!n)return;const s=this.getText(),o=this.getGlyphs(),r=this.getMinorAlignment(),a=this.getTranslations(),l=this.getCharSpacings(),h=i.getScale(),u=h/n.unitsPerEm,c=this.texCoordArray,d=s.getNormals(),p=s.getVertices(),y=this.canvas[0],g=this.context;c.length=0,s.getMultiTexCoords().push(c),this.getBBox().getExtents(e,t),d.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),p.push(e.x,e.y,0,1,t.x,e.y,0,1,t.x,t.y,0,1,e.x,e.y,0,1,t.x,t.y,0,1,e.x,t.y,0,1);const w=s._textBounds.x,f=s._textBounds.y;y.width=Xe().nextPowerOfTwo(w),y.height=Xe().nextPowerOfTwo(f);const x=w/y.width,_=1-f/y.height;if(c.push(0,_,0,1,x,_,0,1,x,1,0,1,0,_,0,1,x,1,0,1,0,1,0,1),g.fillStyle="rgba(255,255,255,0)",g.fillRect(0,0,y.width,y.height),g.fillStyle="rgba(255,255,255,1)",g.save(),g.translate(0,y.height),g.scale(1,-1),i._horizontal.getValue())for(let i=0,s=o.length;i<s;++i){const s=o[i],c=l[i],d=a[i];let p=0;for(let i=0,o=s.length;i<o;++i){const o=s[i],a=r.x+d.x+p+i*c-e.x,l=r.y+d.y-t.y;this.drawGlyph(g,n,o,a,l,h);let y=0;i+1<s.length&&(y=n.getKerningValue(o,s[i+1])),p+=(o.advanceWidth+y)*u}}else{const l=i._leftToRight.getValue(),u=i._topToBottom.getValue(),c=l?0:s._string.length-1,d=l?s._string.length:-1,p=l?1:-1;for(let i=c,s=0;i!==d;i+=p){const l=o[i],c=l.length,d=u?c:-1,p=u?1:-1;for(let i=u?0:c-1;i!==d;i+=p,++s){const o=a[s],u=r.x+o.x-e.x,c=r.y+o.y-t.y;this.drawGlyph(g,n,l[i],u,c,h)}}}g.restore();const m=g.getImageData(0,0,y.width,y.height);m?this.textureNode.setTextureFromData(y.width,y.height,!0,!0,new Uint8Array(m.data.buffer)):this.textureNode.clear()}})(),drawGlyph(e,t,i,n,s,o){const r=i.getPath(n,-s,o),a=r.commands;e.beginPath();for(let t=0,i=a.length;t<i;++t){const i=a[t];switch(i.type){case"M":e.moveTo(i.x,i.y);continue;case"Z":e.closePath();continue;case"L":e.lineTo(i.x,i.y);continue;case"Q":e.quadraticCurveTo(i.x1,i.y1,i.x,i.y);continue;case"C":e.bezierCurveTo(i.x1,i.y1,i.x2,i.y2,i.x,i.y);continue}}r.fill&&e.fill(),r.stroke&&(e.lineWidth=r.strokeWidth,e.stroke())},getGlyphExtents(e,t,i,n,s){const o=e.unitsPerEm;n.set((t.xMin||0)/o,(t.yMin||0)/o,0),s.set((t.xMax||0)/o,(t.yMax||0)/o,0)},traverse:(()=>{const e=new(Se());return function(t,i){this.getBrowser().getScreenScaleMatrix(i,this.matrix,1),e.assign(this.getBBox()).multRight(this.matrix),this.getText().setBBox(e)}})(),display(e,t){l().prototype.multLeft.call(t.modelViewMatrix,this.matrix),t.textureNode=this.textureNode},transformLine:(()=>{const e=new(l());return function(t){return t.multLineMatrix(e.assign(this.matrix).inverse())}})(),transformMatrix(e){return e.multLeft(this.matrix)}});const ve=Oe;d().add("ScreenText","x_ite/Browser/Layout/ScreenText",ve);const ze=ve;function Te(e){ce().call(this,e),this.addType(v().ScreenFontStyle)}Object.assign(Object.setPrototypeOf(Te.prototype,ce().prototype),{initialize(){ce().prototype.initialize.call(this),this.getBrowser().getRenderingProperties()._ContentScale.addInterest("addNodeEvent",this)},getTextGeometry(e){return new ze(e,this)},getScale(){return this._pointSize.getValue()*this.getBrowser().getPixelsPerPoint()}}),Object.defineProperties(Te,{typeName:{value:"ScreenFontStyle",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"fontStyle",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"language",new(x().SFString)),new(m())(v().inputOutput,"family",new(x().MFString)("SERIF")),new(m())(v().inputOutput,"style",new(x().SFString)("PLAIN")),new(m())(v().inputOutput,"pointSize",new(x().SFFloat)(12)),new(m())(v().inputOutput,"spacing",new(x().SFFloat)(1)),new(m())(v().inputOutput,"horizontal",new(x().SFBool)(!0)),new(m())(v().inputOutput,"leftToRight",new(x().SFBool)(!0)),new(m())(v().inputOutput,"topToBottom",new(x().SFBool)(!0)),new(m())(v().inputOutput,"justify",new(x().MFString)("BEGIN"))]),enumerable:!0}});const Ne=Te;d().add("ScreenFontStyle","x_ite/Components/Layout/ScreenFontStyle",Ne);const Fe=Ne;function Le(e){Q().call(this,e),this.addType(v().ScreenGroup),this.matrix=new(l())(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1)}Object.assign(Object.setPrototypeOf(Le.prototype,Q().prototype),{getBBox(e,t){return this.getSubBBox(e,t).multRight(this.matrix)},getMatrix(){return this.matrix},traverse(e,t){switch(e){case $().CAMERA:case $().PICKING:case $().SHADOW:break;default:{const e=this.getBrowser();e.getScreenScaleMatrix(t,this.matrix,e.getRenderingProperty("ContentScale"));break}}const i=t.getModelViewMatrix();i.push(),i.multLeft(this.matrix),Q().prototype.traverse.call(this,e,t),i.pop()}}),Object.defineProperties(Le,{typeName:{value:"ScreenGroup",enumerable:!0},componentName:{value:"Layout",enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze(["3.2","Infinity"]),enumerable:!0},fieldDefinitions:{value:new(b())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const Ie=Le;d().add("ScreenGroup","x_ite/Components/Layout/ScreenGroup",Ie);const Ee=Ie;t().add({name:"Layout",concreteNodes:[K,ie,he,Fe,Ee],abstractNodes:[N],browserContext:w});const Ue=void 0;d().add("Layout","assets/components/Layout",Ue)})()})();
1
+ /* X_ITE v9.0.3 */(()=>{"use strict";var e={355:e=>{e.exports=window[Symbol.for("X_ITE.X3D-9.0.3")].require("lib/jquery")}},t={};function i(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,i),o.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Components");var t=i.n(e);const n=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Components/Texturing/TextureProperties");var s=i.n(n);const o=window[Symbol.for("X_ITE.X3D-9.0.3")].require("standard/Math/Numbers/Vector3");var r=i.n(o);const a=window[Symbol.for("X_ITE.X3D-9.0.3")].require("standard/Math/Numbers/Matrix4");var l=i.n(a);const h=window[Symbol.for("X_ITE.X3D-9.0.3")].require("standard/Math/Geometry/ViewVolume");var u=i.n(h);const c=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Namespace");var d=i.n(c);const p=Symbol();function y(){}Object.assign(y.prototype,{getScreenTextureProperties(){return this[p]=new(s())(this.getPrivateScene()),this[p]._boundaryModeS="CLAMP_TO_EDGE",this[p]._boundaryModeT="CLAMP_TO_EDGE",this[p]._boundaryModeR="CLAMP_TO_EDGE",this[p]._minificationFilter="NEAREST_PIXEL",this[p]._magnificationFilter="NEAREST_PIXEL",this[p]._generateMipMaps=!1,this[p]._textureCompression="DEFAULT",this[p].setup(),this.getScreenTextureProperties=function(){return this[p]},Object.defineProperty(this,"getScreenTextureProperties",{enumerable:!1}),this[p]},getScreenScaleMatrix:(()=>{const e=new(r())(0,0,0),t=new(r())(0,0,0),i=new(l());return function(n,s,o){const a=n.getModelViewMatrix().get(),l=n.getProjectionMatrix().get(),h=n.getViewVolume().getViewport();n.getViewpoint().getScreenScale(a.origin,h,e);const c=a.xAxis.normalize().multiply(e.x*o),d=a.yAxis.normalize().multiply(e.y*o),p=a.zAxis.normalize().multiply(e.x*o);i.set(c.x,c.y,c.z,0,d.x,d.y,d.z,0,p.x,p.y,p.z,0,a[12],a[13],a[14],1),u().projectPoint(r().Zero,i,l,h,t),t.x=Math.round(t.x),t.y=Math.round(t.y),u().unProjectPoint(t.x,t.y,t.z,i,l,h,t),t.z=0,i.translate(t),s.assign(a).inverse().multLeft(i)}})()});const f=y;d().add("X3DLayoutContext","x_ite/Browser/Layout/X3DLayoutContext",f);const g=f,w=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Fields");var x=i.n(w);const _=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Base/X3DFieldDefinition");var m=i.n(_);const b=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Base/FieldDefinitionArray");var S=i.n(b);const X=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Components/Core/X3DChildNode");var M=i.n(X);const O=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Base/X3DConstants");var v=i.n(O);function z(e){M().call(this,e),this.addType(v().X3DLayoutNode)}Object.setPrototypeOf(z.prototype,M().prototype),Object.defineProperties(z,{typeName:{value:"X3DLayoutNode",enumerable:!0},componentInfo:{value:Object.freeze({name:"Layout",level:1}),enumerable:!0}});const T=z;d().add("X3DLayoutNode","x_ite/Components/Layout/X3DLayoutNode",T);const N=T,F=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Base/X3DCast");var I=i.n(F);const L=window[Symbol.for("X_ITE.X3D-9.0.3")].require("standard/Math/Numbers/Vector2");var E=i.n(L);const U=window[Symbol.for("X_ITE.X3D-9.0.3")].require("standard/Math/Numbers/Rotation4");var D=i.n(U);let C=0;const B=C++,Y=C++,P=C++,R=C++,j=C++,G=C++,V=C++,A=C++,q=C++,k=C++;function W(e){N.call(this,e),this.addType(v().Layout),this.alignX=Y,this.alignY=Y,this.offsetUnitX=G,this.offsetUnitY=G,this.offsetX=0,this.offsetY=0,this.sizeUnitX=G,this.sizeUnitY=G,this.sizeX=1,this.sizeY=1,this.scaleModeX=q,this.scaleModeY=q,this.parent=null,this.rectangleCenter=new(E())(0,0),this.rectangleSize=new(E())(0,0),this.matrix=new(l())}Object.assign(Object.setPrototypeOf(W.prototype,N.prototype),{viewportPixel:new(E())(0,0),pixelSize:new(E())(0,0),translation:new(r())(0,0,0),offset:new(r())(0,0,0),scale:new(r())(1,1,1),currentTranslation:new(r())(0,0,0),currentRotation:new(D()),currentScale:new(r())(0,0,0),modelViewMatrix:new(l()),initialize(){N.prototype.initialize.call(this),this._align.addInterest("set_align__",this),this._offsetUnits.addInterest("set_offsetUnits__",this),this._offset.addInterest("set_offset__",this),this._sizeUnits.addInterest("set_sizeUnits__",this),this._size.addInterest("set_size__",this),this._scaleMode.addInterest("set_scaleMode__",this),this.set_align__(),this.set_offsetUnits__(),this.set_offset__(),this.set_sizeUnits__(),this.set_size__(),this.set_scaleMode__()},set_align__(){this._align.length>0?"LEFT"===this._align[0]?this.alignX=B:"RIGHT"===this._align[0]?this.alignX=P:this.alignX=Y:this.alignX=Y,this._align.length>1?"BOTTOM"===this._align[1]?this.alignY=R:"TOP"===this._align[1]?this.alignY=j:this.alignY=Y:this.alignY=Y},set_offsetUnits__(){this._offsetUnits.length>0?("FRACTION"===this._offsetUnits[0]?this.offsetUnitX=V:"PIXEL"===this._offsetUnits[0]?this.offsetUnitX=A:this.offsetUnitX=G,this._offsetUnits.length>1?"FRACTION"===this._offsetUnits[1]?this.offsetUnitY=V:"PIXEL"===this._offsetUnits[1]?this.offsetUnitY=A:this.offsetUnitY=G:this.offsetUnitY=this.offsetUnitX):(this.offsetUnitX=G,this.offsetUnitY=G)},set_offset__(){this._offset.length>0?(this.offsetX=this._offset[0],this._offset.length>1?this.offsetY=this._offset[1]:this.offsetY=offsetX):(this.offsetX=0,this.offsetY=0)},set_sizeUnits__(){this._sizeUnits.length>0?("FRACTION"===this._sizeUnits[0]?this.sizeUnitX=V:"PIXEL"===this._sizeUnits[0]?this.sizeUnitX=A:this.sizeUnitX=G,this._sizeUnits.length>1?"FRACTION"===this._sizeUnits[1]?this.sizeUnitY=V:"PIXEL"===this._sizeUnits[1]?this.sizeUnitY=A:this.sizeUnitY=G:this.sizeUnitY=this.sizeUnitX):(this.sizeUnitX=G,this.sizeUnitY=G)},set_size__(){this._size.length>0?(this.sizeX=this._size[0],this._size.length>1?this.sizeY=this._size[1]:this.sizeY=this.sizeX):(this.sizeX=0,this.sizeY=0)},set_scaleMode__(){this._scaleMode.length>0?("FRACTION"===this._scaleMode[0]?this.scaleModeX=V:"PIXEL"===this._scaleMode[0]?this.scaleModeX=A:"STRETCH"===this._scaleMode[0]?this.scaleModeX=k:this.scaleModeX=q,this._scaleMode.length>1?"FRACTION"===this._scaleMode[1]?this.scaleModeY=V:"PIXEL"===this._scaleMode[1]?this.scaleModeY=A:"STRETCH"===this._scaleMode[1]?this.scaleModeY=k:this.scaleModeY=q:this.scaleModeY=this.scaleModeX):(this.scaleModeX=q,this.scaleModeY=q)},getRectangleCenter(){return this.rectangleCenter},getRectangleSize(){return this.rectangleSize},getAlignX(){return this.alignX},getAlignY(){return this.alignY},getOffsetUnitX(){return this.offsetUnitX===G?this.parent?this.parent.getOffsetUnitX():V:this.offsetUnitX},getOffsetUnitY(){return this.offsetUnitY===G?this.parent?this.parent.getOffsetUnitY():V:this.offsetUnitY},getOffsetX(){return this.offsetX},getOffsetY(){return this.offsetY},getSizeUnitX(){return this.sizeUnitX===G?this.parent?this.parent.getSizeUnitX():V:this.sizeUnitX},getSizeUnitY(){return this.sizeUnitY===G?this.parent?this.parent.getSizeUnitY():V:this.sizeUnitY},getSizeX(){return this.sizeX},getSizeY(){return this.sizeY},getScaleModeX(){return this.parent?this.scaleModeX:this.scaleModeX===q?V:this.scaleModeX},getScaleModeY(){return this.parent?this.scaleModeY:this.scaleModeY===q?V:this.scaleModeY},transform(e,t){const i=this.parent=t.getParentLayout(),n=this.getBrowser().getRenderingProperty("ContentScale"),s=this.matrix,o=t.getViewpoint(),r=t.getNavigationInfo().getNearValue(),a=t.getViewVolume().getScissor(),l=o.getViewportSize(a,r),h=this.viewportPixel,u=this.pixelSize,c=i?i.getRectangleSize():l,d=this.rectangleSize,p=this.rectangleCenter;switch(h.set(a[2],a[3]).divide(n),u.assign(l).divVec(h),this.getSizeUnitX()){case V:d.x=this.sizeX*c.x;break;case A:d.x=this.sizeX*u.x}switch(this.getSizeUnitY()){case V:d.y=this.sizeY*c.y;break;case A:d.y=this.sizeY*u.y}const y=this.translation.set(0,0,0);switch(this.getAlignX()){case B:y.x=-(c.x-d.x)/2;break;case Y:this.getSizeUnitX()===A&&1&h.x&&(y.x=-u.x/2);break;case P:y.x=(c.x-d.x)/2}switch(this.getAlignY()){case R:y.y=-(c.y-d.y)/2;break;case Y:this.getSizeUnitX===A&&1&h.y&&(y.y=-u.y/2);break;case j:y.y=(c.y-d.y)/2}const f=this.offset.set(0,0,0);switch(this.getOffsetUnitX()){case V:f.x=this.offsetX*c.x;break;case A:f.x=this.offsetX*l.x/h.x}switch(this.getOffsetUnitY()){case V:f.y=this.offsetY*c.y;break;case A:f.y=this.offsetY*l.y/h.y}const g=this.scale.set(1,1,1),w=this.currentTranslation,x=this.currentRotation,_=this.currentScale;switch(t.getModelViewMatrix().get().get(w,x,_),this.getScaleModeX()){case q:g.x=_.x;break;case V:g.x=d.x;break;case k:break;case A:g.x=l.x/h.x}switch(this.getScaleModeY()){case q:g.y=_.y;break;case V:g.y=d.y;break;case k:break;case A:g.y=l.y/h.y}return this.getScaleModeX()===k?this.getScaleModeY()===k?d.x>d.y?(g.x=d.x,g.y=g.x):(g.y=d.y,g.x=g.y):g.x=g.y:this.getScaleModeY()===k&&(g.y=g.x),p.assign(y.add(f)),s.set(w,x),s.translate(y),s.scale(g),s}}),Object.defineProperties(W,{typeName:{value:"Layout",enumerable:!0},componentInfo:{value:Object.freeze({name:"Layout",level:1}),enumerable:!0},containerField:{value:"layout",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.2",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(S())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"align",new(x().MFString)("CENTER","CENTER")),new(m())(v().inputOutput,"offsetUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"offset",new(x().MFFloat)(0,0)),new(m())(v().inputOutput,"sizeUnits",new(x().MFString)("WORLD","WORLD")),new(m())(v().inputOutput,"size",new(x().MFFloat)(1,1)),new(m())(v().inputOutput,"scaleMode",new(x().MFString)("NONE","NONE"))]),enumerable:!0}});const H=W;d().add("Layout","x_ite/Components/Layout/Layout",H);const K=H,Z=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Components/Grouping/X3DGroupingNode");var Q=i.n(Z);const J=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Rendering/TraverseType");var $=i.n(J);function ee(e){Q().call(this,e),this.addType(v().LayoutGroup),this.viewportNode=null,this.layoutNode=null,this.matrix=new(l()),this.modelViewMatrix=new(l()),this.screenMatrix=new(l())}Object.assign(Object.setPrototypeOf(ee.prototype,Q().prototype),{initialize(){Q().prototype.initialize.call(this),this._viewport.addInterest("set_viewport__",this),this._layout.addInterest("set_layout__",this),this.set_viewport__(),this.set_layout__()},set_viewport__(){this.viewportNode=I()(v().X3DViewportNode,this._viewport)},set_layout__(){this.layoutNode=I()(v().X3DLayoutNode,this._layout)},getBBox(e,t){return Q().prototype.getBBox.call(this,e,t).multRight(this.getMatrix())},getMatrix(){return this.layoutNode?this.matrix.assign(this.modelViewMatrix).inverse().multLeft(this.screenMatrix):this.matrix.identity()},getLayout(){return this.layoutNode},traverse(e,t){if(e!==$().COLLISION){if(this.viewportNode&&this.viewportNode.push(),this.layoutNode){const i=t.getModelViewMatrix();this.modelViewMatrix.assign(i.get()),this.screenMatrix.assign(this.layoutNode.transform(e,t)),i.pushMatrix(this.screenMatrix),t.getLayouts().push(this.layoutNode),Q().prototype.traverse.call(this,e,t),t.getLayouts().pop(),i.pop()}else Q().prototype.traverse.call(this,e,t);this.viewportNode&&this.viewportNode.pop()}}}),Object.defineProperties(ee,{typeName:{value:"LayoutGroup",enumerable:!0},componentInfo:{value:Object.freeze({name:"Layout",level:1}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.2",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(S())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const te=ee;d().add("LayoutGroup","x_ite/Components/Layout/LayoutGroup",te);const ie=te,ne=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Components/Layering/X3DLayerNode");var se=i.n(ne);const oe=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Components/Navigation/OrthoViewpoint");var re=i.n(oe);function ae(e){se().call(this,e,new(re())(e),new ie(e)),this.addType(v().LayoutLayer)}Object.assign(Object.setPrototypeOf(ae.prototype,se().prototype),{initialize(){se().prototype.initialize.call(this),this._layout.addFieldInterest(this.getGroup()._layout),this._addChildren.addFieldInterest(this.getGroup()._addChildren),this._removeChildren.addFieldInterest(this.getGroup()._removeChildren),this._children.addFieldInterest(this.getGroup()._children),this.getGroup()._layout=this._layout,this.getGroup()._children=this._children,this.getGroup().setPrivate(!0),this.getGroup().setup()}}),Object.defineProperties(ae,{typeName:{value:"LayoutLayer",enumerable:!0},componentInfo:{value:Object.freeze({name:"Layout",level:1}),enumerable:!0},containerField:{value:"layers",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.2",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(S())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"pickable",new(x().SFBool)(!0)),new(m())(v().inputOutput,"objectType",new(x().MFString)("ALL")),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"layout",new(x().SFNode)),new(m())(v().inputOutput,"viewport",new(x().SFNode)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const le=ae;d().add("LayoutLayer","x_ite/Components/Layout/LayoutLayer",le);const he=le,ue=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Components/Text/X3DFontStyleNode");var ce=i.n(ue);const de=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Browser/Text/X3DTextGeometry");var pe=i.n(de);const ye=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Browser/Text/TextAlignment");var fe=i.n(ye);const ge=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Components/Texturing/PixelTexture");var we=i.n(ge);const xe=window[Symbol.for("X_ITE.X3D-9.0.3")].require("x_ite/Components/Rendering/X3DGeometryNode");var _e=i.n(xe);const me=window[Symbol.for("X_ITE.X3D-9.0.3")].require("standard/Math/Geometry/Box3");var be=i.n(me);const Se=window[Symbol.for("X_ITE.X3D-9.0.3")].require("standard/Math/Algorithm");var Xe=i.n(Se),Me=i(355);function Oe(e,t){pe().call(this,e,t),e.setTransparent(!0),this.texCoordArray=_e().createArray(),this.textureNode=new(we())(e.getExecutionContext()),this.canvas=Me("<canvas></canvas>"),this.context=this.canvas[0].getContext("2d",{willReadFrequently:!0}),this.matrix=new(l()),this.textureNode._textureProperties=t.getBrowser().getScreenTextureProperties(),this.textureNode.setup()}Object.assign(Object.setPrototypeOf(Oe.prototype,pe().prototype),{modelViewMatrix:new(l()),isTransparent:()=>!0,getMatrix(){return this.matrix},update:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){pe().prototype.update.call(this);const i=this.getFontStyle(),n=this.getText();switch(n._textBounds.x=Math.ceil(n._textBounds.x)+1,n._textBounds.y=Math.ceil(n._textBounds.y)+1,this.getBBox().getExtents(e,t),e.x-=1,e.y-=1,i.getMajorAlignment()){case fe().BEGIN:case fe().FIRST:e.x=Math.floor(e.x),t.x=e.x+n._textBounds.x;break;case fe().MIDDLE:e.x=Math.round(e.x),t.x=e.x+n._textBounds.x;break;case fe().END:t.x=Math.ceil(t.x),e.x=t.x-n._textBounds.x}switch(i.getMinorAlignment()){case fe().BEGIN:case fe().FIRST:t.y=Math.ceil(t.y),e.y=t.y-n._textBounds.y;break;case fe().MIDDLE:t.y=Math.round(t.y),e.y=t.y-n._textBounds.y;break;case fe().END:e.y=Math.floor(e.y),t.y=e.y+n._textBounds.y}n._origin.x=e.x,n._origin.y=t.y,this.getBBox().setExtents(e,t)}})(),build:(()=>{const e=new(r())(0,0,0),t=new(r())(1,1,0);return function(){const i=this.getFontStyle(),n=i.getFont();if(!n)return;const s=this.getText(),o=this.getGlyphs(),r=this.getMinorAlignment(),a=this.getTranslations(),l=this.getCharSpacings(),h=i.getScale(),u=h/n.unitsPerEm,c=this.texCoordArray,d=s.getNormals(),p=s.getVertices(),y=this.canvas[0],f=this.context;c.length=0,s.getMultiTexCoords().push(c),this.getBBox().getExtents(e,t),d.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),p.push(e.x,e.y,0,1,t.x,e.y,0,1,t.x,t.y,0,1,e.x,e.y,0,1,t.x,t.y,0,1,e.x,t.y,0,1);const g=s._textBounds.x,w=s._textBounds.y;y.width=Xe().nextPowerOfTwo(g),y.height=Xe().nextPowerOfTwo(w);const x=g/y.width,_=1-w/y.height;if(c.push(0,_,0,1,x,_,0,1,x,1,0,1,0,_,0,1,x,1,0,1,0,1,0,1),f.fillStyle="rgba(255,255,255,0)",f.fillRect(0,0,y.width,y.height),f.fillStyle="rgba(255,255,255,1)",f.save(),f.translate(0,y.height),f.scale(1,-1),i._horizontal.getValue())for(let i=0,s=o.length;i<s;++i){const s=o[i],c=l[i],d=a[i];let p=0;for(let i=0,o=s.length;i<o;++i){const o=s[i],a=r.x+d.x+p+i*c-e.x,l=r.y+d.y-t.y;this.drawGlyph(f,n,o,a,l,h);let y=0;i+1<s.length&&(y=n.getKerningValue(o,s[i+1])),p+=(o.advanceWidth+y)*u}}else{const l=i._leftToRight.getValue(),u=i._topToBottom.getValue(),c=l?0:s._string.length-1,d=l?s._string.length:-1,p=l?1:-1;for(let i=c,s=0;i!==d;i+=p){const l=o[i],c=l.length,d=u?c:-1,p=u?1:-1;for(let i=u?0:c-1;i!==d;i+=p,++s){const o=a[s],u=r.x+o.x-e.x,c=r.y+o.y-t.y;this.drawGlyph(f,n,l[i],u,c,h)}}}f.restore();const m=f.getImageData(0,0,y.width,y.height);m?this.textureNode.setTextureFromData(y.width,y.height,!0,!0,new Uint8Array(m.data.buffer)):this.textureNode.clear()}})(),drawGlyph(e,t,i,n,s,o){const r=i.getPath(n,-s,o),a=r.commands;e.beginPath();for(let t=0,i=a.length;t<i;++t){const i=a[t];switch(i.type){case"M":e.moveTo(i.x,i.y);continue;case"Z":e.closePath();continue;case"L":e.lineTo(i.x,i.y);continue;case"Q":e.quadraticCurveTo(i.x1,i.y1,i.x,i.y);continue;case"C":e.bezierCurveTo(i.x1,i.y1,i.x2,i.y2,i.x,i.y);continue}}r.fill&&e.fill(),r.stroke&&(e.lineWidth=r.strokeWidth,e.stroke())},getGlyphExtents(e,t,i,n,s){const o=e.unitsPerEm;n.set((t.xMin||0)/o,(t.yMin||0)/o,0),s.set((t.xMax||0)/o,(t.yMax||0)/o,0)},traverse:(()=>{const e=new(be());return function(t,i){this.getBrowser().getScreenScaleMatrix(i,this.matrix,1),e.assign(this.getBBox()).multRight(this.matrix),this.getText().setBBox(e)}})(),display(e,t){l().prototype.multLeft.call(t.modelViewMatrix,this.matrix),t.textureNode=this.textureNode},transformLine:(()=>{const e=new(l());return function(t){return t.multLineMatrix(e.assign(this.matrix).inverse())}})(),transformMatrix(e){return e.multLeft(this.matrix)}});const ve=Oe;d().add("ScreenText","x_ite/Browser/Layout/ScreenText",ve);const ze=ve;function Te(e){ce().call(this,e),this.addType(v().ScreenFontStyle)}Object.assign(Object.setPrototypeOf(Te.prototype,ce().prototype),{initialize(){ce().prototype.initialize.call(this),this.getBrowser().getRenderingProperties()._ContentScale.addInterest("addNodeEvent",this)},getTextGeometry(e){return new ze(e,this)},getScale(){return this._pointSize.getValue()*this.getBrowser().getPixelsPerPoint()}}),Object.defineProperties(Te,{typeName:{value:"ScreenFontStyle",enumerable:!0},componentInfo:{value:Object.freeze({name:"Layout",level:2}),enumerable:!0},containerField:{value:"fontStyle",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.2",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(S())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"language",new(x().SFString)),new(m())(v().inputOutput,"family",new(x().MFString)("SERIF")),new(m())(v().inputOutput,"style",new(x().SFString)("PLAIN")),new(m())(v().inputOutput,"pointSize",new(x().SFFloat)(12)),new(m())(v().inputOutput,"spacing",new(x().SFFloat)(1)),new(m())(v().inputOutput,"horizontal",new(x().SFBool)(!0)),new(m())(v().inputOutput,"leftToRight",new(x().SFBool)(!0)),new(m())(v().inputOutput,"topToBottom",new(x().SFBool)(!0)),new(m())(v().inputOutput,"justify",new(x().MFString)("BEGIN"))]),enumerable:!0}});const Ne=Te;d().add("ScreenFontStyle","x_ite/Components/Layout/ScreenFontStyle",Ne);const Fe=Ne;function Ie(e){Q().call(this,e),this.addType(v().ScreenGroup),this.matrix=new(l())(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1)}Object.assign(Object.setPrototypeOf(Ie.prototype,Q().prototype),{getBBox(e,t){return this.getSubBBox(e,t).multRight(this.matrix)},getMatrix(){return this.matrix},traverse(e,t){switch(e){case $().CAMERA:case $().PICKING:case $().SHADOW:break;default:{const e=this.getBrowser();e.getScreenScaleMatrix(t,this.matrix,e.getRenderingProperty("ContentScale"));break}}const i=t.getModelViewMatrix();i.push(),i.multLeft(this.matrix),Q().prototype.traverse.call(this,e,t),i.pop()}}),Object.defineProperties(Ie,{typeName:{value:"ScreenGroup",enumerable:!0},componentInfo:{value:Object.freeze({name:"Layout",level:2}),enumerable:!0},containerField:{value:"children",enumerable:!0},specificationRange:{value:Object.freeze({from:"3.2",to:"Infinity"}),enumerable:!0},fieldDefinitions:{value:new(S())([new(m())(v().inputOutput,"metadata",new(x().SFNode)),new(m())(v().inputOutput,"visible",new(x().SFBool)(!0)),new(m())(v().inputOutput,"bboxDisplay",new(x().SFBool)),new(m())(v().initializeOnly,"bboxSize",new(x().SFVec3f)(-1,-1,-1)),new(m())(v().initializeOnly,"bboxCenter",new(x().SFVec3f)),new(m())(v().inputOnly,"addChildren",new(x().MFNode)),new(m())(v().inputOnly,"removeChildren",new(x().MFNode)),new(m())(v().inputOutput,"children",new(x().MFNode))]),enumerable:!0}});const Le=Ie;d().add("ScreenGroup","x_ite/Components/Layout/ScreenGroup",Le);const Ee=Le;t().add({name:"Layout",concreteNodes:[K,ie,he,Fe,Ee],abstractNodes:[N],browserContext:g});const Ue=void 0;d().add("Layout","assets/components/Layout",Ue)})()})();