@openglobus/og 1.0.0-rc24 → 1.0.0-rc26
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.
- package/lib/control/Sun.d.ts +30 -0
- package/lib/control/timeline/TimelineControl.d.ts +8 -0
- package/lib/control/timeline/TimelineView.d.ts +18 -2
- package/lib/control/timeline/timelineUtils.d.ts +7 -0
- package/lib/index.d.ts +2 -0
- package/lib/og.css +1 -1
- package/lib/og.es.js +1 -1
- package/lib/og.es.js.map +1 -1
- package/lib/res/tz/timezones.geojson +1 -0
- package/lib/ui/Dock.d.ts +0 -1
- package/lib/utils/tz.d.ts +89 -0
- package/lib/webgl/Handler.d.ts +13 -0
- package/package.json +4 -5
package/lib/control/Sun.d.ts
CHANGED
|
@@ -5,6 +5,17 @@ import type { JulianDate } from "../astro/jd";
|
|
|
5
5
|
import { Vec3 } from "../math/Vec3";
|
|
6
6
|
import type { PlanetCamera } from "../camera/PlanetCamera";
|
|
7
7
|
import type { LonLat } from "../LonLat";
|
|
8
|
+
/** Returns an IANA time zone name for the point, or null for the solar reading. */
|
|
9
|
+
export type TimeZoneProviderFn = (lonLat: LonLat) => string | null;
|
|
10
|
+
/**
|
|
11
|
+
* Object form of the provider, e.g. a TimeZoneProvider instance: lookup by the point,
|
|
12
|
+
* with an optional lazy load the Sun kicks off on first use.
|
|
13
|
+
*/
|
|
14
|
+
export interface ITimeZoneLookup {
|
|
15
|
+
lookup(lon: number, lat: number): string | null;
|
|
16
|
+
load?: () => Promise<unknown>;
|
|
17
|
+
}
|
|
18
|
+
export type TimeZoneProviderLike = TimeZoneProviderFn | ITimeZoneLookup;
|
|
8
19
|
interface ISunParams extends IControlParams {
|
|
9
20
|
activationHeight?: number;
|
|
10
21
|
offsetVertical?: number;
|
|
@@ -13,6 +24,7 @@ interface ISunParams extends IControlParams {
|
|
|
13
24
|
localDateTime?: Date | null;
|
|
14
25
|
dateTime?: Date | null;
|
|
15
26
|
useTimeZones?: boolean;
|
|
27
|
+
timeZoneProvider?: TimeZoneProviderLike | null;
|
|
16
28
|
}
|
|
17
29
|
/**
|
|
18
30
|
* Real Sun geocentric position control that place the Sun on the right place by the Earth.
|
|
@@ -31,6 +43,9 @@ interface ISunParams extends IControlParams {
|
|
|
31
43
|
* @param {Date} [options.dateTime] - Instant in time the Sun takes its real position at.
|
|
32
44
|
* @param {boolean} [options.useTimeZones=false] - Reads localDateTime by the time zone of the point.
|
|
33
45
|
* Leave off on bodies without civil time.
|
|
46
|
+
* @param {TimeZoneProviderLike} [options.timeZoneProvider] - Time zone source for the point under
|
|
47
|
+
* the camera: a function, or an object like TimeZoneProvider — its lazy load is kicked off on
|
|
48
|
+
* first use, and the built-in lookup answers until the data arrives.
|
|
34
49
|
*/
|
|
35
50
|
export declare class Sun extends Control {
|
|
36
51
|
activationHeight: number;
|
|
@@ -51,6 +66,9 @@ export declare class Sun extends Control {
|
|
|
51
66
|
*/
|
|
52
67
|
dateTime: Date | null;
|
|
53
68
|
protected _useTimeZones: boolean;
|
|
69
|
+
protected _timeZoneProvider: TimeZoneProviderLike | null;
|
|
70
|
+
protected _timeZoneProviderReady: boolean;
|
|
71
|
+
protected _timeZoneProviderLoading: boolean;
|
|
54
72
|
protected _currDate: number;
|
|
55
73
|
protected _prevDate: number;
|
|
56
74
|
protected _redrawDate: number;
|
|
@@ -78,6 +96,18 @@ export declare class Sun extends Control {
|
|
|
78
96
|
*/
|
|
79
97
|
get useTimeZones(): boolean;
|
|
80
98
|
set useTimeZones(useTimeZones: boolean);
|
|
99
|
+
/**
|
|
100
|
+
* Time zone source for the point under the camera: a function, or an object like
|
|
101
|
+
* TimeZoneProvider — its lazy load is kicked off on first use, and the built-in
|
|
102
|
+
* lookup answers until the data arrives. The built-in lookup when null.
|
|
103
|
+
* @public
|
|
104
|
+
* @type {TimeZoneProviderLike | null}
|
|
105
|
+
*/
|
|
106
|
+
get timeZoneProvider(): TimeZoneProviderLike | null;
|
|
107
|
+
set timeZoneProvider(provider: TimeZoneProviderLike | null);
|
|
108
|
+
protected _resetTimeZoneProviderState(): void;
|
|
109
|
+
protected _lookupTimeZone(lonLat: LonLat): string | null;
|
|
110
|
+
protected _loadTimeZoneProvider(p: ITimeZoneLookup): void;
|
|
81
111
|
/**
|
|
82
112
|
* Sets the local clock time under the camera, read by its UTC clock.
|
|
83
113
|
* @public
|
|
@@ -26,6 +26,7 @@ interface ITimelineControlParams extends IControlParams {
|
|
|
26
26
|
rangeStart?: Date;
|
|
27
27
|
rangeEnd?: Date;
|
|
28
28
|
use24HourClock?: boolean;
|
|
29
|
+
template?: string;
|
|
29
30
|
}
|
|
30
31
|
declare class TimelineControl extends Control {
|
|
31
32
|
protected _timelineView: TimelineView;
|
|
@@ -42,6 +43,13 @@ declare class TimelineControl extends Control {
|
|
|
42
43
|
/** Date the Sun marker stands on. Setting it moves the marker without dispatching. */
|
|
43
44
|
get localDateTime(): Date;
|
|
44
45
|
set localDateTime(date: Date);
|
|
46
|
+
/**
|
|
47
|
+
* Marker label date format, e.g. "MM/dd/yyyy" or "hh:mm:ss.ms". Tokens: yyyy/yy, MMM,
|
|
48
|
+
* MM/M, dd/d, hh/h, mm/m, ss/s, ms, a/A; case matters for M/m only. An empty template
|
|
49
|
+
* keeps the adaptive scale format. am/pm follows {@link TimelineControl.use24HourClock}.
|
|
50
|
+
*/
|
|
51
|
+
get template(): string;
|
|
52
|
+
set template(template: string);
|
|
45
53
|
/** Scale time notation: 24-hour, or 12-hour with am/pm. */
|
|
46
54
|
get use24HourClock(): boolean;
|
|
47
55
|
set use24HourClock(use24HourClock: boolean);
|
|
@@ -13,6 +13,7 @@ interface ITimelineViewParams extends IViewParams {
|
|
|
13
13
|
maxDate?: Date;
|
|
14
14
|
fillStyle?: string;
|
|
15
15
|
use24HourClock?: boolean;
|
|
16
|
+
dateTemplate?: string;
|
|
16
17
|
}
|
|
17
18
|
declare const TOUCH_MODE_NONE = 0;
|
|
18
19
|
declare const TOUCH_MODE_CURRENT = 1;
|
|
@@ -46,6 +47,13 @@ declare class TimelineView extends View<TimelineModel> {
|
|
|
46
47
|
protected _frameEl: HTMLElement | null;
|
|
47
48
|
protected _currentEl: HTMLElement | null;
|
|
48
49
|
protected _sunEl: HTMLElement | null;
|
|
50
|
+
protected _currentLabelEl: HTMLElement | null;
|
|
51
|
+
protected _sunLabelEl: HTMLElement | null;
|
|
52
|
+
protected _currentLabelText: string;
|
|
53
|
+
protected _sunLabelText: string;
|
|
54
|
+
protected _dateTemplate: string;
|
|
55
|
+
protected _scaleShowTime: boolean;
|
|
56
|
+
protected _scaleShowMilliseconds: boolean;
|
|
49
57
|
protected _canvasEl: HTMLCanvasElement;
|
|
50
58
|
protected _ctx: CanvasRenderingContext2D;
|
|
51
59
|
protected _spansCanvasEl: HTMLCanvasElement;
|
|
@@ -96,6 +104,13 @@ declare class TimelineView extends View<TimelineModel> {
|
|
|
96
104
|
get use24HourClock(): boolean;
|
|
97
105
|
set use24HourClock(use24HourClock: boolean);
|
|
98
106
|
protected _notchColor(time: number): string;
|
|
107
|
+
/**
|
|
108
|
+
* Marker label date format, e.g. "MM/dd/yyyy" or "hh:mm:ss.ms".
|
|
109
|
+
* An empty template keeps the adaptive scale format.
|
|
110
|
+
*/
|
|
111
|
+
get dateTemplate(): string;
|
|
112
|
+
set dateTemplate(dateTemplate: string);
|
|
113
|
+
protected _formatMarkerDate(date: Date): string;
|
|
99
114
|
get localTime(): boolean;
|
|
100
115
|
set localTime(localTime: boolean);
|
|
101
116
|
/**
|
|
@@ -144,9 +159,9 @@ declare class TimelineView extends View<TimelineModel> {
|
|
|
144
159
|
protected _onMouseEnter: () => void;
|
|
145
160
|
protected _onMouseOut: () => void;
|
|
146
161
|
protected _onCurrentMouseEnter: () => void;
|
|
147
|
-
protected
|
|
162
|
+
protected _onCurrentMouseLeave: () => void;
|
|
148
163
|
protected _onSunMouseEnter: () => void;
|
|
149
|
-
protected
|
|
164
|
+
protected _onSunMouseLeave: () => void;
|
|
150
165
|
protected _onScalePointerDown: (e: PointerEvent) => void;
|
|
151
166
|
protected _onCurrentPointerDown: (e: PointerEvent) => void;
|
|
152
167
|
protected _onSunPointerDown: (e: PointerEvent) => void;
|
|
@@ -163,6 +178,7 @@ declare class TimelineView extends View<TimelineModel> {
|
|
|
163
178
|
protected _applyScaleBackground(): void;
|
|
164
179
|
protected _drawSpans: () => void;
|
|
165
180
|
protected _drawCurrent(): void;
|
|
181
|
+
protected _updateLabel(el: HTMLElement | null, date: Date, textField: "_currentLabelText" | "_sunLabelText", posX: number): void;
|
|
166
182
|
protected _drawSun(): void;
|
|
167
183
|
draw(): void;
|
|
168
184
|
}
|
|
@@ -2,6 +2,13 @@ type BaselineType = "alphabetic" | "bottom" | "hanging" | "ideographic" | "middl
|
|
|
2
2
|
type AlignType = "center" | "end" | "left" | "right" | "start";
|
|
3
3
|
export declare function addSeconds(date: Date, seconds: number): Date;
|
|
4
4
|
export declare function dateToStr(date: Date, showTime?: boolean, showMilliseconds?: boolean, use24HourClock?: boolean): string;
|
|
5
|
+
/**
|
|
6
|
+
* Formats a date by a template, e.g. "MM/dd/yyyy", "hh:mm:ss.ms". Tokens: yyyy/yy year,
|
|
7
|
+
* MMM month name, MM/M month, dd/d day, hh/h hours, mm/m minutes, ss/s seconds,
|
|
8
|
+
* ms milliseconds, a/A am/pm. Case matters for M/m only. On a 12-hour clock
|
|
9
|
+
* am/pm is appended after the time unless the template places it with "a".
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatDate(date: Date, template: string, use24HourClock?: boolean): string;
|
|
5
12
|
export declare function createCanvasHTML(): HTMLCanvasElement;
|
|
6
13
|
export declare function getNearestTimeLeft(t: number, div: number): number;
|
|
7
14
|
export declare function drawNotch(ctx: CanvasRenderingContext2D, xOffset?: number, size?: number, thickness?: number, color?: string): void;
|
package/lib/index.d.ts
CHANGED
|
@@ -38,6 +38,8 @@ export type { CameraFootprintCorners, ICameraFootprintParams } from "./utils/cam
|
|
|
38
38
|
export { CameraFootprint, getCameraFootprint } from "./utils/cameraFootprint";
|
|
39
39
|
export type { ILightSpaceBounds, IOrthoBounds, IShadowCameraFitParams, IShadowCameraFitStats } from "./utils/shadowCameraFit";
|
|
40
40
|
export { ShadowCameraFit } from "./utils/shadowCameraFit";
|
|
41
|
+
export type { ITimeZoneData, ITimeZoneFeature, ITimeZoneProviderParams } from "./utils/tz";
|
|
42
|
+
export { TimeZoneProvider, tzOffsetMinutes } from "./utils/tz";
|
|
41
43
|
export declare const version: string;
|
|
42
44
|
import { Geoid } from "./terrain/Geoid";
|
|
43
45
|
import { input } from "./input/input";
|
package/lib/og.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
:root{--grey0:#242424;--grey1:#434244;--grey2:#3f3f46;--grey3:#bbb;--grey4:#5e5e5e;--grey5:#323232;--grey6:#b6b6b6;--grey7:#707070;--grey8:#e2e2e2;--grey9:#9f9f9f;--blue0:#1700a9ee}.og-map-button{cursor:pointer;z-index:1;background-color:var(--grey5);outline:none;width:40px;height:40px;position:absolute}.og-control-container{z-index:2;box-sizing:border-box;pointer-events:none;flex-flow:wrap;align-content:flex-start;gap:8px;width:min(136px,100% - 24px);display:flex;position:absolute;top:12px}.og-control-container>*{pointer-events:auto}.og-control-container .og-map-button{flex:none;margin:0;position:relative;inset:auto!important}.og-fps-button .og-button-text{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-family:monospace;font-size:15px}.og-fps-button:hover{background-color:var(--grey5)}.og-control-container__top-left{justify-content:flex-start;left:10px}.og-control-container__top-right{justify-content:flex-end;right:12px}.og-control-container__bottom-right{flex-direction:column;justify-content:flex-end;align-items:flex-end;width:auto;max-width:calc(100% - 24px);top:auto;bottom:12px;right:12px}.og-control-container .og-scale-container,.og-control-container .og-coordinates{margin:0;position:relative;inset:auto!important}.og-control-container__bottom-right .og-scale-container{order:0}.og-control-container__bottom-right .og-coordinates{order:1}.ogCenterIcon{width:12px;height:12px;margin-bottom:-3.5px;margin-right:-7.5px;position:absolute;bottom:50%;right:50%}.ogHandPoiner{cursor:pointer}.defaultText{color:#fff;position:absolute;top:0;left:0}.ogGrabbingPoiner{cursor:grabbing!important}.og-inner{float:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-khtml-user-select:none;width:100%;height:100%;position:relative;overflow:hidden}.og-attribution{text-align:right;background:#cecece;flex-direction:row;padding:1px 0;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:.7rem;line-height:1.375em;display:flex;position:absolute;bottom:0;left:0}.og-attribution .og-attribution__layer{text-overflow:ellipsis;white-space:nowrap;color:#1f1f1f;align-items:center;margin-left:5px;margin-right:5px;display:inline;overflow:hidden}.og-attribution img{max-height:1.3em}input{accent-color:var(--blue0);cursor:pointer}.og-menu-bar-vertical{z-index:0;background-color:#403b3bd9;border-radius:2px;width:40px;height:40px;position:absolute;top:12px;right:12px;box-shadow:0 1px 4px #0f0f0f2b}.og-hide{display:none!important}.og-not-visible{visibility:hidden!important}.og-options-container{color:#b6b6b6;height:calc(100% - 30px);padding:12px;position:relative}.og-option{text-overflow:ellipsis;flex-direction:row;justify-content:left;align-items:center;width:100%;padding-bottom:7px;display:inline-block;position:relative}.og-option .og-slider{width:100%}.og-option .og-slider .og-slider-label,.og-option .og-color-label{width:100px;font-size:12px}.og-ddialog{background-color:var(--grey0);border:1px solid;border-color:var(--grey1);border-radius:4px;flex-direction:column;display:flex;position:absolute;overflow:auto;box-shadow:3px 3px 4px #0f0f0f2b}.og-ddialog .og-ddialog-header{z-index:1;background-color:var(--grey2);color:#fff;flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:27px;padding:0;display:flex;position:relative}.og-ddialog .og-ddialog-header .og-ddialog-header__title{color:var(--grey3);pointer-events:none;padding-left:5px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;font-weight:400}.og-ddialog .og-ddialog-header .og-ddialog-header__buttons{flex-direction:row;justify-content:flex-end;display:flex}.og-ddialog .og-ddialog-header .og-ddialog-header__buttons .og-button{border-radius:0}.og-ddialog .og-ddialog-container{width:100%;height:100%;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px;position:relative;overflow:auto}.og-ddialog.dragging{-webkit-user-select:none;user-select:none}.og-ddialog .og-ddialog-resize-handle{cursor:nwse-resize;touch-action:none;z-index:2;width:20px;height:20px;display:block;position:absolute;bottom:0;right:0}.og-button{cursor:default;color:var(--grey6);border-radius:6px;flex-direction:row;place-content:center;align-items:center;padding:2px;display:flex}.og-button .og-button-icon{justify-content:center;align-items:center;line-height:0;display:flex}.og-button svg{width:24px;height:24px;display:block}.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{width:20px;height:20px}.og-button__active{background-color:var(--grey2)}.og-layerSwitcher{color:#b6b6b6;width:100%;height:100%;position:relative;overflow:hidden auto}.og-layerSwitcher__title{color:#b6b6b6;width:100%;padding:5px;font-size:14px;position:relative}.og-layerSwitcher__list{flex-wrap:wrap;align-items:flex-start;width:100%;padding:2px;display:flex;position:relative}.og-layerSwitcher__layerButton{cursor:pointer;background-color:#7a7a7a;border:2px solid #0000;border-radius:7px;flex-direction:column-reverse;width:70px;height:70px;margin:3px;padding:0;display:flex;position:relative}.og-layerSwitcher__layerButton.og-layerSwitcher__visible{border:2px solid #56ff64}.og-layerSwitcher__layerButton.og-layerSwitcher__visible img{opacity:1}.og-layerSwitcher__layerButton img{opacity:1;border-radius:7px;width:100%;height:100%;position:absolute;top:0;left:0}.og-layerSwitcher__layerButton img:hover{opacity:1}.og-layerSwitcher__name{color:var(--grey8);text-overflow:ellipsis;z-index:10;background-color:#00000080;border-bottom-right-radius:7px;border-bottom-left-radius:7px;padding:3px;font-size:12px;bottom:0;overflow:hidden}.og-entityTree{width:100%}.og-entityTree__node{box-sizing:border-box;width:100%}.og-entityTree__row{align-items:center;min-height:22px;display:flex}.og-entityTree__toggleBtn{width:20px;height:20px;color:var(--grey3);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;font-size:14px}.og-entityTree__toggleBtn_hasChildren:hover{background-color:var(--grey1)}.og-entityTree__toggleBtn_empty{visibility:hidden;pointer-events:none}.og-entityTree__entityBtn{min-width:0;color:var(--grey6);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:3px 6px 3px 4px;font-size:12px;display:flex}.og-entityTree__entityBtn:hover,.og-entityTree__entityBtn:focus-visible{background-color:var(--grey1)}.og-entityTree__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.og-entityTree__type{color:var(--grey9);white-space:nowrap;font-size:11px}.og-entityTree__children_hidden{display:none}.og-entityTree__children{padding-left:17px}.og-entityTreeControl{width:100%;height:100%;color:var(--grey4);position:relative;overflow:hidden auto}.og-entityTreeControl__tree{box-sizing:border-box;width:100%;padding:4px}.og-entityTreeControl__empty{color:var(--grey3);padding:10px 8px;font-size:13px}.displayNone{display:none}.displayBlock{display:block}.og-drawing-default_button .og-button-icon{transform:scale(.73)}.ogConsole{color:#fff;z-index:100000000;background-color:#8282827d;width:100%;max-height:70%;font-family:Arial;font-size:14px;position:absolute;top:0;left:0;overflow:auto}.ogConsole-text{padding:7px;overflow:hidden}.ogConsole-error{color:red}.ogConsole-warning{color:#ff0}.ogViewExtentBtn{cursor:pointer;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;width:24px;height:24px;margin-left:12px;scale:.7}.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==) center center no-repeat, var(--blue0);border-radius:10px}.og-debuginfo_controls{padding-bottom:8px;display:flex}.og-debuginfo_controls-button{float:left;width:25px;height:25px;margin:3px}.og-debug-info{color:#fff;padding:10px;font-size:12px}.og-debug-info .og-watch-line{flex-direction:row;width:100%;padding-bottom:5px;display:flex}.og-watch-line .og-watch-label{color:#cecece;width:200px}.og-watch-line .og-watch-value{margin-left:15px}.og-popup{text-align:center;position:absolute;bottom:-2px}.og-popup-content-wrapper,.og-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.og-popup-content-wrapper{color:#333;text-align:left;background:#fff;border-radius:8px;min-width:30px;min-height:17px;padding:1px;box-shadow:0 3px 14px #0006}.og-popup-content{margin:20px 5px 5px;line-height:1.4}.og-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-left:-20px;position:absolute;bottom:-19px;left:50%;overflow:hidden}.og-popup-tip{width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.og-popup-toolbar{display:inline-block;position:absolute;top:3px;right:2px}.og-popup-btn{cursor:pointer;float:right;width:15px;height:15px}.og-popup-btn:hover{color:#2e9be7}.og-popup-title{font-size:14px;position:absolute;top:3px;left:5px}.og-scale-container{position:absolute;bottom:30px;right:320px}.og-scale-label{color:#fff;text-align:center;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:12px;position:relative}.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 .og-button-icon{transform-origin:50%;justify-content:center;align-items:center;display:flex}.og-compass-button .og-button-icon svg{display:block;width:48px!important;height:48px!important}.og-orthoswitcher_button .og-button-icon svg{display:block;transform:translateY(3px);width:45px!important;height:45px!important}.og-suncontrol-button{float:left;width:25px;height:25px;margin:3px}.og-lighing{color:#b6b6b6;height:calc(100% - 30px);padding:12px;position:relative}.og-lighing .og-layers{flex-direction:row;align-items:center;display:flex}.og-lighing .og-caption{position:relative}.og-emptyline,.og-lighing .og-lighting-emptyline{width:100%;padding:3px}.og-emptyline-2{width:100%;padding:5px}.og-lighing .og-slider{width:100%}.og-lighing .og-slider .og-slider-label,.og-lighing .og-color-label{width:100px;font-size:12px}.og-lighing .og-color{padding-right:10px}.og-lighing #layers,.og-lighing #toneMapping{width:200px;margin-left:21px;padding:2px;font-family:monospace}.og-free-navigation-info{background-color:var(--grey5);color:var(--grey8);pointer-events:none;border-radius:4px;padding:5px 10px;font-family:monospace;font-size:.85em;position:absolute;bottom:25px;left:10px}.og-coordinates{text-align:right;cursor:pointer;float:left;background-color:var(--grey5);color:var(--grey8);border-radius:4px;padding:5px;font-family:monospace;font-size:1em;position:absolute;bottom:25px;right:12px;overflow:hidden}.og-coordinates div{float:left}.og-coordinates .og-coordinates-copy-btn{float:left;color:var(--grey8);opacity:.8;cursor:pointer;background:0 0;border:0;margin-right:6px;padding:0}.og-coordinates .og-coordinates-copy-btn:hover{opacity:1}.og-coordinates .og-coordinates-copy-btn svg{display:block;transform:translateY(1px)}.og-coordinates .og-coordinates-copy-btn svg path{fill:currentColor}.og-lat-side,.og-lon-side{width:10px;padding-right:3px}.og-lat-val,.og-lon-val{text-align:left;width:90px;text-overflow:unset;padding-right:3px;overflow:hidden}.og-height{text-align:right;text-overflow:ellipsis;width:50px;padding-left:3px;overflow:hidden}.og-units-height{text-align:left;width:15px;padding-left:3px}.og-center-icon{pointer-events:none;width:12px;height:12px;margin-bottom:-3.5px;margin-right:-7.5px;position:absolute;bottom:50%;right:50%}.og-atmosphere.og-options-container .og-slider-label{width:300px;height:20px;overflow:hidden}.og-atmosphere.og-options-container .og-slider input{width:87px}.og-timeline-control_button{background:var(--grey7);border-radius:1px;width:25px;height:20px;margin-left:3px;margin-right:3px}.og-timeline-control_button.og-button__active{background:var(--grey3)}.og-timeline-multiplier{background:var(--grey7);color:#000;cursor:pointer;border:none;border-radius:1px;height:20px;margin-left:8px;padding:0 2px;font-size:11px}.og-timeline{background:#2d2d2d;width:100%;height:100%;position:relative;bottom:0;left:0;overflow:hidden}.og-timeline-frame{width:calc(100% - 20px);height:30px;margin:0 0 0 10px;position:relative}.og-timeline-scale{z-index:1;touch-action:none;width:100%;height:100%;position:relative;overflow:hidden}.og-timeline-spans{z-index:0;pointer-events:none;position:absolute;top:0;left:0}.og-timeline-current{z-index:2;cursor:pointer;touch-action:none;width:11px;height:100%;margin-top:-7px;margin-left:-5px;position:absolute;left:0}.og-timeline-current-spin{pointer-events:none;background-color:#ff3434;width:1px;height:100%;margin:0 auto}.og-timeline-current-arrow{border-top:7px solid #ff3434;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;margin-left:-6px}.og-timeline-sun{z-index:3;cursor:pointer;touch-action:none;width:11px;height:100%;margin-top:-7px;margin-left:-5px;display:none;position:absolute;left:0}.og-timeline-sun-spin{pointer-events:none;background-color:#fc0;width:1px;height:100%;margin:0 auto}.og-timeline-sun-arrow{border-top:7px solid #fc0;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;margin-left:-6px}.og-timeline-bottom{justify-content:center;width:100%;margin-top:3px;display:flex;position:relative}.og-timeline-controls{border-radius:10px;flex-direction:row;justify-content:center;align-items:center;padding:8px;display:flex;position:relative}.og-timeline-localtime{align-items:center;display:flex;position:absolute;top:0;bottom:0;right:10px}.og-timeline-unselectable{-webkit-user-select:none;user-select:none;-khtml-user-select:none}.og-timeline-top{width:100%;height:15px;display:block}.og-slider{flex-direction:row;gap:5px;margin:5px;display:flex}.og-slider .og-slider-label{width:100%;height:100%;color:var(--grey6);text-align:left;align-items:center;margin-right:5px;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px;display:flex}.og-slider .og-slider-panel{background-color:var(--grey1);z-index:1;border-radius:2px;width:100%;height:20px;position:relative}.og-slider .og-slider-panel .og-slider-progress{background-color:var(--grey7);pointer-events:none;border-top-left-radius:2px;border-bottom-left-radius:2px;height:100%;position:absolute}.og-slider .og-slider-panel .og-slider-pointer{background-color:var(--grey3);pointer-events:none;width:3px;height:100%;position:absolute;top:0;left:0}.og-slider input{background:var(--grey5);border:1px solid var(--grey1);z-index:0;width:100%;height:100%;color:var(--grey3);border-radius:2px;width:60px;padding-left:5px;position:relative}.og-slider input:focus-visible{outline:none}.og-slider input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.og-slider input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.og-slider input[type=number]{-moz-appearance:textfield}.og-checkbox,.og-input,.og-color{flex-direction:row;margin:5px;display:flex}.og-checkbox .og-input-label,.og-input .og-input-label,.og-color .og-color-label{width:100%;height:100%;color:var(--grey6);text-align:left;align-items:center;margin-right:5px;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px}.og-checkbox input,.og-input input,.og-color input{background:var(--grey5);border:1px solid var(--grey1);z-index:0;width:100%;height:100%;color:var(--grey3);border-radius:5px;padding-left:5px;position:relative}.og-checkbox input:focus-visible,.og-input input:focus-visible,.og-color input:focus-visible{outline:none}.og-color input[type=color]{cursor:pointer;flex:0 0 20px;width:20px;min-width:20px;height:20px;min-height:20px;padding:0}.og-color .og-color-label,.og-color .og-color-controls{width:50%}.og-color .og-color-controls{align-items:center;gap:4px;display:flex}.og-color .og-color-value{min-width:0}.og-color input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.og-color input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.og-color input[type=color]::-moz-color-swatch{border:none;border-radius:2px}.og-checkbox input[type=checkbox]{appearance:none;border:1px solid var(--grey1);background:var(--grey8);cursor:pointer;border-radius:3px;place-content:center;width:14px;height:14px;padding:0;display:flex;position:relative}.og-checkbox input[type=checkbox]:before{content:"";opacity:0;border:2px solid #000;border-width:0 2px 2px 0;width:3px;height:6px;transition:opacity .2s ease-in-out;position:absolute;top:2px;left:3.5px;transform:rotate(45deg)}.og-checkbox input[type=checkbox]:checked:before{opacity:1}.og-checkbox input[type=checkbox]:hover{border-color:var(--grey2)}.og-checkbox .og-input-label{margin-right:0}.og-checkbox-input{width:100%}.og-input-disabled{pointer-events:none;opacity:.7}.og-input-disabled input[type=checkbox]{background:var(--grey9)}.og-input input[type=number]{-moz-appearance:textfield}.og-elevationprofile{width:100%;height:100%;position:absolute;overflow:hidden}.og-elevationprofile__container{flex-direction:column;align-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.og-elevationprofile__menu{width:100%;height:43px;position:relative}.og-elevationprofile__graph{width:100%;height:100%;position:relative}.og-elevationprofile-legend{color:var(--grey8);z-index:1;margin:5px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:12px;display:flex;position:absolute;top:0;right:0}.og-elevationprofile-legend__row{width:70px;padding:5px;position:relative}.og-elevationprofile-square{float:left;width:6px;height:6px;margin:5px;position:relative}.og-elevationprofile-legend__track .og-elevationprofile-square{background-color:#00ff32}.og-elevationprofile-legend__ground .og-elevationprofile-square{background-color:#c6c6c6}.og-elevationprofile-legend__warning .og-elevationprofile-square{background-color:#ff0}.og-elevationprofile-legend__collision .og-elevationprofile-square{background-color:red}.og-elevationprofile-units{float:left;padding-left:5px;display:inline-block;position:relative}.og-elevationprofile-value{float:left;text-align:right;white-space:nowrap;text-overflow:ellipsis;width:30px;display:inline-block;position:relative;overflow:hidden}.og-elevationprofile-buttons{display:inline-block;position:absolute;top:0;left:0}.og-elevationprofile-button{float:left;width:25px;height:25px;margin:3px}.og-elevationprofile-list{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.og-elevationprofile-list textarea{resize:none;background:var(--grey8);width:100%;height:100%;padding:5px;position:relative}.og-elevationprofile-list-buttons{flex-direction:row;justify-content:right;align-items:center;height:60px;display:flex;position:relative}.og-elevationprofile-list-apply{float:right;background-color:var(--grey2);margin-right:15px;padding:4px 10px 7px}.og-elevationprofile_pointer{height:100%;position:absolute;top:0;left:0}.og-elevationprofile-line{background-color:#fff;width:3px;height:30px;margin-left:-1.5px;position:absolute}.og-elevationprofile-label{color:#fff;position:absolute;top:0;left:0}.og-elevationprofile-button__location svg{width:17px;height:17px}.og-elevationprofile-loading{opacity:.3;z-index:2;background-color:#000;flex-direction:row;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.og-simpleskybackground{display:flex}.og-color-label{color:var(--grey6);font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px}@keyframes ldio-p0v5a1f6oz{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.ldio-p0v5a1f6oz div{width:11px;height:40px;animation:.934579s cubic-bezier(.5,0,.5,1) infinite ldio-p0v5a1f6oz;position:absolute;top:30px}.ldio-p0v5a1f6oz div:first-child{background:#353535;animation-delay:-.560748s;transform:translate(14.5px)}.ldio-p0v5a1f6oz div:nth-child(2){background:#666;animation-delay:-.373832s;transform:translate(34.5px)}.ldio-p0v5a1f6oz div:nth-child(3){background:#9b9b9b;animation-delay:-.186916s;transform:translate(54.5px)}.ldio-p0v5a1f6oz div:nth-child(4){background:#d4d4d4;animation-delay:-.934579s;transform:translate(74.5px)}.loadingio-spinner-bars-r354qqyl5v{background:0 0;width:88px;height:88px;display:inline-block;overflow:hidden}.ldio-p0v5a1f6oz{backface-visibility:hidden;transform-origin:0 0;width:100%;height:100%;position:relative;transform:translateZ(0)scale(.88)}.ldio-p0v5a1f6oz div{box-sizing:content-box}.og-editor-ground_button{background:var(--grey1);width:fit-content;margin-top:15px;margin-left:5px;padding:4px 6px 8px}.og-editor_toolbar{display:flex}.og-editor_toolbar-button{float:left;width:25px;height:25px;margin:3px}.og-titlebar{background:var(--grey2);box-sizing:border-box;border-bottom:1px solid var(--grey5);justify-content:space-between;align-items:center;width:100%;min-height:20px;padding:0 0 0 8px;display:flex}.og-titlebar__title{color:var(--grey3);margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;font-weight:400}.og-titlebar__toggle{cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.og-titlebar__toggle:hover{background-color:var(--grey4)}.og-titlebar__toggle svg{width:18px;height:18px}.og-titlebar__toggle svg path{fill:var(--grey6)}.og-editor-panel__body_collapsed{display:none}.og-select{flex-direction:row;margin:5px;display:flex}.og-select .og-input-label{width:100%;height:100%;color:var(--grey6);text-align:left;margin-right:5px;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px}.og-select select{background:var(--grey5);border:1px solid var(--grey1);width:100%;height:100%;color:var(--grey6);border-radius:5px;padding-left:5px;position:relative}.og-select select:focus-visible{outline:none}.og-object3d-manager .og-ddialog-container{flex-direction:column;display:flex}.og-object3d-collection{width:100%;height:100%}.og-object3d-collection__item{cursor:pointer;background-color:#7a7a7a;border:2px solid #0000;border-radius:5px;width:75px;height:75px;margin:3px;position:relative}.og-object3d-collection__item.active{border:2px solid #00e0be}.og-object3d-collection__item_name{color:#fff;background:#3d3d3da3;border-bottom-right-radius:5px;border-bottom-left-radius:5px;width:100%;height:20px;padding-top:3px;position:absolute;bottom:0;left:0}.og-ui{position:absolute;inset:0;overflow:hidden}.og-dock{z-index:10;box-sizing:border-box;background:var(--grey0);display:flex;position:absolute;overflow:hidden}.og-ddialog__docked{box-shadow:none;border-radius:0;overflow:hidden;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;position:static!important;top:auto!important;left:auto!important;right:auto!important}.og-ddialog__docked .og-ddialog-resize-handle{display:none!important}.og-dock-splitters{z-index:11;pointer-events:none;position:absolute;inset:0}.og-dock-splitter{pointer-events:auto;touch-action:none;justify-content:center;align-items:center;display:flex;position:absolute}.og-dock-splitter:before{content:"";background:var(--grey1);transition:background .1s ease-out,width .1s ease-out,height .1s ease-out;display:block}.og-dock-splitter__v{cursor:ew-resize}.og-dock-splitter__v:before{width:1px;height:100%}.og-dock-splitter__h{cursor:ns-resize}.og-dock-splitter__h:before{width:100%;height:1px}.og-dock-splitter:hover:before,.og-dock-splitter__active:before{background:var(--grey6)}.og-dock-splitter__v:hover:before,.og-dock-splitter__v.og-dock-splitter__active:before{width:3px}.og-dock-splitter__h:hover:before,.og-dock-splitter__h.og-dock-splitter__active:before{height:3px}.og-dock-hint{z-index:1000;box-sizing:border-box;border:2px solid var(--grey6);pointer-events:none;background:#b6b6b62e;position:absolute}
|
|
1
|
+
:root{--grey0:#191a1c;--grey1:#26282c;--grey2:#424448;--grey3:#73767c;--grey4:#9fa2a8;--grey5:#c3c5cb;--grey6:#d1d3d9;--grey7:#ffffff17;--grey8:#ffffff29;--grey9:#80808059;--grey10:#8080808c;--grey11:#191a1cb3;--grey12:#2d2e2e;--blue0:#3871e1;--red0:#c54e58;--og-dock-gap:6px}.og-map-button{cursor:pointer;z-index:1;background-color:var(--grey0);outline:none;width:40px;height:40px;position:absolute}.og-control-container{z-index:2;box-sizing:border-box;pointer-events:none;flex-flow:wrap;align-content:flex-start;gap:8px;width:min(136px,100% - 24px);display:flex;position:absolute;top:12px}.og-control-container>*{pointer-events:auto}.og-control-container .og-map-button{flex:none;margin:0;position:relative;inset:auto!important}.og-fps-button .og-button-text{font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;font-family:monospace;font-size:15px}.og-button.og-fps-button:hover{background-image:none}.og-control-container__top-left{justify-content:flex-start;left:10px}.og-control-container__top-right{justify-content:flex-end;right:12px}.og-control-container__bottom-right{flex-direction:column;justify-content:flex-end;align-items:flex-end;width:auto;max-width:calc(100% - 24px);top:auto;bottom:12px;right:12px}.og-control-container .og-scale-container,.og-control-container .og-coordinates{margin:0;position:relative;inset:auto!important}.og-control-container__bottom-right .og-scale-container{order:0}.og-control-container__bottom-right .og-coordinates{order:1}.ogCenterIcon{width:12px;height:12px;margin-bottom:-3.5px;margin-right:-7.5px;position:absolute;bottom:50%;right:50%}.ogHandPoiner{cursor:pointer}.defaultText{color:#fff;position:absolute;top:0;left:0}.ogGrabbingPoiner{cursor:grabbing!important}.og-inner{float:left;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-khtml-user-select:none;width:100%;height:100%;position:relative;overflow:hidden}.og-attribution{text-align:right;background:#cecece;flex-direction:row;padding:1px 0;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:.7rem;line-height:1.375em;display:flex;position:absolute;bottom:0;left:0}.og-attribution .og-attribution__layer{text-overflow:ellipsis;white-space:nowrap;color:#1f1f1f;align-items:center;margin-left:5px;margin-right:5px;display:inline;overflow:hidden}.og-attribution img{max-height:1.3em}input{accent-color:var(--grey12);cursor:pointer}.og-hide{display:none!important}.og-not-visible{visibility:hidden!important}.og-options-container{height:calc(100% - 30px);color:var(--grey6);padding:12px;position:relative}.og-option{text-overflow:ellipsis;flex-direction:row;justify-content:left;align-items:center;width:100%;padding-bottom:7px;display:inline-block;position:relative}.og-option .og-slider{width:100%}.og-option .og-slider .og-slider-label,.og-option .og-color-label{width:100px;font-size:12px}.og-ddialog{background-color:var(--grey0);border:1px solid;border-color:var(--grey2);border-radius:8px;flex-direction:column;padding:5px;display:flex;position:absolute;overflow:auto;box-shadow:0 0 16px #00000040}.og-ddialog .og-ddialog-header{box-sizing:border-box;z-index:1;width:100%;height:40px;color:var(--grey6);flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:0 8px 0 12px;display:flex;position:relative}.og-ddialog .og-ddialog-header .og-ddialog-header__title{color:var(--grey6);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:13px;font-weight:600;overflow:hidden}.og-ddialog .og-ddialog-header .og-ddialog-header__buttons{flex-direction:row;justify-content:flex-end;display:flex}.og-ddialog .og-ddialog-header .og-ddialog-header__buttons .og-button{border-radius:4px;width:26px;height:26px;padding:0;font-size:16px}.og-ddialog .og-ddialog-header .og-ddialog-header__buttons .og-button svg{width:16px;height:16px}.og-ddialog .og-ddialog-container{width:100%;height:100%;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px;position:relative;overflow:auto}.og-ddialog.dragging{-webkit-user-select:none;user-select:none}.og-ddialog .og-ddialog-resize-handle{cursor:nwse-resize;touch-action:none;z-index:2;width:20px;height:20px;display:block;position:absolute;bottom:0;right:0}@supports (scrollbar-color:auto){.og-ddialog{scrollbar-color:var(--grey9) transparent}.og-ddialog,.og-ddialog *{scrollbar-width:thin}}@supports not (scrollbar-color:auto){.og-ddialog::-webkit-scrollbar{background:0 0;width:8px;height:8px}.og-ddialog ::-webkit-scrollbar{background:0 0;width:8px;height:8px}.og-ddialog::-webkit-scrollbar-corner{background:0 0}.og-ddialog ::-webkit-scrollbar-corner{background:0 0}.og-ddialog::-webkit-scrollbar-thumb{background:var(--grey9);border-radius:4px}.og-ddialog ::-webkit-scrollbar-thumb{background:var(--grey9);border-radius:4px}.og-ddialog::-webkit-scrollbar-thumb:hover{background:var(--grey10)}.og-ddialog ::-webkit-scrollbar-thumb:hover{background:var(--grey10)}}.og-button{cursor:default;color:var(--grey5);border-radius:6px;flex-direction:row;place-content:center;align-items:center;padding:2px;display:flex}.og-button .og-button-icon{justify-content:center;align-items:center;line-height:0;display:flex}.og-button svg{width:24px;height:24px;display:block}.og-button svg path{fill:var(--grey5)}.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-image:linear-gradient(var(--grey7), var(--grey7))}.og-button:active{background-image:linear-gradient(var(--grey8), var(--grey8))}.og-button-size__20{width:20px;height:20px}.og-button__active{background-color:var(--grey12)}.og-layerSwitcher{color:var(--grey6);width:100%;height:100%;position:relative;overflow:hidden auto}.og-layerSwitcher__title{color:var(--grey4);width:100%;padding:5px;font-size:14px;position:relative}.og-layerSwitcher__list{flex-wrap:wrap;align-items:flex-start;width:100%;padding:2px;display:flex;position:relative}.og-layerSwitcher__layerButton{background-color:var(--grey1);cursor:pointer;border:2px solid #0000;border-radius:7px;flex-direction:column-reverse;width:70px;height:70px;margin:3px;padding:0;display:flex;position:relative}.og-layerSwitcher__layerButton.og-layerSwitcher__visible{border:2px solid var(--grey4)}.og-layerSwitcher__layerButton.og-layerSwitcher__visible img{opacity:1}.og-layerSwitcher__layerButton img{opacity:1;border-radius:7px;width:100%;height:100%;position:absolute;top:0;left:0}.og-layerSwitcher__layerButton img:hover{opacity:1}.og-layerSwitcher__name{color:var(--grey6);text-overflow:ellipsis;background-color:var(--grey11);z-index:10;border-bottom-right-radius:7px;border-bottom-left-radius:7px;padding:3px;font-size:12px;bottom:0;overflow:hidden}.og-entityTree{width:100%}.og-entityTree__node{box-sizing:border-box;width:100%}.og-entityTree__row{align-items:center;min-height:22px;display:flex}.og-entityTree__toggleBtn{width:20px;height:20px;color:var(--grey5);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;font-size:14px}.og-entityTree__toggleBtn_hasChildren:hover{background-color:var(--grey7)}.og-entityTree__toggleBtn_empty{visibility:hidden;pointer-events:none}.og-entityTree__entityBtn{min-width:0;color:var(--grey6);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:3px 6px 3px 4px;font-size:12px;display:flex}.og-entityTree__entityBtn:hover,.og-entityTree__entityBtn:focus-visible{background-color:var(--grey7)}.og-entityTree__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.og-entityTree__type{color:var(--grey4);white-space:nowrap;font-size:11px}.og-entityTree__children_hidden{display:none}.og-entityTree__children{padding-left:17px}.og-entityTreeControl{width:100%;height:100%;color:var(--grey6);position:relative;overflow:hidden auto}.og-entityTreeControl__tree{box-sizing:border-box;width:100%;padding:4px}.og-entityTreeControl__empty{color:var(--grey4);padding:10px 8px;font-size:13px}.displayNone{display:none}.displayBlock{display:block}.og-drawing-default_button .og-button-icon{transform:scale(.73)}.ogConsole{color:#fff;z-index:100000000;background-color:#8282827d;width:100%;max-height:70%;font-family:Arial;font-size:14px;position:absolute;top:0;left:0;overflow:auto}.ogConsole-text{padding:7px;overflow:hidden}.ogConsole-error{color:red}.ogConsole-warning{color:#ff0}.og-debuginfo_controls{padding-bottom:8px;display:flex}.og-debuginfo_controls-button{float:left;width:25px;height:25px;margin:3px}.og-debug-info{color:var(--grey6);padding:10px;font-size:12px}.og-debug-info .og-watch-line{flex-direction:row;width:100%;padding-bottom:5px;display:flex}.og-watch-line .og-watch-label{color:var(--grey4);width:200px}.og-watch-line .og-watch-value{margin-left:15px}.og-popup{text-align:center;position:absolute;bottom:-2px}.og-popup-content-wrapper,.og-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.og-popup-content-wrapper{color:#333;text-align:left;background:#fff;border-radius:8px;min-width:30px;min-height:17px;padding:1px;box-shadow:0 3px 14px #0006}.og-popup-content{margin:20px 5px 5px;line-height:1.4}.og-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-left:-20px;position:absolute;bottom:-19px;left:50%;overflow:hidden}.og-popup-tip{width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.og-popup-toolbar{display:inline-block;position:absolute;top:3px;right:2px}.og-popup-btn{cursor:pointer;float:right;width:15px;height:15px}.og-popup-btn:hover{color:#2e9be7}.og-popup-title{font-size:14px;position:absolute;top:3px;left:5px}.og-scale-container{position:absolute;bottom:30px;right:320px}.og-scale-label{color:#fff;text-align:center;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:12px;position:relative}.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 .og-button-icon{transform-origin:50%;justify-content:center;align-items:center;display:flex}.og-compass-button .og-button-icon svg{display:block;width:48px!important;height:48px!important}.og-orthoswitcher_button .og-button-icon svg{display:block;transform:translateY(3px);width:45px!important;height:45px!important}.og-suncontrol-button{float:left;width:25px;height:25px;margin:3px}.og-lighing{height:calc(100% - 30px);color:var(--grey6);padding:12px;position:relative}.og-lighing .og-layers{flex-direction:row;align-items:center;display:flex}.og-lighing .og-caption{position:relative}.og-emptyline,.og-lighing .og-lighting-emptyline{width:100%;padding:3px}.og-emptyline-2{width:100%;padding:5px}.og-lighing .og-slider{width:100%}.og-lighing .og-slider .og-slider-label,.og-lighing .og-color-label{width:100px;font-size:12px}.og-lighing .og-color{padding-right:10px}.og-lighing #layers,.og-lighing #toneMapping{width:200px;margin-left:21px;padding:2px;font-family:monospace}.og-free-navigation-info{background-color:var(--grey0);color:var(--grey6);pointer-events:none;border-radius:4px;padding:5px 10px;font-family:monospace;font-size:.85em;position:absolute;bottom:25px;left:10px}.og-coordinates{text-align:right;cursor:pointer;float:left;background-color:var(--grey0);color:var(--grey6);border-radius:4px;padding:5px;font-family:monospace;font-size:1em;position:absolute;bottom:25px;right:12px;overflow:hidden}.og-coordinates div{float:left}.og-coordinates .og-coordinates-copy-btn{float:left;color:var(--grey5);opacity:.8;cursor:pointer;background:0 0;border:0;margin-right:6px;padding:0}.og-coordinates .og-coordinates-copy-btn:hover{opacity:1}.og-coordinates .og-coordinates-copy-btn svg{display:block;transform:translateY(1px)}.og-coordinates .og-coordinates-copy-btn svg path{fill:currentColor}.og-lat-side,.og-lon-side{width:10px;padding-right:3px}.og-lat-val,.og-lon-val{text-align:left;width:90px;text-overflow:unset;padding-right:3px;overflow:hidden}.og-height{text-align:right;text-overflow:ellipsis;width:50px;padding-left:3px;overflow:hidden}.og-units-height{text-align:left;width:15px;padding-left:3px}.og-center-icon{pointer-events:none;width:12px;height:12px;margin-bottom:-3.5px;margin-right:-7.5px;position:absolute;bottom:50%;right:50%}.og-atmosphere.og-options-container .og-slider-label{width:300px;height:20px;overflow:hidden}.og-atmosphere.og-options-container .og-slider input{width:87px}.og-timeline-control_button{background-color:var(--grey3);border-radius:1px;width:25px;height:20px;margin-left:3px;margin-right:3px}.og-timeline-control_button.og-button__active{background-color:var(--grey5)}.og-timeline-control_button.og-button svg path{fill:var(--grey0)}.og-timeline-multiplier{border:1px solid var(--grey2);background:var(--grey1);height:20px;color:var(--grey6);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;border-radius:4px;margin-left:8px;padding:0 2px;font-size:11px}.og-timeline{background:var(--grey0);width:100%;height:100%;position:relative;bottom:0;left:0;overflow:hidden}.og-timeline-frame{border-radius:4px;width:calc(100% - 20px);height:30px;margin:0 0 0 10px;position:relative}.og-timeline-scale{z-index:1;touch-action:none;width:100%;height:100%;position:relative;overflow:hidden}.og-timeline-spans{z-index:0;pointer-events:none;position:absolute;top:0;left:0}.og-timeline-current{z-index:2;cursor:pointer;touch-action:none;width:11px;height:100%;margin-top:-7px;margin-left:-5px;position:absolute;left:0}.og-timeline-current-spin{background-color:var(--red0);pointer-events:none;width:1px;height:calc(100% - 7px);margin:7px auto 0}.og-timeline-current-label{color:#fff;background:var(--red0);white-space:nowrap;border-radius:15px;padding:2px 6px;font:10px/10px monospace;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.og-timeline-sun{z-index:3;cursor:pointer;touch-action:none;width:11px;height:100%;margin-top:-7px;margin-left:-5px;display:none;position:absolute;left:0}.og-timeline-sun-spin{pointer-events:none;background-color:#fc0;width:1px;height:calc(100% - 7px);margin:7px auto 0}.og-timeline-sun-label{color:#000;white-space:nowrap;background:#fbdb5d;border-radius:15px;padding:2px 6px;font:10px/10px monospace;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.og-timeline-bottom{justify-content:center;width:100%;margin-top:3px;display:flex;position:relative}.og-timeline-controls{border-radius:10px;flex-direction:row;justify-content:center;align-items:center;padding:8px;display:flex;position:relative}.og-timeline-localtime{align-items:center;display:flex;position:absolute;top:0;bottom:0;right:10px}.og-timeline-unselectable{-webkit-user-select:none;user-select:none;-khtml-user-select:none}.og-timeline-top{width:100%;height:15px;display:block}.og-slider{flex-direction:row;gap:5px;margin:5px;display:flex}.og-slider .og-slider-label{width:100%;height:100%;color:var(--grey6);text-align:left;align-items:center;margin-right:5px;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px;display:flex}.og-slider .og-slider-panel{background-color:var(--grey1);z-index:1;border-radius:2px;width:100%;height:20px;position:relative}.og-slider .og-slider-panel .og-slider-progress{background-color:var(--grey2);pointer-events:none;border-top-left-radius:2px;border-bottom-left-radius:2px;height:100%;position:absolute}.og-slider .og-slider-panel .og-slider-pointer{background-color:var(--grey5);pointer-events:none;width:3px;height:100%;position:absolute;top:0;left:0}.og-slider input{background:var(--grey0);border:1px solid var(--grey2);z-index:0;width:100%;height:100%;color:var(--grey6);border-radius:2px;width:60px;padding-left:5px;position:relative}.og-slider input:focus-visible{outline:none}.og-slider input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.og-slider input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.og-slider input[type=number]{-moz-appearance:textfield}.og-checkbox,.og-input,.og-color{flex-direction:row;margin:5px;display:flex}.og-checkbox .og-input-label,.og-input .og-input-label,.og-color .og-color-label{width:100%;height:100%;color:var(--grey6);text-align:left;align-items:center;margin-right:5px;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px}.og-checkbox input,.og-input input,.og-color input{background:var(--grey0);border:1px solid var(--grey2);z-index:0;width:100%;height:100%;color:var(--grey6);border-radius:5px;padding-left:5px;position:relative}.og-checkbox input:focus-visible,.og-input input:focus-visible,.og-color input:focus-visible{outline:none}.og-color input[type=color]{cursor:pointer;flex:0 0 20px;width:20px;min-width:20px;height:20px;min-height:20px;padding:0}.og-color .og-color-label,.og-color .og-color-controls{width:50%}.og-color .og-color-controls{align-items:center;gap:4px;display:flex}.og-color .og-color-value{min-width:0}.og-color input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.og-color input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.og-color input[type=color]::-moz-color-swatch{border:none;border-radius:2px}.og-checkbox input[type=checkbox]{appearance:none;border:1px solid var(--grey3);background:var(--grey0);cursor:pointer;border-radius:3px;place-content:center;width:14px;height:14px;padding:0;display:flex;position:relative}.og-checkbox input[type=checkbox]:before{content:"";opacity:0;border:2px solid #fff;border-width:0 2px 2px 0;width:3px;height:6px;transition:opacity .2s ease-in-out;position:absolute;top:2px;left:3.5px;transform:rotate(45deg)}.og-checkbox input[type=checkbox]:checked:before{opacity:1}.og-checkbox input[type=checkbox]:hover{border-color:var(--grey4)}.og-checkbox input[type=checkbox]:checked{background:var(--grey12)}.og-checkbox .og-input-label{margin-right:0}.og-checkbox-input{width:100%}.og-input-disabled{pointer-events:none;opacity:.7}.og-input-disabled input[type=checkbox]{background:var(--grey1)}.og-input input[type=number]{-moz-appearance:textfield}.og-elevationprofile{width:100%;height:100%;position:absolute;overflow:hidden}.og-elevationprofile__container{flex-direction:column;align-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.og-elevationprofile__menu{width:100%;height:43px;position:relative}.og-elevationprofile__graph{width:100%;height:100%;position:relative}.og-elevationprofile-legend{color:var(--grey6);z-index:1;margin:5px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:12px;display:flex;position:absolute;top:0;right:0}.og-elevationprofile-legend__row{width:70px;padding:5px;position:relative}.og-elevationprofile-square{float:left;width:6px;height:6px;margin:5px;position:relative}.og-elevationprofile-legend__track .og-elevationprofile-square{background-color:#00ff32}.og-elevationprofile-legend__ground .og-elevationprofile-square{background-color:#c6c6c6}.og-elevationprofile-legend__warning .og-elevationprofile-square{background-color:#ff0}.og-elevationprofile-legend__collision .og-elevationprofile-square{background-color:red}.og-elevationprofile-units{float:left;padding-left:5px;display:inline-block;position:relative}.og-elevationprofile-value{float:left;text-align:right;white-space:nowrap;text-overflow:ellipsis;width:30px;display:inline-block;position:relative;overflow:hidden}.og-elevationprofile-buttons{display:inline-block;position:absolute;top:0;left:0}.og-elevationprofile-button{float:left;width:25px;height:25px;margin:3px}.og-elevationprofile-list{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.og-elevationprofile-list textarea{resize:none;background:var(--grey0);border:1px solid var(--grey2);width:100%;height:100%;color:var(--grey6);padding:5px;position:relative}.og-elevationprofile-list-buttons{flex-direction:row;justify-content:right;align-items:center;height:60px;display:flex;position:relative}.og-elevationprofile-list-apply{float:right;border:1px solid var(--grey2);color:var(--grey6);margin-right:15px;padding:4px 10px 7px}.og-elevationprofile_pointer{height:100%;position:absolute;top:0;left:0}.og-elevationprofile-line{background-color:#fff;width:3px;height:30px;margin-left:-1.5px;position:absolute}.og-elevationprofile-label{color:#fff;position:absolute;top:0;left:0}.og-elevationprofile-button__location svg{width:17px;height:17px}.og-elevationprofile-loading{opacity:.3;z-index:2;background-color:#000;flex-direction:row;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.og-simpleskybackground{display:flex}.og-color-label{color:var(--grey6);font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px}@keyframes ldio-p0v5a1f6oz{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.ldio-p0v5a1f6oz div{width:11px;height:40px;animation:.934579s cubic-bezier(.5,0,.5,1) infinite ldio-p0v5a1f6oz;position:absolute;top:30px}.ldio-p0v5a1f6oz div:first-child{background:var(--grey2);animation-delay:-.560748s;transform:translate(14.5px)}.ldio-p0v5a1f6oz div:nth-child(2){background:var(--grey3);animation-delay:-.373832s;transform:translate(34.5px)}.ldio-p0v5a1f6oz div:nth-child(3){background:var(--grey4);animation-delay:-.186916s;transform:translate(54.5px)}.ldio-p0v5a1f6oz div:nth-child(4){background:var(--grey6);animation-delay:-.934579s;transform:translate(74.5px)}.loadingio-spinner-bars-r354qqyl5v{background:0 0;width:88px;height:88px;display:inline-block;overflow:hidden}.ldio-p0v5a1f6oz{backface-visibility:hidden;transform-origin:0 0;width:100%;height:100%;position:relative;transform:translateZ(0)scale(.88)}.ldio-p0v5a1f6oz div{box-sizing:content-box}.og-editor_toolbar{display:flex}.og-editor_toolbar-button{float:left;width:25px;height:25px;margin:3px}.og-titlebar{box-sizing:border-box;border-bottom:1px solid var(--grey1);justify-content:space-between;align-items:center;width:100%;min-height:20px;padding:0 0 0 8px;display:flex}.og-titlebar__title{color:var(--grey6);margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;font-weight:400}.og-titlebar__toggle{cursor:pointer;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.og-titlebar__toggle:hover{background-color:var(--grey7)}.og-titlebar__toggle svg{width:18px;height:18px}.og-titlebar__toggle svg path{fill:var(--grey5)}.og-editor-panel__body_collapsed{display:none}.og-select{flex-direction:row;margin:5px;display:flex}.og-select .og-input-label{width:100%;height:100%;color:var(--grey6);text-align:left;margin-right:5px;font-family:Segoe UI,Frutiger,Frutiger Linotype,Dejavu Sans,Helvetica Neue,Arial,sans-serif;font-size:14px}.og-select select{background:var(--grey1);border:1px solid var(--grey2);width:100%;height:100%;color:var(--grey6);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:5px;padding-left:5px;position:relative}.og-select select:focus-visible{outline:none}.og-object3d-manager .og-ddialog-container{flex-direction:column;display:flex}.og-object3d-collection{width:100%;height:100%}.og-object3d-collection__item{background-color:var(--grey1);cursor:pointer;border:2px solid #0000;border-radius:5px;width:75px;height:75px;margin:3px;position:relative}.og-object3d-collection__item.active{border:solid var(--grey6) 2px}.og-object3d-collection__item_name{background:var(--grey11);width:100%;height:20px;color:var(--grey6);border-bottom-right-radius:5px;border-bottom-left-radius:5px;padding-top:3px;position:absolute;bottom:0;left:0}.og-ui{position:absolute;inset:0;overflow:hidden}.og-dock{z-index:10;gap:var(--og-dock-gap);padding:calc(var(--og-dock-gap) / 2);box-sizing:border-box;background:var(--grey1);display:flex;position:absolute;overflow:hidden}.og-ddialog__docked{box-shadow:none;border:none;border-radius:10px;padding:0;overflow:hidden;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;position:static!important;top:auto!important;left:auto!important;right:auto!important}.og-ddialog__docked .og-ddialog-resize-handle{display:none!important}.og-dock-splitters{z-index:11;pointer-events:none;position:absolute;inset:0}.og-dock-splitter{pointer-events:auto;touch-action:none;position:absolute}.og-dock-splitter__v{cursor:ew-resize}.og-dock-splitter__h{cursor:ns-resize}.og-dock-hint{z-index:1000;box-sizing:border-box;border:calc(var(--og-dock-gap) / 2) solid transparent;border-radius:calc(10px + var(--og-dock-gap) / 2);background:color-mix(in srgb, var(--blue0) 30%, transparent);pointer-events:none;background-clip:padding-box;position:absolute}
|
|
2
2
|
/*$vite$:1*/
|