@openglobus/og 0.15.1 → 0.15.2

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 (145) hide show
  1. package/README.md +10 -4
  2. package/css/og.css +44 -45
  3. package/dist/@openglobus/og.css +1 -1
  4. package/dist/@openglobus/og.esm.js +2 -2
  5. package/dist/@openglobus/og.esm.js.map +1 -1
  6. package/dist/@openglobus/og.umd.js +2 -2
  7. package/dist/@openglobus/og.umd.js.map +1 -1
  8. package/package.json +12 -12
  9. package/src/og/Clock.js +1 -1
  10. package/src/og/Events.js +1 -1
  11. package/src/og/Extent.js +1 -1
  12. package/src/og/Globe.js +3 -5
  13. package/src/og/Popup.js +38 -63
  14. package/src/og/astro/earth.js +2 -2
  15. package/src/og/astro/rotation.js +2 -2
  16. package/src/og/bv/Box.js +1 -0
  17. package/src/og/bv/index.js +1 -1
  18. package/src/og/camera/Camera.js +4 -4
  19. package/src/og/camera/PlanetCamera.js +26 -6
  20. package/src/og/camera/index.js +1 -1
  21. package/src/og/control/Atmosphere.js +3 -8
  22. package/src/og/control/CompassButton.js +4 -5
  23. package/src/og/control/EarthCoordinates.js +3 -2
  24. package/src/og/control/EarthNavigation.js +0 -1
  25. package/src/og/control/GeoImageDragControl.js +2 -2
  26. package/src/og/control/KeyboardNavigation.js +3 -2
  27. package/src/og/control/LayerAnimation.js +2 -2
  28. package/src/og/control/LayerSwitcher.js +5 -4
  29. package/src/og/control/Lighting.js +106 -35
  30. package/src/og/control/MouseNavigation.js +4 -4
  31. package/src/og/control/MouseWheelZoomControl.js +2 -2
  32. package/src/og/control/RulerSwitcher.js +4 -3
  33. package/src/og/control/ScaleControl.js +2 -2
  34. package/src/og/control/ShowFps.js +2 -1
  35. package/src/og/control/SimpleNavigation.js +2 -1
  36. package/src/og/control/SimpleSkyBackground.js +2 -2
  37. package/src/og/control/Sun.js +8 -1
  38. package/src/og/control/ToggleWireframe.js +2 -1
  39. package/src/og/control/TouchNavigation.js +4 -3
  40. package/src/og/control/ZoomControl.js +6 -5
  41. package/src/og/control/index.js +10 -10
  42. package/src/og/control/ruler/RulerScene.js +19 -11
  43. package/src/og/control/selection/Selection.js +1 -1
  44. package/src/og/control/selection/SelectionScene.js +5 -8
  45. package/src/og/control/timeline/TimelineControl.js +3 -4
  46. package/src/og/control/timeline/TimelineModel.js +2 -2
  47. package/src/og/control/timeline/TimelineView.js +10 -5
  48. package/src/og/control/visibleExtent/Segment.js +5 -5
  49. package/src/og/control/visibleExtent/VisibleExtent.js +1 -1
  50. package/src/og/ellipsoid/Ellipsoid.js +3 -3
  51. package/src/og/entity/BaseBillboard.js +2 -2
  52. package/src/og/entity/BillboardHandler.js +10 -2
  53. package/src/og/entity/Entity.js +10 -51
  54. package/src/og/entity/EntityCollection.js +3 -20
  55. package/src/og/entity/GeoObject.js +2 -4
  56. package/src/og/entity/GeoObjectHandler.js +12 -11
  57. package/src/og/entity/Geometry.js +2 -2
  58. package/src/og/entity/GeometryHandler.js +2 -2
  59. package/src/og/entity/Label.js +2 -2
  60. package/src/og/entity/LabelHandler.js +7 -5
  61. package/src/og/entity/Polyline.js +8 -7
  62. package/src/og/entity/Ray.js +1 -2
  63. package/src/og/entity/RayHandler.js +4 -0
  64. package/src/og/entity/Strip.js +8 -5
  65. package/src/og/entity/index.js +1 -1
  66. package/src/og/index.core.js +4 -4
  67. package/src/og/index.js +4 -4
  68. package/src/og/index.webgl.js +3 -3
  69. package/src/og/layer/BaseGeoImage.js +2 -2
  70. package/src/og/layer/GeoImage.js +2 -2
  71. package/src/og/layer/GeoTexture2d.js +1 -1
  72. package/src/og/layer/Layer.js +3 -3
  73. package/src/og/layer/Vector.js +7 -11
  74. package/src/og/layer/WMS.js +2 -1
  75. package/src/og/layer/XYZ.js +2 -4
  76. package/src/og/math/Line3.js +0 -1
  77. package/src/og/math/Plane.js +0 -1
  78. package/src/og/math/Ray.js +0 -1
  79. package/src/og/math/Vec2.js +62 -62
  80. package/src/og/math/Vec3.js +1 -1
  81. package/src/og/math/Vec4.js +1 -1
  82. package/src/og/math/index.js +1 -1
  83. package/src/og/proj/EPSG3857.js +1 -1
  84. package/src/og/proj/EPSG4326.js +1 -1
  85. package/src/og/quadTree/EarthQuadTreeStrategy.js +4 -4
  86. package/src/og/quadTree/MarsQuadTreeStrategy.js +4 -4
  87. package/src/og/quadTree/Node.js +1 -1
  88. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +4 -4
  89. package/src/og/quadTree/index.js +2 -2
  90. package/src/og/renderer/Renderer.js +196 -77
  91. package/src/og/renderer/RendererEvents.js +35 -10
  92. package/src/og/scene/Axes.js +2 -2
  93. package/src/og/scene/Planet.js +47 -75
  94. package/src/og/scene/RenderNode.js +2 -13
  95. package/src/og/scene/SkyBox.js +1 -1
  96. package/src/og/scene/index.js +2 -2
  97. package/src/og/segment/Segment.js +5 -5
  98. package/src/og/segment/SegmentLonLatWgs84.js +2 -3
  99. package/src/og/shaders/drawnode.js +5 -1
  100. package/src/og/shaders/geoObject.js +2 -6
  101. package/src/og/shaders/pickingMask.js +31 -0
  102. package/src/og/terrain/BilTerrain.js +4 -4
  103. package/src/og/terrain/GlobusTerrain.js +7 -7
  104. package/src/og/terrain/MapboxTerrain.js +2 -2
  105. package/src/og/terrain/index.js +2 -2
  106. package/src/og/ui/Button.js +5 -4
  107. package/src/og/ui/Dialog.js +3 -6
  108. package/src/og/ui/Slider.js +29 -3
  109. package/src/og/ui/View.js +5 -5
  110. package/src/og/ui/icons.js +3 -0
  111. package/src/og/utils/FontAtlas.js +2 -2
  112. package/src/og/utils/GeoImageCreator.js +0 -1
  113. package/src/og/utils/NormalMapCreator.js +6 -5
  114. package/src/og/utils/TerrainWorker.js +1 -1
  115. package/src/og/utils/VectorTileCreator.js +4 -4
  116. package/src/og/utils/shared.js +1 -1
  117. package/src/og/webgl/Framebuffer.js +3 -1
  118. package/src/og/webgl/Handler.js +77 -62
  119. package/src/og/webgl/Multisample.js +18 -7
  120. package/src/og/webgl/Program.js +2 -2
  121. package/src/og/webgl/index.js +2 -2
  122. package/types/Popup.d.ts +8 -21
  123. package/types/camera/PlanetCamera.d.ts +1 -0
  124. package/types/control/Sun.d.ts +1 -0
  125. package/types/control/ruler/RulerScene.d.ts +4 -3
  126. package/types/entity/Entity.d.ts +2 -19
  127. package/types/entity/EntityCollection.d.ts +0 -7
  128. package/types/math/Vec2.d.ts +95 -95
  129. package/types/renderer/Renderer.d.ts +28 -16
  130. package/types/scene/Planet.d.ts +2 -7
  131. package/types/shaders/pickingMask.d.ts +2 -0
  132. package/types/ui/Slider.d.ts +3 -0
  133. package/types/ui/View.d.ts +1 -0
  134. package/types/ui/icons.d.ts +1 -0
  135. package/types/webgl/Framebuffer.d.ts +1 -0
  136. package/types/webgl/Handler.d.ts +3 -2
  137. package/src/og/entity/ShapeHandler.js +0 -99
  138. package/src/og/shaders/shape.js +0 -135
  139. package/src/og/shapes/BaseShape.js +0 -557
  140. package/src/og/shapes/Icosphere.js +0 -179
  141. package/src/og/shapes/Sphere.js +0 -100
  142. package/types/entity/ShapeHandler.d.ts +0 -22
  143. package/types/shaders/shape.d.ts +0 -4
  144. package/types/shapes/BaseShape.d.ts +0 -250
  145. package/types/shapes/Sphere.d.ts +0 -41
