x_ite 15.1.2 → 15.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +5 -5
  2. package/dist/X3DUOM.xml +34 -24
  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 +26 -13
  8. package/dist/assets/components/CubeMapTexturingComponent.min.js +2 -2
  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 +2 -2
  26. package/dist/assets/components/NURBSComponent.min.js +2 -2
  27. package/dist/assets/components/ParticleSystemsComponent.js +2 -1
  28. package/dist/assets/components/ParticleSystemsComponent.min.js +2 -2
  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 +2 -2
  32. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +2 -2
  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 +3 -3
  38. package/dist/assets/components/TextureProjectionComponent.min.js +2 -2
  39. package/dist/assets/components/Texturing3DComponent.js +14 -9
  40. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  41. package/dist/assets/components/VolumeRenderingComponent.js +4 -13
  42. package/dist/assets/components/VolumeRenderingComponent.min.js +2 -2
  43. package/dist/assets/components/WebXRComponent.js +2 -2
  44. package/dist/assets/components/WebXRComponent.min.js +2 -2
  45. package/dist/assets/components/X_ITEComponent.js +178 -42
  46. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  47. package/dist/assets/lib/README.md +1 -1
  48. package/dist/assets/lib/mkkellogg-sort.worker.js +1 -1
  49. package/dist/example.html +1 -1
  50. package/dist/x_ite.css +1 -1
  51. package/dist/x_ite.d.ts +36 -24
  52. package/dist/x_ite.js +500 -480
  53. package/dist/x_ite.min.js +2 -2
  54. package/dist/x_ite.min.mjs +2 -2
  55. package/dist/x_ite.mjs +498 -478
  56. package/dist/x_ite.zip +0 -0
  57. package/package.json +2 -2
package/README.md CHANGED
@@ -37,10 +37,10 @@ If you are going to use X_ITE in a production environment, you should use a fixe
37
37
  jsDelivr is an open-source content delivery network (CDN) renowned for its no-cost access, swift performance, and reliable service.
38
38
 
39
39
  ```html
40
- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.1.2/dist/x_ite.min.js"></script>
40
+ <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.1.3/dist/x_ite.min.js"></script>
41
41
  <!-- or as ES module for use in scripts -->
42
42
  <script type="module">
43
- import X3D from "https://cdn.jsdelivr.net/npm/x_ite@15.1.2/dist/x_ite.min.mjs";
43
+ import X3D from "https://cdn.jsdelivr.net/npm/x_ite@15.1.3/dist/x_ite.min.mjs";
44
44
  </script>
45
45
  ```
46
46
 
@@ -71,7 +71,7 @@ This script initializes an X3D canvas within an HTML page, configuring it to con
71
71
  You can include an external file:
72
72
 
73
73
  ```html
74
- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.1.2/dist/x_ite.min.js"></script>
74
+ <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.1.3/dist/x_ite.min.js"></script>
75
75
  <x3d-canvas
76
76
  src="box.x3d"
77
77
  contentScale="auto"
@@ -83,7 +83,7 @@ You can include an external file:
83
83
  However, you can also include and manipulate the XML directly:
84
84
 
85
85
  ```html
86
- <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.1.2/dist/x_ite.min.js"></script>
86
+ <script defer src="https://cdn.jsdelivr.net/npm/x_ite@15.1.3/dist/x_ite.min.js"></script>
87
87
  <x3d-canvas contentScale="auto" update="auto">
88
88
  <X3D profile='Interchange' version='4.1'>
89
89
  <head>
@@ -122,7 +122,7 @@ The same scene can also be created using pure JavaScript:
122
122
 
