x_ite 11.2.2 → 11.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/README.md +4 -4
  2. package/dist/assets/components/AnnotationComponent.js +3 -3
  3. package/dist/assets/components/AnnotationComponent.min.js +2 -2
  4. package/dist/assets/components/CADGeometryComponent.js +130 -58
  5. package/dist/assets/components/CADGeometryComponent.min.js +2 -2
  6. package/dist/assets/components/CubeMapTexturingComponent.js +4 -4
  7. package/dist/assets/components/CubeMapTexturingComponent.min.js +2 -2
  8. package/dist/assets/components/DISComponent.js +2 -2
  9. package/dist/assets/components/DISComponent.min.js +2 -2
  10. package/dist/assets/components/EventUtilitiesComponent.js +2 -2
  11. package/dist/assets/components/EventUtilitiesComponent.min.js +2 -2
  12. package/dist/assets/components/Geometry2DComponent.js +2 -2
  13. package/dist/assets/components/Geometry2DComponent.min.js +2 -2
  14. package/dist/assets/components/GeospatialComponent.js +92 -127
  15. package/dist/assets/components/GeospatialComponent.min.js +2 -2
  16. package/dist/assets/components/HAnimComponent.js +16 -13
  17. package/dist/assets/components/HAnimComponent.min.js +2 -2
  18. package/dist/assets/components/KeyDeviceSensorComponent.js +2 -2
  19. package/dist/assets/components/KeyDeviceSensorComponent.min.js +2 -2
  20. package/dist/assets/components/LayoutComponent.js +22 -7
  21. package/dist/assets/components/LayoutComponent.min.js +2 -2
  22. package/dist/assets/components/NURBSComponent.js +2 -2
  23. package/dist/assets/components/NURBSComponent.min.js +2 -2
  24. package/dist/assets/components/ParticleSystemsComponent.js +38 -97
  25. package/dist/assets/components/ParticleSystemsComponent.min.js +2 -2
  26. package/dist/assets/components/PickingComponent.js +78 -81
  27. package/dist/assets/components/PickingComponent.min.js +2 -2
  28. package/dist/assets/components/RigidBodyPhysicsComponent.js +245 -292
  29. package/dist/assets/components/RigidBodyPhysicsComponent.min.js +2 -2
  30. package/dist/assets/components/ScriptingComponent.js +2 -2
  31. package/dist/assets/components/ScriptingComponent.min.js +2 -2
  32. package/dist/assets/components/TextComponent.js +16336 -14672
  33. package/dist/assets/components/TextComponent.min.js +2 -2
  34. package/dist/assets/components/TextureProjectionComponent.js +2 -2
  35. package/dist/assets/components/TextureProjectionComponent.min.js +2 -2
  36. package/dist/assets/components/Texturing3DComponent.js +29 -29
  37. package/dist/assets/components/Texturing3DComponent.min.js +2 -2
  38. package/dist/assets/components/VolumeRenderingComponent.js +15 -10
  39. package/dist/assets/components/VolumeRenderingComponent.min.js +2 -2
  40. package/dist/assets/components/WebXRComponent.js +121 -73
  41. package/dist/assets/components/WebXRComponent.min.js +2 -2
  42. package/dist/assets/components/X_ITEComponent.js +6 -66
  43. package/dist/assets/components/X_ITEComponent.min.js +2 -2
  44. package/dist/assets/fonts/Droid/DroidSerif-Bold.woff2 +0 -0
  45. package/dist/assets/fonts/Droid/DroidSerif-BoldItalic.woff2 +0 -0
  46. package/dist/assets/fonts/Droid/DroidSerif-Italic.woff2 +0 -0
  47. package/dist/assets/fonts/Droid/DroidSerif-Regular.woff2 +0 -0
  48. package/dist/assets/fonts/PT_Sans/PTSans-Bold.woff2 +0 -0
  49. package/dist/assets/fonts/PT_Sans/PTSans-BoldItalic.woff2 +0 -0
  50. package/dist/assets/fonts/PT_Sans/PTSans-Italic.woff2 +0 -0
  51. package/dist/assets/fonts/PT_Sans/PTSans-Regular.woff2 +0 -0
  52. package/dist/assets/fonts/Ubuntu/Ubuntu-B.woff2 +0 -0
  53. package/dist/assets/fonts/Ubuntu/Ubuntu-BI.woff2 +0 -0
  54. package/dist/assets/fonts/Ubuntu/Ubuntu-R.woff2 +0 -0
  55. package/dist/assets/fonts/Ubuntu/Ubuntu-RI.woff2 +0 -0
  56. package/dist/assets/fonts/Ubuntu/UbuntuMono-B.woff2 +0 -0
  57. package/dist/assets/fonts/Ubuntu/UbuntuMono-BI.woff2 +0 -0
  58. package/dist/assets/fonts/Ubuntu/UbuntuMono-R.woff2 +0 -0
  59. package/dist/assets/fonts/Ubuntu/UbuntuMono-RI.woff2 +0 -0
  60. package/dist/assets/hatching/1.png +0 -0
  61. package/dist/assets/hatching/10.png +0 -0
  62. package/dist/assets/hatching/11.png +0 -0
  63. package/dist/assets/hatching/12.png +0 -0
  64. package/dist/assets/hatching/13.png +0 -0
  65. package/dist/assets/hatching/14.png +0 -0
  66. package/dist/assets/hatching/15.png +0 -0
  67. package/dist/assets/hatching/16.png +0 -0
  68. package/dist/assets/hatching/17.png +0 -0
  69. package/dist/assets/hatching/18.png +0 -0
  70. package/dist/assets/hatching/19.png +0 -0
  71. package/dist/assets/hatching/2.png +0 -0
  72. package/dist/assets/hatching/3.png +0 -0
  73. package/dist/assets/hatching/4.png +0 -0
  74. package/dist/assets/hatching/5.png +0 -0
  75. package/dist/assets/hatching/6.png +0 -0
  76. package/dist/assets/hatching/7.png +0 -0
  77. package/dist/assets/hatching/8.png +0 -0
  78. package/dist/assets/hatching/9.png +0 -0
  79. package/dist/assets/images/ExamineViewer.png +0 -0
  80. package/dist/assets/images/FlyViewer.png +0 -0
  81. package/dist/assets/images/NoneViewer.png +0 -0
  82. package/dist/assets/images/PlaneViewer.png +0 -0
  83. package/dist/assets/images/PrimitiveQuality.png +0 -0
  84. package/dist/assets/images/Shading.png +0 -0
  85. package/dist/assets/images/TextureQuality.png +0 -0
  86. package/dist/assets/images/Time.png +0 -0
  87. package/dist/assets/images/Viewpoint.png +0 -0
  88. package/dist/assets/images/WalkViewer.png +0 -0
  89. package/dist/assets/images/go-next.png +0 -0
  90. package/dist/assets/images/gtk-fullscreen.png +0 -0
  91. package/dist/assets/images/gtk-leave-fullscreen.png +0 -0
  92. package/dist/assets/images/gtk-zoom-fit.png +0 -0
  93. package/dist/assets/images/gtk-zoom-in.png +0 -0
  94. package/dist/assets/images/help-about.png +0 -0
  95. package/dist/assets/images/icon.bw.png +0 -0
  96. package/dist/assets/images/icon.png +0 -0
  97. package/dist/assets/images/logo.128.png +0 -0
  98. package/dist/assets/images/logo.bw.png +0 -0
  99. package/dist/assets/images/logo.png +0 -0
  100. package/dist/assets/lib/decompress_binding.js +1 -0
  101. package/dist/assets/lib/lut_charlie.png +0 -0
  102. package/dist/assets/lib/lut_ggx.png +0 -0
  103. package/dist/assets/lib/lut_sheen_E.png +0 -0
  104. package/dist/assets/linetype/linetypes.png +0 -0
  105. package/dist/example.html +1 -1
  106. package/dist/x_ite.css +1 -1
  107. package/dist/x_ite.d.ts +1 -1
  108. package/dist/x_ite.js +53942 -53841
  109. package/dist/x_ite.min.js +2 -2
  110. package/dist/x_ite.min.mjs +2 -2
  111. package/dist/x_ite.mjs +54498 -54397
  112. package/dist/x_ite.zip +0 -0
  113. package/package.json +3 -2
  114. package/dist/assets/fonts/Droid/DroidSerif-Bold.ttf +0 -0
  115. package/dist/assets/fonts/Droid/DroidSerif-BoldItalic.ttf +0 -0
  116. package/dist/assets/fonts/Droid/DroidSerif-Italic.ttf +0 -0
  117. package/dist/assets/fonts/Droid/DroidSerif-Regular.ttf +0 -0
  118. package/dist/assets/fonts/PT_Sans/PTSans-Bold.ttf +0 -0
  119. package/dist/assets/fonts/PT_Sans/PTSans-BoldItalic.ttf +0 -0
  120. package/dist/assets/fonts/PT_Sans/PTSans-Italic.ttf +0 -0
  121. package/dist/assets/fonts/PT_Sans/PTSans-Regular.ttf +0 -0
  122. package/dist/assets/fonts/Ubuntu/Ubuntu-B.ttf +0 -0
  123. package/dist/assets/fonts/Ubuntu/Ubuntu-BI.ttf +0 -0
  124. package/dist/assets/fonts/Ubuntu/Ubuntu-R.ttf +0 -0
  125. package/dist/assets/fonts/Ubuntu/Ubuntu-RI.ttf +0 -0
  126. package/dist/assets/fonts/Ubuntu/UbuntuMono-B.ttf +0 -0
  127. package/dist/assets/fonts/Ubuntu/UbuntuMono-BI.ttf +0 -0
  128. package/dist/assets/fonts/Ubuntu/UbuntuMono-R.ttf +0 -0
  129. package/dist/assets/fonts/Ubuntu/UbuntuMono-RI.ttf +0 -0
@@ -1,5 +1,5 @@
1
- /* X_ITE v11.2.2 */
2
- const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.2.2")];
1
+ /* X_ITE v11.3.0 */
2
+ const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-11.3.0")];
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ "use strict";
5
5
  /******/ // The require scope
