@openglobus/og 1.0.0-rc11 → 1.0.0-rc14
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/Globe.d.ts +2 -0
- package/lib/camera/Camera.d.ts +8 -0
- package/lib/control/DebugInfo.d.ts +1 -0
- package/lib/control/FreeNavigation.d.ts +253 -0
- package/lib/control/Navigation.d.ts +6 -0
- package/lib/control/ShowFps.d.ts +15 -3
- package/lib/control/Sun.d.ts +2 -0
- package/lib/control/index.d.ts +1 -0
- package/lib/entity/EntityCollection.d.ts +5 -0
- package/lib/entity/billboard/BaseBillboardHandler.d.ts +6 -0
- package/lib/entity/geoObject/InstanceData.d.ts +6 -0
- package/lib/entity/geometry/GeometryHandler.d.ts +1 -0
- package/lib/entity/label/Label.d.ts +1 -1
- package/lib/entity/pointCloud/PointCloud.d.ts +1 -0
- package/lib/entity/pointCloud/PointCloudHandler.d.ts +5 -0
- package/lib/entity/polyline/PolylineBatchRenderer.d.ts +1 -0
- package/lib/entity/polyline/PolylineHandler.d.ts +5 -0
- package/lib/entity/ray/RayHandler.d.ts +1 -0
- package/lib/input/KeyboardHandler.d.ts +1 -0
- package/lib/layer/Layer.d.ts +8 -1
- package/lib/math/Line2.d.ts +1 -1
- package/lib/og.css +1 -1
- package/lib/og.es.js +1 -1
- package/lib/og.es.js.map +1 -1
- package/lib/quadTree/QuadTreeStrategy.d.ts +7 -0
- package/lib/renderer/Renderer.d.ts +51 -5
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/GeoImageCreator.d.ts +7 -0
- package/lib/utils/Loader.d.ts +6 -0
- package/lib/utils/NormalMapCreator.d.ts +6 -0
- package/lib/utils/VectorTileCreator.d.ts +6 -0
- package/lib/webgl/Handler.d.ts +15 -0
- package/package.json +1 -1
package/lib/Globe.d.ts
CHANGED
|
@@ -74,6 +74,7 @@ export interface IGlobeParams {
|
|
|
74
74
|
frameOpacity?: number;
|
|
75
75
|
shadeMode?: ShadeModeInput;
|
|
76
76
|
reverseDepth?: boolean;
|
|
77
|
+
idleMode?: boolean;
|
|
77
78
|
}
|
|
78
79
|
/**
|
|
79
80
|
* @typedef {Array<number>} LonLatCoordinate
|
|
@@ -109,6 +110,7 @@ export interface IGlobeParams {
|
|
|
109
110
|
* @param {Array.<Layer>} [options.layers] - Planet layers.
|
|
110
111
|
* @param {Extent | ExtentBoundingBox} [options.viewExtent] [options.viewExtent] - Viewable starting extent.
|
|
111
112
|
* @param {boolean} [options.autoActivate=true] - Globe rendering auto activation flag. True is default.
|
|
113
|
+
* @param {boolean} [options.idleMode=false] - Skips a frame rendering when nothing has been changed. False is default.
|
|
112
114
|
* @param {HTMLElement} [options.attributionContainer] - Container for attribution list.
|
|
113
115
|
* @param {number} [options.maxGridSize=128] = Maximal segment grid size. 128 is default
|
|
114
116
|
* @param {string} [options.fontsSrc] - Fonts collection url.
|
package/lib/camera/Camera.d.ts
CHANGED
|
@@ -143,6 +143,13 @@ declare class Camera {
|
|
|
143
143
|
protected _pb: Vec3;
|
|
144
144
|
protected _peye: Vec3;
|
|
145
145
|
isMoving: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Fires when the camera view or projection has been changed. It is assigned by the renderer
|
|
148
|
+
* to wake it up from the idle mode.
|
|
149
|
+
* @public
|
|
150
|
+
* @type {?function(): void}
|
|
151
|
+
*/
|
|
152
|
+
onViewChange: (() => void) | null;
|
|
146
153
|
protected _pViewAngle: number;
|
|
147
154
|
protected _pAspect: number;
|
|
148
155
|
protected _pWidth: number;
|
|
@@ -233,6 +240,7 @@ declare class Camera {
|
|
|
233
240
|
* @param {IFlyCartesianParams} [params] - Flight parameters
|
|
234
241
|
*/
|
|
235
242
|
flyCartesian(cartesian: Vec3, params?: IFlyCartesianParams): void;
|
|
243
|
+
protected _startFlying(): void;
|
|
236
244
|
/**
|
|
237
245
|
* Breaks the flight.
|
|
238
246
|
* @public
|
|
@@ -16,6 +16,7 @@ export declare class DebugInfo extends Control {
|
|
|
16
16
|
protected _toggleBtn: ToggleButton;
|
|
17
17
|
protected _dialog: Dialog<null>;
|
|
18
18
|
protected _canvasTiles: CanvasTiles;
|
|
19
|
+
protected _drawnFrames: number;
|
|
19
20
|
constructor(options?: IDebugInfoParams);
|
|
20
21
|
addWatches(watches: IDebugInfoWatch[]): void;
|
|
21
22
|
addWatch(watch: IDebugInfoWatch): void;
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import type { IControlParams } from "./Control";
|
|
2
|
+
import { Control } from "./Control";
|
|
3
|
+
import type { IMouseState } from "../renderer/RendererEvents";
|
|
4
|
+
import { Navigation } from "./Navigation";
|
|
5
|
+
import type { Vec2 } from "../math/Vec2";
|
|
6
|
+
import { Vec3 } from "../math/Vec3";
|
|
7
|
+
import { type EventsHandler } from "../Events";
|
|
8
|
+
export interface IFreeNavigationParams extends IControlParams {
|
|
9
|
+
speed?: number;
|
|
10
|
+
minSpeed?: number;
|
|
11
|
+
maxSpeed?: number;
|
|
12
|
+
speedStep?: number;
|
|
13
|
+
speedFactor?: number;
|
|
14
|
+
lookSensitivity?: number;
|
|
15
|
+
rollSpeed?: number;
|
|
16
|
+
accelerationTime?: number;
|
|
17
|
+
decelerationTime?: number;
|
|
18
|
+
pitchLimit?: number;
|
|
19
|
+
invertY?: boolean;
|
|
20
|
+
pointerLock?: boolean;
|
|
21
|
+
toggleKey?: number;
|
|
22
|
+
showInfo?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export type FreeNavigationEventsList = ["move", "rotate", "speedchange", "activate", "deactivate"];
|
|
25
|
+
/**
|
|
26
|
+
* Free-flight camera navigation.
|
|
27
|
+
*
|
|
28
|
+
* - W/S — move forward/backward
|
|
29
|
+
* - A/D — strafe left/right
|
|
30
|
+
* - Space/Ctrl — increase/decrease altitude
|
|
31
|
+
* - Shift — hold to move without changing the camera height above the ellipsoid
|
|
32
|
+
* - Q/E — roll
|
|
33
|
+
* - Mouse — look around
|
|
34
|
+
* - Mouse wheel — adjust movement speed
|
|
35
|
+
* - Right mouse button — hold to keep the point under the screen center in the center
|
|
36
|
+
* - F — activate and deactivate the control, see `toggleKey`
|
|
37
|
+
*
|
|
38
|
+
* Yaw follows the local ellipsoid normal, while pitch uses the camera's right vector.
|
|
39
|
+
* The camera preserves its orientation relative to the local horizon while moving.
|
|
40
|
+
*
|
|
41
|
+
* By default, pointer lock allows unrestricted mouse rotation. Pressing Escape releases
|
|
42
|
+
* the pointer and deactivates the control. Set `pointerLock` to `false` to use regular
|
|
43
|
+
* mouse movement instead.
|
|
44
|
+
*
|
|
45
|
+
* The control conflicts with the {@link Navigation} control, so an active {@link Navigation}
|
|
46
|
+
* is deactivated while the free navigation is active, and restored back on deactivation.
|
|
47
|
+
*
|
|
48
|
+
* @class
|
|
49
|
+
* @extends {Control}
|
|
50
|
+
* @param {IFreeNavigationParams} [options] - Free navigation options:
|
|
51
|
+
* @param {number} [options.speed] - Initial selected movement speed in m/s. Default is 0
|
|
52
|
+
* @param {number} [options.minSpeed] - Minimal selected movement speed in m/s. Default is -300
|
|
53
|
+
* @param {number} [options.maxSpeed] - Maximal selected movement speed in m/s. Default is 1000000
|
|
54
|
+
* @param {number} [options.speedStep] - Mouse wheel speed step near the zero speed in m/s. Default is 1
|
|
55
|
+
* @param {number} [options.speedFactor] - Relative speed increment per one mouse wheel step. Default is 0.45
|
|
56
|
+
* @param {number} [options.lookSensitivity] - Camera rotation angle in radians per mouse move pixel
|
|
57
|
+
* @param {number} [options.rollSpeed] - Q/E roll angular speed in radians per second the smoothed
|
|
58
|
+
* roll velocity approaches
|
|
59
|
+
* @param {number} [options.accelerationTime] - Acceleration smoothing time in seconds. Default is 0.6
|
|
60
|
+
* @param {number} [options.decelerationTime] - Deceleration smoothing time in seconds. Default is 0.4
|
|
61
|
+
* @param {number} [options.pitchLimit] - Maximal pitch angle above and below the local horizon in radians
|
|
62
|
+
* @param {boolean} [options.invertY] - Inverts vertical mouse rotation direction. Default is false
|
|
63
|
+
* @param {boolean} [options.pointerLock] - Locks and hides the mouse pointer. Default is true
|
|
64
|
+
* @param {number} [options.toggleKey] - Key code which activates and deactivates the control,
|
|
65
|
+
* it works while the control is inactive as well. Zero disables it. Default is `input.KEY_F`
|
|
66
|
+
* @param {boolean} [options.showInfo] - Shows the movement speed and the key hint. Default is false
|
|
67
|
+
* @fires move
|
|
68
|
+
* @fires rotate
|
|
69
|
+
* @fires speedchange
|
|
70
|
+
* @fires activate
|
|
71
|
+
* @fires deactivate
|
|
72
|
+
*/
|
|
73
|
+
export declare class FreeNavigation extends Control {
|
|
74
|
+
events: EventsHandler<FreeNavigationEventsList>;
|
|
75
|
+
minSpeed: number;
|
|
76
|
+
maxSpeed: number;
|
|
77
|
+
speedStep: number;
|
|
78
|
+
speedFactor: number;
|
|
79
|
+
lookSensitivity: number;
|
|
80
|
+
rollSpeed: number;
|
|
81
|
+
accelerationTime: number;
|
|
82
|
+
decelerationTime: number;
|
|
83
|
+
pitchLimit: number;
|
|
84
|
+
invertY: boolean;
|
|
85
|
+
pointerLock: boolean;
|
|
86
|
+
toggleKey: number;
|
|
87
|
+
/**
|
|
88
|
+
* Current camera velocity in meters per second.
|
|
89
|
+
* @public
|
|
90
|
+
* @type {Vec3}
|
|
91
|
+
*/
|
|
92
|
+
vel: Vec3;
|
|
93
|
+
/**
|
|
94
|
+
* Current camera roll angular velocity in radians per second.
|
|
95
|
+
* @public
|
|
96
|
+
* @type {number}
|
|
97
|
+
*/
|
|
98
|
+
rollVel: number;
|
|
99
|
+
/**
|
|
100
|
+
* Selected movement speed in meters per second.
|
|
101
|
+
* @protected
|
|
102
|
+
* @type {number}
|
|
103
|
+
*/
|
|
104
|
+
protected _speed: number;
|
|
105
|
+
protected _moveForward: boolean;
|
|
106
|
+
protected _moveBackward: boolean;
|
|
107
|
+
protected _moveLeft: boolean;
|
|
108
|
+
protected _moveRight: boolean;
|
|
109
|
+
protected _moveUp: boolean;
|
|
110
|
+
protected _moveDown: boolean;
|
|
111
|
+
protected _rollDir: number;
|
|
112
|
+
protected _dx: number;
|
|
113
|
+
protected _dy: number;
|
|
114
|
+
protected _skipPointerMove: boolean;
|
|
115
|
+
protected _targetPoint: Vec3 | null;
|
|
116
|
+
protected _targetRequest: number;
|
|
117
|
+
protected _holdHeight: number | null;
|
|
118
|
+
protected _lastFrameTime: number;
|
|
119
|
+
protected _frameDeltaTime: number;
|
|
120
|
+
protected _infoEl: HTMLElement | null;
|
|
121
|
+
protected _suspendedNavigation: Navigation[];
|
|
122
|
+
constructor(options?: IFreeNavigationParams);
|
|
123
|
+
onadd(): void;
|
|
124
|
+
oninit(): void;
|
|
125
|
+
onremove(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Activates the control when it is inactive and deactivates it otherwise.
|
|
128
|
+
* @public
|
|
129
|
+
*/
|
|
130
|
+
toggle(): void;
|
|
131
|
+
protected _onToggleKey: () => void;
|
|
132
|
+
protected _updateInfo(): void;
|
|
133
|
+
onactivate(): void;
|
|
134
|
+
ondeactivate(): void;
|
|
135
|
+
/**
|
|
136
|
+
* Returns selected movement speed in meters per second.
|
|
137
|
+
* @public
|
|
138
|
+
* @return {number} -
|
|
139
|
+
*/
|
|
140
|
+
get speed(): number;
|
|
141
|
+
/**
|
|
142
|
+
* Sets selected movement speed in meters per second.
|
|
143
|
+
* @public
|
|
144
|
+
* @param {number} speed - Speed in m/s.
|
|
145
|
+
*/
|
|
146
|
+
set speed(speed: number);
|
|
147
|
+
/**
|
|
148
|
+
* Sets selected movement speed in meters per second, clamped to the min and max speed.
|
|
149
|
+
* @public
|
|
150
|
+
* @param {number} speed - Speed in m/s.
|
|
151
|
+
*/
|
|
152
|
+
setSpeed(speed: number): void;
|
|
153
|
+
/**
|
|
154
|
+
* Changes the movement speed by the given number of wheel steps.
|
|
155
|
+
*
|
|
156
|
+
* The speed step increases with the current speed. Changes are reversible,
|
|
157
|
+
* and zero speed is always reachable.
|
|
158
|
+
* @public
|
|
159
|
+
* @param {number} steps - Number of the wheel steps, negative decreases the speed.
|
|
160
|
+
*/
|
|
161
|
+
stepSpeed(steps: number): void;
|
|
162
|
+
/**
|
|
163
|
+
* True when the mouse pointer is locked by the control.
|
|
164
|
+
* @public
|
|
165
|
+
* @return {boolean} -
|
|
166
|
+
*/
|
|
167
|
+
isPointerLocked(): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Locks and hides the mouse pointer over the canvas.
|
|
170
|
+
* @public
|
|
171
|
+
*/
|
|
172
|
+
requestPointerLock(): void;
|
|
173
|
+
/**
|
|
174
|
+
* Releases the mouse pointer.
|
|
175
|
+
* @public
|
|
176
|
+
*/
|
|
177
|
+
exitPointerLock(): void;
|
|
178
|
+
/**
|
|
179
|
+
* Locked target point in the cartesian coordinates, or null when no target is locked.
|
|
180
|
+
* @public
|
|
181
|
+
* @return {Vec3 | null} -
|
|
182
|
+
*/
|
|
183
|
+
get targetPoint(): Vec3 | null;
|
|
184
|
+
/**
|
|
185
|
+
* Locks the target point, so the camera keeps looking at it wherever it moves,
|
|
186
|
+
* @public
|
|
187
|
+
* @param {Vec3} [point] - Target point in the cartesian coordinates.
|
|
188
|
+
*/
|
|
189
|
+
lockTarget(point?: Vec3 | null): void;
|
|
190
|
+
/**
|
|
191
|
+
* Releases the locked target point.
|
|
192
|
+
* @public
|
|
193
|
+
*/
|
|
194
|
+
unlockTarget(): void;
|
|
195
|
+
/**
|
|
196
|
+
* Stops the camera movement and releases the locked target point.
|
|
197
|
+
* @public
|
|
198
|
+
*/
|
|
199
|
+
stop(): void;
|
|
200
|
+
protected onPreDraw(): void;
|
|
201
|
+
protected _hasInput(): boolean;
|
|
202
|
+
protected _resetInput(): void;
|
|
203
|
+
private _onCameraFly;
|
|
204
|
+
protected _onMouseMove: (e: IMouseState) => void;
|
|
205
|
+
protected _onLockedMouseMove: (e: MouseEvent) => void;
|
|
206
|
+
protected _onPointerLockChange: () => void;
|
|
207
|
+
protected _onLDown: () => void;
|
|
208
|
+
protected _onRDown: () => void;
|
|
209
|
+
protected _onRUp: () => void;
|
|
210
|
+
protected _onKeyEscape: () => void;
|
|
211
|
+
protected _onMouseLeave: () => void;
|
|
212
|
+
protected _onMouseWheel: (e: IMouseState) => void;
|
|
213
|
+
protected _onKeyForward: () => void;
|
|
214
|
+
protected _onKeyBackward: () => void;
|
|
215
|
+
protected _onKeyLeft: () => void;
|
|
216
|
+
protected _onKeyRight: () => void;
|
|
217
|
+
protected _onKeyUp: () => void;
|
|
218
|
+
protected _onKeyDown: () => void;
|
|
219
|
+
protected _onKeyRollLeft: () => void;
|
|
220
|
+
protected _onKeyRollRight: () => void;
|
|
221
|
+
protected _getLocalUp(eye: Vec3): Vec3;
|
|
222
|
+
protected _getTargetPixel(): Vec2;
|
|
223
|
+
protected _pickTargetPoint(px: Vec2): Vec3 | null;
|
|
224
|
+
protected _handleTargetLock(): void;
|
|
225
|
+
protected _handleRotation(): void;
|
|
226
|
+
/**
|
|
227
|
+
* Clamps the pitch rotation angle.
|
|
228
|
+
* @protected
|
|
229
|
+
* @param {number} angle - Pitch angle in radians.
|
|
230
|
+
* @param {Vec3} forward - Camera forward vector.
|
|
231
|
+
* @param {Vec3} right - Camera right vector.
|
|
232
|
+
* @param {Vec3} localUp - Local reference frame up direction.
|
|
233
|
+
* @return {number} - Applicable pitch angle in radians.
|
|
234
|
+
*/
|
|
235
|
+
protected _limitPitch(angle: number, forward: Vec3, right: Vec3, localUp: Vec3): number;
|
|
236
|
+
/**
|
|
237
|
+
* Rollls the camera around its forward axis and keeps its angular velocity smoothed.
|
|
238
|
+
* @protected
|
|
239
|
+
*/
|
|
240
|
+
protected _handleRoll(): void;
|
|
241
|
+
protected _orthonormalizeCamera(): void;
|
|
242
|
+
/**
|
|
243
|
+
* Moves the camera and keeps its orientation in the local reference frame.
|
|
244
|
+
* @protected
|
|
245
|
+
*/
|
|
246
|
+
protected _handleMove(): void;
|
|
247
|
+
protected _isHeightHold(): boolean;
|
|
248
|
+
protected _handleHeightHold(): void;
|
|
249
|
+
protected _suspendNavigation(): void;
|
|
250
|
+
protected _restoreNavigation(): void;
|
|
251
|
+
protected _updateFrameDeltaTime(): void;
|
|
252
|
+
protected get dt(): number;
|
|
253
|
+
}
|
|
@@ -100,6 +100,12 @@ export declare class Navigation extends Control {
|
|
|
100
100
|
onactivate(): void;
|
|
101
101
|
ondeactivate(): void;
|
|
102
102
|
protected onPreDraw(): void;
|
|
103
|
+
/**
|
|
104
|
+
* Returns true while the inertia has not been damped yet.
|
|
105
|
+
* @public
|
|
106
|
+
* @returns {boolean}
|
|
107
|
+
*/
|
|
108
|
+
isMoving(): boolean;
|
|
103
109
|
_onShiftFree: () => void;
|
|
104
110
|
private _onCameraFly;
|
|
105
111
|
protected _onMouseMove: (e: IMouseState) => void;
|
package/lib/control/ShowFps.d.ts
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
|
+
import { Button } from "../ui/Button";
|
|
1
2
|
import { Control } from "./Control";
|
|
2
3
|
import type { IControlParams } from "./Control";
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
+
* Frames per second(FPS) display control. It looks like a map button in the top right
|
|
6
|
+
* corner and shows the current frame rate instead of an icon.
|
|
7
|
+
*
|
|
8
|
+
* Note that the rate is measured by the control itself and not taken from
|
|
9
|
+
* {@link Handler#deltaTime}, which is clamped and does not represent the real frame time.
|
|
10
|
+
* @class
|
|
11
|
+
* @extends {Control}
|
|
5
12
|
*/
|
|
6
13
|
export declare class ShowFps extends Control {
|
|
7
|
-
|
|
14
|
+
protected _btn: Button | null;
|
|
15
|
+
protected _text: HTMLElement | null;
|
|
16
|
+
protected _frames: number;
|
|
17
|
+
protected _measureStart: number;
|
|
18
|
+
constructor(options?: IControlParams);
|
|
8
19
|
oninit(): void;
|
|
9
|
-
|
|
20
|
+
onremove(): void;
|
|
21
|
+
protected _draw: () => void;
|
|
10
22
|
}
|
package/lib/control/Sun.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export declare class Sun extends Control {
|
|
|
41
41
|
localDateTime: Date | null;
|
|
42
42
|
protected _currDate: number;
|
|
43
43
|
protected _prevDate: number;
|
|
44
|
+
protected _redrawDate: number;
|
|
44
45
|
protected _clockPtr: Clock | null;
|
|
45
46
|
protected _lightOn: boolean;
|
|
46
47
|
protected _stopped: boolean;
|
|
@@ -49,6 +50,7 @@ export declare class Sun extends Control {
|
|
|
49
50
|
protected _sunlightPosition: Vec3;
|
|
50
51
|
constructor(options?: ISunParams);
|
|
51
52
|
oninit(): void;
|
|
53
|
+
protected _onClockTick: () => void;
|
|
52
54
|
stop(): void;
|
|
53
55
|
start(): void;
|
|
54
56
|
onactivate(): void;
|
package/lib/control/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./Control";
|
|
|
3
3
|
export * from "./DebugInfo";
|
|
4
4
|
export * from "./DrawingSwitcher";
|
|
5
5
|
export * from "./EarthCoordinates";
|
|
6
|
+
export * from "./FreeNavigation";
|
|
6
7
|
export * from "./GeoImageDragControl";
|
|
7
8
|
export * from "./KeyboardNavigation";
|
|
8
9
|
export * from "./LayerAnimation";
|
|
@@ -241,6 +241,11 @@ declare class EntityCollection {
|
|
|
241
241
|
* @param {boolean} visibility - Visibility flag.
|
|
242
242
|
*/
|
|
243
243
|
setVisibility(visibility: boolean): void;
|
|
244
|
+
/**
|
|
245
|
+
* Requests the next frame to be rendered.
|
|
246
|
+
* @public
|
|
247
|
+
*/
|
|
248
|
+
requestRedraw(): void;
|
|
244
249
|
/**
|
|
245
250
|
* Returns collection visibility.
|
|
246
251
|
* @public
|
|
@@ -56,6 +56,12 @@ declare class BaseBillboardHandler {
|
|
|
56
56
|
initProgram(): void;
|
|
57
57
|
setRenderer(renderer: Renderer): void;
|
|
58
58
|
refresh(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Marks a buffer to be updated in the next frame and requests the frame to be rendered.
|
|
61
|
+
* @protected
|
|
62
|
+
* @param {number} index - Buffer index.
|
|
63
|
+
*/
|
|
64
|
+
protected _setChangedBuffer(index: number): void;
|
|
59
65
|
protected _removeBillboards(): void;
|
|
60
66
|
clear(): void;
|
|
61
67
|
protected _deleteBuffers(): void;
|
|
@@ -79,6 +79,12 @@ export declare class InstanceData {
|
|
|
79
79
|
createIndicesBuffer(): void;
|
|
80
80
|
createPickingColorBuffer(): void;
|
|
81
81
|
refresh(): void;
|
|
82
|
+
/**
|
|
83
|
+
* Marks a buffer to be updated in the next frame and requests the frame to be rendered.
|
|
84
|
+
* @public
|
|
85
|
+
* @param {number} index - Buffer index.
|
|
86
|
+
*/
|
|
87
|
+
setChangedBuffer(index: number): void;
|
|
82
88
|
update(): void;
|
|
83
89
|
private _createColorTexture;
|
|
84
90
|
private _createNormalTexture;
|
|
@@ -60,6 +60,7 @@ declare class GeometryHandler {
|
|
|
60
60
|
protected _refreshPlanetNode(treeNode: Node): void;
|
|
61
61
|
protected _updatePlanet(): void;
|
|
62
62
|
protected refresh(): void;
|
|
63
|
+
protected _setChangedBuffer(index: number): void;
|
|
63
64
|
update(): void;
|
|
64
65
|
setGeometryVisibility(geometry: Geometry): void;
|
|
65
66
|
setPolyColorArr(geometry: Geometry, color: Vec4): void;
|
|
@@ -30,6 +30,11 @@ declare class PointCloudHandler {
|
|
|
30
30
|
*/
|
|
31
31
|
protected _pointClouds: PointCloud[];
|
|
32
32
|
constructor(entityCollection: EntityCollection);
|
|
33
|
+
/**
|
|
34
|
+
* Requests the next frame to be rendered.
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
requestRedraw(): void;
|
|
33
38
|
protected _initProgram(): void;
|
|
34
39
|
bindScene(scene: Scene): void;
|
|
35
40
|
add(pointCloud: PointCloud): void;
|
|
@@ -20,6 +20,11 @@ declare class PolylineHandler {
|
|
|
20
20
|
protected _polylines: Polyline[];
|
|
21
21
|
constructor(entityCollection: EntityCollection);
|
|
22
22
|
setVisibleSphere(p: Vec3, r: number): void;
|
|
23
|
+
/**
|
|
24
|
+
* Requests the next frame to be rendered.
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
requestRedraw(): void;
|
|
23
28
|
protected _initProgram(): void;
|
|
24
29
|
bindScene(scene: Scene): void;
|
|
25
30
|
add(polyline: Polyline): void;
|
|
@@ -13,6 +13,7 @@ declare class KeyboardHandler {
|
|
|
13
13
|
protected _event: KeyboardEvent | null;
|
|
14
14
|
protected _active: boolean;
|
|
15
15
|
protected _stampCache: Record<string, number>;
|
|
16
|
+
onKeyEvent: ((event: KeyboardEvent) => void) | null;
|
|
16
17
|
constructor();
|
|
17
18
|
getcurrentlyPressedKeys(): Record<number, boolean>;
|
|
18
19
|
getPressedKeysCallbacks(): Record<number, ICallbackHandler[]>;
|
package/lib/layer/Layer.d.ts
CHANGED
|
@@ -136,7 +136,7 @@ declare class Layer {
|
|
|
136
136
|
*/
|
|
137
137
|
_planet: Planet | null;
|
|
138
138
|
createTexture: Function | null;
|
|
139
|
-
|
|
139
|
+
protected _nightTextureCoefficient: number;
|
|
140
140
|
protected _hasImageryTiles: boolean;
|
|
141
141
|
/**
|
|
142
142
|
* Layer global opacity.
|
|
@@ -225,6 +225,13 @@ declare class Layer {
|
|
|
225
225
|
get instanceName(): string;
|
|
226
226
|
get rendererEvents(): EventsHandler<LayerEventsList>;
|
|
227
227
|
set opacity(opacity: number);
|
|
228
|
+
/**
|
|
229
|
+
* Night texture blending coefficient.
|
|
230
|
+
* @public
|
|
231
|
+
* @type {number}
|
|
232
|
+
*/
|
|
233
|
+
set nightTextureCoefficient(coefficient: number);
|
|
234
|
+
get nightTextureCoefficient(): number;
|
|
228
235
|
set pickingEnabled(picking: boolean);
|
|
229
236
|
get pickingEnabled(): boolean;
|
|
230
237
|
/**
|
package/lib/math/Line2.d.ts
CHANGED
|
@@ -14,7 +14,7 @@ export declare class Line2 {
|
|
|
14
14
|
* Finds the intersection of the line with a circle.
|
|
15
15
|
* @param {Vec2} center - Circle center.
|
|
16
16
|
* @param {number} radius - Circle radius.
|
|
17
|
-
* @returns {
|
|
17
|
+
* @returns {Array.<Vec2>} Zero, one, or two intersection points.
|
|
18
18
|
*/
|
|
19
19
|
getCircleIntersection(center: Vec2, radius: number): [] | [Vec2] | [Vec2, Vec2];
|
|
20
20
|
}
|
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-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}#ogShowFpsControl{color:red}.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-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{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{touch-action:none;width:100%;height:100%;overflow:hidden}.og-timeline-current{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-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-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}
|
|
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{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{touch-action:none;width:100%;height:100%;overflow:hidden}.og-timeline-current{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-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-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}
|
|
2
2
|
/*$vite$:1*/
|