x_ite 15.0.3 → 15.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +5 -5
  2. package/dist/X3DUOM.xml +105 -17
  3. package/dist/assets/components/AnnotationComponent.js +1 -1
  4. package/dist/assets/components/AnnotationComponent.min.js +1 -1
  5. package/dist/assets/components/CADGeometryComponent.js +1 -1
  6. package/dist/assets/components/CADGeometryComponent.min.js +1 -1
  7. package/dist/assets/components/CubeMapTexturingComponent.js +1 -1
  8. package/dist/assets/components/CubeMapTexturingComponent.min.js +1 -1
  9. package/dist/assets/components/DISComponent.js +1 -1
  10. package/dist/assets/components/DISComponent.min.js +1 -1
  11. package/dist/assets/components/EventUtilitiesComponent.js +1 -1
  12. package/dist/assets/components/EventUtilitiesComponent.min.js +1 -1
  13. package/dist/assets/components/Geometry2DComponent.js +1 -1
  14. package/dist/assets/components/Geometry2DComponent.min.js +1 -1
  15. package/dist/assets/components/Geometry3DComponent.js +1 -1
  16. package/dist/assets/components/Geometry3DComponent.min.js +1 -1
  17. package/dist/assets/components/GeospatialComponent.js +1 -1
  18. package/dist/assets/components/GeospatialComponent.min.js +1 -1
  19. package/dist/assets/components/HAnimComponent.js +1 -1
  20. package/dist/assets/components/HAnimComponent.min.js +1 -1
  21. package/dist/assets/components/KeyDeviceSensorComponent.js +1 -1
  22. package/dist/assets/components/KeyDeviceSensorComponent.min.js +1 -1
  23. package/dist/assets/components/LayoutComponent.js +1 -1
  24. package/dist/assets/components/LayoutComponent.min.js +1 -1
  25. package/dist/assets/components/NURBSComponent.js +1 -1
  26. package/dist/assets/components/NURBSComponent.min.js +1 -1
  27. package/dist/assets/components/ParticleSystemsComponent.js +1 -1
  28. package/dist/assets/components/ParticleSystemsComponent.min.js +1 -1
  29. package/dist/assets/components/PickingComponent.js +1 -1
  30. package/dist/assets/components/PickingComponent.min.js +1 -1
  31. package/dist/assets/components/RigidBodyPhysicsComponent.js +1 -1
  32. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +1 -1
  33. package/dist/assets/components/ScriptingComponent.js +1 -1
  34. package/dist/assets/components/ScriptingComponent.min.js +1 -1
  35. package/dist/assets/components/TextComponent.js +1 -1
  36. package/dist/assets/components/TextComponent.min.js +1 -1
  37. package/dist/assets/components/TextureProjectionComponent.js +1 -1
  38. package/dist/assets/components/TextureProjectionComponent.min.js +1 -1
  39. package/dist/assets/components/Texturing3DComponent.js +59 -24
  40. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  41. package/dist/assets/components/VolumeRenderingComponent.js +1 -1
  42. package/dist/assets/components/VolumeRenderingComponent.min.js +1 -1
  43. package/dist/assets/components/WebXRComponent.js +1 -1
  44. package/dist/assets/components/WebXRComponent.min.js +1 -1
  45. package/dist/assets/components/X_ITEComponent.js +780 -5
  46. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  47. package/dist/assets/lib/libktx.js +1 -1
  48. package/dist/assets/lib/libktx.wasm +0 -0
  49. package/dist/assets/lib/mkkellogg-sort.worker.js +1 -0
  50. package/dist/assets/lib/sorter_no_simd_non_shared.wasm +0 -0
  51. package/dist/example.html +1 -1
  52. package/dist/x_ite.css +1 -1
  53. package/dist/x_ite.d.ts +118 -14
  54. package/dist/x_ite.js +484 -271
  55. package/dist/x_ite.min.js +2 -2
  56. package/dist/x_ite.min.mjs +2 -2
  57. package/dist/x_ite.mjs +482 -269
  58. package/dist/x_ite.zip +0 -0
  59. package/package.json +2 -2
package/README.md CHANGED
@@ -36,10 +36,10 @@ If you are going to use X_ITE in a production environment, you should use a fixe
36
36
  jsDelivr is an open-source content delivery network (CDN) renowned for its no-cost access, swift performance, and reliable service.
37
37
 
38
38
  ```html
39
- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.0.3/dist/x_ite.min.js"></script>
39
+ <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.1.0/dist/x_ite.min.js"></script>
40
40
  <!-- or as ES module for use in scripts -->
41
41
  <script type="module">
42
- import X3D from "https://cdn.jsdelivr.net/npm/x_ite@15.0.3/dist/x_ite.min.mjs";
42
+ import X3D from "https://cdn.jsdelivr.net/npm/x_ite@15.1.0/dist/x_ite.min.mjs";
43
43
  </script>
44
44
  ```
45
45
 
@@ -70,7 +70,7 @@ This script initializes an X3D canvas within an HTML page, configuring it to con
70
70
  You can include an external file:
71
71
 
72
72
  ```html
73
- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.0.3/dist/x_ite.min.js"></script>
73
+ <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.1.0/dist/x_ite.min.js"></script>
74
74
  <x3d-canvas
75
75
  src="box.x3d"
76
76
  contentScale="auto"
@@ -82,7 +82,7 @@ You can include an external file:
82
82
  However, you can also include and manipulate the XML directly:
83
83
 
84
84
  ```html
85
- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.0.3/dist/x_ite.min.js"></script>
85
+ <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.1.0/dist/x_ite.min.js"></script>
86
86
  <x3d-canvas contentScale="auto" update="auto">
87
87
  <X3D profile='Interchange' version='4.1'>
88
88
  <head>
@@ -121,7 +121,7 @@ The same scene can also be created using pure JavaScript:
121
121
 