package/README.md CHANGED
@@ -1,12 +1,18 @@
1
- # OpenGlobus
1
+ <p align="left">
2
+ <a href="https://www.npmjs.com/@openglobus/og">
3
+ <img src="https://img.shields.io/npm/v/@openglobus/og.svg?logo=npm&logoColor=fff&label=NPM+package&color=limegreen" alt="openglobus on npm" />
4
+ </a>&nbsp;
5
+ </p>
6
+
7
+ # Openglobus
2
8
 
3
9
  English | [简体中文](README_CN.md) | [Portuguese-BR](README_pt-BR.md)
4
10
 
5
- [OpenGlobus](http://www.openglobus.org/) is a javascript library designed to display interactive 3d maps and planets
11
+ [Openglobus](http://www.openglobus.org/) is a javascript library designed to display interactive 3d maps and planets
6
12
  with map tiles, imagery and vector data, markers and 3d objects. It uses the WebGL technology, open source and
7
13
  completely free.
8
14
 
9
- The OpenGlobus main goal is to make 3d map features fast, good lookin, user friendly and easy to implement in any
15
+ The Openglobus main goal is to make 3d map features fast, good lookin, user friendly and easy to implement in any
10
16
  related project.
11
17
 
12
18
  ## Getting Start
@@ -76,7 +82,7 @@ yarn add @openglobus/og
76
82
 
77
83
  ## Frameworks integrations
78
84
 
79
- OpenGlobus integrates well with front-end frameworks like React, Angular or Vuejs [Read more here](./framework-intergration.md).
85
+ Openglobus integrates well with front-end frameworks like React, Angular or Vuejs [Read more here](./framework-intergration.md).
80
86
 
81
87
  ## Documentation
82
88
 
package/css/og.css CHANGED
@@ -18,22 +18,9 @@
18
18
  outline: none;
19
19
  cursor: pointer;
20
20
  z-index: 1;
21
- border-radius: 4px;
22
21
  background-color: var(--grey5);
23
22
  }
24
23
 
25
- .og-map-button svg,
26
- .og-map-button svg path {
27
- width: 24px;
28
- height: 24px;
29
- fill: var(--grey6);
30
- }
31
-
32
- .og-button__active.og-map-button svg,
33
- .og-button__active.og-map-button svg path {
34
- fill: white;
35
- }
36
-
37
24
  .ogCenterIcon {
38
25
  height: 12px;
39
26
  width: 12px;
@@ -77,55 +64,43 @@
77
64
  }
78
65
 
79
66
 
80
- .ogAttribution {
81
- background: rgba(255, 255, 255, 0.8);
67
+ .og-attribution {
68
+ background: rgb(206 206 206);
82
69
  text-align: right;
83
70
  bottom: 0;
84
71
  right: 0;
85
72
  position: absolute;
86
- height: 20px;
87
- }
88
-
89
- .ogAttribution img {
90
- max-height: 2em;
91
- width: auto;
92
- height: auto;
93
- max-width: 100%;
94
- vertical-align: middle;
95
- border: 0;
96
- -ms-interpolation-mode: bicubic;
97
- }
98
-
99
- .ogAttribution ul {
100
73
  font-size: .7rem;
101
- color: black;
102
- /*text-shadow: 0 0 2px #fff;*/
103
- margin: 0;
104
74
  padding: 1px 0 1px 0;
105
75
  line-height: 1.375em;
106
76
  font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
77
+ display: flex;
78
+ flex-direction: row;
107
79
  }
108
80
 
109
- .ogAttribution li {
110
- display: inline;
111
- list-style: none;
112
- line-height: inherit;
81
+ .og-attribution .og-attribution__layer {
113
82
  margin-left: 5px;
114
83
  margin-right: 5px;
84
+ align-items: center;
85
+ display: flex;
86
+ }
87
+
88
+ .og-attribution img {
89
+ max-height: 1.3em;
115
90
  }
116
91
 
117
92
  .og-zoomin-button {
118
93
  bottom: 102px;
119
94
  right: 12px;
120
- border-bottom-left-radius: 0;
121
- border-bottom-right-radius: 0;
95
+ border-bottom-left-radius: 0 !important;
96
+ border-bottom-right-radius: 0 !important;
122
97
  }
123
98
 
124
99
  .og-zoomout-button {
125
100
  bottom: 58px;
126
101
  right: 12px;
127
- border-top-left-radius: 0;
128
- border-top-right-radius: 0;
102
+ border-top-left-radius: 0 !important;
103
+ border-top-right-radius: 0 !important;
129
104
  }
130
105
 
131
106
  /* =============================== */
@@ -217,6 +192,10 @@ input {
217
192
  justify-content: flex-end;
218
193
  }
219
194
 
195
+ .og-ddialog .og-ddialog-header .og-ddialog-header__buttons .og-button {
196
+ border-radius: 0;
197
+ }
198
+
220
199
  .og-ddialog .og-ddialog-container {
221
200
  overflow: auto;
222
201
  position: relative;
@@ -239,6 +218,19 @@ input {
239
218
  cursor: default;
240
219
  justify-content: center;
241
220
  color: var(--grey6);
221
+ border-radius: 4px;
222
+ }
223
+
224
+ .og-button svg,
225
+ .og-button svg path {
226
+ width: 24px;
227
+ height: 24px;
228
+ fill: var(--grey6);
229
+ }
230
+
231
+ .og-button__active.og-button svg,
232
+ .og-button__active.og-button svg path {
233
+ fill: white;
242
234
  }
243
235
 
244
236
  .og-button .og-button-text {
@@ -247,10 +239,6 @@ input {
247
239
  font-weight: 400;
248
240
  }
249
241
 
250
- .og-button.og-button__active {
251
-
252
- }
253
-
254
242
  .og-button:hover {
255
243
  background-color: var(--grey4);
256
244
  }
@@ -549,6 +537,17 @@ details[open] {
549
537
  Lighting control
550
538
  */
551
539
 
540
+ .og-suncontrol {
541
+
542
+ }
543
+
544
+ .og-suncontrol-button {
545
+ width: 25px;
546
+ height: 25px;
547
+ float: left;
548
+ margin: 3px;
549
+ }
550
+
552
551
  .og-lighting_button {
553
552
  position: absolute;
554
553
  left: 10px;
@@ -583,7 +582,7 @@ details[open] {
583
582
  .og-lighing .og-option {
584
583
  width: 100%;
585
584
  position: relative;
586
- display: block;
585
+ display: inline-block;
587
586
  flex-direction: row;
588
587
  padding-bottom: 7px;
589
588
  text-overflow: ellipsis;
@@ -1 +1 @@
1
- :root{--grey0:#1e1e1e;--grey1:#434244;--grey2:#3f3f46;--grey3:#bbb;--grey4:#5e5e5e;--grey5:#403b3b;--grey6:#bfbfbf;--grey7:#707070;--grey8:#e2e2e2;--blue0:#1700a9ee}.og-map-button{background-color:var(--grey5);border-radius:4px;cursor:pointer;height:40px;outline:none;position:absolute;width:40px;z-index:1}.og-map-button svg,.og-map-button svg path{fill:var(--grey6);height:24px;width:24px}.og-button__active.og-map-button svg,.og-button__active.og-map-button svg path{fill:#fff}.ogCenterIcon{bottom:50%;height:12px;margin-bottom:-3.5px;margin-right:-7.5px;position:absolute;right:50%;width:12px}.ogHandPoiner{cursor:pointer}.defaultText{color:#fff;left:0;position:absolute;top:0}#ogShowFpsControl{color:red}.ogGrabbingPoiner{cursor:grabbing!important}.ogViewport{background-color:#000;float:left;height:100%;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none;width:100%}.ogAttribution{background:hsla(0,0%,100%,.8);bottom:0;height:20px;position:absolute;right:0;text-align:right}.ogAttribution img{-ms-interpolation-mode:bicubic;border:0;height:auto;max-height:2em;max-width:100%;vertical-align:middle;width:auto}.ogAttribution ul{color:#000;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:.7rem;line-height:1.375em;margin:0;padding:1px 0}.ogAttribution li{display:inline;line-height:inherit;list-style:none;margin-left:5px;margin-right:5px}.og-zoomin-button{border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:102px;right:12px}.og-zoomout-button{border-top-left-radius:0;border-top-right-radius:0;bottom:58px;right:12px}input{accent-color:var(--blue0);cursor:pointer}.og-menu-bar-vertical{background-color:rgba(64,59,59,.85);border-radius:2px;box-shadow:0 1px 4px hsla(0,0%,6%,.17);height:40px;position:absolute;right:12px;top:12px;width:40px;z-index:0}.og-hide{display:none!important}.og-not-visible{visibility:hidden!important}.og-ddialog{background-color:var(--grey0);border:1px solid;border-color:var(--grey1);border-radius:4px;box-shadow:3px 3px 4px hsla(0,0%,6%,.17);display:flex;flex-direction:column;overflow:auto;position:absolute}.og-ddialog .og-ddialog-header{align-items:center;background-color:var(--grey2);color:#fff;display:flex;flex-direction:row;height:27px;justify-content:space-between;padding:0;position:relative;width:100%;z-index:1}.og-ddialog .og-ddialog-header .og-ddialog-header__title{color:var(--grey3);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;font-weight:400;padding-left:5px;pointer-events:none}.og-ddialog .og-ddialog-header .og-ddialog-header__buttons{display:flex;flex-direction:row;justify-content:flex-end}.og-ddialog .og-ddialog-container{font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px;height:100%;overflow:auto;position:relative;width:100%}.og-ddialog.dragging{user-select:none}.og-button{align-content:center;align-items:center;color:var(--grey6);cursor:default;display:flex;flex-direction:row;justify-content:center;padding:2px}.og-button .og-button-text{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;font-weight:400}.og-button:hover{background-color:var(--grey4)}.og-button-size__20{height:20px;width:20px}.og-button__active{background:var(--grey2)}.og-layerswitcher_button{right:12px;top:12px}.og-layer-switcher-record{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.og-layer-switcher-record,.og-layer-switcher-record.og-depth-1,.og-layer-switcher-record.og-depth-2{color:#fff;font-size:14px;font-weight:250}.og-layer-switcher-record.overlays>*{display:inline}.og-layer-switcher-record.overlays>input{vertical-align:top}.og-layer-switcher-record.og-depth-0 input{margin-left:18px}details .og-layer-switcher-record{padding-bottom:3px;padding-top:7px}details>summary{background:var(--grey1);border-top:1px solid var(--grey0);padding:0 7px 3px}details[open]{padding-bottom:10px}.og-layer-switcher-dropZone{display:block!important;height:4px;margin-left:4px}.og-layer-switcher-dropZone.og-drag-over{background-color:var(--blue0);opacity:.5}.displayNone{display:none}.displayBlock{display:block}.og-ruler_button{right:12px;top:65px}.ogConsole{background-color:hsla(0,0%,51%,.49);color:#fff;font-family:Arial;font-size:14px;left:0;max-height:70%;overflow:auto;pointer-events:none;position:absolute;top:0;width:100%;z-index:100000000}.ogConsole-text{overflow:hidden;padding:7px}.ogConsole-error{color:red}.ogConsole-warning{color:#ff0}.ogViewExtentBtn{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYEAQAAAAa7ikwAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5ggMBTM4rM25AwAAAAJiS0dEAACqjSMyAAABsUlEQVRIx81WWYrCQBAVg4Iwbp8ud5DoYRRBxPMoouiPegQVPYp6Azdc/ly++01XKkmPksQ4ZmAKAr3V0u9VVScU8ikQkQhwuRifHIeCFiAWgy2xWHCGRSIBVKtAt6scdDrGmtz7IOJUyjAk7ne4Ce2JdhsimXzTeKkE7PfK0vEIjMdqTuPTSc23W6BY9G/cjvpwgKjVmOBHDnitXmfnJLcboOs+YNntWGGxADIZtRcOQ4xGEMMhjdV6Ngssl6yz2XjywuSZkf8w/vrW5MS8iWi13LPFgkbC8n5SEFwmVOLry+EApaJJ6C8KCSIaVcRXKk8FlE4D/T5vzmY81zT/0Wsa68znbKPX47ksSC5/JxkM/EdPxDvJ5RKMA3nWw8EfQxQsyecz2yiXvdNUptz7adposO716pim7EQ2Lrv3ZLP+o8/n7RQVzabHwWSSGxcJlb9y4t4qcjlgtWKd9RoiHn9x1WKRG5d1E1mhBr7PzY7WCBaruAiaQsEnnrpuNC5biLzJRL0D06ki1Ircp/FH0lstdRsnoaibzZeweDuKx6m3qE5rPZnlsmu2/KtH/9Pflm+sYR/yIsaCAQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wOC0xMlQwNTo1MTo1NiswMDowMIPhE+YAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDgtMTJUMDU6NTE6NTYrMDA6MDDyvKtaAAAAKHRFWHRkYXRlOnRpbWVzdGFtcAAyMDIyLTA4LTEyVDA1OjUxOjU2KzAwOjAwpamKhQAAAABJRU5ErkJggg==) 50% no-repeat;cursor:pointer;height:24px;margin-left:12px;scale:70%;width:24px}.ogViewExtentBtn:hover{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYEAQAAAAa7ikwAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5ggMBTM4rM25AwAAAAJiS0dEAACqjSMyAAABsUlEQVRIx81WWYrCQBAVg4Iwbp8ud5DoYRRBxPMoouiPegQVPYp6Azdc/ly++01XKkmPksQ4ZmAKAr3V0u9VVScU8ikQkQhwuRifHIeCFiAWgy2xWHCGRSIBVKtAt6scdDrGmtz7IOJUyjAk7ne4Ce2JdhsimXzTeKkE7PfK0vEIjMdqTuPTSc23W6BY9G/cjvpwgKjVmOBHDnitXmfnJLcboOs+YNntWGGxADIZtRcOQ4xGEMMhjdV6Ngssl6yz2XjywuSZkf8w/vrW5MS8iWi13LPFgkbC8n5SEFwmVOLry+EApaJJ6C8KCSIaVcRXKk8FlE4D/T5vzmY81zT/0Wsa68znbKPX47ksSC5/JxkM/EdPxDvJ5RKMA3nWw8EfQxQsyecz2yiXvdNUptz7adposO716pim7EQ2Lrv3ZLP+o8/n7RQVzabHwWSSGxcJlb9y4t4qcjlgtWKd9RoiHn9x1WKRG5d1E1mhBr7PzY7WCBaruAiaQsEnnrpuNC5biLzJRL0D06ki1Ircp/FH0lstdRsnoaibzZeweDuKx6m3qE5rPZnlsmu2/KtH/9Pflm+sYR/yIsaCAQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wOC0xMlQwNTo1MTo1NiswMDowMIPhE+YAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDgtMTJUMDU6NTE6NTYrMDA6MDDyvKtaAAAAKHRFWHRkYXRlOnRpbWVzdGFtcAAyMDIyLTA4LTEyVDA1OjUxOjU2KzAwOjAwpamKhQAAAABJRU5ErkJggg==) 50% no-repeat,var(--blue0);border-radius:10px}.og-debug-info{background-color:rgba(55,55,55,.63);color:#fff;font-family:Arial;font-size:12px;left:0;padding:10px;pointer-events:none;position:absolute;text-shadow:0 0 3px #616161;top:0;transform:scale(1);transform-origin:top left;width:346px}.og-debug-info .og-watch-line{display:inline-block;padding-bottom:5px;width:100%}.og-watch-line .og-watch-label{color:#cecece;float:left}.og-watch-line .og-watch-value{float:left;margin-left:15px}.og-popup{bottom:-2px;position:absolute;text-align:center}.og-popup-content-wrapper,.og-popup-tip{background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.4);color:#333}.og-popup-content-wrapper{border-radius:8px;min-height:17px;min-width:30px;padding:1px;text-align:left}.og-popup-content{line-height:1.4;margin:20px 5px 5px}.og-popup-tip-container{bottom:-19px;height:20px;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.og-popup-tip{height:17px;margin:-10px auto 0;padding:1px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:17px}.og-popup-toolbar{display:inline-block;position:absolute;right:2px;top:3px}.og-popup-btn{cursor:pointer;float:right;height:15px;width:15px}.og-popup-btn:hover{color:#2e9be7}.og-popup-title{font-size:14px;left:5px;position:absolute;top:3px}.og-scale-container{bottom:30px;position:absolute;right:320px}.og-scale-label{color:#fff;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:12px;position:relative;text-align:center}.og-scale-ruler{border-bottom:2px solid #fff;border-left:1px solid #fff;border-right:1px solid #fff;height:7px;position:relative}.og-compass-button{bottom:153px;right:12px}.og-compass-button svg{height:40px!important;width:40px!important}.og-lighting_button{left:10px;position:absolute;top:65px}.og-lighing{color:#b6b6b6;height:calc(100% - 30px);padding:12px;position:relative}.og-lighing .og-layers{align-items:center;display:flex;flex-direction:row}.og-lighing .og-caption{position:relative}.og-lighing .og-lighting-emptyline{padding:3px;width:100%}.og-lighing .og-option{align-items:center;display:block;flex-direction:row;justify-content:left;padding-bottom:7px;position:relative;text-overflow:ellipsis;width:100%}.og-lighing .og-slider{width:100%}.og-lighing .og-slider .og-slider-label{font-size:12px;width:100px}.og-lighing #layers{font-family:monospace;margin-left:21px;padding:2px;width:200px}.og-coordinates{background-color:var(--grey5);border-radius:4px;bottom:25px;color:var(--grey8);cursor:pointer;float:left;font-family:monospace;font-size:1em;overflow:hidden;padding:5px;position:absolute;right:12px;text-align:right}.og-coordinates div{float:left}.og-lat-side,.og-lon-side{padding-right:3px;width:10px}.og-lat-val,.og-lon-val{overflow:hidden;padding-right:3px;text-align:left;text-overflow:unset;width:65px}.og-height{overflow:hidden;padding-left:3px;text-align:right;text-overflow:ellipsis;width:36px}.og-units-height{padding-left:3px;text-align:left;width:15px}.og-center-icon{bottom:50%;height:12px;margin-bottom:-3.5px;margin-right:-7.5px;pointer-events:none;position:absolute;right:50%;width:12px}.og-timeline_button{left:10px;position:absolute;top:10px}.og-timeline-control_button{background:var(--grey7);border-radius:1px;height:20px;margin-left:3px;margin-right:3px;width:25px}.og-button svg,.og-button svg path{height:24px;width:24px}.og-timeline-control_button.og-button__active{background:var(--grey3)}.og-timeline{background:#2d2d2d;bottom:0;height:100%;left:0;overflow:hidden;position:absolute;width:100%}.og-timeline-frame{height:30px;margin:0 0 0 10px;position:relative;width:calc(100% - 20px)}.og-timeline-scale{height:100%;overflow:hidden;width:100%}.og-timeline-current{cursor:pointer;height:100%;left:0;margin-left:-5px;margin-top:-7px;position:absolute;width:11px}.og-timeline-current-spin{background-color:#ff3434;height:100%;margin:0 auto;pointer-events:none;width:1px}.og-timeline-current-arrow{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ff3434;height:0;margin-left:-6px;width:0}.og-timeline-bottom{margin-top:3px;width:100%}.og-timeline-bottom,.og-timeline-controls{display:flex;justify-content:center;position:relative}.og-timeline-controls{align-items:center;border-radius:10px;flex-direction:row;padding:8px}.og-timeline-unselectable{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.og-timeline-top{display:block;height:15px;width:100%}.og-slider{display:flex;flex-direction:row;height:20px;width:200px}.og-slider .og-slider-label{align-items:center;color:var(--grey6);display:flex;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px;height:100%;text-align:left;width:100%}.og-slider .og-slider-panel{background-color:var(--grey1);height:100%;position:relative;width:100%;z-index:1}.og-slider .og-slider-panel .og-slider-progress{background-color:var(--grey7);height:100%;pointer-events:none;position:absolute}.og-slider .og-slider-panel .og-slider-pointer{background-color:var(--grey3);height:100%;left:0;pointer-events:none;position:absolute;top:0;width:3px}.og-slider input{background:var(--grey5);border:1px solid var(--grey1);color:var(--grey3);height:100%;padding-left:5px;position:relative;width:100%;width:60px;z-index:0}.og-slider input:focus-visible{outline:none}.og-slider input::-webkit-inner-spin-button,.og-slider input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.og-slider input[type=number]{-moz-appearance:textfield}.og-selection_button{right:12px;top:117px}.og-geoimagegrag_button{right:12px;top:169px}
1
+ :root{--grey0:#1e1e1e;--grey1:#434244;--grey2:#3f3f46;--grey3:#bbb;--grey4:#5e5e5e;--grey5:#403b3b;--grey6:#bfbfbf;--grey7:#707070;--grey8:#e2e2e2;--blue0:#1700a9ee}.og-map-button{background-color:var(--grey5);cursor:pointer;height:40px;outline:none;position:absolute;width:40px;z-index:1}.ogCenterIcon{bottom:50%;height:12px;margin-bottom:-3.5px;margin-right:-7.5px;position:absolute;right:50%;width:12px}.ogHandPoiner{cursor:pointer}.defaultText{color:#fff;left:0;position:absolute;top:0}#ogShowFpsControl{color:red}.ogGrabbingPoiner{cursor:grabbing!important}.ogViewport{background-color:#000;float:left;height:100%;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none;width:100%}.og-attribution{background:#cecece;bottom:0;display:flex;flex-direction:row;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:.7rem;line-height:1.375em;padding:1px 0;position:absolute;right:0;text-align:right}.og-attribution .og-attribution__layer{align-items:center;display:flex;margin-left:5px;margin-right:5px}.og-attribution img{max-height:1.3em}.og-zoomin-button{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;bottom:102px;right:12px}.og-zoomout-button{border-top-left-radius:0!important;border-top-right-radius:0!important;bottom:58px;right:12px}input{accent-color:var(--blue0);cursor:pointer}.og-menu-bar-vertical{background-color:rgba(64,59,59,.85);border-radius:2px;box-shadow:0 1px 4px hsla(0,0%,6%,.17);height:40px;position:absolute;right:12px;top:12px;width:40px;z-index:0}.og-hide{display:none!important}.og-not-visible{visibility:hidden!important}.og-ddialog{background-color:var(--grey0);border:1px solid;border-color:var(--grey1);border-radius:4px;box-shadow:3px 3px 4px hsla(0,0%,6%,.17);display:flex;flex-direction:column;overflow:auto;position:absolute}.og-ddialog .og-ddialog-header{align-items:center;background-color:var(--grey2);color:#fff;display:flex;flex-direction:row;height:27px;justify-content:space-between;padding:0;position:relative;width:100%;z-index:1}.og-ddialog .og-ddialog-header .og-ddialog-header__title{color:var(--grey3);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;font-weight:400;padding-left:5px;pointer-events:none}.og-ddialog .og-ddialog-header .og-ddialog-header__buttons{display:flex;flex-direction:row;justify-content:flex-end}.og-ddialog .og-ddialog-header .og-ddialog-header__buttons .og-button{border-radius:0}.og-ddialog .og-ddialog-container{font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px;height:100%;overflow:auto;position:relative;width:100%}.og-ddialog.dragging{user-select:none}.og-button{align-content:center;align-items:center;border-radius:4px;color:var(--grey6);cursor:default;display:flex;flex-direction:row;justify-content:center;padding:2px}.og-button svg,.og-button svg path{fill:var(--grey6)}.og-button__active.og-button svg,.og-button__active.og-button svg path{fill:#fff}.og-button .og-button-text{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;font-weight:400}.og-button:hover{background-color:var(--grey4)}.og-button-size__20{height:20px;width:20px}.og-button__active{background:var(--grey2)}.og-layerswitcher_button{right:12px;top:12px}.og-layer-switcher-record{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.og-layer-switcher-record,.og-layer-switcher-record.og-depth-1,.og-layer-switcher-record.og-depth-2{color:#fff;font-size:14px;font-weight:250}.og-layer-switcher-record.overlays>*{display:inline}.og-layer-switcher-record.overlays>input{vertical-align:top}.og-layer-switcher-record.og-depth-0 input{margin-left:18px}details .og-layer-switcher-record{padding-bottom:3px;padding-top:7px}details>summary{background:var(--grey1);border-top:1px solid var(--grey0);padding:0 7px 3px}details[open]{padding-bottom:10px}.og-layer-switcher-dropZone{display:block!important;height:4px;margin-left:4px}.og-layer-switcher-dropZone.og-drag-over{background-color:var(--blue0);opacity:.5}.displayNone{display:none}.displayBlock{display:block}.og-ruler_button{right:12px;top:65px}.ogConsole{background-color:hsla(0,0%,51%,.49);color:#fff;font-family:Arial;font-size:14px;left:0;max-height:70%;overflow:auto;pointer-events:none;position:absolute;top:0;width:100%;z-index:100000000}.ogConsole-text{overflow:hidden;padding:7px}.ogConsole-error{color:red}.ogConsole-warning{color:#ff0}.ogViewExtentBtn{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYEAQAAAAa7ikwAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5ggMBTM4rM25AwAAAAJiS0dEAACqjSMyAAABsUlEQVRIx81WWYrCQBAVg4Iwbp8ud5DoYRRBxPMoouiPegQVPYp6Azdc/ly++01XKkmPksQ4ZmAKAr3V0u9VVScU8ikQkQhwuRifHIeCFiAWgy2xWHCGRSIBVKtAt6scdDrGmtz7IOJUyjAk7ne4Ce2JdhsimXzTeKkE7PfK0vEIjMdqTuPTSc23W6BY9G/cjvpwgKjVmOBHDnitXmfnJLcboOs+YNntWGGxADIZtRcOQ4xGEMMhjdV6Ngssl6yz2XjywuSZkf8w/vrW5MS8iWi13LPFgkbC8n5SEFwmVOLry+EApaJJ6C8KCSIaVcRXKk8FlE4D/T5vzmY81zT/0Wsa68znbKPX47ksSC5/JxkM/EdPxDvJ5RKMA3nWw8EfQxQsyecz2yiXvdNUptz7adposO716pim7EQ2Lrv3ZLP+o8/n7RQVzabHwWSSGxcJlb9y4t4qcjlgtWKd9RoiHn9x1WKRG5d1E1mhBr7PzY7WCBaruAiaQsEnnrpuNC5biLzJRL0D06ki1Ircp/FH0lstdRsnoaibzZeweDuKx6m3qE5rPZnlsmu2/KtH/9Pflm+sYR/yIsaCAQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wOC0xMlQwNTo1MTo1NiswMDowMIPhE+YAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDgtMTJUMDU6NTE6NTYrMDA6MDDyvKtaAAAAKHRFWHRkYXRlOnRpbWVzdGFtcAAyMDIyLTA4LTEyVDA1OjUxOjU2KzAwOjAwpamKhQAAAABJRU5ErkJggg==) 50% no-repeat;cursor:pointer;height:24px;margin-left:12px;scale:70%;width:24px}.ogViewExtentBtn:hover{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYEAQAAAAa7ikwAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAABgAAAAYADwa0LPAAAAB3RJTUUH5ggMBTM4rM25AwAAAAJiS0dEAACqjSMyAAABsUlEQVRIx81WWYrCQBAVg4Iwbp8ud5DoYRRBxPMoouiPegQVPYp6Azdc/ly++01XKkmPksQ4ZmAKAr3V0u9VVScU8ikQkQhwuRifHIeCFiAWgy2xWHCGRSIBVKtAt6scdDrGmtz7IOJUyjAk7ne4Ce2JdhsimXzTeKkE7PfK0vEIjMdqTuPTSc23W6BY9G/cjvpwgKjVmOBHDnitXmfnJLcboOs+YNntWGGxADIZtRcOQ4xGEMMhjdV6Ngssl6yz2XjywuSZkf8w/vrW5MS8iWi13LPFgkbC8n5SEFwmVOLry+EApaJJ6C8KCSIaVcRXKk8FlE4D/T5vzmY81zT/0Wsa68znbKPX47ksSC5/JxkM/EdPxDvJ5RKMA3nWw8EfQxQsyecz2yiXvdNUptz7adposO716pim7EQ2Lrv3ZLP+o8/n7RQVzabHwWSSGxcJlb9y4t4qcjlgtWKd9RoiHn9x1WKRG5d1E1mhBr7PzY7WCBaruAiaQsEnnrpuNC5biLzJRL0D06ki1Ircp/FH0lstdRsnoaibzZeweDuKx6m3qE5rPZnlsmu2/KtH/9Pflm+sYR/yIsaCAQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wOC0xMlQwNTo1MTo1NiswMDowMIPhE+YAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDgtMTJUMDU6NTE6NTYrMDA6MDDyvKtaAAAAKHRFWHRkYXRlOnRpbWVzdGFtcAAyMDIyLTA4LTEyVDA1OjUxOjU2KzAwOjAwpamKhQAAAABJRU5ErkJggg==) 50% no-repeat,var(--blue0);border-radius:10px}.og-debug-info{background-color:rgba(55,55,55,.63);color:#fff;font-family:Arial;font-size:12px;left:0;padding:10px;pointer-events:none;position:absolute;text-shadow:0 0 3px #616161;top:0;transform:scale(1);transform-origin:top left;width:346px}.og-debug-info .og-watch-line{display:inline-block;padding-bottom:5px;width:100%}.og-watch-line .og-watch-label{color:#cecece;float:left}.og-watch-line .og-watch-value{float:left;margin-left:15px}.og-popup{bottom:-2px;position:absolute;text-align:center}.og-popup-content-wrapper,.og-popup-tip{background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.4);color:#333}.og-popup-content-wrapper{border-radius:8px;min-height:17px;min-width:30px;padding:1px;text-align:left}.og-popup-content{line-height:1.4;margin:20px 5px 5px}.og-popup-tip-container{bottom:-19px;height:20px;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.og-popup-tip{height:17px;margin:-10px auto 0;padding:1px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:17px}.og-popup-toolbar{display:inline-block;position:absolute;right:2px;top:3px}.og-popup-btn{cursor:pointer;float:right;height:15px;width:15px}.og-popup-btn:hover{color:#2e9be7}.og-popup-title{font-size:14px;left:5px;position:absolute;top:3px}.og-scale-container{bottom:30px;position:absolute;right:320px}.og-scale-label{color:#fff;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:12px;position:relative;text-align:center}.og-scale-ruler{border-bottom:2px solid #fff;border-left:1px solid #fff;border-right:1px solid #fff;height:7px;position:relative}.og-compass-button{bottom:153px;right:12px}.og-compass-button svg{height:40px!important;width:40px!important}.og-suncontrol-button{float:left;height:25px;margin:3px;width:25px}.og-lighting_button{left:10px;position:absolute;top:65px}.og-lighing{color:#b6b6b6;height:calc(100% - 30px);padding:12px;position:relative}.og-lighing .og-layers{align-items:center;display:flex;flex-direction:row}.og-lighing .og-caption{position:relative}.og-lighing .og-lighting-emptyline{padding:3px;width:100%}.og-lighing .og-option{align-items:center;display:inline-block;flex-direction:row;justify-content:left;padding-bottom:7px;position:relative;text-overflow:ellipsis;width:100%}.og-lighing .og-slider{width:100%}.og-lighing .og-slider .og-slider-label{font-size:12px;width:100px}.og-lighing #layers{font-family:monospace;margin-left:21px;padding:2px;width:200px}.og-coordinates{background-color:var(--grey5);border-radius:4px;bottom:25px;color:var(--grey8);cursor:pointer;float:left;font-family:monospace;font-size:1em;overflow:hidden;padding:5px;position:absolute;right:12px;text-align:right}.og-coordinates div{float:left}.og-lat-side,.og-lon-side{padding-right:3px;width:10px}.og-lat-val,.og-lon-val{overflow:hidden;padding-right:3px;text-align:left;text-overflow:unset;width:65px}.og-height{overflow:hidden;padding-left:3px;text-align:right;text-overflow:ellipsis;width:36px}.og-units-height{padding-left:3px;text-align:left;width:15px}.og-center-icon{bottom:50%;height:12px;margin-bottom:-3.5px;margin-right:-7.5px;pointer-events:none;position:absolute;right:50%;width:12px}.og-timeline_button{left:10px;position:absolute;top:10px}.og-timeline-control_button{background:var(--grey7);border-radius:1px;height:20px;margin-left:3px;margin-right:3px;width:25px}.og-button svg,.og-button svg path{height:24px;width:24px}.og-timeline-control_button.og-button__active{background:var(--grey3)}.og-timeline{background:#2d2d2d;bottom:0;height:100%;left:0;overflow:hidden;position:absolute;width:100%}.og-timeline-frame{height:30px;margin:0 0 0 10px;position:relative;width:calc(100% - 20px)}.og-timeline-scale{height:100%;overflow:hidden;width:100%}.og-timeline-current{cursor:pointer;height:100%;left:0;margin-left:-5px;margin-top:-7px;position:absolute;width:11px}.og-timeline-current-spin{background-color:#ff3434;height:100%;margin:0 auto;pointer-events:none;width:1px}.og-timeline-current-arrow{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ff3434;height:0;margin-left:-6px;width:0}.og-timeline-bottom{margin-top:3px;width:100%}.og-timeline-bottom,.og-timeline-controls{display:flex;justify-content:center;position:relative}.og-timeline-controls{align-items:center;border-radius:10px;flex-direction:row;padding:8px}.og-timeline-unselectable{-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.og-timeline-top{display:block;height:15px;width:100%}.og-slider{display:flex;flex-direction:row;height:20px;width:200px}.og-slider .og-slider-label{align-items:center;color:var(--grey6);display:flex;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px;height:100%;text-align:left;width:100%}.og-slider .og-slider-panel{background-color:var(--grey1);height:100%;position:relative;width:100%;z-index:1}.og-slider .og-slider-panel .og-slider-progress{background-color:var(--grey7);height:100%;pointer-events:none;position:absolute}.og-slider .og-slider-panel .og-slider-pointer{background-color:var(--grey3);height:100%;left:0;pointer-events:none;position:absolute;top:0;width:3px}.og-slider input{background:var(--grey5);border:1px solid var(--grey1);color:var(--grey3);height:100%;padding-left:5px;position:relative;width:100%;width:60px;z-index:0}.og-slider input:focus-visible{outline:none}.og-slider input::-webkit-inner-spin-button,.og-slider input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.og-slider input[type=number]{-moz-appearance:textfield}.og-selection_button{right:12px;top:117px}.og-geoimagegrag_button{right:12px;top:169px}