@@ -1936,8 +1936,6 @@ var external_X_ITE_X3D_Box3_default = /*#__PURE__*/__webpack_require__.n(externa
1936
1936
 
1937
1937
 
1938
1938
 
1939
- var center = new (external_X_ITE_X3D_Vector3_default()) ();
1940
-
1941
1939
  function GeoLOD (executionContext)
1942
1940
  {
1943
1941
  external_X_ITE_X3D_X3DChildNode_default().call (this, executionContext);
@@ -1946,12 +1944,14 @@ function GeoLOD (executionContext)
1946
1944
 
1947
1945
  this .addType ((external_X_ITE_X3D_X3DConstants_default()).GeoLOD);
1948
1946
 
1947
+ this .setVisibleObject (true);
1948
+
1949
1949
  // Units
1950
1950
 
1951
1951
  this ._range .setUnit ("length");
1952
1952
 
1953
1953
  // Private properties
1954
-
1954
+
1955
1955
  this .unload = false;
1956
1956
  this .rootGroup = new (external_X_ITE_X3D_Group_default()) (this .getBrowser () .getPrivateScene ());
1957
1957
  this .rootInline = new (external_X_ITE_X3D_Inline_default()) (executionContext);
@@ -1959,6 +1959,7 @@ function GeoLOD (executionContext)
1959
1959
  this .child2Inline = new (external_X_ITE_X3D_Inline_default()) (executionContext);
1960
1960
  this .child3Inline = new (external_X_ITE_X3D_Inline_default()) (executionContext);
1961
1961
  this .child4Inline = new (external_X_ITE_X3D_Inline_default()) (executionContext);
1962
+ this .childInlines = [this .child1Inline, this .child2Inline, this .child3Inline, this .child4Inline];
1962
1963
  this .childrenLoaded = false;
1963
1964
  this .childBBox = new (external_X_ITE_X3D_Box3_default()) ();
1964
1965
  this .keepCurrentLevel = false;
@@ -1979,13 +1980,11 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
1979
1980
 
1980
1981
  this .rootGroup ._children = this ._rootNode;
1981
1982
  this .rootGroup .setPrivate (true);
1982
- this .rootGroup .setup ();
1983
1983
 
1984
- this .rootInline ._loadState .addInterest ("set_rootLoadState__", this);
1985
- this .child1Inline ._loadState .addInterest ("set_childLoadState__", this);
1986
- this .child2Inline ._loadState .addInterest ("set_childLoadState__", this);
1987
- this .child3Inline ._loadState .addInterest ("set_childLoadState__", this);
1988
- this .child4Inline ._loadState .addInterest ("set_childLoadState__", this);
1984
+ this .rootInline ._loadState .addInterest ("set_rootLoadState__", this);
1985
+
1986
+ for (const childInline of this .childInlines)
1987
+ childInline ._loadState .addInterest ("set_childLoadState__", this);
1989
1988
 
1990
1989
  this ._rootUrl .addFieldInterest (this .rootInline ._url);
1991
1990
  this ._child1Url .addFieldInterest (this .child1Inline ._url);
@@ -1993,11 +1992,10 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
1993
1992
  this ._child3Url .addFieldInterest (this .child3Inline ._url);
1994
1993
  this ._child4Url .addFieldInterest (this .child4Inline ._url);
1995
1994
 
1996
- this .rootInline ._load = true;
1997
- this .child1Inline ._load = false;
1998
- this .child2Inline ._load = false;
1999
- this .child3Inline ._load = false;
2000
- this .child4Inline ._load = false;
1995
+ this .rootInline ._load = true;
1996
+
1997
+ for (const childInline of this .childInlines)
1998
+ childInline ._load = false;
2001
1999
 
2002
2000
  this .rootInline ._url = this ._rootUrl;
2003
2001
  this .child1Inline ._url = this ._child1Url;
@@ -2006,14 +2004,13 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
2006
2004
  this .child4Inline ._url = this ._child4Url;
2007
2005
 
2008
2006
  this .rootInline .setup ();
2009
- this .child1Inline .setup ();
2010
- this .child2Inline .setup ();
2011
- this .child3Inline .setup ();
2012
- this .child4Inline .setup ();
2007
+
2008
+ for (const childInline of this .childInlines)
2009
+ childInline .setup ();
2013
2010
  },
2014
2011
  getBBox (bbox, shadows)
2015
2012
  {
2016
- if (this ._bboxSize .getValue () .equals (this .getDefaultBBoxSize ()))
2013
+ if (this .isDefaultBBoxSize ())
2017
2014
  {
2018
2015
  switch (this .childrenLoaded ? this ._level_changed .getValue () : 0)
2019
2016
  {
@@ -2031,10 +2028,8 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
2031
2028
 
2032
2029
  bbox .set ();
2033
2030
 
2034
- bbox .add (this .child1Inline .getBBox (childBBox, shadows));
2035
- bbox .add (this .child2Inline .getBBox (childBBox, shadows));
2036
- bbox .add (this .child3Inline .getBBox (childBBox, shadows));
2037
- bbox .add (this .child4Inline .getBBox (childBBox, shadows));
2031
+ for (const childInline of this .childInlines)
2032
+ bbox .add (childInline .getBBox (childBBox, shadows));
2038
2033
 
2039
2034
  return bbox;
2040
2035
  }
@@ -2064,89 +2059,79 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
2064
2059
  if (this ._level_changed .getValue () !== 1)
2065
2060
  return;
2066
2061
 
2067
- var loaded = 0;
2068
-
2069
- if (this .child1Inline .checkLoadState () === (external_X_ITE_X3D_X3DConstants_default()).COMPLETE_STATE ||
2070
- this .child1Inline .checkLoadState () === (external_X_ITE_X3D_X3DConstants_default()).FAILED_STATE)
2071
- ++ loaded;
2072
-
2073
- if (this .child2Inline .checkLoadState () === (external_X_ITE_X3D_X3DConstants_default()).COMPLETE_STATE ||
2074
- this .child2Inline .checkLoadState () === (external_X_ITE_X3D_X3DConstants_default()).FAILED_STATE)
2075
- ++ loaded;
2062
+ let loaded = 0;
2076
2063
 
2077
- if (this .child3Inline .checkLoadState () === (external_X_ITE_X3D_X3DConstants_default()).COMPLETE_STATE ||
2078
- this .child3Inline .checkLoadState () === (external_X_ITE_X3D_X3DConstants_default()).FAILED_STATE)
2079
- ++ loaded;
2080
-
2081
- if (this .child4Inline .checkLoadState () === (external_X_ITE_X3D_X3DConstants_default()).COMPLETE_STATE ||
2082
- this .child4Inline .checkLoadState () === (external_X_ITE_X3D_X3DConstants_default()).FAILED_STATE)
2083
- ++ loaded;
2064
+ for (const childInline of this .childInlines)
2065
+ {
2066
+ if (childInline .checkLoadState () === (external_X_ITE_X3D_X3DConstants_default()).COMPLETE_STATE ||
2067
+ childInline .checkLoadState () === (external_X_ITE_X3D_X3DConstants_default()).FAILED_STATE)
2068
+ ++ loaded;
2069
+ }
2084
2070
 
2085
2071
  if (loaded === 4)
2086
2072
  {
2087
2073
  this .childrenLoaded = true;
2088
2074
 
2089
- var children = this ._children;
2075
+ const children = this ._children;
2090
2076
 
2091
2077
  children .length = 0;
2092
2078
 
2093
- var rootNodes = this .child1Inline .getInternalScene () .getRootNodes ();
2094
-
2095
- for (var i = 0, length = rootNodes .length; i < length; ++ i)
2096
- children .push (rootNodes [i]);
2097
-
2098
- var rootNodes = this .child2Inline .getInternalScene () .getRootNodes ();
2099
-
2100
- for (var i = 0, length = rootNodes .length; i < length; ++ i)
2101
- children .push (rootNodes [i]);
2102
-
2103
- var rootNodes = this .child3Inline .getInternalScene () .getRootNodes ();
2104
-
2105
- for (var i = 0, length = rootNodes .length; i < length; ++ i)
2106
- children .push (rootNodes [i]);
2107
-
2108
- var rootNodes = this .child4Inline .getInternalScene () .getRootNodes ();
2079
+ for (const childInline of this .childInlines)
2080
+ {
2081
+ const rootNodes = childInline .getInternalScene () .getRootNodes ();
2109
2082
 
2110
- for (var i = 0, length = rootNodes .length; i < length; ++ i)
2111
- children .push (rootNodes [i]);
2083
+ for (const rootNode of rootNodes)
2084
+ children .push (rootNode);
2085
+ }
2112
2086
  }
2113
2087
  },
2088
+ set_childPointingObject__ ()
2089
+ {
2090
+ this .setPointingObject (this .childInlines .some (childInline => childInline .isPointingObject ()));
2091
+ },
2114
2092
  set_childCameraObject__ ()
2115
2093
  {
2116
- this .setCameraObject (this .child1Inline .isCameraObject () ||
2117
- this .child2Inline .isCameraObject () ||
2118
- this .child3Inline .isCameraObject () ||
2119
- this .child4Inline .isCameraObject ());
2094
+ this .setCameraObject (this .childInlines .some (childInline => childInline .isCameraObject ()));
2120
2095
  },
2121
2096
  set_childPickableObject__ ()
2122
2097
  {
2123
- this .setPickableObject (this .child1Inline .isPickableObject () ||
2124
- this .child2Inline .isPickableObject () ||
2125
- this .child3Inline .isPickableObject () ||
2126
- this .child4Inline .isPickableObject ());
2098
+ this .setPickableObject (this .childInlines .some (childInline => childInline .isPickableObject ()));
2099
+ },
2100
+ set_childCollisionObject__ ()
2101
+ {
2102
+ this .setCollisionObject (this .childInlines .some (childInline => childInline .isCollisionObject ()));
2103
+ },
2104
+ set_childShadowObject__ ()
2105
+ {
2106
+ this .setShadowObject (this .childInlines .some (childInline => childInline .isShadowObject ()));
2127
2107
  },
2128
2108
  getLevel (modelViewMatrix)
2129
2109
  {
2130
- var distance = this .getDistance (modelViewMatrix);
2110
+ const distance = this .getDistance (modelViewMatrix);
2131
2111
 
2132
2112
  if (distance < this ._range .getValue ())
2133
2113
  return 1;
2134
2114
 
2135
2115
  return 0;
2136
2116
  },
2137
- getDistance (modelViewMatrix)
2117
+ getDistance: (function ()
2138
2118
  {
2139
- modelViewMatrix .translate (this .getCoord (this ._center .getValue (), center));
2119
+ const center = new (external_X_ITE_X3D_Vector3_default()) ();
2140
2120
 
2141
- return modelViewMatrix .origin .magnitude ();
2142
- },
2121
+ return function (modelViewMatrix)
2122
+ {
2123
+ modelViewMatrix .translate (this .getCoord (this ._center .getValue (), center));
2124
+
2125
+ return modelViewMatrix .origin .magnitude ();
2126
+ };
2127
+ })(),
2143
2128
  traverse (type, renderObject)
2144
2129
  {
2145
2130
  switch (type)
2146
2131
  {
2147
2132
  case (external_X_ITE_X3D_TraverseType_default()).PICKING:
2148
2133
  {
2149
- var
2134
+ const
2150
2135
  browser = this .getBrowser (),
2151
2136
  pickingHierarchy = browser .getPickingHierarchy ();
2152
2137
 
@@ -2159,7 +2144,7 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
2159
2144
  }
2160
2145
  case (external_X_ITE_X3D_TraverseType_default()).DISPLAY:
2161
2146
  {
2162
- var level = this .getLevel (this .modelViewMatrix .assign (renderObject .getModelViewMatrix () .get ()));
2147
+ const level = this .getLevel (this .modelViewMatrix .assign (renderObject .getModelViewMatrix () .get ()));
2163
2148
 
2164
2149
  if (level !== this ._level_changed .getValue ())
2165
2150
  {
@@ -2169,22 +2154,18 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
2169
2154
  {
2170
2155
  case 0:
2171
2156
  {
2172
- this .child1Inline ._isCameraObject .removeInterest ("set_childCameraObject__", this);
2173
- this .child2Inline ._isCameraObject .removeInterest ("set_childCameraObject__", this);
2174
- this .child3Inline ._isCameraObject .removeInterest ("set_childCameraObject__", this);
2175
- this .child4Inline ._isCameraObject .removeInterest ("set_childCameraObject__", this);
2176
- this .child1Inline ._isPickableObject .removeInterest ("set_childPickableObject__", this);
2177
- this .child2Inline ._isPickableObject .removeInterest ("set_childPickableObject__", this);
2178
- this .child3Inline ._isPickableObject .removeInterest ("set_childPickableObject__", this);
2179
- this .child4Inline ._isPickableObject .removeInterest ("set_childPickableObject__", this);
2157
+ for (const childInline of this .childInlines)
2158
+ {
2159
+ childInline ._isPointingObject .removeInterest ("set_childPointingObject__", this);
2160
+ childInline ._isCameraObject .removeInterest ("set_childCameraObject__", this);
2161
+ childInline ._isPickableObject .removeInterest ("set_childPickableObject__", this);
2162
+ childInline ._isCollisionObject .removeInterest ("set_childCollisionObject__", this);
2163
+ childInline ._isShadowObject .removeInterest ("set_childShadowObject__", this);
2164
+ }
2180
2165
 
2181
2166
  if (this ._rootNode .length)
2182
2167
  {
2183
- this .rootGroup ._isCameraObject .addFieldInterest (this ._isCameraObject);
2184
- this .rootGroup ._isPickableObject .addFieldInterest (this ._isPickableObject);
2185
-
2186
- this .setCameraObject (this .rootGroup .isCameraObject ());
2187
- this .setPickableObject (this .rootGroup .isPickableObject ());
2168
+ this .connectChildNode (this .rootGroup, [(external_X_ITE_X3D_TraverseType_default()).DISPLAY]);
2188
2169
 
2189
2170
  this ._children = this ._rootNode;
2190
2171
  this .childrenLoaded = false;
@@ -2193,11 +2174,7 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
2193
2174
  {
2194
2175
  if (this .rootInline .checkLoadState () == (external_X_ITE_X3D_X3DConstants_default()).COMPLETE_STATE)
2195
2176
  {
2196
- this .rootInline ._isCameraObject .addFieldInterest (this ._isCameraObject);
2197
- this .rootInline ._isPickableObject .addFieldInterest (this ._isPickableObject);
2198
-
2199
- this .setCameraObject (this .rootInline .isCameraObject ());
2200
- this .setPickableObject (this .rootInline .isPickableObject ());
2177
+ this .connectChildNode (this .rootInline, [(external_X_ITE_X3D_TraverseType_default()).DISPLAY]);
2201
2178
 
2202
2179
  this ._children = this .rootInline .getInternalScene () .getRootNodes ();
2203
2180
  this .childrenLoaded = false;
@@ -2206,10 +2183,8 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
2206
2183
 
2207
2184
  if (this .unload)
2208
2185
  {
2209
- this .child1Inline ._load = false;
2210
- this .child2Inline ._load = false;
2211
- this .child3Inline ._load = false;
2212
- this .child4Inline ._load = false;
2186
+ for (const childInline of this .childInlines)
2187
+ childInline ._load = false;
2213
2188
  }
2214
2189
 
2215
2190
  break;
@@ -2217,27 +2192,24 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
2217
2192
  case 1:
2218
2193
  {
2219
2194
  if (this ._rootNode .length)
2220
- {
2221
- this .rootGroup ._isCameraObject .removeFieldInterest (this ._isCameraObject);
2222
- this .rootGroup ._isPickableObject .removeFieldInterest (this ._isPickableObject);
2223
- }
2195
+ this .disconnectChildNode (this .rootGroup);
2224
2196
  else
2197
+ this .disconnectChildNode (this .rootInline);
2198
+
2199
+ for (const childInline of this .childInlines)
2225
2200
  {
2226
- this .rootInline ._isCameraObject .removeFieldInterest (this ._isCameraObject);
2227
- this .rootInline ._isPickableObject .removeFieldInterest (this ._isPickableObject);
2201
+ childInline ._isPointingObject .addInterest ("set_childPointingObject__", this);
2202
+ childInline ._isCameraObject .addInterest ("set_childCameraObject__", this);
2203
+ childInline ._isPickableObject .addInterest ("set_childPickableObject__", this);
2204
+ childInline ._isCollisionObject .addInterest ("set_childCollisionObject__", this);
2205
+ childInline ._isShadowObject .addInterest ("set_childShadowObject__", this);
2228
2206
  }
2229
2207
 
2230
- this .child1Inline ._isCameraObject .addInterest ("set_childCameraObject__", this);
2231
- this .child2Inline ._isCameraObject .addInterest ("set_childCameraObject__", this);
2232
- this .child3Inline ._isCameraObject .addInterest ("set_childCameraObject__", this);
2233
- this .child4Inline ._isCameraObject .addInterest ("set_childCameraObject__", this);
2234
- this .child1Inline ._isPickableObject .addInterest ("set_childPickableObject__", this);
2235
- this .child2Inline ._isPickableObject .addInterest ("set_childPickableObject__", this);
2236
- this .child3Inline ._isPickableObject .addInterest ("set_childPickableObject__", this);
2237
- this .child4Inline ._isPickableObject .addInterest ("set_childPickableObject__", this);
2238
-
2208
+ this .set_childPointingObject__ ();
2239
2209
  this .set_childCameraObject__ ();
2240
2210
  this .set_childPickableObject__ ();
2211
+ this .set_childCollisionObject__ ();
2212
+ this .set_childShadowObject__ ();
2241
2213
 
2242
2214
  if (this .child1Inline ._load .getValue ())
2243
2215
  {
@@ -2245,10 +2217,8 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
2245
2217
  }
2246
2218
  else
2247
2219
  {
2248
- this .child1Inline ._load = true;
2249
- this .child2Inline ._load = true;
2250
- this .child3Inline ._load = true;
2251
- this .child4Inline ._load = true;
2220
+ for (const childInline of this .childInlines)
2221
+ childInline ._load = true;
2252
2222
  }
2253
2223
 
2254
2224
  break;
@@ -2281,10 +2251,9 @@ Object .assign (Object .setPrototypeOf (GeoLOD .prototype, (external_X_ITE_X3D_X
2281
2251
  }
2282
2252
  case 1:
2283
2253
  {
2284
- this .child1Inline .traverse (type, renderObject);
2285
- this .child2Inline .traverse (type, renderObject);
2286
- this .child3Inline .traverse (type, renderObject);
2287
- this .child4Inline .traverse (type, renderObject);
2254
+ for (const childInline of this .childInlines)
2255
+ childInline .traverse (type, renderObject);
2256
+
2288
2257
  break;
2289
2258
  }
2290
2259
  }
@@ -2526,7 +2495,7 @@ Object .assign (Object .setPrototypeOf (GeoMetadata .prototype, (external_X_ITE_
2526
2495
  external_X_ITE_X3D_X3DInfoNode_default().prototype .initialize .call (this);
2527
2496
  external_X_ITE_X3D_X3DUrlObject_default().prototype .initialize .call (this);
2528
2497
  },
2529
- requestImmediateLoad (cache = true)
2498
+ async requestImmediateLoad (cache = true)
2530
2499
  { },
2531
2500
  dispose ()
2532
2501
  {
@@ -2891,9 +2860,6 @@ function GeoProximitySensor (executionContext)
2891
2860
  // Private properties
2892
2861
 
2893
2862
  this .proximitySensor = new (external_X_ITE_X3D_ProximitySensor_default()) (executionContext);
2894
-
2895
- this .setCameraObject (this .proximitySensor .isCameraObject ());
2896
- this .setPickableObject (this .proximitySensor .isPickableObject ());
2897
2863
  }
2898
2864
 
2899
2865
  Object .assign (Object .setPrototypeOf (GeoProximitySensor .prototype, (external_X_ITE_X3D_X3DEnvironmentalSensorNode_default()).prototype),
@@ -2910,9 +2876,6 @@ Object .assign (Object .setPrototypeOf (GeoProximitySensor .prototype, (external
2910
2876
 
2911
2877
  this ._geoCenter .addFieldInterest (this ._center);
2912
2878
 
2913
- this .proximitySensor ._isCameraObject .addFieldInterest (this ._isCameraObject);
2914
- this .proximitySensor ._isPickableObject .addFieldInterest (this ._isPickableObject);
2915
-
2916
2879
  this .proximitySensor ._isActive .addFieldInterest (this ._isActive);
2917
2880
  this .proximitySensor ._enterTime .addFieldInterest (this ._enterTime);
2918
2881
  this .proximitySensor ._exitTime .addFieldInterest (this ._exitTime);
@@ -2927,6 +2890,8 @@ Object .assign (Object .setPrototypeOf (GeoProximitySensor .prototype, (external
2927
2890
  this .proximitySensor ._center = this ._center;
2928
2891
 
2929
2892
  this .proximitySensor .setup ();
2893
+
2894
+ this .connectChildNode (this .proximitySensor);
2930
2895
  },
2931
2896
  set_position__ (position)
2932
2897
  {
@@ -1,2 +1,2 @@
1
- /* X_ITE v11.2.2 */
2
- const e=window[Symbol.for("X_ITE.X3D-11.2.2")];(()=>{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 a=t.n(r);const l=e.FieldDefinitionArray;var h=t.n(l);const d=e.X3DNode;var c=t.n(d);const p=e.X3DCoordinateNode;var u=t.n(p);const g=e.X3DConstants;var _=t.n(g);const w=e.Namespace;var O=t.n(w);function y(e,t){switch(arguments.length){case 0:this.semiMajorAxis=0,this.semiMinorAxis=0;break;case 2:this.semiMajorAxis=e,this.semiMinorAxis=t;break;case 3:const i=arguments[1];this.semiMajorAxis=e,this.semiMinorAxis=e*(1-1/i)}}Object.assign(y.prototype,{getSemiMajorAxis(){return this.semiMajorAxis},getSemiMinorAxis(){return this.semiMinorAxis},toString(){return`${this.semiMajorAxis} ${this.semiMinorAxis}`}});const m=y,S=O().add("Spheroid3",m),f={AA:new S(6377563.396,299.3249646,!0),AM:new S(6377340.189,299.3249646,!0),AN:new S(6378160,298.25,!0),BN:new S(6377483.865,299.1528128,!0),BR:new S(6377397.155,299.1528128,!0),CC:new S(6378206.4,294.9786982,!0),CD:new S(6378249.145,293.465,!0),EA:new S(6377276.345,300.8017,!0),EB:new S(6377298.556,300.8017,!0),EC:new S(6377301.243,300.8017,!0),ED:new S(6377295.664,300.8017,!0),EE:new S(6377304.063,300.8017,!0),EF:new S(6377309.613,300.8017,!0),FA:new S(6378155,298.3,!0),HE:new S(6378200,298.3,!0),HO:new S(6378270,297,!0),ID:new S(6378160,298.247,!0),IN:new S(6378388,297,!0),KA:new S(6378245,298.3,!0),RF:new S(6378137,298.257222101,!0),SA:new S(6378160,298.25,!0),WD:new S(6378135,298.26,!0),WE:new S(6378137,298.257223563,!0),SUN:new S(696342e3,1/9e-6,!0),MERCURY:new S(2439700,2439700),VENUS:new S(6051800,6051800),MOON:new S(1738140,1735970),MARS:new S(3395428,3377678),JUPITER:new S(71492e3,66854e3),SATURN:new S(60268e3,54364e3),URANUS:new S(2555e3,24973e3),NEPTUNE:new S(24764e3,24341e3),PLUTO:new S(1153e3,1153e3)},b=O().add("ReferenceEllipsoids",f);function F(e,t,i){this.longitudeFirst=!t,this.degrees=!i,this.a=e.getSemiMajorAxis(),this.c=e.getSemiMinorAxis(),this.c2a2=(e.getSemiMinorAxis()/this.a)**2,this.ecc2=1-this.c2a2}Object.assign(F.prototype,{convert(e,t){const i=e.z;if(this.longitudeFirst)var n=e.y,s=e.x;else n=e.x,s=e.y;return this.degrees&&(n*=Math.PI/180,s*=Math.PI/180),this.convertRadians(n,s,i,t)},convertRadians(e,t,i,n){const s=Math.sin(e),o=s**2,r=Math.cos(e),a=this.a/Math.sqrt(1-this.ecc2*o),l=(a+i)*r;return n.set(l*Math.cos(t),l*Math.sin(t),(a*this.c2a2+i)*s)},apply(e,t){if(this.applyRadians(e,t),this.degrees&&(t.x*=180/Math.PI,t.y*=180/Math.PI),this.longitudeFirst){const e=t.x;t.x=t.y,t.y=e}return t},applyRadians(e,t){const i=e.x,n=e.y,s=e.z,o=Math.sqrt(i*i+n*n);if(0==o)return t.set(Math.PI,0,s-this.c);let r=0,a=Math.atan2(n,i),l=0,h=this.a,d=h,c=this.ecc2;for(let e=0;e<30;++e){const e=l,t=r;r=Math.atan(s/o/(1-c*d/(d+l)));const i=Math.sin(r);if(d=h/Math.sqrt(1-c*i*i),l=o/Math.cos(r)-d,Math.abs(l-e)<.001&&Math.abs(r-t)<1e-10)break}return t.set(r,a,l)},normal(e,t){const i=this.applyRadians(e,t),n=i.x,s=i.y,o=Math.cos(n),r=Math.cos(s)*o,a=Math.sin(s)*o,l=Math.sin(n);return t.set(r,a,l)}});const I=F,v=O().add("Geodetic",I),x=e.Algorithm;var C=t.n(x);const M=1e7,N=5e5,j=.9996;function P(e,t,i,n){const s=e.getSemiMajorAxis(),o=1-(e.getSemiMinorAxis()/s)**2,r=o/(1-o),a=(1-Math.sqrt(1-o))/(1+Math.sqrt(1-o));this.southernHemisphere=!i,this.eastingFirst=!n,this.a=s,this.ecc2=o,this.EE=r,this.E8=8*r,this.E9=9*r,this.E252=252*r,this.e1=a,this.A=j*(s*(1-o/4-3*o*o/64-5*o*o*o/256)),this.B=3*a/2-7*a*a*a/32,this.C=21*a*a/16-55*a*a*a*a/32,this.D=151*a*a*a/96,this.E=s*(1-o),this.W=1-o/4-3*o*o/64-5*o*o*o/256,this.X=3*o/8+3*o*o/32+45*o*o*o/1024,this.Y=15*o*o/256+45*o*o*o/1024,this.Z=35*o*o*o/3072,this.longitude0=C().radians(6*t-183),this.geodeticConverter=new v(e,!0,!0)}Object.assign(P.prototype,{convert(e,t){if(this.eastingFirst)var i=e.y,n=e.x;else i=e.x,n=e.y;let s=this.southernHemisphere;i<0&&(s=!this.southernHemisphere,i=-i),s&&(i-=M),n-=N;const o=i/this.A,r=o+this.B*Math.sin(2*o)+this.C*Math.sin(4*o)+this.D*Math.sin(6*o),a=Math.sin(r)**2,l=Math.cos(r),h=Math.tan(r),d=this.a/Math.sqrt(1-this.ecc2*a),c=h**2,p=h**8,u=this.EE*c,g=u*u,_=this.E/(1-this.ecc2*a)**1.5,w=n/(d*j),O=(5+3*c+10*u-4*g-this.E9)*w**4/24,y=(61+90*c+298*u+45*p-this.E252-3*g)*w**6/720,m=(5-2*u+28*c-3*g+this.E8+24*p)*w**5/120,S=r-d*h/_*(w*w/2-O+y),f=this.longitude0+(w-(1+2*c+u)*w**3/6+m)/l;return this.geodeticConverter.convertRadians(S,f,e.z,t)},apply(e,t){const i=this.geodeticConverter.applyRadians(e,t),n=i.x,s=i.y,o=Math.tan(n),r=Math.cos(n),a=this.EE,l=this.a/Math.sqrt(1-this.ecc2*Math.sin(n)**2),h=o*o,d=h*h*h,c=a*r*r,p=r*(s-this.longitude0),u=this.a*(this.W*n-this.X*Math.sin(2*n)+this.Y*Math.sin(4*n)-this.Z*Math.sin(6*n)),g=j*l*(p+(1-h+c)*p**3/6+(5-18*d+72*c-58*a)*p**5/120)+N;let _=j*(u+l*o*(p*p/2+(5-h+9*c+4*c*c)*p**4/24+(61-58*d+600*c-330*a)*p**6/720));return n<0?(_+=M,this.southernHemisphere||(_=-_)):this.southernHemisphere&&(_=-_),this.eastingFirst?t.set(g,_,i.z):t.set(_,g,i.z)}});const V=P,z=O().add("UniversalTransverseMercator",V);function G(){}Object.assign(G.prototype,{convert:(e,t)=>t.assign(e),apply:(e,t)=>t.assign(e),slerp(e,t,i){const n=e.magnitude(),s=t.magnitude();return e.normalize(),t.normalize(),C().simpleSlerp(e,t,i).multiply(C().lerp(n,s,i))}});const T=G,D=O().add("Geocentric",T);let E=0;const k=E++,L=E++,A=E++,B={GD:k,GDC:k,UTM:L,GC:A,GCC:A,GS:A},R=/^Z(\d+)$/,U={GD:k,UTM:L,GC:A,getReferenceFrame(e,t){switch(this.getCoordinateSystem(e)){case k:return new v(this.getEllipsoid(e),this.getLatitudeFirst(e),t);case L:return new z(this.getEllipsoid(e),this.getZone(e),this.getNorthernHemisphere(e),this.getNorthingFirst(e));case A:return new D}return new v(b.WE,!0,t)},getElevationFrame(e,t){return new v(this.getEllipsoid(e),!0,t)},getCoordinateSystem(e){for(const t of e){const e=B[t];if(void 0!==e)return e}return k},getEllipsoid(e){for(const t of e){const e=b[t];if(void 0!==e)return e}return b.WE},getEllipsoidString(e){for(const t of e){if(void 0!==b[t])return t}return"WE"},isStandardOrder(e){switch(this.getCoordinateSystem(e)){case k:return this.getLatitudeFirst(e);case L:return this.getNorthingFirst(e);case A:return!0}return this.getLatitudeFirst(e)},getLatitudeFirst(e){for(const t of e)if("longitude_first"===t)return!1;return!0},getNorthingFirst(e){for(const t of e)if("easting_first"===t)return!1;return!0},getZone(e){for(const t of e){const e=t.match(R);if(e)return parseInt(e[1])}return 1},getNorthernHemisphere(e){for(const t of e)if("S"===t)return!1;return!0}},X=O().add("GeospatialObject",U),W=e.X3DCast;var q=t.n(W);const H=e.Vector3;var Y=t.n(H);const Z=e.Matrix4;var $=t.n(Z);const K=new(Y()),J=new(Y()),Q=new(Y()),ee=new(Y()),te=new(Y()),ie=new(Y());function ne(e){this.addType(_().X3DGeospatialObject),this.radians=!1,this.origin=new(Y()),this.originMatrix=new($()),this.invOriginMatrix=new($())}function se(e,t){return this.invOriginMatrix.multVecMatrix(this.referenceFrame.convert(e,t))}function oe(e,t){return this.referenceFrame.apply(this.originMatrix.multVecMatrix(K.assign(e)),t)}function re(e,t){return this.invOriginMatrix.multDirMatrix(this.elevationFrame.normal(this.originMatrix.multVecMatrix(K.assign(e)),t))}function ae(e,t){return le.call(this,e,t).multRight(this.invOriginMatrix)}function le(e,t){return this.referenceFrame.convert(e,Q),this.elevationFrame.normal(Q,te),ee.set(0,0,1).cross(te),ee.equals(Y().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),t.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,Q.x,Q.y,Q.z,1)}Object.assign(ne.prototype,{initialize(){this._geoSystem.addInterest("set_geoSystem__",this),this._geoOrigin.addInterest("set_geoOrigin__",this),this.set_geoSystem__(),this.set_geoOrigin__()},set_geoSystem__(){this.coordinateSystem=X.getCoordinateSystem(this._geoSystem),this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians),this.elevationFrame=X.getElevationFrame(this._geoSystem,this.radians),this.standardOrder=X.isStandardOrder(this._geoSystem)},set_geoOrigin__(){this.geoOriginNode&&(this.geoOriginNode.removeInterest("set_origin__",this),this.geoOriginNode.removeInterest("set_rotateYUp__",this),this.geoOriginNode.removeInterest("addNodeEvent",this)),this.geoOriginNode=q()(_().GeoOrigin,this._geoOrigin),this.geoOriginNode&&(this.geoOriginNode.addInterest("set_origin__",this),this.geoOriginNode.addInterest("set_rotateYUp__",this),this.geoOriginNode.addInterest("addNodeEvent",this)),this.set_origin__(),this.set_rotateYUp__()},set_origin__(){this.geoOriginNode?this.geoOriginNode.getOrigin(this.origin):this.origin.set(0,0,0),this.set_originMatrix__()},set_originMatrix__(){if(this.geoOriginNode){var e=this.origin;this.elevationFrame.normal(e,te),ee.set(0,0,1).cross(te),ee.equals(Y().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),this.originMatrix.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,e.x,e.y,e.z,1),this.invOriginMatrix.assign(this.originMatrix).inverse()}},set_rotateYUp__(){this.geoOriginNode&&this.geoOriginNode._rotateYUp.getValue()?(this.getCoord=se,this.getGeoCoord=oe,this.getGeoUpVector=re,this.getLocationMatrix=ae):(delete this.getCoord,delete this.getGeoCoord,delete this.getGeoUpVector,delete this.getLocationMatrix)},getReferenceFrame(){return this.referenceFrame},getStandardOrder(){return this.standardOrder},getCoord(e,t){return this.referenceFrame.convert(e,t).subtract(this.origin)},getGeoCoord(e,t){return this.referenceFrame.apply(K.assign(e).add(this.origin),t)},getGeoElevation(e){return this.getGeoCoord(e,J).z},getGeoUpVector(e,t){return this.elevationFrame.normal(K.assign(e).add(this.origin),t)},getLocationMatrix(e,t){var i=this.origin,n=le.call(this,e,t);return n[12]-=i.x,n[13]-=i.y,n[14]-=i.z,n},dispose(){}}),Object.defineProperties(ne,c().getStaticProperties("X3DGeospatialObject","Geospatial",1));const he=ne,de=O().add("X3DGeospatialObject",he),ce=e.Triangle3;var pe=t.n(ce);function ue(e){u().call(this,e),de.call(this,e),this.addType(_().GeoCoordinate)}Object.assign(Object.setPrototypeOf(ue.prototype,u().prototype),de.prototype,{initialize(){u().prototype.initialize.call(this),de.prototype.initialize.call(this)},set1Point:(()=>{const e=new(Y());return function(t,i){this._point[t]=this.getGeoCoord(i,e)}})(),get1Point:(()=>{const e=new(Y());return function(t,i){if(t<this.length){const n=this.point;return t*=3,this.getCoord(e.set(n[t],n[t+1],n[t+2]),i)}return i.set(0,0,0)}})(),addPoint:(()=>{const e=new(Y()),t=new(Y());return function(i,n){if(i<this.length){const s=this.point;i*=3,this.getCoord(e.set(s[i],s[i+1],s[i+2]),t),n.push(t[0],t[1],t[2],1)}else n.push(0,0,0,1)}})(),addPoints:(()=>{const e=new(Y()),t=new(Y());return function(i){const n=this.point,s=3*this.length;for(let o=0;o<s;o+=3)this.getCoord(e.set(n[o],n[o+1],n[o+2]),t),i.push(t[0],t[1],t[2],1);return i}})(),getNormal:(()=>{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,s,o){const r=this.length;return n<r&&s<r&&o<r?pe().normal(this.get1Point(n,e),this.get1Point(s,t),this.get1Point(o,i),new(Y())):new(Y())}})(),getQuadNormal:(()=>{const e=new(Y()),t=new(Y()),i=new(Y()),n=new(Y());return function(s,o,r,a){const l=this.length;return s<l&&o<l&&r<l&&a<l?pe().quadNormal(this.get1Point(s,e),this.get1Point(o,t),this.get1Point(r,i),this.get1Point(a,n),new(Y())):new(Y())}})(),dispose(){de.prototype.dispose.call(this),u().prototype.dispose.call(this)}}),Object.defineProperties(ue,{...c().getStaticProperties("GeoCoordinate","Geospatial",1,"coord","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"point",new(o().MFVec3d))]),enumerable:!0}});const ge=ue,_e=O().add("GeoCoordinate",ge),we=e.X3DGeometryNode;var Oe=t.n(we);const ye=e.Vector2;var me=t.n(ye);function Se(e){Oe().call(this,e),de.call(this,e),this.addType(_().GeoElevationGrid),this._set_height.setUnit("length"),this._creaseAngle.setUnit("angle"),this._height.setUnit("length")}Object.assign(Object.setPrototypeOf(Se.prototype,Oe().prototype),de.prototype,{initialize(){Oe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._set_height.addFieldInterest(this._height),this._color.addInterest("set_color__",this),this._texCoord.addInterest("set_texCoord__",this),this._normal.addInterest("set_normal__",this),this.set_color__(),this.set_texCoord__(),this.set_normal__()},set_color__(){this.colorNode?.removeInterest("requestRebuild",this),this.colorNode=q()(_().X3DColorNode,this._color),this.colorNode?.addInterest("requestRebuild",this),this.setTransparent(this.colorNode?.isTransparent())},set_texCoord__(){this.texCoordNode?.removeInterest("requestRebuild",this),this.texCoordNode=q()(_().X3DTextureCoordinateNode,this._texCoord),this.texCoordNode?.addInterest("requestRebuild",this),this.setTextureCoordinate(this.texCoordNode)},set_normal__(){this.normalNode?.removeInterest("requestRebuild",this),this.normalNode=q()(_().X3DNormalNode,this._normal),this.normalNode?.addInterest("requestRebuild",this)},getColor(){return this.colorNode},getTexCoord(){return this.texCoordNode},getNormal(){return this.normalNode},getTangent(){return this.tangentNode},getHeight(e){return e<this._height.length?this._height[e]*this._yScale.getValue():0},createTexCoords(){const e=[],t=this._xDimension.getValue(),i=this._zDimension.getValue(),n=t-1,s=i-1;for(let o=0;o<i;++o)for(let i=0;i<t;++i)e.push(new(me())(i/n,o/s));return e},createNormals(e,t,i){const n=!this._ccw.getValue(),s=new Map,o=[];for(let t=0;t<e.length;++t)s.set(t,[]);for(let i=0;i<t.length;i+=3){const r=t[i],a=t[i+1],l=t[i+2];s.get(r).push(o.length),s.get(a).push(o.length+1),s.get(l).push(o.length+2);const h=pe().normal(e[r],e[a],e[l],new(Y()));n&&h.negate(),o.push(h),o.push(h),o.push(h)}return this._normalPerVertex.getValue()?this.refineNormals(s,o,i??this._creaseAngle.getValue()):o},createCoordIndex(){const e=[],t=this._xDimension.getValue(),i=t-1,n=this._zDimension.getValue()-1;for(let s=0;s<n;++s)for(let n=0;n<i;++n){const i=s*t+n,o=(s+1)*t+n,r=(s+1)*t+(n+1),a=s*t+(n+1);e.push(i),e.push(r),e.push(o),e.push(i),e.push(a),e.push(r)}return e},createPoints(){const e=[],t=this._xDimension.getValue(),i=this._zDimension.getValue(),n=this._xSpacing.getValue(),s=this._zSpacing.getValue();if(this.getStandardOrder())for(let o=0;o<i;++o)for(let i=0;i<t;++i){const r=new(Y())(s*o,n*i,this.getHeight(i+o*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}else for(let o=0;o<i;++o)for(let i=0;i<t;++i){const r=new(Y())(n*i,s*o,this.getHeight(i+o*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}return e},build(){if(this._xDimension.getValue()<2||this._zDimension.getValue()<2)return;const e=this._colorPerVertex.getValue(),t=this._normalPerVertex.getValue(),i=this.createCoordIndex(),n=this.getColor(),s=this.getTexCoord(),o=this.getNormal(),r=this.getTangent(),a=this.createPoints(),l=this.getColors(),h=this.getMultiTexCoords(),d=this.getNormals(),c=this.getTangent(),p=this.getVertices();let u=0;if(s)s.init(h);else{var g=this.createTexCoords(),_=this.getTexCoords();h.push(_)}for(let w=0;w<i.length;++u)for(let O=0;O<6;++O,++w){const O=i[w],{x:y,y:m,z:S}=a[O];if(n?.addColor(e?O:u,l),s)s.addPoint(O,h);else{const{x:e,y:t}=g[O];_.push(e,t,0,1)}o?.addVector(t?O:u,d),r?.addVector(t?O:u,c),p.push(y,m,S,1)}if(!o){const e=this.createNormals(a,i);for(const{x:t,y:i,z:n}of e)d.push(t,i,n)}this.setSolid(this._solid.getValue()),this.setCCW(this._ccw.getValue())},dispose(){de.prototype.dispose.call(this),Oe().prototype.dispose.call(this)}}),Object.defineProperties(Se,{...c().getStaticProperties("GeoElevationGrid","Geospatial",1,"geometry","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_height",new(o().MFDouble)),new(a())(_().initializeOnly,"geoGridOrigin",new(o().SFVec3d)),new(a())(_().initializeOnly,"xDimension",new(o().SFInt32)),new(a())(_().initializeOnly,"zDimension",new(o().SFInt32)),new(a())(_().initializeOnly,"xSpacing",new(o().SFDouble)(1)),new(a())(_().initializeOnly,"zSpacing",new(o().SFDouble)(1)),new(a())(_().inputOutput,"yScale",new(o().SFFloat)(1)),new(a())(_().initializeOnly,"solid",new(o().SFBool)(!0)),new(a())(_().initializeOnly,"ccw",new(o().SFBool)(!0)),new(a())(_().initializeOnly,"creaseAngle",new(o().SFDouble)),new(a())(_().initializeOnly,"colorPerVertex",new(o().SFBool)(!0)),new(a())(_().initializeOnly,"normalPerVertex",new(o().SFBool)(!0)),new(a())(_().inputOutput,"color",new(o().SFNode)),new(a())(_().inputOutput,"texCoord",new(o().SFNode)),new(a())(_().inputOutput,"tangent",new(o().SFNode)),new(a())(_().inputOutput,"normal",new(o().SFNode)),new(a())(_().initializeOnly,"height",new(o().MFDouble)(0,0))]),enumerable:!0}});const fe=Se,be=O().add("GeoElevationGrid",fe),Fe=e.X3DChildNode;var Ie=t.n(Fe);const ve=e.X3DBoundedObject;var xe=t.n(ve);const Ce=e.TraverseType;var Me=t.n(Ce);const Ne=e.Group;var je=t.n(Ne);const Pe=e.Inline;var Ve=t.n(Pe);const ze=e.Box3;var Ge=t.n(ze),Te=new(Y());function De(e){Ie().call(this,e),xe().call(this,e),de.call(this,e),this.addType(_().GeoLOD),this._range.setUnit("length"),this.unload=!1,this.rootGroup=new(je())(this.getBrowser().getPrivateScene()),this.rootInline=new(Ve())(e),this.child1Inline=new(Ve())(e),this.child2Inline=new(Ve())(e),this.child3Inline=new(Ve())(e),this.child4Inline=new(Ve())(e),this.childrenLoaded=!1,this.childBBox=new(Ge()),this.keepCurrentLevel=!1,this.modelViewMatrix=new($())}Object.assign(Object.setPrototypeOf(De.prototype,Ie().prototype),xe().prototype,de.prototype,{initialize(){Ie().prototype.initialize.call(this),xe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._rootNode.addFieldInterest(this.rootGroup._children),this.rootGroup._children=this._rootNode,this.rootGroup.setPrivate(!0),this.rootGroup.setup(),this.rootInline._loadState.addInterest("set_rootLoadState__",this),this.child1Inline._loadState.addInterest("set_childLoadState__",this),this.child2Inline._loadState.addInterest("set_childLoadState__",this),this.child3Inline._loadState.addInterest("set_childLoadState__",this),this.child4Inline._loadState.addInterest("set_childLoadState__",this),this._rootUrl.addFieldInterest(this.rootInline._url),this._child1Url.addFieldInterest(this.child1Inline._url),this._child2Url.addFieldInterest(this.child2Inline._url),this._child3Url.addFieldInterest(this.child3Inline._url),this._child4Url.addFieldInterest(this.child4Inline._url),this.rootInline._load=!0,this.child1Inline._load=!1,this.child2Inline._load=!1,this.child3Inline._load=!1,this.child4Inline._load=!1,this.rootInline._url=this._rootUrl,this.child1Inline._url=this._child1Url,this.child2Inline._url=this._child2Url,this.child3Inline._url=this._child3Url,this.child4Inline._url=this._child4Url,this.rootInline.setup(),this.child1Inline.setup(),this.child2Inline.setup(),this.child3Inline.setup(),this.child4Inline.setup()},getBBox(e,t){if(this._bboxSize.getValue().equals(this.getDefaultBBoxSize())){switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:return this._rootNode.length?this.rootGroup.getBBox(e,t):this.rootInline.getBBox(e,t);case 1:{const i=this.childBBox;return e.set(),e.add(this.child1Inline.getBBox(i,t)),e.add(this.child2Inline.getBBox(i,t)),e.add(this.child3Inline.getBBox(i,t)),e.add(this.child4Inline.getBBox(i,t)),e}}return e.set()}return e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},set_rootLoadState__(){0===this._level_changed.getValue()&&(this._rootNode.length||this.rootInline.checkLoadState()===_().COMPLETE_STATE&&(this._children=this.rootInline.getInternalScene().getRootNodes(),this.childrenLoaded=!1))},set_childLoadState__(){if(1===this._level_changed.getValue()){var e=0;if(this.child1Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child1Inline.checkLoadState()!==_().FAILED_STATE||++e,this.child2Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child2Inline.checkLoadState()!==_().FAILED_STATE||++e,this.child3Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child3Inline.checkLoadState()!==_().FAILED_STATE||++e,this.child4Inline.checkLoadState()!==_().COMPLETE_STATE&&this.child4Inline.checkLoadState()!==_().FAILED_STATE||++e,4===e){this.childrenLoaded=!0;var t=this._children;t.length=0;for(var i=0,n=(s=this.child1Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i]);for(i=0,n=(s=this.child2Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i]);for(i=0,n=(s=this.child3Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i]);var s;for(i=0,n=(s=this.child4Inline.getInternalScene().getRootNodes()).length;i<n;++i)t.push(s[i])}}},set_childCameraObject__(){this.setCameraObject(this.child1Inline.isCameraObject()||this.child2Inline.isCameraObject()||this.child3Inline.isCameraObject()||this.child4Inline.isCameraObject())},set_childPickableObject__(){this.setPickableObject(this.child1Inline.isPickableObject()||this.child2Inline.isPickableObject()||this.child3Inline.isPickableObject()||this.child4Inline.isPickableObject())},getLevel(e){return this.getDistance(e)<this._range.getValue()?1:0},getDistance(e){return e.translate(this.getCoord(this._center.getValue(),Te)),e.origin.magnitude()},traverse(e,t){switch(e){case Me().PICKING:var i=this.getBrowser().getPickingHierarchy();return i.push(this),this.traverseChildren(e,t),void i.pop();case Me().DISPLAY:var n=this.getLevel(this.modelViewMatrix.assign(t.getModelViewMatrix().get()));if(n!==this._level_changed.getValue())switch(this._level_changed=n,n){case 0:this.child1Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child2Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child3Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child4Inline._isCameraObject.removeInterest("set_childCameraObject__",this),this.child1Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this.child2Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this.child3Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this.child4Inline._isPickableObject.removeInterest("set_childPickableObject__",this),this._rootNode.length?(this.rootGroup._isCameraObject.addFieldInterest(this._isCameraObject),this.rootGroup._isPickableObject.addFieldInterest(this._isPickableObject),this.setCameraObject(this.rootGroup.isCameraObject()),this.setPickableObject(this.rootGroup.isPickableObject()),this._children=this._rootNode,this.childrenLoaded=!1):this.rootInline.checkLoadState()==_().COMPLETE_STATE&&(this.rootInline._isCameraObject.addFieldInterest(this._isCameraObject),this.rootInline._isPickableObject.addFieldInterest(this._isPickableObject),this.setCameraObject(this.rootInline.isCameraObject()),this.setPickableObject(this.rootInline.isPickableObject()),this._children=this.rootInline.getInternalScene().getRootNodes(),this.childrenLoaded=!1),this.unload&&(this.child1Inline._load=!1,this.child2Inline._load=!1,this.child3Inline._load=!1,this.child4Inline._load=!1);break;case 1:this._rootNode.length?(this.rootGroup._isCameraObject.removeFieldInterest(this._isCameraObject),this.rootGroup._isPickableObject.removeFieldInterest(this._isPickableObject)):(this.rootInline._isCameraObject.removeFieldInterest(this._isCameraObject),this.rootInline._isPickableObject.removeFieldInterest(this._isPickableObject)),this.child1Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child2Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child3Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child4Inline._isCameraObject.addInterest("set_childCameraObject__",this),this.child1Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.child2Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.child3Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.child4Inline._isPickableObject.addInterest("set_childPickableObject__",this),this.set_childCameraObject__(),this.set_childPickableObject__(),this.child1Inline._load.getValue()?this.set_childLoadState__():(this.child1Inline._load=!0,this.child2Inline._load=!0,this.child3Inline._load=!0,this.child4Inline._load=!0)}return void this.traverseChildren(e,t);default:return void this.traverseChildren(e,t)}},traverseChildren(e,t){switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:this._rootNode.length?this.rootGroup.traverse(e,t):this.rootInline.traverse(e,t);break;case 1:this.child1Inline.traverse(e,t),this.child2Inline.traverse(e,t),this.child3Inline.traverse(e,t),this.child4Inline.traverse(e,t)}},dispose(){de.prototype.dispose.call(this),xe().prototype.dispose.call(this),Ie().prototype.dispose.call(this)}}),Object.defineProperties(De,{...c().getStaticProperties("GeoLOD","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().initializeOnly,"rootUrl",new(o().MFString)),new(a())(_().initializeOnly,"child1Url",new(o().MFString)),new(a())(_().initializeOnly,"child2Url",new(o().MFString)),new(a())(_().initializeOnly,"child3Url",new(o().MFString)),new(a())(_().initializeOnly,"child4Url",new(o().MFString)),new(a())(_().initializeOnly,"center",new(o().SFVec3d)),new(a())(_().initializeOnly,"range",new(o().SFFloat)(10)),new(a())(_().outputOnly,"level_changed",new(o().SFInt32)(-1)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().initializeOnly,"rootNode",new(o().MFNode)),new(a())(_().outputOnly,"children",new(o().MFNode))]),enumerable:!0}});const Ee=De,ke=O().add("GeoLOD",Ee),Le=e.X3DTransformMatrix3DNode;var Ae=t.n(Le),Be=new($());function Re(e){Ae().call(this,e),de.call(this,e),this.addType(_().GeoLocation)}Object.assign(Object.setPrototypeOf(Re.prototype,Ae().prototype),de.prototype,{initialize(){Ae().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.setMatrix(this.getLocationMatrix(this._geoCoords.getValue(),Be))},dispose(){de.prototype.dispose.call(this),Ae().prototype.dispose.call(this)}}),Object.defineProperties(Re,{...c().getStaticProperties("GeoLocation","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(o().SFVec3d)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(o().MFNode)),new(a())(_().inputOnly,"removeChildren",new(o().MFNode)),new(a())(_().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const Ue=Re,Xe=O().add("GeoLocation",Ue),We=e.X3DInfoNode;var qe=t.n(We);const He=e.X3DUrlObject;var Ye=t.n(He);function Ze(e){qe().call(this,e),Ye().call(this,e),this.addType(_().GeoMetadata)}Object.assign(Object.setPrototypeOf(Ze.prototype,qe().prototype),Ye().prototype,{initialize(){qe().prototype.initialize.call(this),Ye().prototype.initialize.call(this)},requestImmediateLoad(e=!0){},dispose(){Ye().prototype.dispose.call(this),qe().prototype.dispose.call(this)}}),Object.defineProperties(Ze,{...c().getStaticProperties("GeoMetadata","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().inputOutput,"load",new(o().SFBool)(!0)),new(a())(_().inputOutput,"url",new(o().MFString)),new(a())(_().inputOutput,"autoRefresh",new(o().SFTime)(0)),new(a())(_().inputOutput,"autoRefreshTimeLimit",new(o().SFTime)(3600)),new(a())(_().inputOutput,"summary",new(o().MFString)),new(a())(_().inputOutput,"data",new(o().MFNode))]),enumerable:!0}});const $e=Ze,Ke=O().add("GeoMetadata",$e);function Je(e){c().call(this,e),this.addType(_().GeoOrigin),this.radians=!1}Object.assign(Object.setPrototypeOf(Je.prototype,c().prototype),{initialize(){c().prototype.initialize.call(this),this._geoSystem.addInterest("set_geoSystem__",this),this.set_geoSystem__()},set_geoSystem__(){this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians)},getOrigin(e){return this.referenceFrame.convert(this._geoCoords.getValue(),e)}}),Object.defineProperties(Je,{...c().getStaticProperties("GeoOrigin","Geospatial",1,"geoOrigin","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(o().SFVec3d)),new(a())(_().initializeOnly,"rotateYUp",new(o().SFBool))]),enumerable:!0}});const Qe=Je,et=O().add("GeoOrigin",Qe),tt=e.X3DInterpolatorNode;var it=t.n(tt);function nt(e){it().call(this,e),de.call(this,e),this.addType(_().GeoPositionInterpolator),this._value_changed.setUnit("length"),this.geocentric=new D}Object.assign(Object.setPrototypeOf(nt.prototype,it().prototype),de.prototype,{setup(){de.prototype.initialize.call(this),it().prototype.setup.call(this)},initialize(){it().prototype.initialize.call(this),this._keyValue.addInterest("set_keyValue__",this)},set_keyValue__(){const e=this._key,t=this._keyValue;t.length<e.length&&t.resize(e.length,t.length?t[t.length-1]:new(o().SFVec3f))},interpolate:(()=>{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,s,o){this.getCoord(this._keyValue[n].getValue(),e),this.getCoord(this._keyValue[s].getValue(),t);const r=this.geocentric.slerp(e,t,o);this._geovalue_changed=this.getGeoCoord(r,i),this._value_changed=r}})(),dispose(){de.prototype.dispose.call(this),it().prototype.dispose.call(this)}}),Object.defineProperties(nt,{...c().getStaticProperties("GeoPositionInterpolator","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_fraction",new(o().SFFloat)),new(a())(_().inputOutput,"key",new(o().MFFloat)),new(a())(_().inputOutput,"keyValue",new(o().MFVec3d)),new(a())(_().outputOnly,"value_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"geovalue_changed",new(o().SFVec3d))]),enumerable:!0}});const st=nt,ot=O().add("GeoPositionInterpolator",st),rt=e.X3DEnvironmentalSensorNode;var at=t.n(rt);const lt=e.ProximitySensor;var ht=t.n(lt),dt=new(Y());function ct(e){at().call(this,e),de.call(this,e),this.addType(_().GeoProximitySensor),this._position_changed.setUnit("length"),this._centerOfRotation_changed.setUnit("length"),this.proximitySensor=new(ht())(e),this.setCameraObject(this.proximitySensor.isCameraObject()),this.setPickableObject(this.proximitySensor.isPickableObject())}Object.assign(Object.setPrototypeOf(ct.prototype,at().prototype),de.prototype,{initialize(){at().prototype.initialize.call(this),de.prototype.initialize.call(this),this._enabled.addFieldInterest(this.proximitySensor._enabled),this._size.addFieldInterest(this.proximitySensor._size),this._center.addFieldInterest(this.proximitySensor._center),this._geoCenter.addFieldInterest(this._center),this.proximitySensor._isCameraObject.addFieldInterest(this._isCameraObject),this.proximitySensor._isPickableObject.addFieldInterest(this._isPickableObject),this.proximitySensor._isActive.addFieldInterest(this._isActive),this.proximitySensor._enterTime.addFieldInterest(this._enterTime),this.proximitySensor._exitTime.addFieldInterest(this._exitTime),this.proximitySensor._position_changed.addFieldInterest(this._position_changed),this.proximitySensor._orientation_changed.addFieldInterest(this._orientation_changed),this.proximitySensor._centerOfRotation_changed.addFieldInterest(this._centerOfRotation_changed),this.proximitySensor._position_changed.addInterest("set_position__",this),this.proximitySensor._enabled=this._enabled,this.proximitySensor._size=this._size,this.proximitySensor._center=this._center,this.proximitySensor.setup()},set_position__(e){this._geoCoord_changed=this.getGeoCoord(this.proximitySensor._position_changed.getValue(),dt)},traverse(e,t){this.proximitySensor.traverse(e,t)},dispose(){de.prototype.dispose.call(this),at().prototype.dispose.call(this)}}),Object.defineProperties(ct,{...c().getStaticProperties("GeoProximitySensor","Geospatial",2,"children","3.2"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(_().inputOutput,"size",new(o().SFVec3f)),new(a())(_().inputOutput,"center",new(o().SFVec3d)),new(a())(_().inputOutput,"geoCenter",new(o().SFVec3d)),new(a())(_().outputOnly,"isActive",new(o().SFBool)),new(a())(_().outputOnly,"enterTime",new(o().SFTime)),new(a())(_().outputOnly,"exitTime",new(o().SFTime)),new(a())(_().outputOnly,"geoCoord_changed",new(o().SFVec3d)),new(a())(_().outputOnly,"position_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"orientation_changed",new(o().SFRotation)),new(a())(_().outputOnly,"centerOfRotation_changed",new(o().SFVec3f))]),enumerable:!0}});const pt=ct,ut=O().add("GeoProximitySensor",pt),gt=e.X3DTouchSensorNode;var _t=t.n(gt);function wt(e){_t().call(this,e),de.call(this,e),this.addType(_().GeoTouchSensor),this._hitPoint_changed.setUnit("length")}Object.assign(Object.setPrototypeOf(wt.prototype,_t().prototype),de.prototype,{initialize(){_t().prototype.initialize.call(this),de.prototype.initialize.call(this)},set_over__:(()=>{const e=new(Y());return function(t,i,n,s,o){_t().prototype.set_over__.call(this,t,i,n,s,o),this._isOver.getValue()&&(this._hitGeoCoord_changed=this.getGeoCoord(this._hitPoint_changed.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),_t().prototype.dispose.call(this)}}),Object.defineProperties(wt,{...c().getStaticProperties("GeoTouchSensor","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(_().outputOnly,"hitTexCoord_changed",new(o().SFVec2f)),new(a())(_().outputOnly,"hitNormal_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"hitPoint_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"hitGeoCoord_changed",new(o().SFVec3d)),new(a())(_().outputOnly,"isOver",new(o().SFBool)),new(a())(_().outputOnly,"isActive",new(o().SFBool)),new(a())(_().outputOnly,"touchTime",new(o().SFTime))]),enumerable:!0}});const Ot=wt,yt=O().add("GeoTouchSensor",Ot);var mt=new($()),St=new($());function ft(e){Ae().call(this,e),de.call(this,e),this.addType(_().GeoTransform),this._translation.setUnit("length")}Object.assign(Object.setPrototypeOf(ft.prototype,Ae().prototype),de.prototype,{initialize(){Ae().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.getLocationMatrix(this._geoCenter.getValue(),St),mt.set(this._translation.getValue(),this._rotation.getValue(),this._scale.getValue(),this._scaleOrientation.getValue()),this.setMatrix(mt.multRight(St).multLeft(St.inverse()))},dispose(){de.prototype.dispose.call(this),Ae().prototype.dispose.call(this)}}),Object.defineProperties(ft,{...c().getStaticProperties("GeoTransform","Geospatial",2,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"translation",new(o().SFVec3f)),new(a())(_().inputOutput,"rotation",new(o().SFRotation)),new(a())(_().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(a())(_().inputOutput,"scaleOrientation",new(o().SFRotation)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCenter",new(o().SFVec3d)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(o().MFNode)),new(a())(_().inputOnly,"removeChildren",new(o().MFNode)),new(a())(_().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const bt=ft,Ft=O().add("GeoTransform",bt),It=e.X3DViewpointNode;var vt=t.n(It);const xt=e.Viewpoint;var Ct=t.n(xt);const Mt=e.NavigationInfo;var Nt=t.n(Mt);const jt=e.Rotation4;var Pt=t.n(jt);function Vt(e){vt().call(this,e),de.call(this,e),this.addType(_().GeoViewpoint),this.addChildObjects(_().inputOutput,"navType",new(o().MFString)("EXAMINE","ANY"),_().inputOutput,"headlight",new(o().SFBool)(!0)),this._centerOfRotation.setUnit("length"),this._fieldOfView.setUnit("angle"),e.getSpecificationVersion()<=3.2&&(this.addAlias("navType",this._navType),this.addAlias("headlight",this._headlight),this.traverse=zt),this.geoNavigationInfoNode=new(Nt())(e),this.projectionMatrix=new($()),this.elevation=0}function zt(e,t){vt().prototype.traverse.call(this,e,t),this.geoNavigationInfoNode.traverse(e,t)}Object.assign(Object.setPrototypeOf(Vt.prototype,vt().prototype),de.prototype,{initialize(){vt().prototype.initialize.call(this),de.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.logarithmicDepthBuffer=e.HAS_FEATURE_FRAG_DEPTH,this._position.addInterest("set_position__",this),this._positionOffset.addInterest("set_position__",this),this._navType.addFieldInterest(this.geoNavigationInfoNode._type),this._headlight.addFieldInterest(this.geoNavigationInfoNode._headlight),this.geoNavigationInfoNode._type=this._navType,this.geoNavigationInfoNode._headlight=this._headlight,this.geoNavigationInfoNode.setup(),this.getExecutionContext().getSpecificationVersion()<=3.2&&(this._navigationInfo=this.geoNavigationInfoNode),this.set_position__()},getRelativeTransformation:Ct().prototype.getRelativeTransformation,setInterpolators:Ct().prototype.setInterpolators,getFieldOfView:Ct().prototype.getFieldOfView,setFieldOfView:Ct().prototype.setFieldOfView,getUserFieldOfView:Ct().prototype.getUserFieldOfView,getScreenScale:Ct().prototype.getScreenScale,getViewportSize:Ct().prototype.getViewportSize,getLookAtDistance:Ct().prototype.getLookAtDistance,getProjectionMatrixWithLimits:Ct().prototype.getProjectionMatrixWithLimits,getLogarithmicDepthBuffer(){return this.logarithmicDepthBuffer},getPosition:(()=>{const e=new(Y());return function(){return this.getCoord(this._position.getValue(),e)}})(),setPosition:(()=>{const e=new(Y());return function(t){this._position.setValue(this.getGeoCoord(t,e))}})(),set_position__:(()=>{const e=new(Y());return function(){this.getCoord(this._position.getValue(),e),this.elevation=this.getGeoElevation(e.add(this._positionOffset.getValue()))}})(),getOrientation:(()=>{const e=new($()),t=new(Pt());return function(){const i=this.getLocationMatrix(this._position.getValue(),e).submatrix;return t.setMatrix(i),t.multLeft(this._orientation.getValue())}})(),setOrientation:(()=>{const e=new($()),t=new(Pt());return function(i){const n=this.getLocationMatrix(this._position.getValue(),e).submatrix;t.setMatrix(n),this._orientation.setValue(t.inverse().multLeft(i))}})(),getCenterOfRotation:(()=>{const e=new(Y());return function(){return this.getCoord(this._centerOfRotation.getValue(),e)}})(),setCenterOfRotation:(()=>{const e=new(Y());return function(t){this._centerOfRotation.setValue(this.getGeoCoord(t,e))}})(),getMaxFarValue:()=>1e9,getUpVector:(()=>{const e=new(Y()),t=new(Y());return function(i=!1){return!i||this.getUserPosition().magnitude()<65e5?(this.getCoord(this._position.getValue(),e),this.getGeoUpVector(e.add(this._positionOffset.getValue()),t)):t.assign(Y().zAxis)}})(),getSpeedFactor(){return(Math.max(this.elevation,0)+10)/10*this._speedFactor.getValue()},dispose(){de.prototype.dispose.call(this),vt().prototype.dispose.call(this)}}),Object.defineProperties(Vt,{...c().getStaticProperties("GeoViewpoint","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_bind",new(o().SFBool)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().inputOutput,"position",new(o().SFVec3d)(0,0,1e5)),new(a())(_().inputOutput,"orientation",new(o().SFRotation)),new(a())(_().inputOutput,"centerOfRotation",new(o().SFVec3d)),new(a())(_().inputOutput,"fieldOfView",new(o().SFFloat)(.785398)),new(a())(_().inputOutput,"nearDistance",new(o().SFFloat)(-1)),new(a())(_().inputOutput,"farDistance",new(o().SFFloat)(-1)),new(a())(_().inputOutput,"viewAll",new(o().SFBool)),new(a())(_().inputOutput,"jump",new(o().SFBool)(!0)),new(a())(_().inputOutput,"retainUserOffsets",new(o().SFBool)),new(a())(_().initializeOnly,"speedFactor",new(o().SFFloat)(1)),new(a())(_().outputOnly,"isBound",new(o().SFBool)),new(a())(_().outputOnly,"bindTime",new(o().SFTime)),new(a())(_().inputOutput,"navigationInfo",new(o().SFNode))]),enumerable:!0}});const Gt=Vt,Tt=O().add("GeoViewpoint",Gt);n().add({name:"Geospatial",concreteNodes:[_e,be,ke,Xe,Ke,et,ot,ut,yt,Ft,Tt],abstractNodes:[de]});O().add("GeospatialComponent",undefined)})();
1
+ /* X_ITE v11.3.0 */
2
+ const e=window[Symbol.for("X_ITE.X3D-11.3.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const o=e.Fields;var s=t.n(o);const r=e.X3DFieldDefinition;var a=t.n(r);const h=e.FieldDefinitionArray;var l=t.n(h);const d=e.X3DNode;var c=t.n(d);const p=e.X3DCoordinateNode;var u=t.n(p);const g=e.X3DConstants;var _=t.n(g);const w=e.Namespace;var O=t.n(w);function y(e,t){switch(arguments.length){case 0:this.semiMajorAxis=0,this.semiMinorAxis=0;break;case 2:this.semiMajorAxis=e,this.semiMinorAxis=t;break;case 3:const i=arguments[1];this.semiMajorAxis=e,this.semiMinorAxis=e*(1-1/i)}}Object.assign(y.prototype,{getSemiMajorAxis(){return this.semiMajorAxis},getSemiMinorAxis(){return this.semiMinorAxis},toString(){return`${this.semiMajorAxis} ${this.semiMinorAxis}`}});const f=y,S=O().add("Spheroid3",f),m={AA:new S(6377563.396,299.3249646,!0),AM:new S(6377340.189,299.3249646,!0),AN:new S(6378160,298.25,!0),BN:new S(6377483.865,299.1528128,!0),BR:new S(6377397.155,299.1528128,!0),CC:new S(6378206.4,294.9786982,!0),CD:new S(6378249.145,293.465,!0),EA:new S(6377276.345,300.8017,!0),EB:new S(6377298.556,300.8017,!0),EC:new S(6377301.243,300.8017,!0),ED:new S(6377295.664,300.8017,!0),EE:new S(6377304.063,300.8017,!0),EF:new S(6377309.613,300.8017,!0),FA:new S(6378155,298.3,!0),HE:new S(6378200,298.3,!0),HO:new S(6378270,297,!0),ID:new S(6378160,298.247,!0),IN:new S(6378388,297,!0),KA:new S(6378245,298.3,!0),RF:new S(6378137,298.257222101,!0),SA:new S(6378160,298.25,!0),WD:new S(6378135,298.26,!0),WE:new S(6378137,298.257223563,!0),SUN:new S(696342e3,1/9e-6,!0),MERCURY:new S(2439700,2439700),VENUS:new S(6051800,6051800),MOON:new S(1738140,1735970),MARS:new S(3395428,3377678),JUPITER:new S(71492e3,66854e3),SATURN:new S(60268e3,54364e3),URANUS:new S(2555e3,24973e3),NEPTUNE:new S(24764e3,24341e3),PLUTO:new S(1153e3,1153e3)},F=O().add("ReferenceEllipsoids",m);function v(e,t,i){this.longitudeFirst=!t,this.degrees=!i,this.a=e.getSemiMajorAxis(),this.c=e.getSemiMinorAxis(),this.c2a2=(e.getSemiMinorAxis()/this.a)**2,this.ecc2=1-this.c2a2}Object.assign(v.prototype,{convert(e,t){const i=e.z;if(this.longitudeFirst)var n=e.y,o=e.x;else n=e.x,o=e.y;return this.degrees&&(n*=Math.PI/180,o*=Math.PI/180),this.convertRadians(n,o,i,t)},convertRadians(e,t,i,n){const o=Math.sin(e),s=o**2,r=Math.cos(e),a=this.a/Math.sqrt(1-this.ecc2*s),h=(a+i)*r;return n.set(h*Math.cos(t),h*Math.sin(t),(a*this.c2a2+i)*o)},apply(e,t){if(this.applyRadians(e,t),this.degrees&&(t.x*=180/Math.PI,t.y*=180/Math.PI),this.longitudeFirst){const e=t.x;t.x=t.y,t.y=e}return t},applyRadians(e,t){const i=e.x,n=e.y,o=e.z,s=Math.sqrt(i*i+n*n);if(0==s)return t.set(Math.PI,0,o-this.c);let r=0,a=Math.atan2(n,i),h=0,l=this.a,d=l,c=this.ecc2;for(let e=0;e<30;++e){const e=h,t=r;r=Math.atan(o/s/(1-c*d/(d+h)));const i=Math.sin(r);if(d=l/Math.sqrt(1-c*i*i),h=s/Math.cos(r)-d,Math.abs(h-e)<.001&&Math.abs(r-t)<1e-10)break}return t.set(r,a,h)},normal(e,t){const i=this.applyRadians(e,t),n=i.x,o=i.y,s=Math.cos(n),r=Math.cos(o)*s,a=Math.sin(o)*s,h=Math.sin(n);return t.set(r,a,h)}});const b=v,x=O().add("Geodetic",b),I=e.Algorithm;var N=t.n(I);const M=1e7,C=5e5,V=.9996;function z(e,t,i,n){const o=e.getSemiMajorAxis(),s=1-(e.getSemiMinorAxis()/o)**2,r=s/(1-s),a=(1-Math.sqrt(1-s))/(1+Math.sqrt(1-s));this.southernHemisphere=!i,this.eastingFirst=!n,this.a=o,this.ecc2=s,this.EE=r,this.E8=8*r,this.E9=9*r,this.E252=252*r,this.e1=a,this.A=V*(o*(1-s/4-3*s*s/64-5*s*s*s/256)),this.B=3*a/2-7*a*a*a/32,this.C=21*a*a/16-55*a*a*a*a/32,this.D=151*a*a*a/96,this.E=o*(1-s),this.W=1-s/4-3*s*s/64-5*s*s*s/256,this.X=3*s/8+3*s*s/32+45*s*s*s/1024,this.Y=15*s*s/256+45*s*s*s/1024,this.Z=35*s*s*s/3072,this.longitude0=N().radians(6*t-183),this.geodeticConverter=new x(e,!0,!0)}Object.assign(z.prototype,{convert(e,t){if(this.eastingFirst)var i=e.y,n=e.x;else i=e.x,n=e.y;let o=this.southernHemisphere;i<0&&(o=!this.southernHemisphere,i=-i),o&&(i-=M),n-=C;const s=i/this.A,r=s+this.B*Math.sin(2*s)+this.C*Math.sin(4*s)+this.D*Math.sin(6*s),a=Math.sin(r)**2,h=Math.cos(r),l=Math.tan(r),d=this.a/Math.sqrt(1-this.ecc2*a),c=l**2,p=l**8,u=this.EE*c,g=u*u,_=this.E/(1-this.ecc2*a)**1.5,w=n/(d*V),O=(5+3*c+10*u-4*g-this.E9)*w**4/24,y=(61+90*c+298*u+45*p-this.E252-3*g)*w**6/720,f=(5-2*u+28*c-3*g+this.E8+24*p)*w**5/120,S=r-d*l/_*(w*w/2-O+y),m=this.longitude0+(w-(1+2*c+u)*w**3/6+f)/h;return this.geodeticConverter.convertRadians(S,m,e.z,t)},apply(e,t){const i=this.geodeticConverter.applyRadians(e,t),n=i.x,o=i.y,s=Math.tan(n),r=Math.cos(n),a=this.EE,h=this.a/Math.sqrt(1-this.ecc2*Math.sin(n)**2),l=s*s,d=l*l*l,c=a*r*r,p=r*(o-this.longitude0),u=this.a*(this.W*n-this.X*Math.sin(2*n)+this.Y*Math.sin(4*n)-this.Z*Math.sin(6*n)),g=V*h*(p+(1-l+c)*p**3/6+(5-18*d+72*c-58*a)*p**5/120)+C;let _=V*(u+h*s*(p*p/2+(5-l+9*c+4*c*c)*p**4/24+(61-58*d+600*c-330*a)*p**6/720));return n<0?(_+=M,this.southernHemisphere||(_=-_)):this.southernHemisphere&&(_=-_),this.eastingFirst?t.set(g,_,i.z):t.set(_,g,i.z)}});const P=z,G=O().add("UniversalTransverseMercator",P);function j(){}Object.assign(j.prototype,{convert:(e,t)=>t.assign(e),apply:(e,t)=>t.assign(e),slerp(e,t,i){const n=e.magnitude(),o=t.magnitude();return e.normalize(),t.normalize(),N().simpleSlerp(e,t,i).multiply(N().lerp(n,o,i))}});const D=j,T=O().add("Geocentric",D);let E=0;const A=E++,U=E++,L=E++,R={GD:A,GDC:A,UTM:U,GC:L,GCC:L,GS:L},B=/^Z(\d+)$/,k={GD:A,UTM:U,GC:L,getReferenceFrame(e,t){switch(this.getCoordinateSystem(e)){case A:return new x(this.getEllipsoid(e),this.getLatitudeFirst(e),t);case U:return new G(this.getEllipsoid(e),this.getZone(e),this.getNorthernHemisphere(e),this.getNorthingFirst(e));case L:return new T}return new x(F.WE,!0,t)},getElevationFrame(e,t){return new x(this.getEllipsoid(e),!0,t)},getCoordinateSystem(e){for(const t of e){const e=R[t];if(void 0!==e)return e}return A},getEllipsoid(e){for(const t of e){const e=F[t];if(void 0!==e)return e}return F.WE},getEllipsoidString(e){for(const t of e){if(void 0!==F[t])return t}return"WE"},isStandardOrder(e){switch(this.getCoordinateSystem(e)){case A:return this.getLatitudeFirst(e);case U:return this.getNorthingFirst(e);case L:return!0}return this.getLatitudeFirst(e)},getLatitudeFirst(e){for(const t of e)if("longitude_first"===t)return!1;return!0},getNorthingFirst(e){for(const t of e)if("easting_first"===t)return!1;return!0},getZone(e){for(const t of e){const e=t.match(B);if(e)return parseInt(e[1])}return 1},getNorthernHemisphere(e){for(const t of e)if("S"===t)return!1;return!0}},X=O().add("GeospatialObject",k),W=e.X3DCast;var q=t.n(W);const H=e.Vector3;var Y=t.n(H);const Z=e.Matrix4;var $=t.n(Z);const K=new(Y()),J=new(Y()),Q=new(Y()),ee=new(Y()),te=new(Y()),ie=new(Y());function ne(e){this.addType(_().X3DGeospatialObject),this.radians=!1,this.origin=new(Y()),this.originMatrix=new($()),this.invOriginMatrix=new($())}function oe(e,t){return this.invOriginMatrix.multVecMatrix(this.referenceFrame.convert(e,t))}function se(e,t){return this.referenceFrame.apply(this.originMatrix.multVecMatrix(K.assign(e)),t)}function re(e,t){return this.invOriginMatrix.multDirMatrix(this.elevationFrame.normal(this.originMatrix.multVecMatrix(K.assign(e)),t))}function ae(e,t){return he.call(this,e,t).multRight(this.invOriginMatrix)}function he(e,t){return this.referenceFrame.convert(e,Q),this.elevationFrame.normal(Q,te),ee.set(0,0,1).cross(te),ee.equals(Y().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),t.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,Q.x,Q.y,Q.z,1)}Object.assign(ne.prototype,{initialize(){this._geoSystem.addInterest("set_geoSystem__",this),this._geoOrigin.addInterest("set_geoOrigin__",this),this.set_geoSystem__(),this.set_geoOrigin__()},set_geoSystem__(){this.coordinateSystem=X.getCoordinateSystem(this._geoSystem),this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians),this.elevationFrame=X.getElevationFrame(this._geoSystem,this.radians),this.standardOrder=X.isStandardOrder(this._geoSystem)},set_geoOrigin__(){this.geoOriginNode&&(this.geoOriginNode.removeInterest("set_origin__",this),this.geoOriginNode.removeInterest("set_rotateYUp__",this),this.geoOriginNode.removeInterest("addNodeEvent",this)),this.geoOriginNode=q()(_().GeoOrigin,this._geoOrigin),this.geoOriginNode&&(this.geoOriginNode.addInterest("set_origin__",this),this.geoOriginNode.addInterest("set_rotateYUp__",this),this.geoOriginNode.addInterest("addNodeEvent",this)),this.set_origin__(),this.set_rotateYUp__()},set_origin__(){this.geoOriginNode?this.geoOriginNode.getOrigin(this.origin):this.origin.set(0,0,0),this.set_originMatrix__()},set_originMatrix__(){if(this.geoOriginNode){var e=this.origin;this.elevationFrame.normal(e,te),ee.set(0,0,1).cross(te),ee.equals(Y().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),this.originMatrix.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,e.x,e.y,e.z,1),this.invOriginMatrix.assign(this.originMatrix).inverse()}},set_rotateYUp__(){this.geoOriginNode&&this.geoOriginNode._rotateYUp.getValue()?(this.getCoord=oe,this.getGeoCoord=se,this.getGeoUpVector=re,this.getLocationMatrix=ae):(delete this.getCoord,delete this.getGeoCoord,delete this.getGeoUpVector,delete this.getLocationMatrix)},getReferenceFrame(){return this.referenceFrame},getStandardOrder(){return this.standardOrder},getCoord(e,t){return this.referenceFrame.convert(e,t).subtract(this.origin)},getGeoCoord(e,t){return this.referenceFrame.apply(K.assign(e).add(this.origin),t)},getGeoElevation(e){return this.getGeoCoord(e,J).z},getGeoUpVector(e,t){return this.elevationFrame.normal(K.assign(e).add(this.origin),t)},getLocationMatrix(e,t){var i=this.origin,n=he.call(this,e,t);return n[12]-=i.x,n[13]-=i.y,n[14]-=i.z,n},dispose(){}}),Object.defineProperties(ne,c().getStaticProperties("X3DGeospatialObject","Geospatial",1));const le=ne,de=O().add("X3DGeospatialObject",le),ce=e.Triangle3;var pe=t.n(ce);function ue(e){u().call(this,e),de.call(this,e),this.addType(_().GeoCoordinate)}Object.assign(Object.setPrototypeOf(ue.prototype,u().prototype),de.prototype,{initialize(){u().prototype.initialize.call(this),de.prototype.initialize.call(this)},set1Point:(()=>{const e=new(Y());return function(t,i){this._point[t]=this.getGeoCoord(i,e)}})(),get1Point:(()=>{const e=new(Y());return function(t,i){if(t<this.length){const n=this.point;return t*=3,this.getCoord(e.set(n[t],n[t+1],n[t+2]),i)}return i.set(0,0,0)}})(),addPoint:(()=>{const e=new(Y()),t=new(Y());return function(i,n){if(i<this.length){const o=this.point;i*=3,this.getCoord(e.set(o[i],o[i+1],o[i+2]),t),n.push(t[0],t[1],t[2],1)}else n.push(0,0,0,1)}})(),addPoints:(()=>{const e=new(Y()),t=new(Y());return function(i){const n=this.point,o=3*this.length;for(let s=0;s<o;s+=3)this.getCoord(e.set(n[s],n[s+1],n[s+2]),t),i.push(t[0],t[1],t[2],1);return i}})(),getNormal:(()=>{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,o,s){const r=this.length;return n<r&&o<r&&s<r?pe().normal(this.get1Point(n,e),this.get1Point(o,t),this.get1Point(s,i),new(Y())):new(Y())}})(),getQuadNormal:(()=>{const e=new(Y()),t=new(Y()),i=new(Y()),n=new(Y());return function(o,s,r,a){const h=this.length;return o<h&&s<h&&r<h&&a<h?pe().quadNormal(this.get1Point(o,e),this.get1Point(s,t),this.get1Point(r,i),this.get1Point(a,n),new(Y())):new(Y())}})(),dispose(){de.prototype.dispose.call(this),u().prototype.dispose.call(this)}}),Object.defineProperties(ue,{...c().getStaticProperties("GeoCoordinate","Geospatial",1,"coord","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"point",new(s().MFVec3d))]),enumerable:!0}});const ge=ue,_e=O().add("GeoCoordinate",ge),we=e.X3DGeometryNode;var Oe=t.n(we);const ye=e.Vector2;var fe=t.n(ye);function Se(e){Oe().call(this,e),de.call(this,e),this.addType(_().GeoElevationGrid),this._set_height.setUnit("length"),this._creaseAngle.setUnit("angle"),this._height.setUnit("length")}Object.assign(Object.setPrototypeOf(Se.prototype,Oe().prototype),de.prototype,{initialize(){Oe().prototype.initialize.call(this),de.prototype.initialize.call(this),this._set_height.addFieldInterest(this._height),this._color.addInterest("set_color__",this),this._texCoord.addInterest("set_texCoord__",this),this._normal.addInterest("set_normal__",this),this.set_color__(),this.set_texCoord__(),this.set_normal__()},set_color__(){this.colorNode?.removeInterest("requestRebuild",this),this.colorNode=q()(_().X3DColorNode,this._color),this.colorNode?.addInterest("requestRebuild",this),this.setTransparent(this.colorNode?.isTransparent())},set_texCoord__(){this.texCoordNode?.removeInterest("requestRebuild",this),this.texCoordNode=q()(_().X3DTextureCoordinateNode,this._texCoord),this.texCoordNode?.addInterest("requestRebuild",this),this.setTextureCoordinate(this.texCoordNode)},set_normal__(){this.normalNode?.removeInterest("requestRebuild",this),this.normalNode=q()(_().X3DNormalNode,this._normal),this.normalNode?.addInterest("requestRebuild",this)},getColor(){return this.colorNode},getTexCoord(){return this.texCoordNode},getNormal(){return this.normalNode},getTangent(){return this.tangentNode},getHeight(e){return e<this._height.length?this._height[e]*this._yScale.getValue():0},createTexCoords(){const e=[],t=this._xDimension.getValue(),i=this._zDimension.getValue(),n=t-1,o=i-1;for(let s=0;s<i;++s)for(let i=0;i<t;++i)e.push(new(fe())(i/n,s/o));return e},createNormals(e,t,i){const n=!this._ccw.getValue(),o=new Map,s=[];for(let t=0;t<e.length;++t)o.set(t,[]);for(let i=0;i<t.length;i+=3){const r=t[i],a=t[i+1],h=t[i+2];o.get(r).push(s.length),o.get(a).push(s.length+1),o.get(h).push(s.length+2);const l=pe().normal(e[r],e[a],e[h],new(Y()));n&&l.negate(),s.push(l),s.push(l),s.push(l)}return this._normalPerVertex.getValue()?this.refineNormals(o,s,i??this._creaseAngle.getValue()):s},createCoordIndex(){const e=[],t=this._xDimension.getValue(),i=t-1,n=this._zDimension.getValue()-1;for(let o=0;o<n;++o)for(let n=0;n<i;++n){const i=o*t+n,s=(o+1)*t+n,r=(o+1)*t+(n+1),a=o*t+(n+1);e.push(i),e.push(r),e.push(s),e.push(i),e.push(a),e.push(r)}return e},createPoints(){const e=[],t=this._xDimension.getValue(),i=this._zDimension.getValue(),n=this._xSpacing.getValue(),o=this._zSpacing.getValue();if(this.getStandardOrder())for(let s=0;s<i;++s)for(let i=0;i<t;++i){const r=new(Y())(o*s,n*i,this.getHeight(i+s*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}else for(let s=0;s<i;++s)for(let i=0;i<t;++i){const r=new(Y())(n*i,o*s,this.getHeight(i+s*t));r.add(this._geoGridOrigin.getValue()),e.push(this.getCoord(r,r))}return e},build(){if(this._xDimension.getValue()<2||this._zDimension.getValue()<2)return;const e=this._colorPerVertex.getValue(),t=this._normalPerVertex.getValue(),i=this.createCoordIndex(),n=this.getColor(),o=this.getTexCoord(),s=this.getNormal(),r=this.getTangent(),a=this.createPoints(),h=this.getColors(),l=this.getMultiTexCoords(),d=this.getNormals(),c=this.getTangent(),p=this.getVertices();let u=0;if(o)o.init(l);else{var g=this.createTexCoords(),_=this.getTexCoords();l.push(_)}for(let w=0;w<i.length;++u)for(let O=0;O<6;++O,++w){const O=i[w],{x:y,y:f,z:S}=a[O];if(n?.addColor(e?O:u,h),o)o.addPoint(O,l);else{const{x:e,y:t}=g[O];_.push(e,t,0,1)}s?.addVector(t?O:u,d),r?.addVector(t?O:u,c),p.push(y,f,S,1)}if(!s){const e=this.createNormals(a,i);for(const{x:t,y:i,z:n}of e)d.push(t,i,n)}this.setSolid(this._solid.getValue()),this.setCCW(this._ccw.getValue())},dispose(){de.prototype.dispose.call(this),Oe().prototype.dispose.call(this)}}),Object.defineProperties(Se,{...c().getStaticProperties("GeoElevationGrid","Geospatial",1,"geometry","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_height",new(s().MFDouble)),new(a())(_().initializeOnly,"geoGridOrigin",new(s().SFVec3d)),new(a())(_().initializeOnly,"xDimension",new(s().SFInt32)),new(a())(_().initializeOnly,"zDimension",new(s().SFInt32)),new(a())(_().initializeOnly,"xSpacing",new(s().SFDouble)(1)),new(a())(_().initializeOnly,"zSpacing",new(s().SFDouble)(1)),new(a())(_().inputOutput,"yScale",new(s().SFFloat)(1)),new(a())(_().initializeOnly,"solid",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"ccw",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"creaseAngle",new(s().SFDouble)),new(a())(_().initializeOnly,"colorPerVertex",new(s().SFBool)(!0)),new(a())(_().initializeOnly,"normalPerVertex",new(s().SFBool)(!0)),new(a())(_().inputOutput,"color",new(s().SFNode)),new(a())(_().inputOutput,"texCoord",new(s().SFNode)),new(a())(_().inputOutput,"tangent",new(s().SFNode)),new(a())(_().inputOutput,"normal",new(s().SFNode)),new(a())(_().initializeOnly,"height",new(s().MFDouble)(0,0))]),enumerable:!0}});const me=Se,Fe=O().add("GeoElevationGrid",me),ve=e.X3DChildNode;var be=t.n(ve);const xe=e.X3DBoundedObject;var Ie=t.n(xe);const Ne=e.TraverseType;var Me=t.n(Ne);const Ce=e.Group;var Ve=t.n(Ce);const ze=e.Inline;var Pe=t.n(ze);const Ge=e.Box3;var je=t.n(Ge);function De(e){be().call(this,e),Ie().call(this,e),de.call(this,e),this.addType(_().GeoLOD),this.setVisibleObject(!0),this._range.setUnit("length"),this.unload=!1,this.rootGroup=new(Ve())(this.getBrowser().getPrivateScene()),this.rootInline=new(Pe())(e),this.child1Inline=new(Pe())(e),this.child2Inline=new(Pe())(e),this.child3Inline=new(Pe())(e),this.child4Inline=new(Pe())(e),this.childInlines=[this.child1Inline,this.child2Inline,this.child3Inline,this.child4Inline],this.childrenLoaded=!1,this.childBBox=new(je()),this.keepCurrentLevel=!1,this.modelViewMatrix=new($())}Object.assign(Object.setPrototypeOf(De.prototype,be().prototype),Ie().prototype,de.prototype,{initialize(){be().prototype.initialize.call(this),Ie().prototype.initialize.call(this),de.prototype.initialize.call(this),this._rootNode.addFieldInterest(this.rootGroup._children),this.rootGroup._children=this._rootNode,this.rootGroup.setPrivate(!0),this.rootInline._loadState.addInterest("set_rootLoadState__",this);for(const e of this.childInlines)e._loadState.addInterest("set_childLoadState__",this);this._rootUrl.addFieldInterest(this.rootInline._url),this._child1Url.addFieldInterest(this.child1Inline._url),this._child2Url.addFieldInterest(this.child2Inline._url),this._child3Url.addFieldInterest(this.child3Inline._url),this._child4Url.addFieldInterest(this.child4Inline._url),this.rootInline._load=!0;for(const e of this.childInlines)e._load=!1;this.rootInline._url=this._rootUrl,this.child1Inline._url=this._child1Url,this.child2Inline._url=this._child2Url,this.child3Inline._url=this._child3Url,this.child4Inline._url=this._child4Url,this.rootInline.setup();for(const e of this.childInlines)e.setup()},getBBox(e,t){if(this.isDefaultBBoxSize()){switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:return this._rootNode.length?this.rootGroup.getBBox(e,t):this.rootInline.getBBox(e,t);case 1:{const i=this.childBBox;e.set();for(const n of this.childInlines)e.add(n.getBBox(i,t));return e}}return e.set()}return e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},set_rootLoadState__(){0===this._level_changed.getValue()&&(this._rootNode.length||this.rootInline.checkLoadState()===_().COMPLETE_STATE&&(this._children=this.rootInline.getInternalScene().getRootNodes(),this.childrenLoaded=!1))},set_childLoadState__(){if(1!==this._level_changed.getValue())return;let e=0;for(const t of this.childInlines)t.checkLoadState()!==_().COMPLETE_STATE&&t.checkLoadState()!==_().FAILED_STATE||++e;if(4===e){this.childrenLoaded=!0;const e=this._children;e.length=0;for(const t of this.childInlines){const i=t.getInternalScene().getRootNodes();for(const t of i)e.push(t)}}},set_childPointingObject__(){this.setPointingObject(this.childInlines.some((e=>e.isPointingObject())))},set_childCameraObject__(){this.setCameraObject(this.childInlines.some((e=>e.isCameraObject())))},set_childPickableObject__(){this.setPickableObject(this.childInlines.some((e=>e.isPickableObject())))},set_childCollisionObject__(){this.setCollisionObject(this.childInlines.some((e=>e.isCollisionObject())))},set_childShadowObject__(){this.setShadowObject(this.childInlines.some((e=>e.isShadowObject())))},getLevel(e){return this.getDistance(e)<this._range.getValue()?1:0},getDistance:function(){const e=new(Y());return function(t){return t.translate(this.getCoord(this._center.getValue(),e)),t.origin.magnitude()}}(),traverse(e,t){switch(e){case Me().PICKING:{const i=this.getBrowser().getPickingHierarchy();return i.push(this),this.traverseChildren(e,t),void i.pop()}case Me().DISPLAY:{const i=this.getLevel(this.modelViewMatrix.assign(t.getModelViewMatrix().get()));if(i!==this._level_changed.getValue())switch(this._level_changed=i,i){case 0:for(const e of this.childInlines)e._isPointingObject.removeInterest("set_childPointingObject__",this),e._isCameraObject.removeInterest("set_childCameraObject__",this),e._isPickableObject.removeInterest("set_childPickableObject__",this),e._isCollisionObject.removeInterest("set_childCollisionObject__",this),e._isShadowObject.removeInterest("set_childShadowObject__",this);if(this._rootNode.length?(this.connectChildNode(this.rootGroup,[Me().DISPLAY]),this._children=this._rootNode,this.childrenLoaded=!1):this.rootInline.checkLoadState()==_().COMPLETE_STATE&&(this.connectChildNode(this.rootInline,[Me().DISPLAY]),this._children=this.rootInline.getInternalScene().getRootNodes(),this.childrenLoaded=!1),this.unload)for(const e of this.childInlines)e._load=!1;break;case 1:this._rootNode.length?this.disconnectChildNode(this.rootGroup):this.disconnectChildNode(this.rootInline);for(const e of this.childInlines)e._isPointingObject.addInterest("set_childPointingObject__",this),e._isCameraObject.addInterest("set_childCameraObject__",this),e._isPickableObject.addInterest("set_childPickableObject__",this),e._isCollisionObject.addInterest("set_childCollisionObject__",this),e._isShadowObject.addInterest("set_childShadowObject__",this);if(this.set_childPointingObject__(),this.set_childCameraObject__(),this.set_childPickableObject__(),this.set_childCollisionObject__(),this.set_childShadowObject__(),this.child1Inline._load.getValue())this.set_childLoadState__();else for(const e of this.childInlines)e._load=!0}return void this.traverseChildren(e,t)}default:return void this.traverseChildren(e,t)}},traverseChildren(e,t){switch(this.childrenLoaded?this._level_changed.getValue():0){case 0:this._rootNode.length?this.rootGroup.traverse(e,t):this.rootInline.traverse(e,t);break;case 1:for(const i of this.childInlines)i.traverse(e,t)}},dispose(){de.prototype.dispose.call(this),Ie().prototype.dispose.call(this),be().prototype.dispose.call(this)}}),Object.defineProperties(De,{...c().getStaticProperties("GeoLOD","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().initializeOnly,"rootUrl",new(s().MFString)),new(a())(_().initializeOnly,"child1Url",new(s().MFString)),new(a())(_().initializeOnly,"child2Url",new(s().MFString)),new(a())(_().initializeOnly,"child3Url",new(s().MFString)),new(a())(_().initializeOnly,"child4Url",new(s().MFString)),new(a())(_().initializeOnly,"center",new(s().SFVec3d)),new(a())(_().initializeOnly,"range",new(s().SFFloat)(10)),new(a())(_().outputOnly,"level_changed",new(s().SFInt32)(-1)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().initializeOnly,"rootNode",new(s().MFNode)),new(a())(_().outputOnly,"children",new(s().MFNode))]),enumerable:!0}});const Te=De,Ee=O().add("GeoLOD",Te),Ae=e.X3DTransformMatrix3DNode;var Ue=t.n(Ae),Le=new($());function Re(e){Ue().call(this,e),de.call(this,e),this.addType(_().GeoLocation)}Object.assign(Object.setPrototypeOf(Re.prototype,Ue().prototype),de.prototype,{initialize(){Ue().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.setMatrix(this.getLocationMatrix(this._geoCoords.getValue(),Le))},dispose(){de.prototype.dispose.call(this),Ue().prototype.dispose.call(this)}}),Object.defineProperties(Re,{...c().getStaticProperties("GeoLocation","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(s().SFVec3d)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(s().MFNode)),new(a())(_().inputOnly,"removeChildren",new(s().MFNode)),new(a())(_().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const Be=Re,ke=O().add("GeoLocation",Be),Xe=e.X3DInfoNode;var We=t.n(Xe);const qe=e.X3DUrlObject;var He=t.n(qe);function Ye(e){We().call(this,e),He().call(this,e),this.addType(_().GeoMetadata)}Object.assign(Object.setPrototypeOf(Ye.prototype,We().prototype),He().prototype,{initialize(){We().prototype.initialize.call(this),He().prototype.initialize.call(this)},async requestImmediateLoad(e=!0){},dispose(){He().prototype.dispose.call(this),We().prototype.dispose.call(this)}}),Object.defineProperties(Ye,{...c().getStaticProperties("GeoMetadata","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().inputOutput,"load",new(s().SFBool)(!0)),new(a())(_().inputOutput,"url",new(s().MFString)),new(a())(_().inputOutput,"autoRefresh",new(s().SFTime)(0)),new(a())(_().inputOutput,"autoRefreshTimeLimit",new(s().SFTime)(3600)),new(a())(_().inputOutput,"summary",new(s().MFString)),new(a())(_().inputOutput,"data",new(s().MFNode))]),enumerable:!0}});const Ze=Ye,$e=O().add("GeoMetadata",Ze);function Ke(e){c().call(this,e),this.addType(_().GeoOrigin),this.radians=!1}Object.assign(Object.setPrototypeOf(Ke.prototype,c().prototype),{initialize(){c().prototype.initialize.call(this),this._geoSystem.addInterest("set_geoSystem__",this),this.set_geoSystem__()},set_geoSystem__(){this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians)},getOrigin(e){return this.referenceFrame.convert(this._geoCoords.getValue(),e)}}),Object.defineProperties(Ke,{...c().getStaticProperties("GeoOrigin","Geospatial",1,"geoOrigin","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCoords",new(s().SFVec3d)),new(a())(_().initializeOnly,"rotateYUp",new(s().SFBool))]),enumerable:!0}});const Je=Ke,Qe=O().add("GeoOrigin",Je),et=e.X3DInterpolatorNode;var tt=t.n(et);function it(e){tt().call(this,e),de.call(this,e),this.addType(_().GeoPositionInterpolator),this._value_changed.setUnit("length"),this.geocentric=new T}Object.assign(Object.setPrototypeOf(it.prototype,tt().prototype),de.prototype,{setup(){de.prototype.initialize.call(this),tt().prototype.setup.call(this)},initialize(){tt().prototype.initialize.call(this),this._keyValue.addInterest("set_keyValue__",this)},set_keyValue__(){const e=this._key,t=this._keyValue;t.length<e.length&&t.resize(e.length,t.length?t[t.length-1]:new(s().SFVec3f))},interpolate:(()=>{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,o,s){this.getCoord(this._keyValue[n].getValue(),e),this.getCoord(this._keyValue[o].getValue(),t);const r=this.geocentric.slerp(e,t,s);this._geovalue_changed=this.getGeoCoord(r,i),this._value_changed=r}})(),dispose(){de.prototype.dispose.call(this),tt().prototype.dispose.call(this)}}),Object.defineProperties(it,{...c().getStaticProperties("GeoPositionInterpolator","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_fraction",new(s().SFFloat)),new(a())(_().inputOutput,"key",new(s().MFFloat)),new(a())(_().inputOutput,"keyValue",new(s().MFVec3d)),new(a())(_().outputOnly,"value_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"geovalue_changed",new(s().SFVec3d))]),enumerable:!0}});const nt=it,ot=O().add("GeoPositionInterpolator",nt),st=e.X3DEnvironmentalSensorNode;var rt=t.n(st);const at=e.ProximitySensor;var ht=t.n(at),lt=new(Y());function dt(e){rt().call(this,e),de.call(this,e),this.addType(_().GeoProximitySensor),this._position_changed.setUnit("length"),this._centerOfRotation_changed.setUnit("length"),this.proximitySensor=new(ht())(e)}Object.assign(Object.setPrototypeOf(dt.prototype,rt().prototype),de.prototype,{initialize(){rt().prototype.initialize.call(this),de.prototype.initialize.call(this),this._enabled.addFieldInterest(this.proximitySensor._enabled),this._size.addFieldInterest(this.proximitySensor._size),this._center.addFieldInterest(this.proximitySensor._center),this._geoCenter.addFieldInterest(this._center),this.proximitySensor._isActive.addFieldInterest(this._isActive),this.proximitySensor._enterTime.addFieldInterest(this._enterTime),this.proximitySensor._exitTime.addFieldInterest(this._exitTime),this.proximitySensor._position_changed.addFieldInterest(this._position_changed),this.proximitySensor._orientation_changed.addFieldInterest(this._orientation_changed),this.proximitySensor._centerOfRotation_changed.addFieldInterest(this._centerOfRotation_changed),this.proximitySensor._position_changed.addInterest("set_position__",this),this.proximitySensor._enabled=this._enabled,this.proximitySensor._size=this._size,this.proximitySensor._center=this._center,this.proximitySensor.setup(),this.connectChildNode(this.proximitySensor)},set_position__(e){this._geoCoord_changed=this.getGeoCoord(this.proximitySensor._position_changed.getValue(),lt)},traverse(e,t){this.proximitySensor.traverse(e,t)},dispose(){de.prototype.dispose.call(this),rt().prototype.dispose.call(this)}}),Object.defineProperties(dt,{...c().getStaticProperties("GeoProximitySensor","Geospatial",2,"children","3.2"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(s().SFBool)(!0)),new(a())(_().inputOutput,"size",new(s().SFVec3f)),new(a())(_().inputOutput,"center",new(s().SFVec3d)),new(a())(_().inputOutput,"geoCenter",new(s().SFVec3d)),new(a())(_().outputOnly,"isActive",new(s().SFBool)),new(a())(_().outputOnly,"enterTime",new(s().SFTime)),new(a())(_().outputOnly,"exitTime",new(s().SFTime)),new(a())(_().outputOnly,"geoCoord_changed",new(s().SFVec3d)),new(a())(_().outputOnly,"position_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"orientation_changed",new(s().SFRotation)),new(a())(_().outputOnly,"centerOfRotation_changed",new(s().SFVec3f))]),enumerable:!0}});const ct=dt,pt=O().add("GeoProximitySensor",ct),ut=e.X3DTouchSensorNode;var gt=t.n(ut);function _t(e){gt().call(this,e),de.call(this,e),this.addType(_().GeoTouchSensor),this._hitPoint_changed.setUnit("length")}Object.assign(Object.setPrototypeOf(_t.prototype,gt().prototype),de.prototype,{initialize(){gt().prototype.initialize.call(this),de.prototype.initialize.call(this)},set_over__:(()=>{const e=new(Y());return function(t,i,n,o,s){gt().prototype.set_over__.call(this,t,i,n,o,s),this._isOver.getValue()&&(this._hitGeoCoord_changed=this.getGeoCoord(this._hitPoint_changed.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),gt().prototype.dispose.call(this)}}),Object.defineProperties(_t,{...c().getStaticProperties("GeoTouchSensor","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(s().SFBool)(!0)),new(a())(_().outputOnly,"hitTexCoord_changed",new(s().SFVec2f)),new(a())(_().outputOnly,"hitNormal_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"hitPoint_changed",new(s().SFVec3f)),new(a())(_().outputOnly,"hitGeoCoord_changed",new(s().SFVec3d)),new(a())(_().outputOnly,"isOver",new(s().SFBool)),new(a())(_().outputOnly,"isActive",new(s().SFBool)),new(a())(_().outputOnly,"touchTime",new(s().SFTime))]),enumerable:!0}});const wt=_t,Ot=O().add("GeoTouchSensor",wt);var yt=new($()),ft=new($());function St(e){Ue().call(this,e),de.call(this,e),this.addType(_().GeoTransform),this._translation.setUnit("length")}Object.assign(Object.setPrototypeOf(St.prototype,Ue().prototype),de.prototype,{initialize(){Ue().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.getLocationMatrix(this._geoCenter.getValue(),ft),yt.set(this._translation.getValue(),this._rotation.getValue(),this._scale.getValue(),this._scaleOrientation.getValue()),this.setMatrix(yt.multRight(ft).multLeft(ft.inverse()))},dispose(){de.prototype.dispose.call(this),Ue().prototype.dispose.call(this)}}),Object.defineProperties(St,{...c().getStaticProperties("GeoTransform","Geospatial",2,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().inputOutput,"translation",new(s().SFVec3f)),new(a())(_().inputOutput,"rotation",new(s().SFRotation)),new(a())(_().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(a())(_().inputOutput,"scaleOrientation",new(s().SFRotation)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCenter",new(s().SFVec3d)),new(a())(_().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(s().MFNode)),new(a())(_().inputOnly,"removeChildren",new(s().MFNode)),new(a())(_().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const mt=St,Ft=O().add("GeoTransform",mt),vt=e.X3DViewpointNode;var bt=t.n(vt);const xt=e.Viewpoint;var It=t.n(xt);const Nt=e.NavigationInfo;var Mt=t.n(Nt);const Ct=e.Rotation4;var Vt=t.n(Ct);function zt(e){bt().call(this,e),de.call(this,e),this.addType(_().GeoViewpoint),this.addChildObjects(_().inputOutput,"navType",new(s().MFString)("EXAMINE","ANY"),_().inputOutput,"headlight",new(s().SFBool)(!0)),this._centerOfRotation.setUnit("length"),this._fieldOfView.setUnit("angle"),e.getSpecificationVersion()<=3.2&&(this.addAlias("navType",this._navType),this.addAlias("headlight",this._headlight),this.traverse=Pt),this.geoNavigationInfoNode=new(Mt())(e),this.projectionMatrix=new($()),this.elevation=0}function Pt(e,t){bt().prototype.traverse.call(this,e,t),this.geoNavigationInfoNode.traverse(e,t)}Object.assign(Object.setPrototypeOf(zt.prototype,bt().prototype),de.prototype,{initialize(){bt().prototype.initialize.call(this),de.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.logarithmicDepthBuffer=e.HAS_FEATURE_FRAG_DEPTH,this._position.addInterest("set_position__",this),this._positionOffset.addInterest("set_position__",this),this._navType.addFieldInterest(this.geoNavigationInfoNode._type),this._headlight.addFieldInterest(this.geoNavigationInfoNode._headlight),this.geoNavigationInfoNode._type=this._navType,this.geoNavigationInfoNode._headlight=this._headlight,this.geoNavigationInfoNode.setup(),this.getExecutionContext().getSpecificationVersion()<=3.2&&(this._navigationInfo=this.geoNavigationInfoNode),this.set_position__()},getRelativeTransformation:It().prototype.getRelativeTransformation,setInterpolators:It().prototype.setInterpolators,getFieldOfView:It().prototype.getFieldOfView,setFieldOfView:It().prototype.setFieldOfView,getUserFieldOfView:It().prototype.getUserFieldOfView,getScreenScale:It().prototype.getScreenScale,getViewportSize:It().prototype.getViewportSize,getLookAtDistance:It().prototype.getLookAtDistance,getProjectionMatrixWithLimits:It().prototype.getProjectionMatrixWithLimits,getLogarithmicDepthBuffer(){return this.logarithmicDepthBuffer},getPosition:(()=>{const e=new(Y());return function(){return this.getCoord(this._position.getValue(),e)}})(),setPosition:(()=>{const e=new(Y());return function(t){this._position.setValue(this.getGeoCoord(t,e))}})(),set_position__:(()=>{const e=new(Y());return function(){this.getCoord(this._position.getValue(),e),this.elevation=this.getGeoElevation(e.add(this._positionOffset.getValue()))}})(),getOrientation:(()=>{const e=new($()),t=new(Vt());return function(){const i=this.getLocationMatrix(this._position.getValue(),e).submatrix;return t.setMatrix(i),t.multLeft(this._orientation.getValue())}})(),setOrientation:(()=>{const e=new($()),t=new(Vt());return function(i){const n=this.getLocationMatrix(this._position.getValue(),e).submatrix;t.setMatrix(n),this._orientation.setValue(t.inverse().multLeft(i))}})(),getCenterOfRotation:(()=>{const e=new(Y());return function(){return this.getCoord(this._centerOfRotation.getValue(),e)}})(),setCenterOfRotation:(()=>{const e=new(Y());return function(t){this._centerOfRotation.setValue(this.getGeoCoord(t,e))}})(),getMaxFarValue:()=>1e9,getUpVector:(()=>{const e=new(Y()),t=new(Y());return function(i=!1){return!i||this.getUserPosition().magnitude()<65e5?(this.getCoord(this._position.getValue(),e),this.getGeoUpVector(e.add(this._positionOffset.getValue()),t)):t.assign(Y().zAxis)}})(),getSpeedFactor(){return(Math.max(this.elevation,0)+10)/10*this._speedFactor.getValue()},dispose(){de.prototype.dispose.call(this),bt().prototype.dispose.call(this)}}),Object.defineProperties(zt,{...c().getStaticProperties("GeoViewpoint","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(_().inputOutput,"metadata",new(s().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(s().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(s().MFString)("GD","WE")),new(a())(_().inputOnly,"set_bind",new(s().SFBool)),new(a())(_().inputOutput,"description",new(s().SFString)),new(a())(_().inputOutput,"position",new(s().SFVec3d)(0,0,1e5)),new(a())(_().inputOutput,"orientation",new(s().SFRotation)),new(a())(_().inputOutput,"centerOfRotation",new(s().SFVec3d)),new(a())(_().inputOutput,"fieldOfView",new(s().SFFloat)(.785398)),new(a())(_().inputOutput,"nearDistance",new(s().SFFloat)(-1)),new(a())(_().inputOutput,"farDistance",new(s().SFFloat)(-1)),new(a())(_().inputOutput,"viewAll",new(s().SFBool)),new(a())(_().inputOutput,"jump",new(s().SFBool)(!0)),new(a())(_().inputOutput,"retainUserOffsets",new(s().SFBool)),new(a())(_().initializeOnly,"speedFactor",new(s().SFFloat)(1)),new(a())(_().outputOnly,"isBound",new(s().SFBool)),new(a())(_().outputOnly,"bindTime",new(s().SFTime)),new(a())(_().inputOutput,"navigationInfo",new(s().SFNode))]),enumerable:!0}});const Gt=zt,jt=O().add("GeoViewpoint",Gt);n().add({name:"Geospatial",concreteNodes:[_e,Fe,Ee,ke,$e,Qe,ot,pt,Ot,Ft,jt],abstractNodes:[de]});O().add("GeospatialComponent",undefined)})();