122
122
  ```html
123
123
  <script type="module">
124
- import X3D from "https://cdn.jsdelivr.net/npm/x_ite@15.0.3/dist/x_ite.min.mjs";
124
+ import X3D from "https://cdn.jsdelivr.net/npm/x_ite@15.1.0/dist/x_ite.min.mjs";
125
125
 
126
126
  const
127
127
  canvas = document .createElement ("x3d-canvas"), // Or get an already inserted <x3d-canvas> element.
package/dist/X3DUOM.xml CHANGED
@@ -445,7 +445,7 @@
445
445
  type="SFString"
446
446
  accessType="inputOutput"
447
447
  default="FUNC_ADD"
448
- description="Specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be:
448
+ description="Specifies the RGB blend equation, how the red, green, and blue components of the source and destination colors are combined. It must be one of:
449
449
  - FUNC_ADD
450
450
  - FUNC_SUBTRACT
451
451
  - FUNC_REVERSE_SUBTRACT"
@@ -458,7 +458,7 @@
458
458
  type="SFString"
459
459
  accessType="inputOutput"
460
460
  default="FUNC_ADD"
461
- description="Specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be:
461
+ description="Specifies the alpha blend equation, how the alpha component of the source and destination colors are combined. It must be one of:
462
462
  - FUNC_ADD
463
463
  - FUNC_SUBTRACT
464
464
  - FUNC_REVERSE_SUBTRACT"
@@ -751,6 +751,86 @@
751
751
  </InterfaceDefinition>
752
752
  </ConcreteNode>
753
753
 
754
+ <ConcreteNode name="GaussianSplats">
755
+ <InterfaceDefinition
756
+ specificationUrl="https://create3000.github.io/x_ite/components/x-ite/gaussiansplats"
757
+ appinfo="The GaussianSplats node adds basic support for storing 3D Gaussian splats in X3D files.">
758
+ <componentInfo name="X_ITE" level="1"/>
759
+ <Inheritance baseType="X3DChildNode"/>
760
+ <AdditionalInheritance baseType="X3DBoundedObject"/>
761
+ <field name="metadata"
762
+ type="SFNode"
763
+ accessType="inputOutput"
764
+ default="NULL"
765
+ acceptableNodeTypes="X3DMetadataObject"
766
+ description="Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node."/>
767
+ <field name="colorSpace"
768
+ type="SFString"
769
+ accessType="inputOutput"
770
+ default="SRGB_REC709_DISPLAY"
771
+ description="The color space of the reconstructed color values. It must be one of:
772
+
773
+ - SRGB_REC709_DISPLAY
774
+ - LIN_REC709_DISPLAY">
775
+ <enumeration value="SRGB_REC709_DISPLAY"/>
776
+ <enumeration value="LIN_REC709_DISPLAY"/>
777
+ </field>
778
+ <field name="positions"
779
+ type="MFVec3f"
780
+ accessType="inputOutput"
781
+ description="Input/Output field positions."/>
782
+ <field name="orientations"
783
+ type="MFVec4f"
784
+ accessType="inputOutput"
785
+ description="Input/Output field orientations."/>
786
+ <field name="scales"
787
+ type="MFVec3f"
788
+ accessType="inputOutput"
789
+ description="Input/Output field scales."/>
790
+ <field name="opacities"
791
+ type="MFFloat"
792
+ accessType="inputOutput"
793
+ description="Input/Output field opacities."/>
794
+ <field name="sphericalHarmonics0"
795
+ type="MFVec3f"
796
+ accessType="inputOutput"
797
+ description="Input/Output field spherical harmonics coefficients."/>
798
+ <field name="sphericalHarmonics1"
799
+ type="MFVec3f"
800
+ accessType="inputOutput"
801
+ description="Input/Output field spherical harmonics coefficients."/>
802
+ <field name="sphericalHarmonics2"
803
+ type="MFVec3f"
804
+ accessType="inputOutput"
805
+ description="Input/Output field spherical harmonics coefficients."/>
806
+ <field name="sphericalHarmonics3"
807
+ type="MFVec3f"
808
+ accessType="inputOutput"
809
+ description="Input/Output field spherical harmonics coefficients."/>
810
+ <field name="visible"
811
+ type="SFBool"
812
+ accessType="inputOutput"
813
+ default="TRUE"
814
+ description="Whether or not renderable content within this node is visually displayed."/>
815
+ <field name="bboxDisplay"
816
+ type="SFBool"
817
+ accessType="inputOutput"
818
+ default="FALSE"
819
+ description="Whether to display bounding box for associated geometry, aligned with world coordinates."/>
820
+ <field name="bboxSize"
821
+ type="SFVec3f"
822
+ accessType="initializeOnly"
823
+ default="-1 -1 -1"
824
+ minInclusive="0"
825
+ description="Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint."/>
826
+ <field name="bboxCenter"
827
+ type="SFVec3f"
828
+ accessType="initializeOnly"
829
+ default="0 0 0"
830
+ description="Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system."/>
831
+ </InterfaceDefinition>
832
+ </ConcreteNode>
833
+
754
834
  <ConcreteNode name="Layer">
755
835
  <InterfaceDefinition>
756
836
  <field name="pointerEvents"
@@ -1532,18 +1612,11 @@
1532
1612
  accessType="inputOutput"
1533
1613
  inheritedFrom="X3DNode"
1534
1614
  description="The style attribute on each X3D node and statement provides an inline block of CSS source for element styling, reserved for use by Cascading Style Sheets (CSS) and XML stylesheets."/>
1535
- <field name="update"
1536
- type="SFString"
1537
- accessType="inputOutput"
1538
- default="NONE"
1539
- additionalEnumerationValuesAllowed="false"
1540
- simpleType="generatedCubeMapTextureUpdateChoices"
1541
- baseType="xs:NMTOKEN"
1542
- description="update controls regeneration of the texture.">
1543
- <enumeration value="NONE" appinfo="no further texture updates are rendered."/>
1544
- <enumeration value="NEXT_FRAME_ONLY" appinfo="render texture once at end of frame."/>
1545
- <enumeration value="ALWAYS" appinfo="texture to be rendered every frame."/>
1546
- </field>
1615
+ <field name="singleFrame"
1616
+ type="SFBool"
1617
+ accessType="initializeOnly"
1618
+ default="true"
1619
+ description="singleFrame controls when the next texture is captured."/>
1547
1620
  <field name="updateInterval"
1548
1621
  type="SFTime"
1549
1622
  accessType="inputOutput"
@@ -1556,10 +1629,25 @@
1556
1629
  default="1000"
1557
1630
  minInclusive="0"
1558
1631
  description="The maximumNumberFrames field indicates the maximum number of frames that can be saved for a single series of image captures. A value of 0 indicates no limit."/>
1559
- <field name="dimensions"
1560
- type="MFInt32"
1632
+ <field name="width"
1633
+ type="SFInt32"
1634
+ accessType="inputOutput"
1635
+ default="128"
1636
+ minInclusive="0"
1637
+ description="Sets width of the rendered texture."/>
1638
+ <field name="height"
1639
+ type="SFInt32"
1561
1640
  accessType="inputOutput"
1562
- description="Sets the width, height, color components (and number of MRTs)."/>
1641
+ default="128"
1642
+ minInclusive="0"
1643
+ description="Sets height of the rendered texture."/>
1644
+ <field name="colorDepth"
1645
+ type="SFInt32"
1646
+ accessType="inputOutput"
1647
+ default="4"
1648
+ minInclusive="1"
1649
+ maxInclusive="4"
1650
+ description="Sets color depth of the rendered texture."/>
1563
1651
  <field name="depthMap"
1564
1652
  type="SFBool"
1565
1653
  accessType="initializeOnly"
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -1,2 +1,2 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const t=window[Symbol.for("X_ITE.X3D")];(()=>{var n={n:t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},d:(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n)};const e=t.Components;var i=n.n(e);const o=t.Fields;var a=n.n(o);const p=t.X3DFieldDefinition;var r=n.n(p);const u=t.FieldDefinitionArray;var l=n.n(u);const s=t.X3DNode;var d=n.n(s);const c=t.X3DLayerNode;var w=n.n(c);const y=t.Viewpoint;var O=n.n(y);const S=t.Group;var b=n.n(S);const f=t.X3DConstants;var h=n.n(f);const F=t.Namespace;var g=n.n(F);function A(t){w().call(this,t,new(O())(t),new(b())(t)),this.addType(h().AnnotationLayer)}Object.assign(Object.setPrototypeOf(A.prototype,w().prototype),{initialize(){w().prototype.initialize.call(this)}}),Object.defineProperties(A,{...d().getStaticProperties("AnnotationLayer","Annotation",1,"layers","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"isPickable",new(a().SFBool)(!0)),new(r())(h().inputOutput,"layoutPolicy",new(a().MFString)),new(r())(h().inputOutput,"shownGroupID",new(a().MFString)),new(r())(h().inputOutput,"viewport",new(a().SFNode))]),enumerable:!0}});const P=A,N=g().add("AnnotationLayer",P),m=t.X3DChildNode;var v=n.n(m);function D(t){v().call(this,t),this.addType(h().AnnotationTarget)}Object.assign(Object.setPrototypeOf(D.prototype,v().prototype),{initialize(){v().prototype.initialize.call(this)}}),Object.defineProperties(D,{...d().getStaticProperties("AnnotationTarget","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"referencePoint",new(a().SFVec3f)),new(r())(h().inputOutput,"leadLineStyle",new(a().SFNode)),new(r())(h().inputOutput,"marker",new(a().SFNode)),new(r())(h().inputOutput,"annotations",new(a().MFNode))]),enumerable:!0}});const j=D,z=g().add("AnnotationTarget",j),T=t.X3DGroupingNode;var X=n.n(T);function G(t){v().call(this,t),this.addType(h().X3DAnnotationNode)}Object.assign(Object.setPrototypeOf(G.prototype,v().prototype),{initialize(){v().prototype.initialize.call(this)}}),Object.defineProperties(G,d().getStaticProperties("X3DAnnotationNode","Annotation",1));const I=G,L=g().add("X3DAnnotationNode",I);function E(t){X().call(this,t),L.call(this,t),this.addType(h().GroupAnnotation)}Object.assign(Object.setPrototypeOf(E.prototype,X().prototype),L.prototype,{initialize(){X().prototype.initialize.call(this),L.prototype.initialize.call(this)},dispose(){L.prototype.dispose.call(this),X().prototype.dispose.call(this)}}),Object.defineProperties(E,{...d().getStaticProperties("GroupAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"visible",new(a().SFBool)(!0)),new(r())(h().inputOutput,"bboxDisplay",new(a().SFBool)),new(r())(h().initializeOnly,"bboxSize",new(a().SFVec3f)(-1,-1,-1)),new(r())(h().initializeOnly,"bboxCenter",new(a().SFVec3f)),new(r())(h().inputOnly,"addChildren",new(a().MFNode)),new(r())(h().inputOnly,"removeChildren",new(a().MFNode)),new(r())(h().inputOutput,"children",new(a().MFNode))]),enumerable:!0}});const M=E,R=g().add("GroupAnnotation",M),x=t.X3DUrlObject;var V=n.n(x);function B(t){L.call(this,t),V().call(this,t),this.addType(h().IconAnnotation)}Object.assign(Object.setPrototypeOf(B.prototype,L.prototype),V().prototype,{initialize(){L.prototype.initialize.call(this),V().prototype.initialize.call(this)},async requestImmediateLoad(t=!0){},dispose(){V().prototype.dispose.call(this),L.prototype.dispose.call(this)}}),Object.defineProperties(B,{...d().getStaticProperties("IconAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"url",new(a().MFString)),new(r())(h().inputOutput,"autoRefresh",new(a().SFTime)(0)),new(r())(h().inputOutput,"autoRefreshTimeLimit",new(a().SFTime)(3600))]),enumerable:!0}});const C=B,U=g().add("IconAnnotation",C);function _(t){L.call(this,t),this.addType(h().TextAnnotation)}Object.assign(Object.setPrototypeOf(_.prototype,L.prototype),{initialize(){L.prototype.initialize.call(this)}}),Object.defineProperties(_,{...d().getStaticProperties("TextAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"contentType",new(a().SFString)("text/plain")),new(r())(h().inputOutput,"text",new(a().SFString))]),enumerable:!0}});const k=_,q=g().add("TextAnnotation",k);function H(t){L.call(this,t),this.addType(h().URLAnnotation)}Object.assign(Object.setPrototypeOf(H.prototype,L.prototype),{initialize(){L.prototype.initialize.call(this)}}),Object.defineProperties(H,{...d().getStaticProperties("URLAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"url",new(a().MFString))]),enumerable:!0}});const J=H,K=g().add("URLAnnotation",J);i().add({name:"Annotation",concreteNodes:[N,z,R,U,q,K],abstractNodes:[L]});g().add("AnnotationComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -1,2 +1,2 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const e=window[Symbol.for("X_ITE.X3D")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const s=e.Fields;var o=t.n(s);const r=e.X3DFieldDefinition;var l=t.n(r);const d=e.FieldDefinitionArray;var u=t.n(d);const a=e.X3DNode;var c=t.n(a);const b=e.X3DGroupingNode;var p=t.n(b);const O=e.X3DChildNode;var h=t.n(O);const w=e.X3DConstants;var j=t.n(w);const y=e.Namespace;var S=t.n(y);function _(e){h().call(this,e),this.addType(j().X3DProductStructureChildNode)}Object.setPrototypeOf(_.prototype,h().prototype),Object.defineProperties(_,c().getStaticProperties("X3DProductStructureChildNode","CADGeometry",2));const m=_,F=S().add("X3DProductStructureChildNode",m);function f(e){p().call(this,e),F.call(this,e),this.addType(j().CADAssembly)}Object.setPrototypeOf(f.prototype,p().prototype),Object.defineProperties(f,{...c().getStaticProperties("CADAssembly","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOnly,"addChildren",new(o().MFNode)),new(l())(j().inputOnly,"removeChildren",new(o().MFNode)),new(l())(j().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const g=f,v=S().add("CADAssembly",g),C=e.X3DBoundedObject;var D=t.n(C);const N=e.TraverseType;var P=t.n(N);const x=e.X3DCast;var B=t.n(x);function I(e){F.call(this,e),D().call(this,e),this.addType(j().CADFace),this.addChildObjects(j().outputOnly,"rebuild",new(o().SFTime)),this.setBoundedObject(!0),this.setPointingObject(!0),this.setCollisionObject(!0),this.setShadowObject(!0),this.setVisibleObject(!0),this.visibleObjects=[]}Object.assign(Object.setPrototypeOf(I.prototype,F.prototype),D().prototype,{initialize(){F.prototype.initialize.call(this),D().prototype.initialize.call(this),this._rebuild.addInterest("set_children__",this),this._bboxSize.addInterest("set_boundedObjects__",this),this._shape.addInterest("requestRebuild",this),this.set_children__()},getBBox(e,t){return this.isDefaultBBoxSize()?this.boundedObject?.getBBox(e,t)??e.set():e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},getShapes(e,t){for(const i of this.visibleObjects)i.getShapes(e,t);return e},requestRebuild(){this._rebuild.addEvent()},set_children__(){this.setChild(B()(j().X3DChildNode,this._shape))},setChild(e){if(this.childNode){const e=this.childNode;e._isBoundedObject.removeInterest("requestRebuild",this),e._isPointingObject.removeInterest("requestRebuild",this),e._isCameraObject.removeInterest("requestRebuild",this),e._isPickableObject.removeInterest("requestRebuild",this),e._isCollisionObject.removeInterest("requestRebuild",this),e._isShadowObject.removeInterest("requestRebuild",this),e._isVisibleObject.removeInterest("requestRebuild",this),B()(j().X3DBoundedObject,e)&&(e._display.removeInterest("requestRebuild",this),e._bboxDisplay.removeInterest("requestRebuild",this))}if(this.childNode=null,this.boundedObject=null,this.pointingObject=null,this.cameraObject=null,this.pickableObject=null,this.collisionObject=null,this.shadowObject=null,this.visibleObjects.length=0,e){const t=e.getType();for(let i=t.length-1;i>=0;--i){switch(t[i]){case j().LOD:case j().Transform:case j().X3DShapeNode:e._isBoundedObject.addInterest("requestRebuild",this),e._isPointingObject.addInterest("requestRebuild",this),e._isCameraObject.addInterest("requestRebuild",this),e._isPickableObject.addInterest("requestRebuild",this),e._isCollisionObject.addInterest("requestRebuild",this),e._isShadowObject.addInterest("requestRebuild",this),e._isVisibleObject.addInterest("requestRebuild",this),this.childNode=e,e.isVisible()&&(e.isBoundedObject()&&(this.boundedObject=e),e.isPointingObject()&&(this.pointingObject=e),e.isCameraObject()&&(this.cameraObject=e),e.isPickableObject()&&(this.pickableObject=e),e.isCollisionObject()&&(this.collisionObject=e),e.isShadowObject()&&(this.shadowObject=e),e.isVisibleObject()&&this.visibleObjects.push(e)),B()(j().X3DBoundedObject,e)&&(e._display.addInterest("requestRebuild",this),e._bboxDisplay.addInterest("requestRebuild",this),e.isBBoxVisible()&&this.visibleObjects.push(e.getBBoxNode()));break;default:continue}break}}this.set_pointingObjects__(),this.set_cameraObjects__(),this.set_pickableObjects__(),this.set_collisionObjects__(),this.set_shadowObjects__(),this.set_visibleObjects__(),this.set_boundedObjects__()},set_boundedObjects__(){this.setBoundedObject(this.boundedObject||!this.isDefaultBBoxSize())},set_pointingObjects__(){this.setPointingObject(this.pointingObject)},set_cameraObjects__(){this.setCameraObject(this.cameraObject)},set_pickableObjects__(){this.setPickableObject(this.getTransformSensors().size||this.pickableObject)},set_collisionObjects__(){this.setCollisionObject(this.collisionObject)},set_shadowObjects__(){this.setShadowObject(this.shadowObject)},set_visibleObjects__(){this.setVisibleObject(this.visibleObjects.length)},traverse(e,t){switch(e){case P().POINTER:return void this.pointingObject?.traverse(e,t);case P().CAMERA:return void this.cameraObject?.traverse(e,t);case P().PICKING:if(this.getBrowser().getPickable().at(-1))for(const i of this.visibleObjects)i.traverse(e,t);else this.pickableObject?.traverse(e,t);return;case P().COLLISION:return void this.collisionObject?.traverse(e,t);case P().DEPTH:case P().SHADOW:return void this.shadowObject?.traverse(e,t);case P().DISPLAY:for(const i of this.visibleObjects)i.traverse(e,t);return}},dispose(){D().prototype.dispose.call(this),F.prototype.dispose.call(this)}}),Object.defineProperties(I,{...c().getStaticProperties("CADFace","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOutput,"shape",new(o().SFNode))]),enumerable:!0}});const z=I,V=S().add("CADFace",z);function A(e){p().call(this,e),this.addType(j().CADLayer)}Object.setPrototypeOf(A.prototype,p().prototype),Object.defineProperties(A,{...c().getStaticProperties("CADLayer","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOnly,"addChildren",new(o().MFNode)),new(l())(j().inputOnly,"removeChildren",new(o().MFNode)),new(l())(j().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const R=A,q=S().add("CADLayer",R),T=e.X3DTransformNode;var X=t.n(T);function k(e){X().call(this,e),F.call(this,e),this.addType(j().CADPart)}Object.setPrototypeOf(k.prototype,X().prototype),Object.defineProperties(k,{...c().getStaticProperties("CADPart","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOutput,"name",new(o().SFString)),new(l())(j().inputOutput,"translation",new(o().SFVec3f)),new(l())(j().inputOutput,"rotation",new(o().SFRotation)),new(l())(j().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(l())(j().inputOutput,"scaleOrientation",new(o().SFRotation)),new(l())(j().inputOutput,"center",new(o().SFVec3f)),new(l())(j().inputOutput,"visible",new(o().SFBool)(!0)),new(l())(j().inputOutput,"bboxDisplay",new(o().SFBool)),new(l())(j().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(l())(j().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(l())(j().inputOnly,"addChildren",new(o().MFNode)),new(l())(j().inputOnly,"removeChildren",new(o().MFNode)),new(l())(j().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const M=k,G=S().add("CADPart",M),L=e.X3DComposedGeometryNode;var Q=t.n(L);function E(e){Q().call(this,e),this.addType(j().IndexedQuadSet)}Object.assign(Object.setPrototypeOf(E.prototype,Q().prototype),{initialize(){Q().prototype.initialize.call(this),this._set_index.addFieldInterest(this._index)},getTriangleIndex:(()=>{const e=[0,1,2,0,2,3];return function(t){const i=t%6;return(t-i)/6*4+e[i]}})(),getPolygonIndex(e){return this._index[e]},getVerticesPerPolygon:()=>4,getNumVertices(){return this.checkVertexCount(this._index.length,4)},build(){const e=this.getNumVertices();Q().prototype.build.call(this,4,e,6,e/4*6)}}),Object.defineProperties(E,{...c().getStaticProperties("IndexedQuadSet","CADGeometry",1,"geometry","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().inputOnly,"set_index",new(o().MFInt32)),new(l())(j().initializeOnly,"solid",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"ccw",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"colorPerVertex",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"normalPerVertex",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"index",new(o().MFInt32)),new(l())(j().inputOutput,"attrib",new(o().MFNode)),new(l())(j().inputOutput,"fogCoord",new(o().SFNode)),new(l())(j().inputOutput,"color",new(o().SFNode)),new(l())(j().inputOutput,"texCoord",new(o().SFNode)),new(l())(j().inputOutput,"tangent",new(o().SFNode)),new(l())(j().inputOutput,"normal",new(o().SFNode)),new(l())(j().inputOutput,"coord",new(o().SFNode))]),enumerable:!0}});const H=E,K=S().add("IndexedQuadSet",H);function W(e){Q().call(this,e),this.addType(j().QuadSet)}Object.assign(Object.setPrototypeOf(W.prototype,Q().prototype),{getTriangleIndex:(()=>{const e=[0,1,2,0,2,3];return function(t){const i=t%6;return(t-i)/6*4+e[i]}})(),getVerticesPerPolygon:()=>4,getNumVertices(){return this.checkVertexCount(this.getCoord()?.getSize()??0,4)},build(){const e=this.getNumVertices();Q().prototype.build.call(this,4,e,6,e/4*6)},createNormals(e,t,i){return this.createFaceNormals(e,t,i)}}),Object.defineProperties(W,{...c().getStaticProperties("QuadSet","CADGeometry",1,"geometry","3.1"),fieldDefinitions:{value:new(u())([new(l())(j().inputOutput,"metadata",new(o().SFNode)),new(l())(j().initializeOnly,"solid",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"ccw",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"colorPerVertex",new(o().SFBool)(!0)),new(l())(j().initializeOnly,"normalPerVertex",new(o().SFBool)(!0)),new(l())(j().inputOutput,"attrib",new(o().MFNode)),new(l())(j().inputOutput,"fogCoord",new(o().SFNode)),new(l())(j().inputOutput,"color",new(o().SFNode)),new(l())(j().inputOutput,"texCoord",new(o().SFNode)),new(l())(j().inputOutput,"tangent",new(o().SFNode)),new(l())(j().inputOutput,"normal",new(o().SFNode)),new(l())(j().inputOutput,"coord",new(o().SFNode))]),enumerable:!0}});const Y=W,J=S().add("QuadSet",Y);n().add({name:"CADGeometry",concreteNodes:[v,V,q,G,K,J],abstractNodes:[F]});S().add("CADGeometryComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -1,2 +1,2 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const e=window[Symbol.for("X_ITE.X3D")];(()=>{var t={254(t){t.exports=e.jquery}},r={};function i(e){var s=r[e];if(void 0!==s)return s.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,i),a.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 r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const s=e.Components;var a=i.n(s);const n=e.Namespace;var o=i.n(n);const u=o().add("Panorama2.fs","#version 300 es\nprecision highp float;precision highp int;precision highp sampler2D;const float M_PI=3.1415926535897932384626433832795;in vec2 texCoord;out vec4 x3d_FragColor;uniform sampler2D x3d_PanoramaTextureEXT;uniform int x3d_CurrentFaceEXT;vec3 uvToXYZ(const in int face,const in vec2 uv){switch(face){case 0:return vec3(1.,uv.y,uv.x);case 1:return vec3(-1.,uv.y,-uv.x);case 2:return vec3(uv.x,uv.y,-1.);case 3:return vec3(-uv.x,uv.y,1.);case 4:return vec3(uv.y,-1.,uv.x);default:return vec3(-uv.y,1.,uv.x);}}vec2 dirToUV(const in vec3 dir){return vec2(.5+.5*atan(dir.z,dir.x)/M_PI,1.-acos(dir.y)/M_PI);}vec3 panoramaToCubeMap(const in int face,const in vec2 texCoord){vec3 scan=uvToXYZ(face,texCoord);vec3 direction=normalize(scan);vec2 src=dirToUV(direction);return texture(x3d_PanoramaTextureEXT,src).rgb;}void main(){x3d_FragColor=vec4(panoramaToCubeMap(x3d_CurrentFaceEXT,texCoord),1.);}"),h=Symbol();function T(){}Object.assign(T.prototype,{getPanoramaShader(){return this[h]??=this.createShader({name:"Panorama",vertexShader:"FullScreen",fragmentShader:`data:x-shader/x-fragment,${u}`,uniforms:["x3d_PanoramaTextureEXT","x3d_CurrentFaceEXT"]})}});const d=T,p=o().add("X3DCubeMapTexturingContext",d),x=e.Fields;var c=i.n(x);const g=e.X3DFieldDefinition;var l=i.n(g);const _=e.FieldDefinitionArray;var E=i.n(_);const m=e.X3DNode;var f=i.n(m);const w=e.X3DSingleTextureNode;var R=i.n(w);const b=e.X3DConstants;var S=i.n(b);function v(e){R().call(this,e),this.addType(S().X3DEnvironmentTextureNode);const t=this.getBrowser().getContext();this.target=t.TEXTURE_CUBE_MAP,this.targets=[t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y],this.size=1,this.levels=0}Object.assign(Object.setPrototypeOf(v.prototype,R().prototype),{getTarget(){return this.target},getTextureType:()=>4,getTargets(){return this.targets},getSize(){return this.size},setSize(e){this.size=e,this.levels=Math.floor(Math.log2(Math.max(e,1)))},getLevels(){return this.levels},clearTexture:(()=>{const e=new Uint8Array([255,255,255,255]);return function(){const t=this.getBrowser().getContext();t.bindTexture(this.getTarget(),this.getTexture());for(const r of this.getTargets())t.texImage2D(r,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,e);this.setSize(1),this.setTransparent(!1),this.updateTextureParameters()}})(),updateTextureParameters(){R().prototype.updateTextureParameters.call(this,this.target,this._textureProperties.getValue(),this.texturePropertiesNode,this.size,this.size,!1,!1,!1)},setShaderUniforms(e,t){const r=this.getBrowser().popTextureUnit();e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_CUBE_MAP,this.getTexture()),e.uniform1i(t.textureCube,r)}}),Object.defineProperties(v,f().getStaticProperties("X3DEnvironmentTextureNode","CubeMapTexturing",1));const M=v,C=o().add("X3DEnvironmentTextureNode",M),U=e.X3DCast;var A=i.n(U);const I=e.BitSet;var P=i.n(I);function X(e){C.call(this,e),this.addType(S().ComposedCubeMapTexture),this.addChildObjects(S().outputOnly,"update",new(c().SFTime)),e.getSpecificationVersion()<=3.3&&(this.addAlias("front",this._frontTexture),this.addAlias("back",this._backTexture),this.addAlias("left",this._leftTexture),this.addAlias("right",this._rightTexture),this.addAlias("top",this._topTexture),this.addAlias("bottom",this._bottomTexture)),this.textureNodes=[null,null,null,null,null,null],this.textureBits=new(P())}Object.assign(Object.setPrototypeOf(X.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.frameBuffer=e.createFramebuffer(),this.clearTexture(),this._frontTexture.addInterest("set_texture__",this,0),this._backTexture.addInterest("set_texture__",this,1),this._leftTexture.addInterest("set_texture__",this,2),this._rightTexture.addInterest("set_texture__",this,3),this._topTexture.addInterest("set_texture__",this,5),this._bottomTexture.addInterest("set_texture__",this,4),this._update.addInterest("update",this),this.set_texture__(0,this._frontTexture),this.set_texture__(1,this._backTexture),this.set_texture__(2,this._leftTexture),this.set_texture__(3,this._rightTexture),this.set_texture__(4,this._topTexture),this.set_texture__(5,this._bottomTexture)},set_texture__(e,t){let r=this.textureNodes[e];r?.removeInterest("set_loadState__",this),r=this.textureNodes[e]=A()(S().X3DTexture2DNode,t),r?.addInterest("set_loadState__",this,e,r),this.set_loadState__(e,r)},set_loadState__(e,t){this.setTextureBit(e,t?.checkLoadState()),this._update.addEvent()},setTextureBit(e,t){this.textureBits.set(e,t===S().COMPLETE_STATE)},isComplete(){if(63!==+this.textureBits)return!1;const e=this.textureNodes,t=e[0].getWidth();for(const r of e){if(r.getWidth()!==t)return!1;if(r.getHeight()!==t)return!1}return!0},update(){if(this.isComplete()){const e=this.getBrowser().getContext(),t=this.textureNodes,r=t[0].getWidth();if(r!==this.getSize()){const t=new Uint8Array(r*r*4);e.bindTexture(this.getTarget(),this.getTexture());for(let i=0;i<6;++i)e.texImage2D(this.getTargets()[i],0,e.RGBA,r,r,0,e.RGBA,e.UNSIGNED_BYTE,t);this.setSize(r),this.updateTextureParameters()}e.bindFramebuffer(e.FRAMEBUFFER,this.frameBuffer);for(let i=0;i<6;++i){const s=t[i];if(e.bindTexture(e.TEXTURE_2D,s.getTexture()),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,s.getTexture(),0),e.bindTexture(this.getTarget(),this.getTexture()),1===s.getTextureType())e.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,r,r);else for(let t=0;t<r;++t)e.copyTexSubImage2D(this.getTargets()[i],0,0,r-t-1,0,t,r,1)}this.setTransparent(t.some(e=>e.isTransparent())),this.setLinear(t.some(e=>e.isLinear())),this.setMipMaps(t.every(e=>e.canMipMaps())),this.updateTextureParameters(),this.addNodeEvent()}else this.clearTexture(),this.addNodeEvent()}}),Object.defineProperties(X,{...f().getStaticProperties("ComposedCubeMapTexture","CubeMapTexturing",1,"texture","3.1"),fieldDefinitions:{value:new(E())([new(l())(S().inputOutput,"metadata",new(c().SFNode)),new(l())(S().inputOutput,"description",new(c().SFString)),new(l())(S().inputOutput,"frontTexture",new(c().SFNode)),new(l())(S().inputOutput,"backTexture",new(c().SFNode)),new(l())(S().inputOutput,"leftTexture",new(c().SFNode)),new(l())(S().inputOutput,"rightTexture",new(c().SFNode)),new(l())(S().inputOutput,"topTexture",new(c().SFNode)),new(l())(S().inputOutput,"bottomTexture",new(c().SFNode)),new(l())(S().initializeOnly,"textureProperties",new(c().SFNode))]),enumerable:!0}});const N=X,F=o().add("ComposedCubeMapTexture",N),y=e.DependentRenderer;var D=i.n(y);const B=e.TextureBuffer;var O=i.n(B);const L=e.TraverseType;var V=i.n(L);const G=e.Camera;var z=i.n(G);const j=e.ViewVolume;var k=i.n(j);const Y=e.Rotation4;var Z=i.n(Y);const W=e.Vector3;var H=i.n(W);const K=e.Vector4;var $=i.n(K);const q=e.Matrix4;var J=i.n(q);const Q=e.Algorithm;var ee=i.n(Q);function te(e){C.call(this,e),this.addType(S().GeneratedCubeMapTexture),this.dependentRenderers=new WeakMap,this.projectionMatrix=new(J()),this.modelMatrix=new(J()),this.updateCallbacks=new Map}Object.assign(Object.setPrototypeOf(te.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this),this.clearTexture(),this._size.addInterest("set_size__",this),this.set_size__()},isRenderedTexture:()=>!0,addUpdateCallback(e,t){this.updateCallbacks.set(e,t)},removeUpdateCallback(e){this.updateCallbacks.delete(e)},set_size__(){const e=this.getBrowser(),t=e.getContext(),r=this._size.getValue();if(r>0){const i=new Uint8Array(r*r*4);t.bindTexture(this.getTarget(),this.getTexture());for(const e of this.getTargets())t.texImage2D(e,0,t.RGBA,r,r,0,t.RGBA,t.UNSIGNED_BYTE,i);this.updateTextureParameters(),this.viewport=new($())(0,0,r,r),this.frameBuffer=new(O())({browser:e,width:r,height:r}),this.setSize(r)}else this.frameBuffer=null,this.setSize(0)},traverse(e,t){t.isIndependent()&&this.frameBuffer&&"NONE"!==this._update.getValue()&&(t.getRenderedTextures().add(this),this.modelMatrix.assign(t.getModelViewMatrix().get()).multRight(t.getCameraSpaceMatrix().get()))},renderTexture:(()=>{const e=[new(Z())(H().Z_AXIS,H().NEGATIVE_Z_AXIS),new(Z())(H().Z_AXIS,H().Z_AXIS),new(Z())(H().Z_AXIS,H().X_AXIS),new(Z())(H().Z_AXIS,H().NEGATIVE_X_AXIS),new(Z())(H().Z_AXIS,H().NEGATIVE_Y_AXIS),new(Z())(H().Z_AXIS,H().Y_AXIS)],t=[new(H())(-1,-1,1),new(H())(-1,-1,1),new(H())(-1,-1,1),new(H())(-1,-1,1),new(H())(1,1,1),new(H())(1,1,1)],r=new(J()),i=new(k());return function(s){this.textureRenderingPass=!0,this.dependentRenderers.has(s)||this.dependentRenderers.set(s,new(D())(this.getExecutionContext(),s));const a=this.dependentRenderers.get(s),n=this.getBrowser(),o=s.getLayer(),u=n.getContext(),h=a.getBackground(),T=a.getNavigationInfo(),d=a.getViewpoint(),p=n.getHeadlight(),x=T._headlight.getValue(),c=d.getNearDistance(T),g=d.getFarDistance(T),l=z().perspective(ee().radians(90),c,g,1,1,this.projectionMatrix),_=this.frameBuffer.getWidth(),E=this.frameBuffer.getHeight();this.setTransparent(h.isTransparent()),a.setFramebuffer(this.frameBuffer),a.getViewVolumes().push(i.set(l,this.viewport,this.viewport)),a.getProjectionMatrix().push(l),u.bindTexture(this.getTarget(),this.getTexture()),this.frameBuffer.bind();for(let i=0;i<6;++i)u.viewport(...this.viewport),u.scissor(...this.viewport),u.clearColor(0,0,0,0),u.clear(u.COLOR_BUFFER_BIT),a.getCameraSpaceMatrix().push(this.modelMatrix),a.getCameraSpaceMatrix().rotate(e[i]),a.getCameraSpaceMatrix().scale(t[i]),r.assign(a.getCameraSpaceMatrix().get()).inverse(),a.getViewMatrix().push(r),a.getModelViewMatrix().push(r),x&&(p.modelViewMatrix.push(r),p.modelViewMatrix.multLeft(d.getCameraSpaceMatrix())),o.traverse(V().DISPLAY,a),x&&p.modelViewMatrix.pop(),a.getModelViewMatrix().pop(),a.getCameraSpaceMatrix().pop(),a.getViewMatrix().pop(),u.bindTexture(this.getTarget(),this.getTexture()),u.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,_,E);this.updateTextureParameters(),a.getProjectionMatrix().pop(),a.getViewVolumes().pop(),this._update.equals("NEXT_FRAME_ONLY")&&(this._update="NONE");for(const e of this.updateCallbacks.values())e();this.textureRenderingPass=!1}})(),setShaderUniforms(e,t){C.prototype.setShaderUniforms.call(this,e,t),this.textureRenderingPass&&e.viewport(0,0,0,0)}}),Object.defineProperties(te,{...f().getStaticProperties("GeneratedCubeMapTexture","CubeMapTexturing",3,"texture","3.0"),fieldDefinitions:{value:new(E())([new(l())(S().inputOutput,"metadata",new(c().SFNode)),new(l())(S().inputOutput,"description",new(c().SFString)),new(l())(S().inputOutput,"update",new(c().SFString)("NONE")),new(l())(S().initializeOnly,"size",new(c().SFInt32)(128)),new(l())(S().initializeOnly,"textureProperties",new(c().SFNode))]),enumerable:!0}});const re=te,ie=o().add("GeneratedCubeMapTexture",re),se=e.X3DUrlObject;var ae=i.n(se);const ne=e.Vector2;var oe=i.n(ne);const ue=e.DEVELOPMENT;var he=i.n(ue),Te=i(254);function de(e){C.call(this,e),ae().call(this,e),this.addType(S().ImageCubeMapTexture),this.image=Te("<img></img>"),this.urlStack=new(c().MFString)}Object.assign(Object.setPrototypeOf(de.prototype,C.prototype),ae().prototype,{initialize(){C.prototype.initialize.call(this),ae().prototype.initialize.call(this),this.clearTexture(),this.image.on("load",this.setImage.bind(this)).on("abort error",this.setError.bind(this)).attr("crossorigin","anonymous"),this.requestImmediateLoad().catch(Function.prototype)},unloadData(){this.clearTexture()},loadData(){this.urlStack.setValue(this._url),this.loadNext()},loadNext(){if(0===this.urlStack.length)return this.clearTexture(),this.setLoadState(S().FAILED_STATE),void this.addNodeEvent();this.URL=new URL(this.urlStack.shift(),this.getExecutionContext().getBaseURL()),this.URL.pathname.match(/\.ktx2?(?:\.gz)?$/)||this.URL.href.match(/^data:image\/ktx2[;,]/)?(this.setLinear(!0),this.setMipMaps(!1),this.getBrowser().getKTXDecoder().then(e=>e.loadKTXFromURL(this.URL,this.getCache())).then(e=>this.setKTXTexture(e)).catch(e=>this.setError({type:e.message}))):(this.setLinear(!1),this.setMipMaps(!0),"data:"!==this.URL.protocol&&(this.getCache()||this.URL.searchParams.set("_",Date.now())),this.image.attr("src",this.URL))},setError(e){"data:"!==this.URL.protocol&&console.warn(`Error loading image '${decodeURI(this.URL)}':`,e.type),this.loadNext()},setKTXTexture(e){if(e.target!==this.getTarget())return this.setError({type:"Invalid KTX texture target, must be 'TEXTURE_CUBE_MAP'."});he()&&"data:"!==this.URL.protocol&&console.info(`Done loading image cube map texture '${decodeURI(this.URL)}'.`);try{this.setTexture(e),this.setTransparent(!1),this.setSize(e.baseWidth),this.updateTextureParameters(),this.setLoadState(S().COMPLETE_STATE),this.addNodeEvent()}catch(e){this.setError({type:e.message})}},setImage(){he()&&"data:"!==this.URL.protocol&&console.info(`Done loading image cube map texture '${decodeURI(this.URL)}'.`);try{const e=this.getBrowser().getContext(),t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image[0]),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),this.imageToCubeMap(t,this.image.prop("width"),this.image.prop("height"),!1),this.setLoadState(S().COMPLETE_STATE),this.addNodeEvent()}catch(e){this.setError({type:e.message})}},imageToCubeMap(e,t,r){const i=t/r;Math.abs(i-4/3)<.01&&this.skyBoxToCubeMap(e,t,r),Math.abs(i-2)<.01&&this.panoramaToCubeMap(e,t,r),this.updateTextureParameters()},skyBoxToCubeMap:(()=>{const e=[new(oe())(1,1),new(oe())(3,1),new(oe())(0,1),new(oe())(2,1),new(oe())(1,0),new(oe())(1,2)];return function(t,r,i){const s=this.getBrowser().getContext(),a=s.createFramebuffer(),n=Math.floor(r/4),o=Math.floor(i/3),u=new Uint8Array(n*o*4);s.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)s.texImage2D(this.getTargets()[e],0,s.RGBA,n,o,0,s.RGBA,s.UNSIGNED_BYTE,null);s.bindFramebuffer(s.FRAMEBUFFER,a),s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,s.TEXTURE_2D,t,0);let h=!1;s.bindTexture(this.getTarget(),this.getTexture());for(let t=0;t<6;++t)s.copyTexSubImage2D(this.getTargets()[t],0,0,0,e[t].x*n,e[t].y*o,n,o),h||(s.readPixels(e[t].x*n,e[t].y*o,n,o,s.RGBA,s.UNSIGNED_BYTE,u),h=this.isImageTransparent(u));s.deleteFramebuffer(a),s.deleteTexture(t),this.setTransparent(h),this.setSize(n)}})(),panoramaToCubeMap(e,t,r){const i=this.getBrowser(),s=i.getContext(),a=i.getPanoramaShader(),n=s.createFramebuffer(),o=Math.floor(r/2),u=new Uint8Array(o*o*4);s.bindTexture(s.TEXTURE_2D,e),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.MIRRORED_REPEAT),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.MIRRORED_REPEAT),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.LINEAR),s.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)s.texImage2D(this.getTargets()[e],0,s.RGBA,o,o,0,s.RGBA,s.UNSIGNED_BYTE,null);s.useProgram(a.getProgram()),s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,e),s.uniform1i(a.x3d_PanoramaTextureEXT,0),s.bindFramebuffer(s.FRAMEBUFFER,n),s.viewport(0,0,o,o),s.scissor(0,0,o,o),s.disable(s.DEPTH_TEST),s.enable(s.CULL_FACE),s.frontFace(s.CCW),s.clearColor(0,0,0,0),s.bindVertexArray(i.getFullscreenVertexArrayObject());let h=!1;for(let e=0;e<6;++e)s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,this.getTargets()[e],this.getTexture(),0),s.clear(s.COLOR_BUFFER_BIT),s.uniform1i(a.x3d_CurrentFaceEXT,e),s.drawArrays(s.TRIANGLES,0,6),h||(s.readPixels(0,0,o,o,s.RGBA,s.UNSIGNED_BYTE,u),h=this.isImageTransparent(u));s.enable(s.DEPTH_TEST),s.deleteFramebuffer(n),s.deleteTexture(e),this.setTransparent(h),this.setSize(o)},dispose(){ae().prototype.dispose.call(this),C.prototype.dispose.call(this)}}),Object.defineProperties(de,{...f().getStaticProperties("ImageCubeMapTexture","CubeMapTexturing",2,"texture","3.0"),fieldDefinitions:{value:new(E())([new(l())(S().inputOutput,"metadata",new(c().SFNode)),new(l())(S().inputOutput,"description",new(c().SFString)),new(l())(S().inputOutput,"load",new(c().SFBool)(!0)),new(l())(S().inputOutput,"url",new(c().MFString)),new(l())(S().inputOutput,"autoRefresh",new(c().SFTime)(0)),new(l())(S().inputOutput,"autoRefreshTimeLimit",new(c().SFTime)(3600)),new(l())(S().initializeOnly,"textureProperties",new(c().SFNode))]),enumerable:!0}});const pe=de,xe=o().add("ImageCubeMapTexture",pe);a().add({name:"CubeMapTexturing",concreteNodes:[F,ie,xe],abstractNodes:[C],browserContext:p});o().add("CubeMapTexturingComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -1,2 +1,2 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const t=window[Symbol.for("X_ITE.X3D")];(()=>{var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const n=t.Components;var i=e.n(n);const u=t.Fields;var p=e.n(u);const o=t.X3DFieldDefinition;var a=e.n(o);const w=t.FieldDefinitionArray;var r=e.n(w);const l=t.X3DNode;var S=e.n(l);const s=t.X3DChildNode;var O=e.n(s);const F=t.X3DConstants;var d=e.n(F);const c=t.Namespace;var y=e.n(c);function I(t){O().call(this,t),this.addType(d().DISEntityManager),t.getSpecificationVersion()<=3.3&&this.addAlias("mapping",this._children)}Object.setPrototypeOf(I.prototype,O().prototype),Object.defineProperties(I,{...S().getStaticProperties("DISEntityManager","DIS",2,"children","3.0"),fieldDefinitions:{value:new(r())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"children",new(p().MFNode)),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().outputOnly,"addedEntities",new(p().MFNode)),new(a())(d().outputOnly,"removedEntities",new(p().MFNode))]),enumerable:!0}});const m=I,h=y().add("DISEntityManager",m),g=t.X3DInfoNode;var D=e.n(g);const f=t.X3DUrlObject;var b=e.n(f);function P(t){D().call(this,t),b().call(this,t),this.addType(d().DISEntityTypeMapping)}Object.assign(Object.setPrototypeOf(P.prototype,D().prototype),b().prototype,{initialize(){D().prototype.initialize.call(this),b().prototype.initialize.call(this)},dispose(){b().prototype.dispose.call(this),D().prototype.dispose.call(this)}}),Object.defineProperties(P,{...S().getStaticProperties("DISEntityTypeMapping","DIS",2,"children","3.0"),fieldDefinitions:{value:new(r())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"load",new(p().SFBool)(!0)),new(a())(d().inputOutput,"url",new(p().MFString)),new(a())(d().inputOutput,"autoRefresh",new(p().SFTime)(0)),new(a())(d().inputOutput,"autoRefreshTimeLimit",new(p().SFTime)(3600)),new(a())(d().initializeOnly,"category",new(p().SFInt32)),new(a())(d().initializeOnly,"country",new(p().SFInt32)),new(a())(d().initializeOnly,"domain",new(p().SFInt32)),new(a())(d().initializeOnly,"extra",new(p().SFInt32)),new(a())(d().initializeOnly,"kind",new(p().SFInt32)),new(a())(d().initializeOnly,"specific",new(p().SFInt32)),new(a())(d().initializeOnly,"subcategory",new(p().SFInt32))]),enumerable:!0}});const B=P,v=y().add("DISEntityTypeMapping",B),T=t.X3DGroupingNode;var V=e.n(T);const z=t.X3DNetworkSensorNode;var N=e.n(z);function _(t){V().call(this,t),N().call(this,t),this.addType(d().EspduTransform),t.getSpecificationVersion()<=3.3&&(this._applicationID=1,this._munitionApplicationID=1)}Object.assign(Object.setPrototypeOf(_.prototype,V().prototype),N().prototype,{initialize(){V().prototype.initialize.call(this),N().prototype.initialize.call(this)}}),Object.defineProperties(_,{...S().getStaticProperties("EspduTransform","DIS",1,"children","3.0"),fieldDefinitions:{value:new(r())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOnly,"addChildren",new(p().MFNode)),new(a())(d().inputOnly,"removeChildren",new(p().MFNode)),new(a())(d().inputOutput,"children",new(p().MFNode)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOnly,"set_articulationParameterValue0",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue1",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue2",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue3",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue4",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue5",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue6",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue7",new(p().SFFloat)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"articulationParameterCount",new(p().SFInt32)),new(a())(d().inputOutput,"articulationParameterDesignatorArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterChangeIndicatorArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterIdPartAttachedToArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterTypeArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterArray",new(p().MFFloat)),new(a())(d().inputOutput,"center",new(p().SFVec3f)),new(a())(d().inputOutput,"collisionType",new(p().SFInt32)),new(a())(d().inputOutput,"deadReckoning",new(p().SFInt32)),new(a())(d().inputOutput,"detonationLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"detonationRelativeLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"detonationResult",new(p().SFInt32)),new(a())(d().inputOutput,"entityCategory",new(p().SFInt32)),new(a())(d().inputOutput,"entityCountry",new(p().SFInt32)),new(a())(d().inputOutput,"entityDomain",new(p().SFInt32)),new(a())(d().inputOutput,"entityExtra",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"entityKind",new(p().SFInt32)),new(a())(d().inputOutput,"entitySpecific",new(p().SFInt32)),new(a())(d().inputOutput,"entitySubcategory",new(p().SFInt32)),new(a())(d().inputOutput,"eventApplicationID",new(p().SFInt32)),new(a())(d().inputOutput,"eventEntityID",new(p().SFInt32)),new(a())(d().inputOutput,"eventNumber",new(p().SFInt32)),new(a())(d().inputOutput,"eventSiteID",new(p().SFInt32)),new(a())(d().inputOutput,"fired1",new(p().SFBool)),new(a())(d().inputOutput,"fired2",new(p().SFBool)),new(a())(d().inputOutput,"fireMissionIndex",new(p().SFInt32)),new(a())(d().inputOutput,"firingRange",new(p().SFFloat)),new(a())(d().inputOutput,"firingRate",new(p().SFInt32)),new(a())(d().inputOutput,"forceID",new(p().SFInt32)),new(a())(d().inputOutput,"fuse",new(p().SFInt32)),new(a())(d().inputOutput,"linearVelocity",new(p().SFVec3f)),new(a())(d().inputOutput,"linearAcceleration",new(p().SFVec3f)),new(a())(d().inputOutput,"marking",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"munitionApplicationID",new(p().SFInt32)),new(a())(d().inputOutput,"munitionEndPoint",new(p().SFVec3f)),new(a())(d().inputOutput,"munitionEntityID",new(p().SFInt32)),new(a())(d().inputOutput,"munitionQuantity",new(p().SFInt32)),new(a())(d().inputOutput,"munitionSiteID",new(p().SFInt32)),new(a())(d().inputOutput,"munitionStartPoint",new(p().SFVec3f)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"rotation",new(p().SFRotation)),new(a())(d().inputOutput,"scale",new(p().SFVec3f)(1,1,1)),new(a())(d().inputOutput,"scaleOrientation",new(p().SFRotation)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"translation",new(p().SFVec3f)),new(a())(d().inputOutput,"warhead",new(p().SFInt32)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"articulationParameterValue0_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue1_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue2_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue3_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue4_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue5_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue6_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue7_changed",new(p().SFFloat)),new(a())(d().outputOnly,"collideTime",new(p().SFTime)),new(a())(d().outputOnly,"detonateTime",new(p().SFTime)),new(a())(d().outputOnly,"firedTime",new(p().SFTime)),new(a())(d().outputOnly,"isCollided",new(p().SFBool)),new(a())(d().outputOnly,"isDetonated",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const x=_,E=y().add("EspduTransform",x),M=t.X3DBoundedObject;var R=e.n(M);function A(t){N().call(this,t),R().call(this,t),this.addType(d().ReceiverPdu),t.getSpecificationVersion()<=3.3&&(this._applicationID=1,this._transmitterApplicationID=1)}Object.assign(Object.setPrototypeOf(A.prototype,N().prototype),R().prototype,{initialize(){N().prototype.initialize.call(this),R().prototype.initialize.call(this)},getBBox(t,e){return this.isDefaultBBoxSize()?t.set():t.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},dispose(){R().prototype.dispose.call(this),N().prototype.dispose.call(this)}}),Object.defineProperties(A,{...S().getStaticProperties("ReceiverPdu","DIS",1,"children","3.0"),fieldDefinitions:{value:new(r())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"radioID",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"receivedPower",new(p().SFFloat)),new(a())(d().inputOutput,"receiverState",new(p().SFInt32)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterApplicationID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterEntityID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterRadioID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterSiteID",new(p().SFInt32)),new(a())(d().inputOutput,"whichGeometry",new(p().SFInt32)(1)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const C=A,j=y().add("ReceiverPdu",C);function k(t){N().call(this,t),R().call(this,t),this.addType(d().SignalPdu),t.getSpecificationVersion()<=3.3&&(this._applicationID=1)}Object.assign(Object.setPrototypeOf(k.prototype,N().prototype),R().prototype,{initialize(){N().prototype.initialize.call(this),R().prototype.initialize.call(this)},getBBox(t,e){return this.isDefaultBBoxSize()?t.set():t.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},dispose(){R().prototype.dispose.call(this),N().prototype.dispose.call(this)}}),Object.defineProperties(k,{...S().getStaticProperties("SignalPdu","DIS",1,"children","3.0"),fieldDefinitions:{value:new(r())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"data",new(p().MFInt32)),new(a())(d().inputOutput,"dataLength",new(p().SFInt32)),new(a())(d().inputOutput,"encodingScheme",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"radioID",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"sampleRate",new(p().SFInt32)),new(a())(d().inputOutput,"samples",new(p().SFInt32)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"tdlType",new(p().SFInt32)),new(a())(d().inputOutput,"whichGeometry",new(p().SFInt32)(1)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const H=k,X=y().add("SignalPdu",H);function G(t){N().call(this,t),R().call(this,t),this.addType(d().TransmitterPdu),t.getSpecificationVersion()<=3.3&&(this._applicationID=1)}Object.assign(Object.setPrototypeOf(G.prototype,N().prototype),R().prototype,{initialize(){N().prototype.initialize.call(this),R().prototype.initialize.call(this)},getBBox(t,e){return this.isDefaultBBoxSize()?t.set():t.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},dispose(){R().prototype.dispose.call(this),N().prototype.dispose.call(this)}}),Object.defineProperties(G,{...S().getStaticProperties("TransmitterPdu","DIS",1,"children","3.0"),fieldDefinitions:{value:new(r())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"antennaLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"antennaPatternLength",new(p().SFInt32)),new(a())(d().inputOutput,"antennaPatternType",new(p().SFInt32)),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"cryptoKeyID",new(p().SFInt32)),new(a())(d().inputOutput,"cryptoSystem",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"frequency",new(p().SFInt32)),new(a())(d().inputOutput,"inputSource",new(p().SFInt32)),new(a())(d().inputOutput,"lengthOfModulationParameters",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeDetail",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeMajor",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeSpreadSpectrum",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeSystem",new(p().SFInt32)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"power",new(p().SFFloat)),new(a())(d().inputOutput,"radioEntityTypeCategory",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeCountry",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeDomain",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeKind",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeNomenclature",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeNomenclatureVersion",new(p().SFInt32)),new(a())(d().inputOutput,"radioID",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"relativeAntennaLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitFrequencyBandwidth",new(p().SFFloat)),new(a())(d().inputOutput,"transmitState",new(p().SFInt32)),new(a())(d().inputOutput,"whichGeometry",new(p().SFInt32)(1)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const W=G,L=y().add("TransmitterPdu",W);i().add({name:"DIS",concreteNodes:[h,v,E,j,X,L],abstractNodes:[]});y().add("DISComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -1,2 +1,2 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const e=window[Symbol.for("X_ITE.X3D")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const o=e.Fields;var s=t.n(o);const r=e.X3DFieldDefinition;var a=t.n(r);const l=e.FieldDefinitionArray;var p=t.n(l);const u=e.X3DNode;var d=t.n(u);const c=e.X3DChildNode;var _=t.n(c);const h=e.X3DConstants;var g=t.n(h);const y=e.Namespace;var w=t.n(y);function O(e){_().call(this,e),this.addType(g().BooleanFilter)}Object.assign(Object.setPrototypeOf(O.prototype,_().prototype),{initialize(){_().prototype.initialize.call(this),this._set_boolean.addInterest("set_boolean__",this)},set_boolean__(){const e=this._set_boolean.getValue();e?this._inputTrue=!0:this._inputFalse=!1,this._inputNegate=!e}}),Object.defineProperties(O,{...d().getStaticProperties("BooleanFilter","EventUtilities",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(a())(g().inputOutput,"metadata",new(s().SFNode)),new(a())(g().inputOnly,"set_boolean",new(s().SFBool)),new(a())(g().outputOnly,"inputTrue",new(s().SFBool)),new(a())(g().outputOnly,"inputFalse",new(s().SFBool)),new(a())(g().outputOnly,"inputNegate",new(s().SFBool))]),enumerable:!0}});const b=O,f=w().add("BooleanFilter",b),S=e.Algorithm;var F=t.n(S);function v(e){_().call(this,e),this.addType(g().X3DSequencerNode),this.index=-1}Object.assign(Object.setPrototypeOf(v.prototype,_().prototype),{initialize(){_().prototype.initialize.call(this),this._set_fraction.addInterest("set_fraction__",this),this._previous.addInterest("set_previous__",this),this._next.addInterest("set_next__",this),this._key.addInterest("set_index__",this)},set_fraction__(){const e=this._set_fraction.getValue(),t=this._key,i=t.length;if(0===i)return;let n=0;if(1===i||e<=t[0])n=0;else if(e>=t[i-1])n=this.getSize()-1;else{n=F().upperBound(t,0,i,e)-1}n!==this.index&&n<this.getSize()&&this.sequence(this.index=n)},set_previous__(){this._previous.getValue()&&(this.index<=0?this.index=this.getSize()-1:--this.index,this.index<this.getSize()&&this.sequence(this.index))},set_next__(){this._next.getValue()&&(this.index>=this.getSize()-1?this.index=0:++this.index,this.index<this.getSize()&&this.sequence(this.index))},set_index__(){this.index=-1}}),Object.defineProperties(v,d().getStaticProperties("X3DSequencerNode","EventUtilities",1));const T=v,m=w().add("X3DSequencerNode",T);function B(e){m.call(this,e),this.addType(g().BooleanSequencer)}Object.assign(Object.setPrototypeOf(B.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._keyValue.addInterest("set_index__",this)},getSize(){return this._keyValue.length},sequence(e){this._value_changed=this._keyValue[e]}}),Object.defineProperties(B,{...d().getStaticProperties("BooleanSequencer","EventUtilities",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(a())(g().inputOutput,"metadata",new(s().SFNode)),new(a())(g().inputOnly,"set_fraction",new(s().SFFloat)),new(a())(g().inputOnly,"previous",new(s().SFBool)),new(a())(g().inputOnly,"next",new(s().SFBool)),new(a())(g().inputOutput,"key",new(s().MFFloat)),new(a())(g().inputOutput,"keyValue",new(s().MFBool)),new(a())(g().outputOnly,"value_changed",new(s().SFBool))]),enumerable:!0}});const P=B,j=w().add("BooleanSequencer",P);function x(e){_().call(this,e),this.addType(g().BooleanToggle)}Object.assign(Object.setPrototypeOf(x.prototype,_().prototype),{initialize(){_().prototype.initialize.call(this),this._set_boolean.addInterest("set_boolean__",this)},set_boolean__(){this._set_boolean.getValue()&&(this._toggle=!this._toggle.getValue())}}),Object.defineProperties(x,{...d().getStaticProperties("BooleanToggle","EventUtilities",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(a())(g().inputOutput,"metadata",new(s().SFNode)),new(a())(g().inputOnly,"set_boolean",new(s().SFBool)),new(a())(g().inputOutput,"toggle",new(s().SFBool))]),enumerable:!0}});const z=x,I=w().add("BooleanToggle",z);function D(e){_().call(this,e),this.addType(g().X3DTriggerNode)}Object.setPrototypeOf(D.prototype,_().prototype),Object.defineProperties(D,d().getStaticProperties("X3DTriggerNode","EventUtilities",1));const N=D,V=w().add("X3DTriggerNode",N);function q(e){V.call(this,e),this.addType(g().BooleanTrigger)}Object.assign(Object.setPrototypeOf(q.prototype,V.prototype),{initialize(){V.prototype.initialize.call(this),this._set_triggerTime.addInterest("set_triggerTime__",this)},set_triggerTime__(){this._triggerTrue=!0}}),Object.defineProperties(q,{...d().getStaticProperties("BooleanTrigger","EventUtilities",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(a())(g().inputOutput,"metadata",new(s().SFNode)),new(a())(g().inputOnly,"set_triggerTime",new(s().SFTime)),new(a())(g().outputOnly,"triggerTrue",new(s().SFBool))]),enumerable:!0}});const k=q,E=w().add("BooleanTrigger",k);function X(e){m.call(this,e),this.addType(g().IntegerSequencer)}Object.assign(Object.setPrototypeOf(X.prototype,m.prototype),{initialize(){m.prototype.initialize.call(this),this._keyValue.addInterest("set_index__",this)},getSize(){return this._keyValue.length},sequence(e){this._value_changed=this._keyValue[e]}}),Object.defineProperties(X,{...d().getStaticProperties("IntegerSequencer","EventUtilities",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(a())(g().inputOutput,"metadata",new(s().SFNode)),new(a())(g().inputOnly,"set_fraction",new(s().SFFloat)),new(a())(g().inputOnly,"previous",new(s().SFBool)),new(a())(g().inputOnly,"next",new(s().SFBool)),new(a())(g().inputOutput,"key",new(s().MFFloat)),new(a())(g().inputOutput,"keyValue",new(s().MFInt32)),new(a())(g().outputOnly,"value_changed",new(s().SFInt32))]),enumerable:!0}});const U=X,C=w().add("IntegerSequencer",U);function M(e){V.call(this,e),this.addType(g().IntegerTrigger)}Object.assign(Object.setPrototypeOf(M.prototype,V.prototype),{initialize(){V.prototype.initialize.call(this),this._set_boolean.addInterest("set_boolean__",this)},set_boolean__(){this._triggerValue=this._integerKey}}),Object.defineProperties(M,{...d().getStaticProperties("IntegerTrigger","EventUtilities",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(a())(g().inputOutput,"metadata",new(s().SFNode)),new(a())(g().inputOnly,"set_boolean",new(s().SFBool)),new(a())(g().inputOutput,"integerKey",new(s().SFInt32)(-1)),new(a())(g().outputOnly,"triggerValue",new(s().SFInt32))]),enumerable:!0}});const A=M,K=w().add("IntegerTrigger",A);function G(e){V.call(this,e),this.addType(g().TimeTrigger)}Object.assign(Object.setPrototypeOf(G.prototype,V.prototype),{initialize(){V.prototype.initialize.call(this),this._set_boolean.addInterest("set_boolean__",this)},set_boolean__(){this._triggerTime=this.getBrowser().getCurrentTime()}}),Object.defineProperties(G,{...d().getStaticProperties("TimeTrigger","EventUtilities",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(a())(g().inputOutput,"metadata",new(s().SFNode)),new(a())(g().inputOnly,"set_boolean",new(s().SFBool)),new(a())(g().outputOnly,"triggerTime",new(s().SFTime))]),enumerable:!0}});const H=G,J=w().add("TimeTrigger",H);n().add({name:"EventUtilities",concreteNodes:[f,j,I,E,C,K,J],abstractNodes:[m,V]});w().add("EventUtilitiesComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -1,2 +1,2 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const e=window[Symbol.for("X_ITE.X3D")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var s=t.n(i);const n=e.X3DBaseNode;var o=t.n(n);const r=e.X3DConstants;var a=t.n(r);const l=e.Fields;var h=t.n(l);const g=e.Namespace;var c=t.n(g);function d(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(d.prototype,o().prototype),Object.defineProperties(d,{typeName:{value:"Arc2DOptions",enumerable:!0}});const p=d,u=c().add("Arc2DOptions",p);function y(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(y.prototype,o().prototype),Object.defineProperties(y,{typeName:{value:"ArcClose2DOptions",enumerable:!0}});const m=y,O=c().add("ArcClose2DOptions",m),D=e.IndexedLineSet;var f=t.n(D);const w=e.Coordinate;var b=t.n(w);const _=e.Complex;var P=t.n(_);function S(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.assign(Object.setPrototypeOf(S.prototype,o().prototype),{initialize(){o().prototype.initialize.call(this),this.addInterest("eventsProcessed",this)},getGeometry(){return this.geometry||this.build(),this.geometry},createCoordIndex(){const e=this._dimension.getValue(),t=this.geometry._coordIndex;for(let i=0;i<e;++i)t.push(i);t.push(0,-1)},createPoints(){const e=this._dimension.getValue(),t=2*Math.PI/e,i=this.geometry._coord.getValue()._point;for(let s=0;s<e;++s){const e=P().fromPolar(1,t*s);i.push(new(h().SFVec3f)(e.real,e.imag,0))}},build(){this.geometry=new(f())(this.getExecutionContext()),this.geometry._coord=new(b())(this.getExecutionContext()),this.createCoordIndex(),this.createPoints();const e=this.geometry;this.geometry._coord.getValue().setup(),e.setup()},eventsProcessed(){this.geometry=null}}),Object.defineProperties(S,{typeName:{value:"Circle2DOptions",enumerable:!0}});const V=S,v=c().add("Circle2DOptions",V),C=e.X3DGeometryNode;var M=t.n(C);function x(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40)),this.diskTexCoords=M().createArray(),this.diskNormals=M().createArray(),this.diskVertices=M().createArray()}Object.assign(Object.setPrototypeOf(x.prototype,o().prototype),{initialize(){o().prototype.initialize.call(this),this.addInterest("eventsProcessed",this)},getDiskTexCoords(){return this.diskTexCoords.length||this.build(),this.diskTexCoords},getDiskNormals(){return this.diskNormals.length||this.build(),this.diskNormals},getDiskVertices(){return this.diskVertices.length||this.build(),this.diskVertices},build:(()=>{const e=new(P())(.5,.5),t=new(P()),i=new(P()),s=new(P()),n=new(P());return function(){const o=this._dimension.getValue(),r=2*Math.PI/o,a=this.diskTexCoords,l=this.diskNormals,h=this.diskVertices;for(let g=0;g<o;++g){const o=r*g,c=r*(g+1);t.setPolar(.5,o).add(e),i.setPolar(.5,c).add(e),s.setPolar(1,o),n.setPolar(1,c),a.push(.5,.5,0,1,t.real,t.imag,0,1,i.real,i.imag,0,1),l.push(0,0,1,0,0,1,0,0,1),h.push(0,0,0,1,s.real,s.imag,0,1,n.real,n.imag,0,1)}a.shrinkToFit(),l.shrinkToFit(),h.shrinkToFit()}})(),eventsProcessed(){this.diskTexCoords.length=0,this.diskNormals.length=0,this.diskVertices.length=0}}),Object.defineProperties(x,{typeName:{value:"Disk2DOptions",enumerable:!0}});const T=x,F=c().add("Disk2DOptions",T),j=e.IndexedFaceSet;var A=t.n(j);const k=e.TextureCoordinate;var N=t.n(k);function I(e){o().call(this,e)}Object.assign(Object.setPrototypeOf(I.prototype,o().prototype),{getGeometry(){if(this.geometry)return this.geometry;this.geometry=new(A())(this.getExecutionContext()),this.geometry._texCoord=new(N())(this.getExecutionContext()),this.geometry._coord=new(b())(this.getExecutionContext());const e=this.geometry,t=this.geometry._texCoord.getValue(),i=this.geometry._coord.getValue();return t._point=[1,1,0,1,0,0,1,0],i._point=[1,1,0,-1,1,0,-1,-1,0,1,-1,0],e._coordIndex=[0,1,2,3,-1],t.setup(),i.setup(),e.setup(),this.geometry}}),Object.defineProperties(I,{typeName:{value:"Rectangle2DOptions",enumerable:!0}});const G=I,z=c().add("Rectangle2DOptions",G),B=e.PrimitiveQuality;var R=t.n(B);const U=Symbol(),X=Symbol(),E=Symbol(),Q=Symbol(),H=Symbol();function L(){}function q(e,t){return this[e]??=(()=>{const e=new t(this.getPrivateScene());return e.setup(),e})()}Object.assign(L.prototype,{initialize(){this.setPrimitiveQuality2D(this.getBrowserOptions().getPrimitiveQuality())},getArc2DOptions(){return q.call(this,U,u)},getArcClose2DOptions(){return q.call(this,X,O)},getCircle2DOptions(){return q.call(this,E,v)},getDisk2DOptions(){return q.call(this,Q,F)},getRectangle2DOptions(){return q.call(this,H,z)},setPrimitiveQuality2D(e){const t=this.getArc2DOptions(),i=this.getArcClose2DOptions(),s=this.getCircle2DOptions(),n=this.getDisk2DOptions();switch(e){case R().LOW:t._dimension=20,i._dimension=20,s._dimension=20,n._dimension=20;break;case R().MEDIUM:t._dimension=40,i._dimension=40,s._dimension=40,n._dimension=40;break;case R().HIGH:t._dimension=80,i._dimension=80,s._dimension=80,n._dimension=80}}});const W=L,J=c().add("X3DGeometry2DContext",W),K=e.X3DFieldDefinition;var Y=t.n(K);const Z=e.FieldDefinitionArray;var $=t.n(Z);const ee=e.X3DNode;var te=t.n(ee);const ie=e.X3DLineGeometryNode;var se=t.n(ie);const ne=e.Algorithm;var oe=t.n(ne);function re(e){se().call(this,e),this.addType(a().Arc2D),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(re.prototype,se().prototype),{set_live__(){this.connectOptions(this.getBrowser().getArc2DOptions())},getSweepAngle(){const e=oe().interval(this._startAngle.getValue(),0,2*Math.PI),t=oe().interval(this._endAngle.getValue(),0,2*Math.PI);if(e===t)return 2*Math.PI;const i=Math.abs(t-e);return e>t?2*Math.PI-i:isNaN(i)?0:i},build:(()=>{const e=new(P()),t=new(P());return function(){const i=this.getBrowser().getArc2DOptions()._dimension.getValue(),s=this._startAngle.getValue(),n=Math.abs(this._radius.getValue()),o=this.getSweepAngle(),r=Math.max(3,Math.floor(o*i/(2*Math.PI))),a=this.getVertices();for(let i=0;i<r;++i){const l=s+o*(i/r),h=e.setPolar(n,l),g=s+o*((i+1)/r),c=t.setPolar(n,g);a.push(h.real,h.imag,0,1),a.push(c.real,c.imag,0,1)}this.getMin().set(-n,-n,0),this.getMax().set(n,n,0)}})()}),Object.defineProperties(re,{...te().getStaticProperties("Arc2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"startAngle",new(h().SFFloat)),new(Y())(a().initializeOnly,"endAngle",new(h().SFFloat)(1.570796)),new(Y())(a().initializeOnly,"radius",new(h().SFFloat)(1))]),enumerable:!0}});const ae=re,le=c().add("Arc2D",ae);function he(e){M().call(this,e),this.addType(a().ArcClose2D),this.setGeometryType(2),this._startAngle.setUnit("angle"),this._endAngle.setUnit("angle"),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(he.prototype,M().prototype),{set_live__(){this.connectOptions(this.getBrowser().getArcClose2DOptions())},getSweepAngle(){const e=oe().interval(this._startAngle.getValue(),0,2*Math.PI),t=oe().interval(this._endAngle.getValue(),0,2*Math.PI);if(e===t)return 2*Math.PI;const i=Math.abs(t-e);return e>t?2*Math.PI-i:isNaN(i)?0:i},build:(()=>{const e=[],t=[],i=new(P())(.5,.5);return function(){const s=this.getBrowser().getArcClose2DOptions(),n="CHORD"===this._closureType.getValue(),o=s._dimension.getValue(),r=this._startAngle.getValue(),a=Math.abs(this._radius.getValue()),l=this.getSweepAngle(),h=Math.max(4,Math.floor(l*o/(2*Math.PI))),g=this.getTexCoords(),c=this.getNormals(),d=this.getVertices();this.getMultiTexCoords().push(g);const p=h-1;for(let s=0;s<h;++s){const n=r+l*(s/p);s>=e.length&&e.push(new(P())),s>=t.length&&t.push(new(P())),e[s].setPolar(.5,n).add(i),t[s].setPolar(a,n)}if(n){const i=e[0],s=t[0];for(let n=1;n<p;++n){const o=e[n],r=e[n+1],a=t[n],l=t[n+1];g.push(i.real,i.imag,0,1,o.real,o.imag,0,1,r.real,r.imag,0,1),c.push(0,0,1,0,0,1,0,0,1),d.push(s.real,s.imag,0,1,a.real,a.imag,0,1,l.real,l.imag,0,1)}}else for(let i=0;i<p;++i){const s=e[i],n=e[i+1],o=t[i],r=t[i+1];g.push(.5,.5,0,1,s.real,s.imag,0,1,n.real,n.imag,0,1),c.push(0,0,1,0,0,1,0,0,1),d.push(0,0,0,1,o.real,o.imag,0,1,r.real,r.imag,0,1)}this.getMin().set(-a,-a,0),this.getMax().set(a,a,0),this.setSolid(this._solid.getValue())}})()}),Object.defineProperties(he,{...te().getStaticProperties("ArcClose2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"closureType",new(h().SFString)("PIE")),new(Y())(a().initializeOnly,"startAngle",new(h().SFFloat)),new(Y())(a().initializeOnly,"endAngle",new(h().SFFloat)(1.570796)),new(Y())(a().initializeOnly,"radius",new(h().SFFloat)(1)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const ge=he,ce=c().add("ArcClose2D",ge);function de(e){se().call(this,e),this.addType(a().Circle2D),this._radius.setUnit("length")}Object.assign(Object.setPrototypeOf(de.prototype,se().prototype),{set_live__(){this.connectOptions(this.getBrowser().getCircle2DOptions())},build(){const e=this.getBrowser().getCircle2DOptions().getGeometry(),t=this.getVertices(),i=this._radius.getValue();if(1===i)t.assign(e.getVertices());else{const s=e.getVertices();for(let e=0,n=s.length;e<n;e+=4)t.push(s[e]*i,s[e+1]*i,0,1)}this.getMin().set(-i,-i,0),this.getMax().set(i,i,0)}}),Object.defineProperties(de,{...te().getStaticProperties("Circle2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"radius",new(h().SFFloat)(1))]),enumerable:!0}});const pe=de,ue=c().add("Circle2D",pe),ye=e.X3DPointGeometryNode;var me=t.n(ye);function Oe(e){se().call(this,e),this.addType(a().Disk2D),this._innerRadius.setUnit("length"),this._outerRadius.setUnit("length")}Object.assign(Object.setPrototypeOf(Oe.prototype,M().prototype),se().prototype,{set_live__(){this.connectOptions(this.getBrowser().getDisk2DOptions())},build(){const e=this.getBrowser().getDisk2DOptions(),t=Math.min(Math.abs(this._innerRadius.getValue()),Math.abs(this._outerRadius.getValue())),i=Math.max(Math.abs(this._innerRadius.getValue()),Math.abs(this._outerRadius.getValue())),s=this.getVertices();if(t===i){if(0===i)return s.push(0,0,0,1),this.getMin().set(0),this.getMax().set(0),this.setGeometryType(0),this.setTransparent(!0),this.setSolid(!1),void this.setBase(me().prototype);const e=this.getBrowser().getCircle2DOptions().getGeometry();if(1===i)s.assign(e.getVertices());else{const t=e.getVertices();for(let e=0,n=t.length;e<n;e+=4)s.push(t[e]*i,t[e+1]*i,0,1)}return this.getMin().set(-i,-i,0),this.getMax().set(i,i,0),this.setGeometryType(1),this.setTransparent(!1),this.setSolid(!1),void this.setBase(se().prototype)}if(0===t){if(this.getMultiTexCoords().push(e.getDiskTexCoords()),this.getNormals().assign(e.getDiskNormals()),1===i)s.assign(e.getDiskVertices());else{const t=e.getDiskVertices().getValue();for(let e=0,n=t.length;e<n;e+=4)s.push(t[e]*i,t[e+1]*i,0,1)}return this.getMin().set(-i,-i,0),this.getMax().set(i,i,0),this.setGeometryType(2),this.setTransparent(!1),this.setSolid(this._solid.getValue()),void this.setBase(M().prototype)}const n=t/i,o=(1-n)/2,r=e.getDiskTexCoords().getValue(),a=e.getDiskVertices().getValue(),l=this.getTexCoords(),h=this.getNormals();this.getMultiTexCoords().push(l);for(let e=0,g=a.length;e<g;e+=12)l.push(r[e+4]*n+o,r[e+5]*n+o,0,1,r[e+4],r[e+5],0,1,r[e+8],r[e+9],0,1,r[e+4]*n+o,r[e+5]*n+o,0,1,r[e+8],r[e+9],0,1,r[e+8]*n+o,r[e+9]*n+o,0,1),h.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),s.push(a[e+4]*t,a[e+5]*t,0,1,a[e+4]*i,a[e+5]*i,0,1,a[e+8]*i,a[e+9]*i,0,1,a[e+4]*t,a[e+5]*t,0,1,a[e+8]*i,a[e+9]*i,0,1,a[e+8]*t,a[e+9]*t,0,1);this.getMin().set(-i,-i,0),this.getMax().set(i,i,0),this.setGeometryType(2),this.setTransparent(!1),this.setSolid(this._solid.getValue()),this.setBase(M().prototype)},updateRenderFunctions(){}}),Object.defineProperties(Oe,{...te().getStaticProperties("Disk2D","Geometry2D",2,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"innerRadius",new(h().SFFloat)),new(Y())(a().initializeOnly,"outerRadius",new(h().SFFloat)(1)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const De=Oe,fe=c().add("Disk2D",De);function we(e){se().call(this,e),this.addType(a().Polyline2D),this._lineSegments.setUnit("length")}Object.assign(Object.setPrototypeOf(we.prototype,se().prototype),{build(){const e=this._lineSegments.getValue(),t=this.getVertices();for(let i=0,s=2*(this._lineSegments.length-1);i<s;i+=2)t.push(e[i+0],e[i+1],0,1),t.push(e[i+2],e[i+3],0,1)}}),Object.defineProperties(we,{...te().getStaticProperties("Polyline2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"lineSegments",new(h().MFVec2f))]),enumerable:!0}});const be=we,_e=c().add("Polyline2D",be);function Pe(e){me().call(this,e),this.addType(a().Polypoint2D),this._point.setUnit("length")}Object.assign(Object.setPrototypeOf(Pe.prototype,me().prototype),{build(){const e=this._point.getValue(),t=this.getVertices();for(let i=0,s=2*this._point.length;i<s;i+=2)t.push(e[i],e[i+1],0,1)}}),Object.defineProperties(Pe,{...te().getStaticProperties("Polypoint2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().inputOutput,"point",new(h().MFVec2f))]),enumerable:!0}});const Se=Pe,Ve=c().add("Polypoint2D",Se),ve=e.Vector2;var Ce=t.n(ve);function Me(e){M().call(this,e),this.addType(a().Rectangle2D),this.setGeometryType(2),this._size.setUnit("length")}Object.assign(Object.setPrototypeOf(Me.prototype,M().prototype),{build:(()=>{const e=new(Ce())(2);return function(){const t=this.getBrowser().getRectangle2DOptions().getGeometry(),i=this._size.getValue(),s=this.getVertices();if(this.getMultiTexCoords().push(...t.getMultiTexCoords()),this.getTangents().assign(t.getTangents()),this.getNormals().assign(t.getNormals()),i.equals(e))s.assign(t.getVertices()),this.getMin().assign(t.getMin()),this.getMax().assign(t.getMax());else{const e=Math.abs(i.x/2),n=Math.abs(i.y/2),o=t.getVertices();for(let t=0;t<o.length;t+=4)s.push(e*o[t],n*o[t+1],0,1);this.getMin().set(-e,-n,0),this.getMax().set(e,n,0)}this.setSolid(this._solid.getValue())}})()}),Object.defineProperties(Me,{...te().getStaticProperties("Rectangle2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().initializeOnly,"size",new(h().SFVec2f)(2,2)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const xe=Me,Te=c().add("Rectangle2D",xe);function Fe(e){M().call(this,e),this.addType(a().TriangleSet2D),this.setGeometryType(2),this._vertices.setUnit("length")}Object.assign(Object.setPrototypeOf(Fe.prototype,M().prototype),{build(){const e=this._vertices.getValue(),t=this.getNormals(),i=this.getVertices();for(let s=0,n=2*this._vertices.length;s<n;s+=2)t.push(0,0,1),i.push(e[s],e[s+1],0,1);this.setSolid(this._solid.getValue())},generateTexCoords(){const e=this.getTexCoords();if(0===e.length){const t=this.getTexCoordParams(),i=t.min,s=t.Ssize,n=this.getVertices();for(let t=0,o=n.length;t<o;t+=4)e.push((n[t]-i[0])/s,(n[t+1]-i[1])/s,0,1);e.shrinkToFit()}this.getMultiTexCoords().push(e)}}),Object.defineProperties(Fe,{...te().getStaticProperties("TriangleSet2D","Geometry2D",1,"geometry","3.0"),fieldDefinitions:{value:new($())([new(Y())(a().inputOutput,"metadata",new(h().SFNode)),new(Y())(a().inputOutput,"vertices",new(h().MFVec2f)),new(Y())(a().initializeOnly,"solid",new(h().SFBool))]),enumerable:!0}});const je=Fe,Ae=c().add("TriangleSet2D",je);s().add({name:"Geometry2D",concreteNodes:[le,ce,ue,fe,_e,Ve,Te,Ae],abstractNodes:[],browserContext:J});c().add("Geometry2DComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -1,2 +1,2 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const e=window[Symbol.for("X_ITE.X3D")];(()=>{var n={n:e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return n.d(o,{a:o}),o},d:(e,o)=>{for(var t in o)n.o(o,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:o[t]})},o:(e,n)=>Object.prototype.hasOwnProperty.call(e,n)};const o=e.Components;var t=n.n(o);const r=e.X3DGeometry3DContext;var a=n.n(r);const s=e.Box;var c=n.n(s);const d=e.Cone;var v=n.n(d);const m=e.Cylinder;var i=n.n(m);const l=e.ElevationGrid;var p=n.n(l);const y=e.Extrusion;var b=n.n(y);const C=e.IndexedFaceSet;var u=n.n(C);const x=e.Sphere;var D=n.n(x);const f=e.Namespace;var w=n.n(f);t().add({name:"Geometry3D",concreteNodes:[c(),v(),i(),p(),b(),u(),D()],abstractNodes:[],browserContext:a()});w().add("Geometry3DComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -1,2 +1,2 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const e=window[Symbol.for("X_ITE.X3D")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const o=e.Fields;var s=t.n(o);const r=e.X3DFieldDefinition;var a=t.n(r);const h=e.FieldDefinitionArray;var l=t.n(h);const d=e.X3DNode;var c=t.n(d);const p=e.X3DCoordinateNode;var u=t.n(p);const g=e.X3DConstants;var _=t.n(g);const w=e.Namespace;var O=t.n(w);function y(e=1,t=1,i=!1){this.set(e,t,i)}Object.assign(y.prototype,{copy(){const e=Object.create(y.prototype);return e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e},assign(e){return this.semiMajorAxis=e.semiMajorAxis,this.semiMinorAxis=e.semiMinorAxis,this},equals(e){return this.semiMajorAxis===e.semiMajorAxis&&this.semiMinorAxis===e.semiMinorAxis},set(e=1,t=1,i=!1){if(i){const i=t;this.semiMajorAxis=e,this.semiMinorAxis=e*(1-1/i)}else this.semiMajorAxis=e,this.semiMinorAxis=t;return this},toString(){return`${this.semiMajorAxis} ${this.semiMinorAxis}`}});const S=y,f=O().add("Spheroid3",S),m=new Map([["AA",new f(6377563.396,299.3249646,!0)],["AM",new f(6377340.189,299.3249646,!0)],["AN",new f(6378160,298.25,!0)],["BN",new f(6377483.865,299.1528128,!0)],["BR",new f(6377397.155,299.1528128,!0)],["CC",new f(6378206.4,294.9786982,!0)],["CD",new f(6378249.145,293.465,!0)],["EA",new f(6377276.345,300.8017,!0)],["EB",new f(6377298.556,300.8017,!0)],["EC",new f(6377301.243,300.8017,!0)],["ED",new f(6377295.664,300.8017,!0)],["EE",new f(6377304.063,300.8017,!0)],["EF",new f(6377309.613,300.8017,!0)],["FA",new f(6378155,298.3,!0)],["HE",new f(6378200,298.3,!0)],["HO",new f(6378270,297,!0)],["ID",new f(6378160,298.247,!0)],["IN",new f(6378388,297,!0)],["KA",new f(6378245,298.3,!0)],["RF",new f(6378137,298.257222101,!0)],["SA",new f(6378160,298.25,!0)],["WD",new f(6378135,298.26,!0)],["WE",new f(6378137,298.257223563,!0)],["SUN",new f(696342e3,1/9e-6,!0)],["MERCURY",new f(2439700,2439700)],["VENUS",new f(6051800,6051800)],["MOON",new f(1738140,1735970)],["MARS",new f(3395428,3377678)],["JUPITER",new f(71492e3,66854e3)],["SATURN",new f(60268e3,54364e3)],["URANUS",new f(2555e3,24973e3)],["NEPTUNE",new f(24764e3,24341e3)],["PLUTO",new f(1153e3,1153e3)]]),F=O().add("ReferenceEllipsoids",m);function N(e,t,i){this.longitudeFirst=!t,this.degrees=!i,this.a=e.semiMajorAxis,this.c=e.semiMinorAxis,this.c2a2=(e.semiMinorAxis/this.a)**2,this.ecc2=1-this.c2a2}Object.assign(N.prototype,{convert(e,t){const i=e.z;let n,o;return this.longitudeFirst?(n=e.y,o=e.x):(n=e.x,o=e.y),this.degrees&&(n*=Math.PI/180,o*=Math.PI/180),this.convertRadians(n,o,i,t)},convertRadians(e,t,i,n){const o=Math.sin(e),s=o**2,r=Math.cos(e),a=this.a/Math.sqrt(1-this.ecc2*s),h=(a+i)*r;return n.set(h*Math.cos(t),h*Math.sin(t),(a*this.c2a2+i)*o)},apply(e,t){if(this.applyRadians(e,t),this.degrees&&(t.x*=180/Math.PI,t.y*=180/Math.PI),this.longitudeFirst){const e=t.x;t.x=t.y,t.y=e}return t},applyRadians(e,t){const i=e.x,n=e.y,o=e.z,s=Math.sqrt(i*i+n*n);if(0==s)return t.set(Math.PI,0,o-this.c);let r=0,a=Math.atan2(n,i),h=0,l=this.a,d=l,c=this.ecc2;for(let e=0;e<30;++e){const e=h,t=r;r=Math.atan(o/s/(1-c*d/(d+h)));const i=Math.sin(r);if(d=l/Math.sqrt(1-c*i*i),h=s/Math.cos(r)-d,Math.abs(h-e)<.001&&Math.abs(r-t)<1e-10)break}return t.set(r,a,h)},normal(e,t){const i=this.applyRadians(e,t),n=i.x,o=i.y,s=Math.cos(n),r=Math.cos(o)*s,a=Math.sin(o)*s,h=Math.sin(n);return t.set(r,a,h)}});const b=N,v=O().add("Geodetic",b),x=e.Algorithm;var M=t.n(x);const I=1e7,V=5e5,z=.9996;function C(e,t,i,n){const o=e.semiMajorAxis,s=1-(e.semiMinorAxis/o)**2,r=s/(1-s),a=(1-Math.sqrt(1-s))/(1+Math.sqrt(1-s));this.southernHemisphere=!i,this.eastingFirst=!n,this.a=o,this.ecc2=s,this.EE=r,this.E8=8*r,this.E9=9*r,this.E252=252*r,this.e1=a,this.A=z*(o*(1-s/4-3*s*s/64-5*s*s*s/256)),this.B=3*a/2-7*a*a*a/32,this.C=21*a*a/16-55*a*a*a*a/32,this.D=151*a*a*a/96,this.E=o*(1-s),this.W=1-s/4-3*s*s/64-5*s*s*s/256,this.X=3*s/8+3*s*s/32+45*s*s*s/1024,this.Y=15*s*s/256+45*s*s*s/1024,this.Z=35*s*s*s/3072,this.longitude0=M().radians(6*t-183),this.geodeticConverter=new v(e,!0,!0)}Object.assign(C.prototype,{convert(e,t){let i,n;this.eastingFirst?(i=e.y,n=e.x):(i=e.x,n=e.y);let o=this.southernHemisphere;i<0&&(o=!this.southernHemisphere,i=-i),o&&(i-=I),n-=V;const s=i/this.A,r=s+this.B*Math.sin(2*s)+this.C*Math.sin(4*s)+this.D*Math.sin(6*s),a=Math.sin(r)**2,h=Math.cos(r),l=Math.tan(r),d=this.a/Math.sqrt(1-this.ecc2*a),c=l**2,p=l**8,u=this.EE*c,g=u*u,_=this.E/(1-this.ecc2*a)**1.5,w=n/(d*z),O=(5+3*c+10*u-4*g-this.E9)*w**4/24,y=(61+90*c+298*u+45*p-this.E252-3*g)*w**6/720,S=(5-2*u+28*c-3*g+this.E8+24*p)*w**5/120,f=r-d*l/_*(w*w/2-O+y),m=this.longitude0+(w-(1+2*c+u)*w**3/6+S)/h;return this.geodeticConverter.convertRadians(f,m,e.z,t)},apply(e,t){const i=this.geodeticConverter.applyRadians(e,t),n=i.x,o=i.y,s=Math.tan(n),r=Math.cos(n),a=this.EE,h=this.a/Math.sqrt(1-this.ecc2*Math.sin(n)**2),l=s*s,d=l*l*l,c=a*r*r,p=r*(o-this.longitude0),u=this.a*(this.W*n-this.X*Math.sin(2*n)+this.Y*Math.sin(4*n)-this.Z*Math.sin(6*n)),g=z*h*(p+(1-l+c)*p**3/6+(5-18*d+72*c-58*a)*p**5/120)+V;let _=z*(u+h*s*(p*p/2+(5-l+9*c+4*c*c)*p**4/24+(61-58*d+600*c-330*a)*p**6/720));return n<0?(_+=I,this.southernHemisphere||(_=-_)):this.southernHemisphere&&(_=-_),this.eastingFirst?t.set(g,_,i.z):t.set(_,g,i.z)}});const j=C,P=O().add("UniversalTransverseMercator",j);function G(){}Object.assign(G.prototype,{convert:(e,t)=>t.assign(e),apply:(e,t)=>t.assign(e),slerp(e,t,i){const n=e.norm(),o=t.norm();return e.normalize(),t.normalize(),M().simpleSlerp(e,t,i).multiply(M().lerp(n,o,i))}});const D=G,T=O().add("Geocentric",D);let E=0;const A=E++,L=E++,U=E++,B=new Map([["GD",A],["GDC",A],["UTM",L],["GC",U],["GCC",U],["GS",U]]),R=/^Z(\d+)$/,k={GD:A,UTM:L,GC:U,getReferenceFrame(e,t){switch(this.getCoordinateSystem(e)){case A:return new v(this.getEllipsoid(e),this.getLatitudeFirst(e),t);case L:return new P(this.getEllipsoid(e),this.getZone(e),this.getNorthernHemisphere(e),this.getNorthingFirst(e));case U:return new T}return new v(F.get("WE"),!0,t)},getElevationFrame(e,t){return new v(this.getEllipsoid(e),!0,t)},getCoordinateSystem(e){for(const t of e){const e=B.get(t);if(void 0!==e)return e}return A},getEllipsoid(e){for(const t of e){const e=F.get(t);if(void 0!==e)return e}return F.get("WE")},isStandardOrder(e){switch(this.getCoordinateSystem(e)){case A:return this.getLatitudeFirst(e);case L:return this.getNorthingFirst(e);case U:return!0}return this.getLatitudeFirst(e)},getLatitudeFirst(e){for(const t of e)if("longitude_first"===t)return!1;return!0},getNorthingFirst(e){for(const t of e)if("easting_first"===t)return!1;return!0},getZone(e){for(const t of e){const e=t.match(R);if(e)return parseInt(e[1])}return 1},getNorthernHemisphere(e){for(const t of e)if("S"===t)return!1;return!0}},X=O().add("GeospatialObject",k),W=e.X3DCast;var Y=t.n(W);const q=e.Vector3;var H=t.n(q);const Z=e.Matrix4;var $=t.n(Z);const J=new(H()),K=new(H()),Q=new(H()),ee=new(H()),te=new(H()),ie=new(H());function ne(e){this.addType(_().X3DGeospatialObject),this.radians=!1,this.origin=new(H()),this.originMatrix=new($()),this.invOriginMatrix=new($())}function oe(e,t){return this.invOriginMatrix.multVecMatrix(this.referenceFrame.convert(e,t))}function se(e,t){return this.referenceFrame.apply(this.originMatrix.multVecMatrix(J.assign(e)),t)}function re(e,t){return this.invOriginMatrix.multDirMatrix(this.elevationFrame.normal(this.originMatrix.multVecMatrix(J.assign(e)),t))}function ae(e,t){return he.call(this,e,t).multRight(this.invOriginMatrix)}function he(e,t){return this.referenceFrame.convert(e,Q),this.elevationFrame.normal(Q,te),ee.set(0,0,1).cross(te),ee.equals(H().ZERO)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),t.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,Q.x,Q.y,Q.z,1)}Object.assign(ne.prototype,{initialize(){this._geoSystem.addInterest("set_geoSystem__",this),this._geoOrigin.addInterest("set_geoOrigin__",this),this.set_geoSystem__(),this.set_geoOrigin__()},set_geoSystem__(){this.coordinateSystem=X.getCoordinateSystem(this._geoSystem),this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians),this.elevationFrame=X.getElevationFrame(this._geoSystem,this.radians),this.standardOrder=X.isStandardOrder(this._geoSystem)},set_geoOrigin__(){this.geoOriginNode&&(this.geoOriginNode.removeInterest("set_origin__",this),this.geoOriginNode.removeInterest("set_rotateYUp__",this),this.geoOriginNode.removeInterest("addNodeEvent",this)),this.geoOriginNode=Y()(_().GeoOrigin,this._geoOrigin),this.geoOriginNode&&(this.geoOriginNode.addInterest("set_origin__",this),this.geoOriginNode.addInterest("set_rotateYUp__",this),this.geoOriginNode.addInterest("addNodeEvent",this)),this.set_origin__(),this.set_rotateYUp__()},set_origin__(){this.geoOriginNode?this.geoOriginNode.getOrigin(this.origin):this.origin.set(0),this.set_originMatrix__()},set_originMatrix__(){if(this.geoOriginNode){const e=this.origin;this.elevationFrame.normal(e,te),ee.set(0,0,1).cross(te),ee.equals(H().ZERO)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),this.originMatrix.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,e.x,e.y,e.z,1),this.invOriginMatrix.assign(this.originMatrix).inverse()}},set_rotateYUp__(){this.geoOriginNode&&this.geoOriginNode._rotateYUp.getValue()?(this.getCoord=oe,this.getGeoCoord=se,this.getGeoUpVector=re,this.getLocationMatrix=ae):(delete this.getCoord,delete this.getGeoCoord,delete this.getGeoUpVector,delete this.getLocationMatrix)},getReferenceFrame(){return this.referenceFrame},getStandardOrder(){return this.standardOrder},getCoord(e,t){return this.referenceFrame.convert(e,t).subtract(this.origin)},getGeoCoord(e,t){return this.referenceFrame.apply(J.assign(e).add(this.origin),t)},getGeoElevation(e){return this.getGeoCoord(e,K).z},getGeoUpVector(e,t){return this.elevationFrame.normal(J.assign(e).add(this.origin),t)},getLocationMatrix(e,t){const i=this.origin,n=he.call(this,e,t);return n[12]-=i.x,n[13]-=i.y,n[14]-=i.z,n},dispose(){}}),Object.defineProperties(ne,c().getStaticProperties("X3DGeospatialObject","Geospatial",1));const le=ne,de=O().add("X3DGeospatialObject",le),ce=e.Triangle3;var pe=t.n(ce);function ue(e){u().call(this,e),de.call(this,e),this.addType(_().GeoCoordinate)}Object.assign(Object.setPrototypeOf(ue.prototype,u().prototype),de.prototype,{initialize(){u().prototype.initialize.call(this),de.prototype.initialize.call(this)},set1Point:(()=>{const e=new(H());return function(t,i){this._point[t]=this.getGeoCoord(i,e)}})(),get1Point:(()=>{const e=new(H());return function(t,i){if(t<this.length){const n=this.point;return t*=3,this.getCoord(e.set(n[t],n[t+1],n[t+2]),i)}return i.set(0)}})(),addPoint:(()=>{const e=new(H()),t=new(H());return function(i,n){if(i<this.length){const o=this.point;i*=3,this.getCoord(e.set(o[i],o[i+1],o[i+2]),t),n.push(t[0],t[1],t[2],1)}else n.push(0,0,0,1)}})(),addPoints:(()=>{const e=new(H()),t=new(H());return function(i,n=this.length){const o=this.point,s=3*this.length;for(let n=0;n<s;n+=3)this.getCoord(e.set(o[n],o[n+1],o[n+2]),t),i.push(t[0],t[1],t[2],1);if(n*=3,s)for(let e=s;e<n;e+=3)i.push(t[0],t[1],t[2],1);else for(let e=s;e<n;e+=3)i.push(0,0,0,1);return i}})(),getNormal:(()=>{const e=new(H()),t=new(H()),i=new(H());return function(n,o,s){const r=this.length;return n<r&&o<r&&s<r?pe().normal(this.get1Point(n,e),this.get1Point(o,t),this.get1Point(s,i),new(H())):new(H())}})(),getQuadNormal:(()=>{const e=new(H()),t=new(H()),i=new(H()),n=new(H());return function(o,s,r,a){const h=this.length;return o<h&&s<h&&r<h&&a<h?pe().quadNormal(this.get1Point(o,e),this.get1Point(s,t),this.get1Point(r,i),this.get1Point(a,n),new(H())):new(H())}})(),dispose(){de.prototype.dispose.call(this),u().prototype.dispose.call(this)}}),Object.defineProperties(ue,{...c().getStaticProperties("GeoCoordinate","Geospatial",1,"coord","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"point",new(s().MFVec3d))]),enumerable:!0}});const ge=ue,_e=O().add("GeoCoordinate",ge),we=e.X3DGeometryNode;var Oe=t.n(we);const ye=e.Vector2;var Se=t.n(ye);function fe(e){Oe().call(this,e),de.call(this,e),this.addType(_().GeoElevationGrid),this._set_height.setUnit("length"),this._creaseAngle.setUnit("angle"),this._height.setUnit("length")}Object.assign(Object.setPrototypeOf(fe.prototype,Oe().prototype),de.prototype,{initialize(){Oe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._set_height.addFieldInterest(this._height),this._color.addInterest("set_color__",this),this._texCoord.addInterest("set_texCoord__",this),this._tangent.addInterest("set_tangent__",this),this._normal.addInterest("set_normal__",this),this.set_color__(),this.set_texCoord__(),this.set_tangent__(),this.set_normal__()},getHeight(e){return e<this._height.length?this._height[e]*this._yScale.getValue():0},createTexCoords(){const e=[],t=this._xDimension.getValue(),i=this._zDimension.getValue(),n=t-1,o=i-1;for(let s=0;s<i;++s)for(let i=0;i<t;++i)e.push(new(Se())(i/n,s/o));return e},createNormals(e,t,i){const n=t.length,o=!this._ccw.getValue(),s=new Map,r=[];for(let t=0;t<e.length;++t)s.set(t,[]);for(let i=0;i<n;i+=3){const n=t[i],a=t[i+1],h=t[i+2];s.get(n).push(r.length),s.get(a).push(r.length+1),s.get(h).push(r.length+2);const l=pe().normal(e[n],e[a],e[h],new(H()));o&&l.negate(),r.push(l),r.push(l),r.push(l)}return this._normalPerVertex.getValue()?this.refineNormals(s,r,i??this._creaseAngle.getValue()):r},createCoordIndex(){const e=[],t=this._xDimension.getValue(),i=t-1,n=this._zDimension.getValue()-1;for(let o=0;o<n;++o)for(let n=0;n<i;++n){const i=o*t+n,s=(o+1)*t+n,r=(o+1)*t+(n+1),a=o*t+(n+1);e.push(i),e.push(r),e.push(s),e.push(i),e.push(a),e.push(r)}return e},createPoints(){const e=[],t=this._xDimension.getValue(),i=this._zDimension.getValue(),n=this._xSpacing.getValue(),o=this._zSpacing.getValue();if(this.getStandardOrder())for(let s=0;s<i;++s)for(let i=0;i<t;++i){const r=new(H())(o*s,n*i,this.getHeight(i+s*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}else for(let s=0;s<i;++s)for(let i=0;i<t;++i){const r=new(H())(n*i,o*s,this.getHeight(i+s*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}return e},build(){if(this._xDimension.getValue()<2||this._zDimension.getValue()<2)return;const e=this._colorPerVertex.getValue(),t=this._normalPerVertex.getValue(),i=this.createCoordIndex(),n=this.getColor(),o=this.getTexCoord(),s=this.getTangent(),r=this.getNormal(),a=this.createPoints(),h=this.getColors(),l=this.getMultiTexCoords(),d=this.getTangents(),c=this.getNormals(),p=this.getVertices(),u=i.length;let g,_;o?o.init(l):(g=this.createTexCoords(),_=this.getTexCoords(),l.push(_));let w=0;for(let O=0;O<u;++w)for(let u=0;u<6;++u,++O){const u=i[O],{x:y,y:S,z:f}=a[u];if(n?.addColor(e?u:w,h),o)o.addPoint(u,l);else{const{x:e,y:t}=g[u];_.push(e,t,0,1)}s?.addVector(t?u:w,d),r?.addVector(t?u:w,c),p.push(y,S,f,1)}if(!r){const e=this.createNormals(a,i);for(const{x:t,y:i,z:n}of e)c.push(t,i,n)}this.setSolid(this._solid.getValue()),this.setCCW(this._ccw.getValue())},dispose(){de.prototype.dispose.call(this),Oe().prototype.dispose.call(this)}}),Object.defineProperties(fe,{...c().getStaticProperties("GeoElevationGrid","Geospatial",1,"geometry","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_height",new(s().MFDouble)),new(a())(_().initializeOnly,"geoGridOrigin",new(s().SFVec3d)),new(a())(_().initializeOnly,"xDimension",new(s().SFInt32)),new(a())(_().initializeOnly,"zDimension",new(s().SFInt32)),new(a())(_().initializeOnly,"xSpacing",new(s().SFDouble)(1)),new(a())(_().initializeOnly,"zSpacing",new(s().SFDouble)(1)),new(a())(_().inputOutput,"yScale",new(s().SFFloat)(1)),new(a())(_().initializeOnly,"solid",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"ccw",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"creaseAngle",new(s().SFDouble)),new(a())(_().initializeOnly,"colorPerVertex",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"normalPerVertex",new(s().SFBool)(!0)),new(a())(_().inputOutput,"color",new(s().SFNode)),new(a())(_().inputOutput,"texCoord",new(s().SFNode)),new(a())(_().inputOutput,"tangent",new(s().SFNode)),new(a())(_().inputOutput,"normal",new(s().SFNode)),new(a())(_().initializeOnly,"height",new(s().MFDouble)(0,0))]),enumerable:!0}});const me=fe,Fe=O().add("GeoElevationGrid",me),Ne=e.X3DChildNode;var be=t.n(Ne);const ve=e.X3DBoundedObject;var xe=t.n(ve);const Me=e.TraverseType;var Ie=t.n(Me);const Ve=e.Group;var ze=t.n(Ve);const Ce=e.Inline;var je=t.n(Ce);function Pe(e){be().call(this,e),xe().call(this,e),de.call(this,e),this.addType(_().GeoLOD),this.setVisibleObject(!0),this._range.setUnit("length"),this.unload=!1,this.rootGroupNode=new(ze())(this.getBrowser().getPrivateScene()),this.rootInlineNode=new(je())(e),this.child1InlineNode=new(je())(e),this.child2InlineNode=new(je())(e),this.child3InlineNode=new(je())(e),this.child4InlineNode=new(je())(e),this.childInlineNodes=[this.child1InlineNode,this.child2InlineNode,this.child3InlineNode,this.child4InlineNode],this.childrenLoaded=!1,this.keepCurrentLevel=!1}Object.assign(Object.setPrototypeOf(Pe.prototype,be().prototype),xe().prototype,de.prototype,{initialize(){be().prototype.initialize.call(this),xe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._rootNode.addFieldInterest(this.rootGroupNode._children),this.rootGroupNode._children=this._rootNode,this.rootGroupNode.setPrivate(!0),this.rootGroupNode.setup(),this.rootInlineNode._loadState.addInterest("set_rootLoadState__",this);for(const e of this.childInlineNodes)e._loadState.addInterest("set_childLoadState__",this);this._rootUrl.addFieldInterest(this.rootInlineNode._url),this._child1Url.addFieldInterest(this.child1InlineNode._url),this._child2Url.addFieldInterest(this.child2InlineNode._url),this._child3Url.addFieldInterest(this.child3InlineNode._url),this._child4Url.addFieldInterest(this.child4InlineNode._url),this.rootInlineNode._load=!0;for(const e of this.childInlineNodes)e._load=!1;this.rootInlineNode._url=this._rootUrl,this.child1InlineNode._url=this._child1Url,this.child2InlineNode._url=this._child2Url,this.child3InlineNode._url=this._child3Url,this.child4InlineNode._url=this._child4Url,this.rootInlineNode.setup();for(const e of this.childInlineNodes)e.setup()},getBBox(e,t){if(this.isDefaultBBoxSize())switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:return this._rootNode.length?this.rootGroupNode.getBBox(e,t):this.rootInlineNode.getBBox(e,t);case 1:return xe().prototype.getBBox.call(this,this.childInlineNodes,e,t)}return e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},getShapes(e,t){switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:return this._rootNode.length?this.rootGroupNode.getShapes(e,t):this.rootInlineNode.getShapes(e,t);case 1:for(const i of this.childInlineNodes)i.getShapes(e,t);return e}},set_rootLoadState__(){0===this._level_changed.getValue()&&(this._rootNode.length||this.rootInlineNode.checkLoadState()===_().COMPLETE_STATE&&(this.childrenLoaded=!1,this._children=this.rootInlineNode.getInternalScene().getRootNodes()))},set_childLoadState__(){if(1!==this._level_changed.getValue())return;4===this.childInlineNodes.reduce((e,t)=>e+(t.checkLoadState()===_().COMPLETE_STATE||t.checkLoadState()===_().FAILED_STATE),0)&&(this.childrenLoaded=!0,this._children=this.childInlineNodes.flatMap(e=>Array.from(e.getInternalScene().getRootNodes())))},set_childBoundedObject__(){this.setBoundedObject(this.childInlineNodes.some(e=>e.isBoundedObject()))},set_childPointingObject__(){this.setPointingObject(this.childInlineNodes.some(e=>e.isPointingObject()))},set_childCameraObject__(){this.setCameraObject(this.childInlineNodes.some(e=>e.isCameraObject()))},set_childPickableObject__(){this.setPickableObject(this.childInlineNodes.some(e=>e.isPickableObject()))},set_childCollisionObject__(){this.setCollisionObject(this.childInlineNodes.some(e=>e.isCollisionObject()))},set_childShadowObject__(){this.setShadowObject(this.childInlineNodes.some(e=>e.isShadowObject()))},getLevel:(()=>{const e=new(H());return function(t){t.translate(this.getCoord(this._center.getValue(),e));return t.origin.norm()<this._range.getValue()?1:0}})(),changeLevel:(()=>{const e=new($());return function(t){const i=this.getLevel(e.assign(t.getModelViewMatrix().get()));if(i!==this._level_changed.getValue())switch(this._level_changed=i,i){case 0:for(const e of this.childInlineNodes)e._isBoundedObject.removeInterest("set_childBoundedObject__",this),e._isPointingObject.removeInterest("set_childPointingObject__",this),e._isCameraObject.removeInterest("set_childCameraObject__",this),e._isPickableObject.removeInterest("set_childPickableObject__",this),e._isCollisionObject.removeInterest("set_childCollisionObject__",this),e._isShadowObject.removeInterest("set_childShadowObject__",this);if(this._rootNode.length?(this.connectChildNode(this.rootGroupNode,[Ie().DISPLAY]),this._children=this._rootNode,this.childrenLoaded=!1):this.rootInlineNode.checkLoadState()==_().COMPLETE_STATE&&(this.connectChildNode(this.rootInlineNode,[Ie().DISPLAY]),this._children=this.rootInlineNode.getInternalScene().getRootNodes(),this.childrenLoaded=!1),this.unload)for(const e of this.childInlineNodes)e._load=!1;break;case 1:this._rootNode.length?this.disconnectChildNode(this.rootGroupNode):this.disconnectChildNode(this.rootInlineNode);for(const e of this.childInlineNodes)e._isBoundedObject.addInterest("set_childBoundedObject__",this),e._isPointingObject.addInterest("set_childPointingObject__",this),e._isCameraObject.addInterest("set_childCameraObject__",this),e._isPickableObject.addInterest("set_childPickableObject__",this),e._isCollisionObject.addInterest("set_childCollisionObject__",this),e._isShadowObject.addInterest("set_childShadowObject__",this);if(this.set_childBoundedObject__(),this.set_childPointingObject__(),this.set_childCameraObject__(),this.set_childPickableObject__(),this.set_childCollisionObject__(),this.set_childShadowObject__(),this.child1InlineNode._load.getValue())this.set_childLoadState__();else for(const e of this.childInlineNodes)e._load=!0}}})(),traverse(e,t){switch(e===Ie().DISPLAY&&this.changeLevel(t),this.childrenLoaded?this._level_changed.getValue():0){case 0:this._rootNode.length?this.rootGroupNode.traverse(e,t):this.rootInlineNode.traverse(e,t);break;case 1:for(const i of this.childInlineNodes)i.traverse(e,t)}},dispose(){de.prototype.dispose.call(this),xe().prototype.dispose.call(this),be().prototype.dispose.call(this)}}),Object.defineProperties(Pe,{...c().getStaticProperties("GeoLOD","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().initializeOnly,"rootUrl",new(s().MFString)),new(a())(_().initializeOnly,"child1Url",new(s().MFString)),new(a())(_().initializeOnly,"child2Url",new(s().MFString)),new(a())(_().initializeOnly,"child3Url",new(s().MFString)),new(a())(_().initializeOnly,"child4Url",new(s().MFString)),new(a())(_().initializeOnly,"center",new(s().SFVec3d)),new(a())(_().initializeOnly,"range",new(s().SFFloat)(10)),new(a())(_().outputOnly,"level_changed",new(s().SFInt32)(-1)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().initializeOnly,"rootNode",new(s().MFNode)),new(a())(_().outputOnly,"children",new(s().MFNode))]),enumerable:!0}});const Ge=Pe,De=O().add("GeoLOD",Ge),Te=e.X3DTransformMatrix3DNode;var Ee=t.n(Te);function Ae(e){Ee().call(this,e),de.call(this,e),this.addType(_().GeoLocation)}Object.assign(Object.setPrototypeOf(Ae.prototype,Ee().prototype),de.prototype,{initialize(){Ee().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed:(()=>{const e=new($());return function(){this.setMatrix(this.getLocationMatrix(this._geoCoords.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),Ee().prototype.dispose.call(this)}}),Object.defineProperties(Ae,{...c().getStaticProperties("GeoLocation","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(s().SFVec3d)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(s().MFNode)),new(a())(_().inputOnly,"removeChildren",new(s().MFNode)),new(a())(_().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const Le=Ae,Ue=O().add("GeoLocation",Le),Be=e.X3DInfoNode;var Re=t.n(Be);const ke=e.X3DUrlObject;var Xe=t.n(ke);function We(e){Re().call(this,e),Xe().call(this,e),this.addType(_().GeoMetadata)}Object.assign(Object.setPrototypeOf(We.prototype,Re().prototype),Xe().prototype,{initialize(){Re().prototype.initialize.call(this),Xe().prototype.initialize.call(this)},async requestImmediateLoad(e=!0){},dispose(){Xe().prototype.dispose.call(this),Re().prototype.dispose.call(this)}}),Object.defineProperties(We,{...c().getStaticProperties("GeoMetadata","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().inputOutput,"load",new(s().SFBool)(!0)),new(a())(_().inputOutput,"url",new(s().MFString)),new(a())(_().inputOutput,"autoRefresh",new(s().SFTime)(0)),new(a())(_().inputOutput,"autoRefreshTimeLimit",new(s().SFTime)(3600)),new(a())(_().inputOutput,"summary",new(s().MFString)),new(a())(_().inputOutput,"data",new(s().MFNode))]),enumerable:!0}});const Ye=We,qe=O().add("GeoMetadata",Ye);function He(e){c().call(this,e),this.addType(_().GeoOrigin),this.radians=!1}Object.assign(Object.setPrototypeOf(He.prototype,c().prototype),{initialize(){c().prototype.initialize.call(this),this._geoSystem.addInterest("set_geoSystem__",this),this.set_geoSystem__()},set_geoSystem__(){this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians)},getOrigin(e){return this.referenceFrame.convert(this._geoCoords.getValue(),e)}}),Object.defineProperties(He,{...c().getStaticProperties("GeoOrigin","Geospatial",1,"geoOrigin","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(s().SFVec3d)),new(a())(_().initializeOnly,"rotateYUp",new(s().SFBool))]),enumerable:!0}});const Ze=He,$e=O().add("GeoOrigin",Ze),Je=e.X3DInterpolatorNode;var Ke=t.n(Je);function Qe(e){Ke().call(this,e),de.call(this,e),this.addType(_().GeoPositionInterpolator),this._value_changed.setUnit("length"),this.geocentric=new T}Object.assign(Object.setPrototypeOf(Qe.prototype,Ke().prototype),de.prototype,{setup(){de.prototype.initialize.call(this),Ke().prototype.setup.call(this)},initialize(){Ke().prototype.initialize.call(this),this._keyValue.addInterest("set_keyValue__",this)},set_keyValue__(){const e=this._key,t=this._keyValue;t.length<e.length&&t.resize(e.length,t.length?t[t.length-1]:new(s().SFVec3f))},interpolate:(()=>{const e=new(H()),t=new(H()),i=new(H());return function(n,o,s){this.getCoord(this._keyValue[n].getValue(),e),this.getCoord(this._keyValue[o].getValue(),t);const r=this.geocentric.slerp(e,t,s);this._geovalue_changed=this.getGeoCoord(r,i),this._value_changed=r}})(),dispose(){de.prototype.dispose.call(this),Ke().prototype.dispose.call(this)}}),Object.defineProperties(Qe,{...c().getStaticProperties("GeoPositionInterpolator","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_fraction",new(s().SFFloat)),new(a())(_().inputOutput,"key",new(s().MFFloat)),new(a())(_().inputOutput,"keyValue",new(s().MFVec3d)),new(a())(_().outputOnly,"value_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"geovalue_changed",new(s().SFVec3d))]),enumerable:!0}});const et=Qe,tt=O().add("GeoPositionInterpolator",et),it=e.X3DEnvironmentalSensorNode;var nt=t.n(it);const ot=e.ProximitySensor;var st=t.n(ot);function rt(e){nt().call(this,e),de.call(this,e),this.addType(_().GeoProximitySensor),this._position_changed.setUnit("length"),this._centerOfRotation_changed.setUnit("length"),this.proximitySensor=new(st())(e)}Object.assign(Object.setPrototypeOf(rt.prototype,nt().prototype),de.prototype,{initialize(){nt().prototype.initialize.call(this),de.prototype.initialize.call(this),this._enabled.addFieldInterest(this.proximitySensor._enabled),this._size.addFieldInterest(this.proximitySensor._size),this._center.addFieldInterest(this.proximitySensor._center),this._geoCenter.addFieldInterest(this._center),this.proximitySensor._isActive.addFieldInterest(this._isActive),this.proximitySensor._enterTime.addFieldInterest(this._enterTime),this.proximitySensor._exitTime.addFieldInterest(this._exitTime),this.proximitySensor._position_changed.addFieldInterest(this._position_changed),this.proximitySensor._orientation_changed.addFieldInterest(this._orientation_changed),this.proximitySensor._centerOfRotation_changed.addFieldInterest(this._centerOfRotation_changed),this.proximitySensor._position_changed.addInterest("set_position__",this),this.proximitySensor._enabled=this._enabled,this.proximitySensor._size=this._size,this.proximitySensor._center=this._center,this.proximitySensor.setup(),this.connectChildNode(this.proximitySensor)},set_position__:(()=>{const e=new(H());return function(){this._geoCoord_changed=this.getGeoCoord(this.proximitySensor._position_changed.getValue(),e)}})(),traverse(e,t){this.proximitySensor.traverse(e,t)},dispose(){de.prototype.dispose.call(this),nt().prototype.dispose.call(this)}}),Object.defineProperties(rt,{...c().getStaticProperties("GeoProximitySensor","Geospatial",2,"children","3.2"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(s().SFBool)(!0)),new(a())(_().inputOutput,"size",new(s().SFVec3f)),new(a())(_().inputOutput,"center",new(s().SFVec3d)),new(a())(_().inputOutput,"geoCenter",new(s().SFVec3d)),new(a())(_().outputOnly,"isActive",new(s().SFBool)),new(a())(_().outputOnly,"enterTime",new(s().SFTime)),new(a())(_().outputOnly,"exitTime",new(s().SFTime)),new(a())(_().outputOnly,"geoCoord_changed",new(s().SFVec3d)),new(a())(_().outputOnly,"position_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"orientation_changed",new(s().SFRotation)),new(a())(_().outputOnly,"centerOfRotation_changed",new(s().SFVec3f))]),enumerable:!0}});const at=rt,ht=O().add("GeoProximitySensor",at),lt=e.X3DTouchSensorNode;var dt=t.n(lt);function ct(e){dt().call(this,e),de.call(this,e),this.addType(_().GeoTouchSensor),this._hitPoint_changed.setUnit("length")}Object.assign(Object.setPrototypeOf(ct.prototype,dt().prototype),de.prototype,{initialize(){dt().prototype.initialize.call(this),de.prototype.initialize.call(this)},set_over__:(()=>{const e=new(H());return function(t,i,n,o,s){dt().prototype.set_over__.call(this,t,i,n,o,s),this._isOver.getValue()&&(this._hitGeoCoord_changed=this.getGeoCoord(this._hitPoint_changed.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),dt().prototype.dispose.call(this)}}),Object.defineProperties(ct,{...c().getStaticProperties("GeoTouchSensor","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(s().SFBool)(!0)),new(a())(_().outputOnly,"hitTexCoord_changed",new(s().SFVec2f)),new(a())(_().outputOnly,"hitNormal_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"hitPoint_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"hitGeoCoord_changed",new(s().SFVec3d)),new(a())(_().outputOnly,"isOver",new(s().SFBool)),new(a())(_().outputOnly,"isActive",new(s().SFBool)),new(a())(_().outputOnly,"touchTime",new(s().SFTime))]),enumerable:!0}});const pt=ct,ut=O().add("GeoTouchSensor",pt);function gt(e){Ee().call(this,e),de.call(this,e),this.addType(_().GeoTransform),this._translation.setUnit("length")}Object.assign(Object.setPrototypeOf(gt.prototype,Ee().prototype),de.prototype,{initialize(){Ee().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed:(()=>{const e=new($()),t=new($());return function(){this.getLocationMatrix(this._geoCenter.getValue(),t),e.setTransform(this._translation.getValue(),this._rotation.getValue(),this._scale.getValue(),this._scaleOrientation.getValue()),this.setMatrix(e.multRight(t).multLeft(t.inverse()))}})(),dispose(){de.prototype.dispose.call(this),Ee().prototype.dispose.call(this)}}),Object.defineProperties(gt,{...c().getStaticProperties("GeoTransform","Geospatial",2,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"translation",new(s().SFVec3f)),new(a())(_().inputOutput,"rotation",new(s().SFRotation)),new(a())(_().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(a())(_().inputOutput,"scaleOrientation",new(s().SFRotation)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCenter",new(s().SFVec3d)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(s().MFNode)),new(a())(_().inputOnly,"removeChildren",new(s().MFNode)),new(a())(_().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const _t=gt,wt=O().add("GeoTransform",_t),Ot=e.X3DViewpointNode;var yt=t.n(Ot);const St=e.Viewpoint;var ft=t.n(St);const mt=e.NavigationInfo;var Ft=t.n(mt);const Nt=e.Rotation4;var bt=t.n(Nt);function vt(e){yt().call(this,e),de.call(this,e),this.addType(_().GeoViewpoint),this.addChildObjects(_().inputOutput,"navType",new(s().MFString)("EXAMINE","ANY"),_().inputOutput,"headlight",new(s().SFBool)(!0)),this._centerOfRotation.setUnit("length"),this._fieldOfView.setUnit("angle"),e.getSpecificationVersion()<=3.2&&(this.addAlias("navType",this._navType),this.addAlias("headlight",this._headlight),this.traverse=xt),this.geoNavigationInfoNode=new(Ft())(e),this.projectionMatrix=new($()),this.elevation=0}function xt(e,t){yt().prototype.traverse.call(this,e,t),this.geoNavigationInfoNode.traverse(e,t)}Object.assign(Object.setPrototypeOf(vt.prototype,yt().prototype),de.prototype,{initialize(){yt().prototype.initialize.call(this),de.prototype.initialize.call(this),this._position.addInterest("set_position__",this),this._positionOffset.addInterest("set_position__",this),this._navType.addFieldInterest(this.geoNavigationInfoNode._type),this._headlight.addFieldInterest(this.geoNavigationInfoNode._headlight),this.geoNavigationInfoNode._type=this._navType,this.geoNavigationInfoNode._headlight=this._headlight,this.geoNavigationInfoNode.setup(),this.getExecutionContext().getSpecificationVersion()<=3.2&&(this._navigationInfo=this.geoNavigationInfoNode),this.set_position__()},getRelativeTransformation:ft().prototype.getRelativeTransformation,setInterpolators:ft().prototype.setInterpolators,getFieldOfView:ft().prototype.getFieldOfView,setFieldOfView:ft().prototype.setFieldOfView,getUserFieldOfView:ft().prototype.getUserFieldOfView,getScreenScale:ft().prototype.getScreenScale,getViewportSize:ft().prototype.getViewportSize,getLookAtDistance:ft().prototype.getLookAtDistance,getProjectionMatrixWithLimits:ft().prototype.getProjectionMatrixWithLimits,getLogarithmicDepthBuffer:()=>!0,getPosition:(()=>{const e=new(H());return function(){return this.getCoord(this._position.getValue(),e)}})(),setPosition:(()=>{const e=new(H());return function(t){this._position.setValue(this.getGeoCoord(t,e))}})(),set_position__:(()=>{const e=new(H());return function(){this.getCoord(this._position.getValue(),e),this.elevation=this.getGeoElevation(e.add(this._positionOffset.getValue()))}})(),getOrientation:(()=>{const e=new($()),t=new(bt());return function(){const i=this.getLocationMatrix(this._position.getValue(),e).submatrix;return t.setMatrix(i),t.multLeft(this._orientation.getValue())}})(),setOrientation:(()=>{const e=new($()),t=new(bt());return function(i){const n=this.getLocationMatrix(this._position.getValue(),e).submatrix;t.setMatrix(n),this._orientation.setValue(t.inverse().multLeft(i))}})(),getCenterOfRotation:(()=>{const e=new(H());return function(){return this.getCoord(this._centerOfRotation.getValue(),e)}})(),setCenterOfRotation:(()=>{const e=new(H());return function(t){this._centerOfRotation.setValue(this.getGeoCoord(t,e))}})(),getMaxFarValue:()=>1e9,getUpVector:(()=>{const e=new(H()),t=new(H());return function(i=!1){return!i||this.getUserPosition().norm()<65e5?(this.getCoord(this._position.getValue(),e),this.getGeoUpVector(e.add(this._positionOffset.getValue()),t)):t.assign(H().Z_AXIS)}})(),getSpeedFactor(){return(Math.max(this.elevation,0)+10)/10*this._speedFactor.getValue()},dispose(){de.prototype.dispose.call(this),yt().prototype.dispose.call(this)}}),Object.defineProperties(vt,{...c().getStaticProperties("GeoViewpoint","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_bind",new(s().SFBool)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().inputOutput,"position",new(s().SFVec3d)(0,0,1e5)),new(a())(_().inputOutput,"orientation",new(s().SFRotation)),new(a())(_().inputOutput,"centerOfRotation",new(s().SFVec3d)),new(a())(_().inputOutput,"fieldOfView",new(s().SFFloat)(.785398)),new(a())(_().inputOutput,"nearDistance",new(s().SFFloat)(-1)),new(a())(_().inputOutput,"farDistance",new(s().SFFloat)(-1)),new(a())(_().inputOutput,"viewAll",new(s().SFBool)),new(a())(_().inputOutput,"jump",new(s().SFBool)(!0)),new(a())(_().inputOutput,"retainUserOffsets",new(s().SFBool)),new(a())(_().initializeOnly,"speedFactor",new(s().SFFloat)(1)),new(a())(_().outputOnly,"isBound",new(s().SFBool)),new(a())(_().outputOnly,"bindTime",new(s().SFTime)),new(a())(_().inputOutput,"navigationInfo",new(s().SFNode))]),enumerable:!0}});const Mt=vt,It=O().add("GeoViewpoint",Mt);n().add({name:"Geospatial",concreteNodes:[_e,Fe,De,Ue,qe,$e,tt,ht,ut,wt,It],abstractNodes:[de]});O().add("GeospatialComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.0.3 */
1
+ /* X_ITE v15.1.0 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";