123
123
  ```html
124
124
  <script type="module">
125
- import X3D from "https://cdn.jsdelivr.net/npm/x_ite@15.1.2/dist/x_ite.min.mjs";
125
+ import X3D from "https://cdn.jsdelivr.net/npm/x_ite@15.1.3/dist/x_ite.min.mjs";
126
126
 
127
127
  const
128
128
  canvas = document .createElement ("x3d-canvas"), // Or get an already inserted <x3d-canvas> element.
package/dist/X3DUOM.xml CHANGED
@@ -778,83 +778,93 @@
778
778
  <field name="positions"
779
779
  type="MFVec3f"
780
780
  accessType="inputOutput"
781
- description="Input/Output field positions."/>
781
+ description="The mean vector for the Gaussian splat is provided by the positions of the mesh primitive. This defines the center of the Gaussian splat ellipsoid in local space. The effective global mean vector for the Gaussian splat is derived from the positions field value and the global transformation matrix of the X3D node that instantiates the mesh containing the splat primitive as defined in the glTF specification."/>
782
782
  <field name="orientations"
783
783
  type="MFVec4f"
784
784
  accessType="inputOutput"
785
- description="Input/Output field orientations."/>
785
+ description="The orientations field values correspond to the orientation of those axes in local space. Orientation values are stored as unit quaternions in the usual glTF order."/>
786
786
  <field name="scales"
787
787
  type="MFVec3f"
788
788
  accessType="inputOutput"
789
- description="Input/Output field scales."/>
789
+ description="The scales field values correspond to the spread of the Gaussian along its local principal axes. Scale values are linear and MUST NOT be negative."/>
790
790
  <field name="opacities"
791
791
  type="MFFloat"
792
792
  accessType="inputOutput"
793
- description="Input/Output field opacities."/>
793
+ description="The opacity of a Gaussian splat is defined by the opacities field. It stores a normalized linear value between 0.0 (transparent) and 1.0 (opaque). Out-of-range values are invalid."/>
794
794
  <field name="sphericalHarmonicsDegree0Coef0"
795
795
  type="MFVec3f"
796
796
  accessType="inputOutput"
797
- description="Input/Output field spherical harmonics coefficients."/>
797
+ description="The sphericalHarmonicsDegree0Coef0 field semantic provides the diffuse component coefficients for the spherical harmonics. The zeroth-order spherical harmonic coefficients are always required."/>
798
798
  <field name="sphericalHarmonicsDegree1Coef0"
799
799
  type="MFVec3f"
800
800
  accessType="inputOutput"
801
- description="Input/Output field spherical harmonics coefficients."/>
801
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
802
802
  <field name="sphericalHarmonicsDegree1Coef1"
803
803
  type="MFVec3f"
804
804
  accessType="inputOutput"
805
- description="Input/Output field spherical harmonics coefficients."/>
805
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
806
806
  <field name="sphericalHarmonicsDegree1Coef2"
807
807
  type="MFVec3f"
808
808
  accessType="inputOutput"
809
- description="Input/Output field spherical harmonics coefficients."/>
809
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
810
810
  <field name="sphericalHarmonicsDegree2Coef0"
811
811
  type="MFVec3f"
812
812
  accessType="inputOutput"
813
- description="Input/Output field spherical harmonics coefficients."/>
813
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
814
814
  <field name="sphericalHarmonicsDegree2Coef1"
815
815
  type="MFVec3f"
816
816
  accessType="inputOutput"
817
- description="Input/Output field spherical harmonics coefficients."/>
817
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
818
818
  <field name="sphericalHarmonicsDegree2Coef2"
819
819
  type="MFVec3f"
820
820
  accessType="inputOutput"
821
- description="Input/Output field spherical harmonics coefficients."/>
821
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
822
822
  <field name="sphericalHarmonicsDegree2Coef3"
823
823
  type="MFVec3f"
824
824
  accessType="inputOutput"
825
- description="Input/Output field spherical harmonics coefficients."/>
825
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
826
826
  <field name="sphericalHarmonicsDegree2Coef4"
827
827
  type="MFVec3f"
828
828
  accessType="inputOutput"
829
- description="Input/Output field spherical harmonics coefficients."/>
829
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
830
830
  <field name="sphericalHarmonicsDegree3Coef0"
831
831
  type="MFVec3f"
832
832
  accessType="inputOutput"
833
- description="Input/Output field spherical harmonics coefficients."/>
833
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
834
834
  <field name="sphericalHarmonicsDegree3Coef1"
835
835
  type="MFVec3f"
836
836
  accessType="inputOutput"
837
- description="Input/Output field spherical harmonics coefficients."/>
837
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
838
838
  <field name="sphericalHarmonicsDegree3Coef2"
839
839
  type="MFVec3f"
840
840
  accessType="inputOutput"
841
- description="Input/Output field spherical harmonics coefficients."/>
841
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
842
842
  <field name="sphericalHarmonicsDegree3Coef3"
843
843
  type="MFVec3f"
844
844
  accessType="inputOutput"
845
- description="Input/Output field spherical harmonics coefficients."/>
845
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
846
846
  <field name="sphericalHarmonicsDegree3Coef4"
847
847
  type="MFVec3f"
848
848
  accessType="inputOutput"
849
- description="Input/Output field spherical harmonics coefficients."/>
849
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
850
850
  <field name="sphericalHarmonicsDegree3Coef5"
851
851
  type="MFVec3f"
852
852
  accessType="inputOutput"
853
- description="Input/Output field spherical harmonics coefficients."/>
853
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
854
854
  <field name="sphericalHarmonicsDegree3Coef6"
855
855
  type="MFVec3f"
856
856
  accessType="inputOutput"
857
- description="Input/Output field spherical harmonics coefficients."/>
857
+ description="The sphericalHarmonicsDegreeDCoefC fields where D is greater than zero hold the higher degrees of spherical harmonics data. To use higher degrees of spherical harmonics the lower degrees MUST be defined"/>
858
+ <field name="pointerEvents"
859
+ type="SFBool"
860
+ accessType="inputOutput"
861
+ default="TRUE"
862
+ description="The pointerEvents field defines whether this GaussianSplats becomes target for pointer events."/>
863
+ <field name="castShadow"
864
+ type="SFBool"
865
+ accessType="inputOutput"
866
+ default="TRUE"
867
+ description="Input/Output field castShadow."/>
858
868
  <field name="visible"
859
869
  type="SFBool"
860
870
  accessType="inputOutput"
@@ -885,7 +895,7 @@
885
895
  type="SFBool"
886
896
  accessType="inputOutput"
887
897
  default="TRUE"
888
- description="The pointerEvents field defines whether this Layer becomes target for pointer events."/>
898
+ description="The pointerEvents field defines whether this Layer node becomes target for pointer events."/>
889
899
  </InterfaceDefinition>
890
900
  </ConcreteNode>
891
901
 
@@ -895,7 +905,7 @@
895
905
  type="SFBool"
896
906
  accessType="inputOutput"
897
907
  default="TRUE"
898
- description="The pointerEvents field defines whether this LayoutLayer becomes target for pointer events."/>
908
+ description="The pointerEvents field defines whether this LayoutLayer node becomes target for pointer events."/>
899
909
  </InterfaceDefinition>
900
910
  </ConcreteNode>
901
911
 
@@ -1311,7 +1321,7 @@
1311
1321
  accessType="inputOutput"
1312
1322
  default="NULL"
1313
1323
  acceptableNodeTypes="X3DSingleTextureNode"
1314
- description="A texture that defines the per-texel scatter strength, stored in the alpha (A) channel. Will be multiplied by *scatterStrength*."/>
1324
+ description="A texture that defines the per-texel scatter strength, stored in the alpha (A) channel. Will be multiplied by scatterStrength."/>
1315
1325
  <field name="multiscatterColor"
1316
1326
  type="SFColor"
1317
1327
  accessType="inputOutput"
@@ -1329,7 +1339,7 @@
1329
1339
  accessType="inputOutput"
1330
1340
  default="NULL"
1331
1341
  acceptableNodeTypes="X3DSingleTextureNode"
1332
- description="A texture that defines the multi-scatter color, stored in the RGB channels and encoded in sRGB. This will be multiplied by the *multiscatterColor*."/>
1342
+ description="A texture that defines the multi-scatter color, stored in the RGB channels and encoded in sRGB. This will be multiplied by the multiscatterColor."/>
1333
1343
  <containerField default="extensions" type="xs:NMTOKEN" />
1334
1344
  </InterfaceDefinition>
1335
1345
  </ConcreteNode>
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
2
2
  const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
@@ -409,6 +409,11 @@ Object .assign (Object .setPrototypeOf (ComposedCubeMapTexture .prototype, CubeM
409
409
  this .addNodeEvent ();
410
410
  }
411
411
  },
412
+ getRenderedTextures (renderedTextures)
413
+ {
414
+ for (const textureNode of this .textureNodes)
415
+ textureNode ?.getRenderedTextures (renderedTextures);
416
+ },
412
417
  });
413
418
 
414
419
  Object .defineProperties (ComposedCubeMapTexture,
@@ -517,6 +522,10 @@ Object .assign (Object .setPrototypeOf (GeneratedCubeMapTexture .prototype, Cube
517
522
  {
518
523
  return true;
519
524
  },
525
+ getRenderedTextures (renderedTextures)
526
+ {
527
+ renderedTextures .add (this);
528
+ },
520
529
  addUpdateCallback (key, callback)
521
530
  {
522
531
  this .updateCallbacks .set (key, callback);
@@ -585,12 +594,12 @@ Object .assign (Object .setPrototypeOf (GeneratedCubeMapTexture .prototype, Cube
585
594
  // Rotations to negated normals of the texture cube.
586
595
 
587
596
  const rotations = [
588
- new (external_X_ITE_X3D_Rotation4_default()) ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).NEGATIVE_Z_AXIS), // front
589
- new (external_X_ITE_X3D_Rotation4_default()) ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).Z_AXIS), // back
590
- new (external_X_ITE_X3D_Rotation4_default()) ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).X_AXIS), // left
591
- new (external_X_ITE_X3D_Rotation4_default()) ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).NEGATIVE_X_AXIS), // right
592
- new (external_X_ITE_X3D_Rotation4_default()) ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).NEGATIVE_Y_AXIS), // top
593
- new (external_X_ITE_X3D_Rotation4_default()) ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).Y_AXIS), // bottom
597
+ external_X_ITE_X3D_Rotation4_default().fromVectors ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).NEGATIVE_Z_AXIS), // front
598
+ external_X_ITE_X3D_Rotation4_default().fromVectors ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).Z_AXIS), // back
599
+ external_X_ITE_X3D_Rotation4_default().fromVectors ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).X_AXIS), // left
600
+ external_X_ITE_X3D_Rotation4_default().fromVectors ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).NEGATIVE_X_AXIS), // right
601
+ external_X_ITE_X3D_Rotation4_default().fromVectors ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).NEGATIVE_Y_AXIS), // top
602
+ external_X_ITE_X3D_Rotation4_default().fromVectors ((external_X_ITE_X3D_Vector3_default()).Z_AXIS, (external_X_ITE_X3D_Vector3_default()).Y_AXIS), // bottom
594
603
  ];
595
604
 
596
605
  // Negated scales of the texture cube.
@@ -622,8 +631,9 @@ Object .assign (Object .setPrototypeOf (GeneratedCubeMapTexture .prototype, Cube
622
631
  const
623
632
  dependentRenderer = this .dependentRenderers .get (renderObject),
624
633
  browser = this .getBrowser (),
625
- layer = renderObject .getLayer (),
626
634
  gl = browser .getContext (),
635
+ layer = renderObject .getLayer (),
636
+ viewport = this .viewport,
627
637
  background = dependentRenderer .getBackground (),
628
638
  navigationInfoNode = dependentRenderer .getNavigationInfo (),
629
639
  viewpointNode = dependentRenderer .getViewpoint (),
@@ -638,7 +648,7 @@ Object .assign (Object .setPrototypeOf (GeneratedCubeMapTexture .prototype, Cube
638
648
  this .setTransparent (background .isTransparent ());
639
649
 
640
650
  dependentRenderer .setFramebuffer (this .frameBuffer);
641
- dependentRenderer .getViewVolumes () .push (viewVolume .set (projectionMatrix, this .viewport, this .viewport));
651
+ dependentRenderer .getViewVolumes () .push (viewVolume .set (projectionMatrix, viewport, viewport));
642
652
  dependentRenderer .getProjectionMatrix () .push (projectionMatrix);
643
653
 
644
654
  gl .bindTexture (this .getTarget (), this .getTexture ());
@@ -647,8 +657,8 @@ Object .assign (Object .setPrototypeOf (GeneratedCubeMapTexture .prototype, Cube
647
657
 
648
658
  for (let i = 0; i < 6; ++ i)
649
659
  {
650
- gl .viewport (... this .viewport);
651
- gl .scissor (... this .viewport);
660
+ gl .viewport (... viewport);
661
+ gl .scissor (... viewport);
652
662
  gl .clearColor (0, 0, 0, 0);
653
663
  gl .clear (gl .COLOR_BUFFER_BIT); // Always clear, X3DBackground could be transparent!
654
664
 
@@ -708,8 +718,11 @@ Object .assign (Object .setPrototypeOf (GeneratedCubeMapTexture .prototype, Cube
708
718
  {
709
719
  CubeMapTexturing_X3DEnvironmentTextureNode .prototype .setShaderUniforms .call (this, gl, channel);
710
720
 
711
- if (this .textureRenderingPass)
712
- gl .viewport (0, 0, 0, 0); // Hide object by making viewport zero size.
721
+ if (!this .textureRenderingPass)
722
+ return;
723
+
724
+ // Hide object by making scissor zero size.
725
+ gl .scissor (0, 0, 0, 0);
713
726
  },
714
727
  });
715
728
 
@@ -1,2 +1,2 @@
1
- /* X_ITE v15.1.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),c=e.Fields;var x=i.n(c);const l=e.X3DFieldDefinition;var g=i.n(l);const _=e.FieldDefinitionArray;var E=i.n(_);const f=e.X3DNode;var m=i.n(f);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,m().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 N(e){C.call(this,e),this.addType(S().ComposedCubeMapTexture),this.addChildObjects(S().outputOnly,"update",new(x().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(N.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(N,{...m().getStaticProperties("ComposedCubeMapTexture","CubeMapTexturing",1,"texture","3.1"),fieldDefinitions:{value:new(E())([new(g())(S().inputOutput,"metadata",new(x().SFNode)),new(g())(S().inputOutput,"description",new(x().SFString)),new(g())(S().inputOutput,"frontTexture",new(x().SFNode)),new(g())(S().inputOutput,"backTexture",new(x().SFNode)),new(g())(S().inputOutput,"leftTexture",new(x().SFNode)),new(g())(S().inputOutput,"rightTexture",new(x().SFNode)),new(g())(S().inputOutput,"topTexture",new(x().SFNode)),new(g())(S().inputOutput,"bottomTexture",new(x().SFNode)),new(g())(S().initializeOnly,"textureProperties",new(x().SFNode))]),enumerable:!0}});const X=N,y=o().add("ComposedCubeMapTexture",X),F=e.DependentRenderer;var B=i.n(F);const D=e.TextureBuffer;var O=i.n(D);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(B())(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(),c=T._headlight.getValue(),x=d.getNearDistance(T),l=d.getFarDistance(T),g=z().perspective(ee().radians(90),x,l,1,1,this.projectionMatrix),_=this.frameBuffer.getWidth(),E=this.frameBuffer.getHeight();this.setTransparent(h.isTransparent()),a.setFramebuffer(this.frameBuffer),a.getViewVolumes().push(i.set(g,this.viewport,this.viewport)),a.getProjectionMatrix().push(g),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),c&&(p.modelViewMatrix.push(r),p.modelViewMatrix.multLeft(d.getCameraSpaceMatrix())),o.traverse(V().DISPLAY,a),c&&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,{...m().getStaticProperties("GeneratedCubeMapTexture","CubeMapTexturing",3,"texture","3.0"),fieldDefinitions:{value:new(E())([new(g())(S().inputOutput,"metadata",new(x().SFNode)),new(g())(S().inputOutput,"description",new(x().SFString)),new(g())(S().inputOutput,"update",new(x().SFString)("NONE")),new(g())(S().initializeOnly,"size",new(x().SFInt32)(128)),new(g())(S().initializeOnly,"textureProperties",new(x().SFNode))]),enumerable:!0}});const re=te,ie=o().add("GeneratedCubeMapTexture",re),se=e.X3DUrlObject;var ae=i.n(se);const ne=e.FileLoader;var oe=i.n(ne);const ue=e.Vector2;var he=i.n(ue);const Te=e.DEVELOPMENT;var de=i.n(Te),pe=i(254);function ce(e){C.call(this,e),ae().call(this,e),this.addType(S().ImageCubeMapTexture),this.image=pe("<img></img>"),this.urlStack=new(x().MFString)}Object.assign(Object.setPrototypeOf(ce.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();new(oe())(this,{dataAsString:!1}).loadDocument([this.urlStack.shift()],(e,t)=>{if(null===e)this.loadNext();else{if(!(e instanceof ArrayBuffer))throw new Error("ImageTexture: no suitable file type handler found.");this.fileURL=new URL(t),this.fileURL.pathname.match(/\.ktx2?(?:\.gz)?$/)||this.fileURL.href.match(/^\s*data:image\/ktx2[;,]/s)?(this.setLinear(!0),this.setMipMaps(!1),this.getBrowser().getKTXDecoder().then(t=>t.loadKTXFromBuffer(e)).then(e=>this.setKTXTexture(e)).catch(e=>this.setError({type:e.message}))):(this.setLinear(!1),this.setMipMaps(!0),this.objectURL=URL.createObjectURL(new Blob([e])),this.image.attr("src",this.objectURL))}})},setError(e){"data:"!==this.fileURL.protocol&&console.warn(`Error loading image '${decodeURI(this.fileURL)}':`,e.type),URL.revokeObjectURL(this.objectURL),this.loadNext()},setKTXTexture(e){if(e.target!==this.getTarget())return this.setError({type:"Invalid KTX texture target, must be 'TEXTURE_CUBE_MAP'."});de()&&"data:"!==this.fileURL.protocol&&console.info(`Done loading image cube map texture '${decodeURI(this.fileURL)}'.`);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(){de()&&"data:"!==this.fileURL.protocol&&console.info(`Done loading image cube map texture '${decodeURI(this.fileURL)}'.`);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})}finally{URL.revokeObjectURL(this.objectURL)}},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(he())(1,1),new(he())(3,1),new(he())(0,1),new(he())(2,1),new(he())(1,0),new(he())(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(ce,{...m().getStaticProperties("ImageCubeMapTexture","CubeMapTexturing",2,"texture","3.0"),fieldDefinitions:{value:new(E())([new(g())(S().inputOutput,"metadata",new(x().SFNode)),new(g())(S().inputOutput,"description",new(x().SFString)),new(g())(S().inputOutput,"load",new(x().SFBool)(!0)),new(g())(S().inputOutput,"url",new(x().MFString)),new(g())(S().inputOutput,"autoRefresh",new(x().SFTime)(0)),new(g())(S().inputOutput,"autoRefreshTimeLimit",new(x().SFTime)(3600)),new(g())(S().initializeOnly,"textureProperties",new(x().SFNode))]),enumerable:!0}});const xe=ce,le=o().add("ImageCubeMapTexture",xe);a().add({name:"CubeMapTexturing",concreteNodes:[y,ie,le],abstractNodes:[C],browserContext:p});o().add("CubeMapTexturingComponent",void 0)})();
1
+ /* X_ITE v15.1.3 */
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 d(){}Object.assign(d.prototype,{getPanoramaShader(){return this[h]??=this.createShader({name:"Panorama",vertexShader:"FullScreen",fragmentShader:`data:x-shader/x-fragment,${u}`,uniforms:["x3d_PanoramaTextureEXT","x3d_CurrentFaceEXT"]})}});const T=d,p=o().add("X3DCubeMapTexturingContext",T),c=e.Fields;var x=i.n(c);const l=e.X3DFieldDefinition;var g=i.n(l);const _=e.FieldDefinitionArray;var E=i.n(_);const f=e.X3DNode;var m=i.n(f);const R=e.X3DSingleTextureNode;var b=i.n(R);const w=e.X3DConstants;var S=i.n(w);function M(e){b().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(M.prototype,b().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(){b().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(M,m().getStaticProperties("X3DEnvironmentTextureNode","CubeMapTexturing",1));const v=M,C=o().add("X3DEnvironmentTextureNode",v),U=e.X3DCast;var A=i.n(U);const I=e.BitSet;var P=i.n(I);function N(e){C.call(this,e),this.addType(S().ComposedCubeMapTexture),this.addChildObjects(S().outputOnly,"update",new(x().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(N.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()},getRenderedTextures(e){for(const t of this.textureNodes)t?.getRenderedTextures(e)}}),Object.defineProperties(N,{...m().getStaticProperties("ComposedCubeMapTexture","CubeMapTexturing",1,"texture","3.1"),fieldDefinitions:{value:new(E())([new(g())(S().inputOutput,"metadata",new(x().SFNode)),new(g())(S().inputOutput,"description",new(x().SFString)),new(g())(S().inputOutput,"frontTexture",new(x().SFNode)),new(g())(S().inputOutput,"backTexture",new(x().SFNode)),new(g())(S().inputOutput,"leftTexture",new(x().SFNode)),new(g())(S().inputOutput,"rightTexture",new(x().SFNode)),new(g())(S().inputOutput,"topTexture",new(x().SFNode)),new(g())(S().inputOutput,"bottomTexture",new(x().SFNode)),new(g())(S().initializeOnly,"textureProperties",new(x().SFNode))]),enumerable:!0}});const X=N,y=o().add("ComposedCubeMapTexture",X),F=e.DependentRenderer;var B=i.n(F);const D=e.TextureBuffer;var O=i.n(D);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,getRenderedTextures(e){e.add(this)},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=[Z().fromVectors(H().Z_AXIS,H().NEGATIVE_Z_AXIS),Z().fromVectors(H().Z_AXIS,H().Z_AXIS),Z().fromVectors(H().Z_AXIS,H().X_AXIS),Z().fromVectors(H().Z_AXIS,H().NEGATIVE_X_AXIS),Z().fromVectors(H().Z_AXIS,H().NEGATIVE_Y_AXIS),Z().fromVectors(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(B())(this.getExecutionContext(),s));const a=this.dependentRenderers.get(s),n=this.getBrowser(),o=n.getContext(),u=s.getLayer(),h=this.viewport,d=a.getBackground(),T=a.getNavigationInfo(),p=a.getViewpoint(),c=n.getHeadlight(),x=T._headlight.getValue(),l=p.getNearDistance(T),g=p.getFarDistance(T),_=z().perspective(ee().radians(90),l,g,1,1,this.projectionMatrix),E=this.frameBuffer.getWidth(),f=this.frameBuffer.getHeight();this.setTransparent(d.isTransparent()),a.setFramebuffer(this.frameBuffer),a.getViewVolumes().push(i.set(_,h,h)),a.getProjectionMatrix().push(_),o.bindTexture(this.getTarget(),this.getTexture()),this.frameBuffer.bind();for(let i=0;i<6;++i)o.viewport(...h),o.scissor(...h),o.clearColor(0,0,0,0),o.clear(o.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&&(c.modelViewMatrix.push(r),c.modelViewMatrix.multLeft(p.getCameraSpaceMatrix())),u.traverse(V().DISPLAY,a),x&&c.modelViewMatrix.pop(),a.getModelViewMatrix().pop(),a.getCameraSpaceMatrix().pop(),a.getViewMatrix().pop(),o.bindTexture(this.getTarget(),this.getTexture()),o.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,E,f);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.scissor(0,0,0,0)}}),Object.defineProperties(te,{...m().getStaticProperties("GeneratedCubeMapTexture","CubeMapTexturing",3,"texture","3.0"),fieldDefinitions:{value:new(E())([new(g())(S().inputOutput,"metadata",new(x().SFNode)),new(g())(S().inputOutput,"description",new(x().SFString)),new(g())(S().inputOutput,"update",new(x().SFString)("NONE")),new(g())(S().initializeOnly,"size",new(x().SFInt32)(128)),new(g())(S().initializeOnly,"textureProperties",new(x().SFNode))]),enumerable:!0}});const re=te,ie=o().add("GeneratedCubeMapTexture",re),se=e.X3DUrlObject;var ae=i.n(se);const ne=e.FileLoader;var oe=i.n(ne);const ue=e.Vector2;var he=i.n(ue);const de=e.DEVELOPMENT;var Te=i.n(de),pe=i(254);function ce(e){C.call(this,e),ae().call(this,e),this.addType(S().ImageCubeMapTexture),this.image=pe("<img></img>"),this.urlStack=new(x().MFString)}Object.assign(Object.setPrototypeOf(ce.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();new(oe())(this,{dataAsString:!1}).loadDocument([this.urlStack.shift()],(e,t)=>{if(null===e)this.loadNext();else{if(!(e instanceof ArrayBuffer))throw new Error("ImageTexture: no suitable file type handler found.");this.fileURL=new URL(t),this.fileURL.pathname.match(/\.ktx2?(?:\.gz)?$/)||this.fileURL.href.match(/^\s*data:image\/ktx2[;,]/s)?(this.setLinear(!0),this.setMipMaps(!1),this.getBrowser().getKTXDecoder().then(t=>t.loadKTXFromBuffer(e)).then(e=>this.setKTXTexture(e)).catch(e=>this.setError({type:e.message}))):(this.setLinear(!1),this.setMipMaps(!0),this.objectURL=URL.createObjectURL(new Blob([e])),this.image.attr("src",this.objectURL))}})},setError(e){"data:"!==this.fileURL.protocol&&console.warn(`Error loading image '${decodeURI(this.fileURL)}':`,e.type),URL.revokeObjectURL(this.objectURL),this.loadNext()},setKTXTexture(e){if(e.target!==this.getTarget())return this.setError({type:"Invalid KTX texture target, must be 'TEXTURE_CUBE_MAP'."});Te()&&"data:"!==this.fileURL.protocol&&console.info(`Done loading image cube map texture '${decodeURI(this.fileURL)}'.`);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(){Te()&&"data:"!==this.fileURL.protocol&&console.info(`Done loading image cube map texture '${decodeURI(this.fileURL)}'.`);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})}finally{URL.revokeObjectURL(this.objectURL)}},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(he())(1,1),new(he())(3,1),new(he())(0,1),new(he())(2,1),new(he())(1,0),new(he())(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(ce,{...m().getStaticProperties("ImageCubeMapTexture","CubeMapTexturing",2,"texture","3.0"),fieldDefinitions:{value:new(E())([new(g())(S().inputOutput,"metadata",new(x().SFNode)),new(g())(S().inputOutput,"description",new(x().SFString)),new(g())(S().inputOutput,"load",new(x().SFBool)(!0)),new(g())(S().inputOutput,"url",new(x().MFString)),new(g())(S().inputOutput,"autoRefresh",new(x().SFTime)(0)),new(g())(S().inputOutput,"autoRefreshTimeLimit",new(x().SFTime)(3600)),new(g())(S().initializeOnly,"textureProperties",new(x().SFNode))]),enumerable:!0}});const xe=ce,le=o().add("ImageCubeMapTexture",xe);a().add({name:"CubeMapTexturing",concreteNodes:[y,ie,le],abstractNodes:[C],browserContext:p});o().add("CubeMapTexturingComponent",void 0)})();
@@ -1,4 +1,4 @@
1
- /* X_ITE v15.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
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.1.2 */
1
+ /* X_ITE v15.1.3 */
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)})();