@map-colonies/react-components 3.8.1 → 3.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +1 -0
- package/.storybook/main.js +2 -5
- package/CHANGELOG.md +54 -0
- package/dist/assets/img/dragIcon.png +0 -0
- package/dist/assets/img/dragIconLight.png +0 -0
- package/dist/assets/img/glyphicons_067_cleaning.png +0 -0
- package/dist/assets/img/glyphicons_094_vector_path_square.png +0 -0
- package/dist/assets/img/glyphicons_095_vector_path_circle.png +0 -0
- package/dist/assets/img/glyphicons_096_vector_path_polygon.png +0 -0
- package/dist/assets/img/glyphicons_097_vector_path_line.png +0 -0
- package/dist/assets/img/glyphicons_242_google_maps.png +0 -0
- package/dist/assets/img/map-marker.gif +0 -0
- package/dist/autocomplete/autocomplete.css +25 -0
- package/dist/autocomplete/autocomplete.d.ts +33 -0
- package/dist/autocomplete/autocomplete.js +480 -0
- package/dist/autocomplete/index.d.ts +1 -0
- package/dist/autocomplete/index.js +5 -0
- package/dist/box/box.d.ts +3 -0
- package/dist/box/box.js +35 -0
- package/dist/box/index.d.ts +1 -0
- package/dist/box/index.js +5 -0
- package/dist/cesium-map/data-sources/custom.data-source.d.ts +5 -0
- package/dist/cesium-map/data-sources/custom.data-source.js +23 -0
- package/dist/cesium-map/data-sources/drawings.data-source.d.ts +34 -0
- package/dist/cesium-map/data-sources/drawings.data-source.js +187 -0
- package/dist/cesium-map/data-sources/index.d.ts +2 -0
- package/dist/cesium-map/data-sources/index.js +14 -0
- package/dist/cesium-map/entities/entity.d.ts +5 -0
- package/dist/cesium-map/entities/entity.description.d.ts +6 -0
- package/dist/cesium-map/entities/entity.description.js +27 -0
- package/dist/cesium-map/entities/entity.js +23 -0
- package/dist/cesium-map/entities/graphics/polygon.graphics.d.ts +5 -0
- package/dist/cesium-map/entities/graphics/polygon.graphics.js +23 -0
- package/dist/cesium-map/entities/graphics/polyline.graphics.d.ts +5 -0
- package/dist/cesium-map/entities/graphics/polyline.graphics.js +23 -0
- package/dist/cesium-map/entities/graphics/rectangle.graphics.d.ts +5 -0
- package/dist/cesium-map/entities/graphics/rectangle.graphics.js +23 -0
- package/dist/cesium-map/entities/index.d.ts +4 -0
- package/dist/cesium-map/entities/index.js +16 -0
- package/dist/cesium-map/index.d.ts +7 -0
- package/dist/cesium-map/index.js +19 -0
- package/dist/cesium-map/layers/3d.tileset.d.ts +7 -0
- package/dist/cesium-map/layers/3d.tileset.js +39 -0
- package/dist/cesium-map/layers/3d.tileset.update.d.ts +1 -0
- package/dist/cesium-map/layers/3d.tileset.update.js +5 -0
- package/dist/cesium-map/layers/geojson.layer.d.ts +5 -0
- package/dist/cesium-map/layers/geojson.layer.js +23 -0
- package/dist/cesium-map/layers/imagery.layer.d.ts +6 -0
- package/dist/cesium-map/layers/imagery.layer.js +64 -0
- package/dist/cesium-map/layers/index.d.ts +7 -0
- package/dist/cesium-map/layers/index.js +19 -0
- package/dist/cesium-map/layers/osm.layer.d.ts +9 -0
- package/dist/cesium-map/layers/osm.layer.js +36 -0
- package/dist/cesium-map/layers/wms.layer.d.ts +9 -0
- package/dist/cesium-map/layers/wms.layer.js +36 -0
- package/dist/cesium-map/layers/wmts.layer.d.ts +9 -0
- package/dist/cesium-map/layers/wmts.layer.js +36 -0
- package/dist/cesium-map/layers/xyz.layer.d.ts +9 -0
- package/dist/cesium-map/layers/xyz.layer.js +36 -0
- package/dist/cesium-map/layers-manager.d.ts +47 -0
- package/dist/cesium-map/layers-manager.js +228 -0
- package/dist/cesium-map/map.css +54 -0
- package/dist/cesium-map/map.d.ts +46 -0
- package/dist/cesium-map/map.js +273 -0
- package/dist/cesium-map/map.types.d.ts +8 -0
- package/dist/cesium-map/map.types.js +12 -0
- package/dist/cesium-map/proxied.types.d.ts +19 -0
- package/dist/cesium-map/proxied.types.js +89 -0
- package/dist/cesium-map/settings/base-maps.css +37 -0
- package/dist/cesium-map/settings/base-maps.d.ts +7 -0
- package/dist/cesium-map/settings/base-maps.js +78 -0
- package/dist/cesium-map/settings/scene-modes.css +19 -0
- package/dist/cesium-map/settings/scene-modes.d.ts +7 -0
- package/dist/cesium-map/settings/scene-modes.js +65 -0
- package/dist/cesium-map/settings/settings.css +49 -0
- package/dist/cesium-map/settings/settings.d.ts +23 -0
- package/dist/cesium-map/settings/settings.js +79 -0
- package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.d.ts +3 -0
- package/dist/cesium-map/terrain-providers/custom/dummy-quantized-mesh-tile.js +245 -0
- package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.d.ts +9 -0
- package/dist/cesium-map/terrain-providers/custom/quantized-mesh-decoder.js +202 -0
- package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.d.ts +50 -0
- package/dist/cesium-map/terrain-providers/custom/quantized-mesh-terrain-provider.js +136 -0
- package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.d.ts +2 -0
- package/dist/cesium-map/tools/cesium/primitives-conversions.cesium.js +38 -0
- package/dist/cesium-map/tools/coordinates-tracker.tool.css +11 -0
- package/dist/cesium-map/tools/coordinates-tracker.tool.d.ts +7 -0
- package/dist/cesium-map/tools/coordinates-tracker.tool.js +78 -0
- package/dist/cesium-map/tools/draw/drawHelper.css +101 -0
- package/dist/cesium-map/tools/draw/drawHelper.d.ts +28 -0
- package/dist/cesium-map/tools/draw/drawHelper.js +1694 -0
- package/dist/cesium-map/tools/geojson/geojson-to-primitive.d.ts +4 -0
- package/dist/cesium-map/tools/geojson/geojson-to-primitive.js +41 -0
- package/dist/cesium-map/tools/geojson/index.d.ts +2 -0
- package/dist/cesium-map/tools/geojson/index.js +14 -0
- package/dist/cesium-map/tools/geojson/point.geojson.d.ts +3 -0
- package/dist/cesium-map/tools/geojson/point.geojson.js +21 -0
- package/dist/cesium-map/tools/geojson/polygon.geojson.d.ts +3 -0
- package/dist/cesium-map/tools/geojson/polygon.geojson.js +24 -0
- package/dist/cesium-map/tools/geojson/rectangle.geojson.d.ts +3 -0
- package/dist/cesium-map/tools/geojson/rectangle.geojson.js +44 -0
- package/dist/cesium-map/tools/inspector.tool.d.ts +4 -0
- package/dist/cesium-map/tools/inspector.tool.js +33 -0
- package/dist/cesium-map/tools/scale-tracker.tool.css +16 -0
- package/dist/cesium-map/tools/scale-tracker.tool.d.ts +8 -0
- package/dist/cesium-map/tools/scale-tracker.tool.js +158 -0
- package/dist/cesium-map/tools/terranian-height.tool.d.ts +4 -0
- package/dist/cesium-map/tools/terranian-height.tool.js +113 -0
- package/dist/cssbaseline/cssbaseline.d.ts +5 -0
- package/dist/cssbaseline/cssbaseline.js +41 -0
- package/dist/cssbaseline/index.d.ts +1 -0
- package/dist/cssbaseline/index.js +6 -0
- package/dist/date-picker/date-picker.css +9 -0
- package/dist/date-picker/date-picker.d.ts +14 -0
- package/dist/date-picker/date-picker.js +78 -0
- package/dist/date-picker/index.d.ts +1 -0
- package/dist/date-picker/index.js +13 -0
- package/dist/date-range-picker/date-range-picker.css +9 -0
- package/dist/date-range-picker/date-range-picker.d.ts +26 -0
- package/dist/date-range-picker/date-range-picker.form-control.css +3 -0
- package/dist/date-range-picker/date-range-picker.form-control.d.ts +28 -0
- package/dist/date-range-picker/date-range-picker.form-control.js +95 -0
- package/dist/date-range-picker/date-range-picker.js +104 -0
- package/dist/date-range-picker/index.d.ts +2 -0
- package/dist/date-range-picker/index.js +14 -0
- package/dist/file-picker/file-picker.css +62 -0
- package/dist/file-picker/file-picker.d.ts +276 -0
- package/dist/file-picker/file-picker.js +151 -0
- package/dist/file-picker/fs-map.json +1557 -0
- package/dist/file-picker/index.d.ts +2 -0
- package/dist/file-picker/index.js +14 -0
- package/dist/file-picker/localization.d.ts +11 -0
- package/dist/file-picker/localization.js +124 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +23 -16
- package/dist/map-filter-container/container-map.css +5 -0
- package/dist/map-filter-container/container-map.d.ts +11 -0
- package/dist/map-filter-container/container-map.js +31 -0
- package/dist/map-filter-container/index.d.ts +1 -0
- package/dist/map-filter-container/index.js +13 -0
- package/dist/map-filter-container/map-filter-container.d.ts +9 -0
- package/dist/map-filter-container/map-filter-container.js +78 -0
- package/dist/map-filter-container/polygon-selection-ui.d.ts +12 -0
- package/dist/map-filter-container/polygon-selection-ui.js +62 -0
- package/dist/models/defaults.d.ts +28 -0
- package/dist/models/defaults.js +32 -0
- package/dist/models/enums.d.ts +14 -0
- package/dist/models/enums.js +20 -0
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.js +13 -0
- package/dist/ol-map/feature.d.ts +6 -0
- package/dist/ol-map/feature.js +20 -0
- package/dist/ol-map/index.d.ts +6 -0
- package/dist/ol-map/index.js +18 -0
- package/dist/ol-map/interactions/draw.d.ts +8 -0
- package/dist/ol-map/interactions/draw.js +44 -0
- package/dist/ol-map/interactions/index.d.ts +1 -0
- package/dist/ol-map/interactions/index.js +13 -0
- package/dist/ol-map/layers/index.d.ts +3 -0
- package/dist/ol-map/layers/index.js +15 -0
- package/dist/ol-map/layers/tile-layer.d.ts +9 -0
- package/dist/ol-map/layers/tile-layer.js +48 -0
- package/dist/ol-map/layers/vector-layer.d.ts +4 -0
- package/dist/ol-map/layers/vector-layer.js +48 -0
- package/dist/ol-map/layers/vector-tile-layer.d.ts +10 -0
- package/dist/ol-map/layers/vector-tile-layer.js +66 -0
- package/dist/ol-map/map.css +17 -0
- package/dist/ol-map/map.d.ts +14 -0
- package/dist/ol-map/map.js +117 -0
- package/dist/ol-map/source/index.d.ts +6 -0
- package/dist/ol-map/source/index.js +18 -0
- package/dist/ol-map/source/mvt.d.ts +11 -0
- package/dist/ol-map/source/mvt.js +37 -0
- package/dist/ol-map/source/osm.d.ts +2 -0
- package/dist/ol-map/source/osm.js +14 -0
- package/dist/ol-map/source/vector-source.d.ts +4 -0
- package/dist/ol-map/source/vector-source.js +45 -0
- package/dist/ol-map/source/wms.d.ts +17 -0
- package/dist/ol-map/source/wms.js +30 -0
- package/dist/ol-map/source/wmts.d.ts +21 -0
- package/dist/ol-map/source/wmts.js +59 -0
- package/dist/ol-map/source/xyz.d.ts +12 -0
- package/dist/ol-map/source/xyz.js +27 -0
- package/dist/ol-map/style.d.ts +4 -0
- package/dist/ol-map/style.js +22 -0
- package/dist/popover/index.d.ts +1 -0
- package/dist/popover/index.js +5 -0
- package/dist/popover/popover.d.ts +3 -0
- package/dist/popover/popover.js +35 -0
- package/dist/smart-table/__mock-data__/smartTableMocks.d.ts +7 -0
- package/dist/smart-table/__mock-data__/smartTableMocks.js +17 -0
- package/dist/smart-table/index.d.ts +2 -0
- package/dist/smart-table/index.js +14 -0
- package/dist/smart-table/smart-table-head.d.ts +11 -0
- package/dist/smart-table/smart-table-head.js +22 -0
- package/dist/smart-table/smart-table-row.d.ts +12 -0
- package/dist/smart-table/smart-table-row.js +46 -0
- package/dist/smart-table/smart-table-types.d.ts +9 -0
- package/dist/smart-table/smart-table-types.js +2 -0
- package/dist/smart-table/smart-table.d.ts +17 -0
- package/dist/smart-table/smart-table.js +51 -0
- package/dist/theme/index.d.ts +1 -0
- package/dist/theme/index.js +13 -0
- package/dist/theme/theme.d.ts +8 -0
- package/dist/theme/theme.js +124 -0
- package/dist/utils/map.d.ts +3 -0
- package/dist/utils/map.js +21 -0
- package/dist/utils/projections.d.ts +6 -0
- package/dist/utils/projections.js +10 -0
- package/dist/utils/story.d.ts +12 -0
- package/dist/utils/story.js +2 -0
- package/package.json +103 -100
- package/public/assets/img/map-marker.gif +0 -0
- package/src/lib/cesium-map/map.tsx +22 -12
- package/src/lib/cesium-map/terrain-providers/terrain-provider-heights-tool.stories.tsx +155 -0
- package/src/lib/cesium-map/terrain-providers/terrain-provider.stories.tsx +5 -3
- package/src/lib/cesium-map/tools/coordinates-tracker.tool.tsx +1 -1
- package/src/lib/cesium-map/tools/inspector.tool.tsx +15 -0
- package/src/lib/cesium-map/tools/terranian-height.tool.tsx +167 -0
- package/src/lib/date-range-picker/{stories/DateRangePicker.stories.tsx → date-range-picker.stories.tsx} +5 -5
- package/src/lib/file-picker/file-picker.css +62 -0
- package/src/lib/file-picker/file-picker.stories.tsx +447 -0
- package/src/lib/file-picker/file-picker.tsx +180 -0
- package/src/lib/file-picker/fs-map.json +1557 -0
- package/src/lib/file-picker/index.ts +2 -0
- package/src/lib/file-picker/localization.ts +164 -0
- package/src/lib/index.ts +1 -0
- package/src/lib/models/enums.ts +1 -0
- package/src/lib/smart-table/smart-table-row.spec.tsx +1 -1
- package/tsbuildconfig.json +2 -2
- package/tsconfig.json +2 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
.mapScenesContainer {
|
|
2
|
+
display: flex;
|
|
3
|
+
gap: 8px;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.settingsIconContainer {
|
|
7
|
+
fill: #fff;
|
|
8
|
+
width: 40px;
|
|
9
|
+
height: 40px;
|
|
10
|
+
background: #303336;
|
|
11
|
+
border: 1px solid #444;
|
|
12
|
+
border-radius: 4px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.settingsIconContainer:hover {
|
|
16
|
+
background: #48b;
|
|
17
|
+
border-color: #aef;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.baseMapsContainer {
|
|
21
|
+
margin-top: 12px;
|
|
22
|
+
min-height: 58%;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.settingsDialogPortal {
|
|
26
|
+
transform: translateZ(0);
|
|
27
|
+
height: calc(100vh - 220px);
|
|
28
|
+
max-height: 460px;
|
|
29
|
+
width: 280px;
|
|
30
|
+
position: absolute;
|
|
31
|
+
top: 40px;
|
|
32
|
+
right: 80px;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.settingsDialogPortal .mdc-dialog__container {
|
|
36
|
+
align-items: unset;
|
|
37
|
+
}
|
|
38
|
+
.settingsDialogPortal .mdc-dialog .mdc-dialog__surface {
|
|
39
|
+
max-height: unset;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
body[dir='rtl'] .settingsDialogPortal {
|
|
43
|
+
left: 80px;
|
|
44
|
+
right: unset;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.sectionLabel {
|
|
48
|
+
margin-block-end: 0.5em;
|
|
49
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { IRasterLayer, IVectorLayer } from '../layers-manager';
|
|
3
|
+
import { CesiumSceneModeEnum } from '../map.types';
|
|
4
|
+
import './settings.css';
|
|
5
|
+
export interface IBaseMap {
|
|
6
|
+
id: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
thumbnail?: string;
|
|
9
|
+
isCurrent?: boolean;
|
|
10
|
+
baseRasteLayers: IRasterLayer[];
|
|
11
|
+
baseVectorLayers: IVectorLayer[];
|
|
12
|
+
}
|
|
13
|
+
export interface IBaseMaps {
|
|
14
|
+
maps: IBaseMap[];
|
|
15
|
+
}
|
|
16
|
+
export interface RCesiumMapProps {
|
|
17
|
+
sceneModes: CesiumSceneModeEnum[];
|
|
18
|
+
baseMaps?: IBaseMaps;
|
|
19
|
+
locale?: {
|
|
20
|
+
[key: string]: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export declare const CesiumSettings: React.FC<RCesiumMapProps>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.CesiumSettings = void 0;
|
|
23
|
+
var react_1 = __importStar(require("react"));
|
|
24
|
+
var react_core_1 = require("@map-colonies/react-core");
|
|
25
|
+
var lodash_1 = require("lodash");
|
|
26
|
+
var box_1 = require("../../box");
|
|
27
|
+
var scene_modes_1 = require("./scene-modes");
|
|
28
|
+
var base_maps_1 = require("./base-maps");
|
|
29
|
+
require("./settings.css");
|
|
30
|
+
var SETTINGS_SVG_ID = 'ic_settings_24px';
|
|
31
|
+
var CesiumSettings = function (props) {
|
|
32
|
+
var _a, _b, _c;
|
|
33
|
+
var _d = react_1.useState(false), isOpen = _d[0], setIsOpen = _d[1];
|
|
34
|
+
var sceneModes = props.sceneModes, baseMaps = props.baseMaps, locale = props.locale;
|
|
35
|
+
var dialogPortalRef = react_1.useRef(null);
|
|
36
|
+
var dlgTitle = (_a = lodash_1.get(locale, 'MAP_SETTINGS_DIALOG_TITLE')) !== null && _a !== void 0 ? _a : 'Map Settings';
|
|
37
|
+
var sceneModeTitle = (_b = lodash_1.get(locale, 'MAP_SETTINGS_SCENE_MODE_TITLE')) !== null && _b !== void 0 ? _b : 'Scene Mode';
|
|
38
|
+
var baseMapTitle = (_c = lodash_1.get(locale, 'MAP_SETTINGS_BASE_MAP_TITLE')) !== null && _c !== void 0 ? _c : 'Base Map';
|
|
39
|
+
// const btnOkText = get(locale, 'MAP_SETTINGS_OK_BUTTON_TEXT') ?? 'Ok';
|
|
40
|
+
react_1.useEffect(function () {
|
|
41
|
+
var handleClickOutside = function (event) {
|
|
42
|
+
var _a;
|
|
43
|
+
/* eslint-disable */
|
|
44
|
+
var target = event.target;
|
|
45
|
+
var dlgPortalRef = lodash_1.get(dialogPortalRef, 'current');
|
|
46
|
+
if (dlgPortalRef &&
|
|
47
|
+
!dlgPortalRef.contains(target) &&
|
|
48
|
+
target.id !== SETTINGS_SVG_ID &&
|
|
49
|
+
((_a = target.parentElement) === null || _a === void 0 ? void 0 : _a.id) !== SETTINGS_SVG_ID) {
|
|
50
|
+
document.removeEventListener('click', handleClickOutside, false);
|
|
51
|
+
setIsOpen(false);
|
|
52
|
+
}
|
|
53
|
+
/* eslint-enable */
|
|
54
|
+
};
|
|
55
|
+
document.addEventListener('click', handleClickOutside, false);
|
|
56
|
+
return function () {
|
|
57
|
+
document.removeEventListener('click', handleClickOutside, false);
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
61
|
+
react_1.default.createElement(react_core_1.Icon, { icon: react_1.default.createElement("div", { className: "settingsIconContainer" },
|
|
62
|
+
react_1.default.createElement("svg", { width: "100%", height: "100%", viewBox: "0 0 24 24", id: SETTINGS_SVG_ID, x: "288", y: "24" },
|
|
63
|
+
react_1.default.createElement("path", { d: "M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65A.488.488 0 0 0 14 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z" }))), onClick: function () {
|
|
64
|
+
setIsOpen(!isOpen);
|
|
65
|
+
} }),
|
|
66
|
+
isOpen && (react_1.default.createElement("div", { id: "dialog-portal-example", className: "settingsDialogPortal", ref: dialogPortalRef },
|
|
67
|
+
react_1.default.createElement(react_core_1.Dialog, { open: isOpen, onClosed: function () {
|
|
68
|
+
setIsOpen(false);
|
|
69
|
+
} },
|
|
70
|
+
react_1.default.createElement(react_core_1.DialogTitle, null, dlgTitle),
|
|
71
|
+
react_1.default.createElement(react_core_1.DialogContent, null,
|
|
72
|
+
react_1.default.createElement("h4", { className: "sectionLabel" }, sceneModeTitle),
|
|
73
|
+
react_1.default.createElement(box_1.Box, { className: "mapScenesContainer" },
|
|
74
|
+
react_1.default.createElement(scene_modes_1.CesiumSceneModes, { sceneModes: sceneModes })),
|
|
75
|
+
react_1.default.createElement(box_1.Box, { className: "baseMapsContainer" }, baseMaps && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
76
|
+
react_1.default.createElement("h4", { className: "sectionLabel" }, baseMapTitle),
|
|
77
|
+
react_1.default.createElement(base_maps_1.CesiumBaseMaps, { baseMaps: baseMaps }))))))))));
|
|
78
|
+
};
|
|
79
|
+
exports.CesiumSettings = CesiumSettings;
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dummyTile = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-magic-numbers */
|
|
5
|
+
exports.dummyTile = new Uint8Array([
|
|
6
|
+
172,
|
|
7
|
+
223,
|
|
8
|
+
96,
|
|
9
|
+
7,
|
|
10
|
+
210,
|
|
11
|
+
166,
|
|
12
|
+
80,
|
|
13
|
+
193,
|
|
14
|
+
62,
|
|
15
|
+
133,
|
|
16
|
+
0,
|
|
17
|
+
92,
|
|
18
|
+
97,
|
|
19
|
+
125,
|
|
20
|
+
81,
|
|
21
|
+
193,
|
|
22
|
+
175,
|
|
23
|
+
204,
|
|
24
|
+
114,
|
|
25
|
+
156,
|
|
26
|
+
24,
|
|
27
|
+
171,
|
|
28
|
+
39,
|
|
29
|
+
65,
|
|
30
|
+
215,
|
|
31
|
+
131,
|
|
32
|
+
189,
|
|
33
|
+
193,
|
|
34
|
+
92,
|
|
35
|
+
143,
|
|
36
|
+
98,
|
|
37
|
+
193,
|
|
38
|
+
172,
|
|
39
|
+
223,
|
|
40
|
+
224,
|
|
41
|
+
55,
|
|
42
|
+
148,
|
|
43
|
+
164,
|
|
44
|
+
80,
|
|
45
|
+
193,
|
|
46
|
+
62,
|
|
47
|
+
133,
|
|
48
|
+
128,
|
|
49
|
+
115,
|
|
50
|
+
254,
|
|
51
|
+
122,
|
|
52
|
+
81,
|
|
53
|
+
193,
|
|
54
|
+
175,
|
|
55
|
+
204,
|
|
56
|
+
114,
|
|
57
|
+
40,
|
|
58
|
+
74,
|
|
59
|
+
169,
|
|
60
|
+
39,
|
|
61
|
+
65,
|
|
62
|
+
199,
|
|
63
|
+
225,
|
|
64
|
+
33,
|
|
65
|
+
1,
|
|
66
|
+
165,
|
|
67
|
+
221,
|
|
68
|
+
10,
|
|
69
|
+
65,
|
|
70
|
+
165,
|
|
71
|
+
248,
|
|
72
|
+
77,
|
|
73
|
+
38,
|
|
74
|
+
221,
|
|
75
|
+
233,
|
|
76
|
+
229,
|
|
77
|
+
191,
|
|
78
|
+
118,
|
|
79
|
+
168,
|
|
80
|
+
124,
|
|
81
|
+
106,
|
|
82
|
+
57,
|
|
83
|
+
4,
|
|
84
|
+
231,
|
|
85
|
+
191,
|
|
86
|
+
208,
|
|
87
|
+
126,
|
|
88
|
+
103,
|
|
89
|
+
119,
|
|
90
|
+
149,
|
|
91
|
+
64,
|
|
92
|
+
191,
|
|
93
|
+
63,
|
|
94
|
+
9,
|
|
95
|
+
0,
|
|
96
|
+
0,
|
|
97
|
+
0,
|
|
98
|
+
254,
|
|
99
|
+
127,
|
|
100
|
+
253,
|
|
101
|
+
127,
|
|
102
|
+
254,
|
|
103
|
+
127,
|
|
104
|
+
253,
|
|
105
|
+
127,
|
|
106
|
+
0,
|
|
107
|
+
0,
|
|
108
|
+
254,
|
|
109
|
+
255,
|
|
110
|
+
255,
|
|
111
|
+
127,
|
|
112
|
+
0,
|
|
113
|
+
128,
|
|
114
|
+
0,
|
|
115
|
+
0,
|
|
116
|
+
254,
|
|
117
|
+
127,
|
|
118
|
+
253,
|
|
119
|
+
127,
|
|
120
|
+
0,
|
|
121
|
+
0,
|
|
122
|
+
254,
|
|
123
|
+
127,
|
|
124
|
+
0,
|
|
125
|
+
128,
|
|
126
|
+
0,
|
|
127
|
+
0,
|
|
128
|
+
0,
|
|
129
|
+
0,
|
|
130
|
+
253,
|
|
131
|
+
255,
|
|
132
|
+
254,
|
|
133
|
+
127,
|
|
134
|
+
0,
|
|
135
|
+
0,
|
|
136
|
+
0,
|
|
137
|
+
0,
|
|
138
|
+
0,
|
|
139
|
+
0,
|
|
140
|
+
0,
|
|
141
|
+
0,
|
|
142
|
+
0,
|
|
143
|
+
0,
|
|
144
|
+
0,
|
|
145
|
+
0,
|
|
146
|
+
0,
|
|
147
|
+
0,
|
|
148
|
+
0,
|
|
149
|
+
0,
|
|
150
|
+
0,
|
|
151
|
+
0,
|
|
152
|
+
8,
|
|
153
|
+
0,
|
|
154
|
+
0,
|
|
155
|
+
0,
|
|
156
|
+
0,
|
|
157
|
+
0,
|
|
158
|
+
0,
|
|
159
|
+
0,
|
|
160
|
+
0,
|
|
161
|
+
0,
|
|
162
|
+
2,
|
|
163
|
+
0,
|
|
164
|
+
3,
|
|
165
|
+
0,
|
|
166
|
+
0,
|
|
167
|
+
0,
|
|
168
|
+
4,
|
|
169
|
+
0,
|
|
170
|
+
0,
|
|
171
|
+
0,
|
|
172
|
+
2,
|
|
173
|
+
0,
|
|
174
|
+
5,
|
|
175
|
+
0,
|
|
176
|
+
0,
|
|
177
|
+
0,
|
|
178
|
+
0,
|
|
179
|
+
0,
|
|
180
|
+
7,
|
|
181
|
+
0,
|
|
182
|
+
0,
|
|
183
|
+
0,
|
|
184
|
+
0,
|
|
185
|
+
0,
|
|
186
|
+
2,
|
|
187
|
+
0,
|
|
188
|
+
9,
|
|
189
|
+
0,
|
|
190
|
+
7,
|
|
191
|
+
0,
|
|
192
|
+
4,
|
|
193
|
+
0,
|
|
194
|
+
9,
|
|
195
|
+
0,
|
|
196
|
+
1,
|
|
197
|
+
0,
|
|
198
|
+
5,
|
|
199
|
+
0,
|
|
200
|
+
9,
|
|
201
|
+
0,
|
|
202
|
+
3,
|
|
203
|
+
0,
|
|
204
|
+
3,
|
|
205
|
+
0,
|
|
206
|
+
0,
|
|
207
|
+
0,
|
|
208
|
+
0,
|
|
209
|
+
0,
|
|
210
|
+
0,
|
|
211
|
+
0,
|
|
212
|
+
3,
|
|
213
|
+
0,
|
|
214
|
+
3,
|
|
215
|
+
0,
|
|
216
|
+
0,
|
|
217
|
+
0,
|
|
218
|
+
1,
|
|
219
|
+
0,
|
|
220
|
+
7,
|
|
221
|
+
0,
|
|
222
|
+
2,
|
|
223
|
+
0,
|
|
224
|
+
3,
|
|
225
|
+
0,
|
|
226
|
+
0,
|
|
227
|
+
0,
|
|
228
|
+
7,
|
|
229
|
+
0,
|
|
230
|
+
5,
|
|
231
|
+
0,
|
|
232
|
+
8,
|
|
233
|
+
0,
|
|
234
|
+
3,
|
|
235
|
+
0,
|
|
236
|
+
0,
|
|
237
|
+
0,
|
|
238
|
+
4,
|
|
239
|
+
0,
|
|
240
|
+
5,
|
|
241
|
+
0,
|
|
242
|
+
6,
|
|
243
|
+
0,
|
|
244
|
+
]);
|
|
245
|
+
exports.default = exports.dummyTile.buffer;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IDecodedTile } from './quantized-mesh-terrain-provider';
|
|
2
|
+
export declare const DECODING_STEPS: {
|
|
3
|
+
header: number;
|
|
4
|
+
vertices: number;
|
|
5
|
+
triangleIndices: number;
|
|
6
|
+
edgeIndices: number;
|
|
7
|
+
extensions: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const decode: (data: ArrayBufferLike) => IDecodedTile;
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decode = exports.DECODING_STEPS = void 0;
|
|
4
|
+
var LITTLE_ENDIAN = true;
|
|
5
|
+
var MAX_VERTEX_COUNT = 65536;
|
|
6
|
+
exports.DECODING_STEPS = {
|
|
7
|
+
header: 0,
|
|
8
|
+
vertices: 1,
|
|
9
|
+
triangleIndices: 2,
|
|
10
|
+
edgeIndices: 3,
|
|
11
|
+
extensions: 4,
|
|
12
|
+
};
|
|
13
|
+
var QUANTIZED_MESH_HEADER = {
|
|
14
|
+
centerX: Float64Array.BYTES_PER_ELEMENT,
|
|
15
|
+
centerY: Float64Array.BYTES_PER_ELEMENT,
|
|
16
|
+
centerZ: Float64Array.BYTES_PER_ELEMENT,
|
|
17
|
+
minHeight: Float32Array.BYTES_PER_ELEMENT,
|
|
18
|
+
maxHeight: Float32Array.BYTES_PER_ELEMENT,
|
|
19
|
+
boundingSphereCenterX: Float64Array.BYTES_PER_ELEMENT,
|
|
20
|
+
boundingSphereCenterY: Float64Array.BYTES_PER_ELEMENT,
|
|
21
|
+
boundingSphereCenterZ: Float64Array.BYTES_PER_ELEMENT,
|
|
22
|
+
boundingSphereRadius: Float64Array.BYTES_PER_ELEMENT,
|
|
23
|
+
horizonOcclusionPointX: Float64Array.BYTES_PER_ELEMENT,
|
|
24
|
+
horizonOcclusionPointY: Float64Array.BYTES_PER_ELEMENT,
|
|
25
|
+
horizonOcclusionPointZ: Float64Array.BYTES_PER_ELEMENT,
|
|
26
|
+
};
|
|
27
|
+
var decodeZigZag = function (value) {
|
|
28
|
+
return (value >> 1) ^ -(value & 1);
|
|
29
|
+
};
|
|
30
|
+
var decodeIndex = function (buffer, position, indicesCount, bytesPerIndex, encoded) {
|
|
31
|
+
var indices;
|
|
32
|
+
if (bytesPerIndex === 2) {
|
|
33
|
+
indices = new Uint16Array(buffer, position, indicesCount);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
indices = new Uint32Array(buffer, position, indicesCount);
|
|
37
|
+
}
|
|
38
|
+
if (!encoded) {
|
|
39
|
+
return indices;
|
|
40
|
+
}
|
|
41
|
+
var highest = 0;
|
|
42
|
+
for (var i = 0; i < indices.length; ++i) {
|
|
43
|
+
var code = indices[i];
|
|
44
|
+
indices[i] = highest - code;
|
|
45
|
+
if (code === 0) {
|
|
46
|
+
++highest;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return indices;
|
|
50
|
+
};
|
|
51
|
+
var convertFromTypedArrayToNumbersArray = function (array) {
|
|
52
|
+
var numbersArray = [];
|
|
53
|
+
for (var i = 0; i < array.length; ++i) {
|
|
54
|
+
numbersArray.push(array[i]);
|
|
55
|
+
}
|
|
56
|
+
return numbersArray;
|
|
57
|
+
};
|
|
58
|
+
var decode = function (data) {
|
|
59
|
+
var maxDecodingStep = exports.DECODING_STEPS.extensions;
|
|
60
|
+
var view = new DataView(data);
|
|
61
|
+
var header = {};
|
|
62
|
+
var position = 0;
|
|
63
|
+
// Decode Header
|
|
64
|
+
Object.keys(QUANTIZED_MESH_HEADER).forEach(function (key, bytesCount) {
|
|
65
|
+
// @ts-ignore
|
|
66
|
+
// eslint-disable-next-line
|
|
67
|
+
header[key] =
|
|
68
|
+
bytesCount === 8
|
|
69
|
+
? view.getFloat64(position, LITTLE_ENDIAN)
|
|
70
|
+
: view.getFloat32(position, LITTLE_ENDIAN);
|
|
71
|
+
position += bytesCount;
|
|
72
|
+
});
|
|
73
|
+
var headerEndPosition = position;
|
|
74
|
+
// if (maxDecodingStep < DECODING_STEPS.vertices) {
|
|
75
|
+
// return { header };
|
|
76
|
+
// }
|
|
77
|
+
// Decode Vertex Data
|
|
78
|
+
position = headerEndPosition;
|
|
79
|
+
var vertexCount = view.getUint32(position, LITTLE_ENDIAN);
|
|
80
|
+
var vertexData = new Uint16Array(vertexCount * 3);
|
|
81
|
+
position += Uint32Array.BYTES_PER_ELEMENT;
|
|
82
|
+
var bytesPerArrayElement = Uint16Array.BYTES_PER_ELEMENT;
|
|
83
|
+
var elementArrayLength = vertexCount * bytesPerArrayElement;
|
|
84
|
+
var uArrayStartPosition = position;
|
|
85
|
+
var vArrayStartPosition = uArrayStartPosition + elementArrayLength;
|
|
86
|
+
var heightArrayStartPosition = vArrayStartPosition + elementArrayLength;
|
|
87
|
+
var u = 0;
|
|
88
|
+
var v = 0;
|
|
89
|
+
var height = 0;
|
|
90
|
+
for (var i = 0; i < vertexCount; i++) {
|
|
91
|
+
u += decodeZigZag(view.getUint16(uArrayStartPosition + bytesPerArrayElement * i, LITTLE_ENDIAN));
|
|
92
|
+
v += decodeZigZag(view.getUint16(vArrayStartPosition + bytesPerArrayElement * i, LITTLE_ENDIAN));
|
|
93
|
+
height += decodeZigZag(view.getUint16(heightArrayStartPosition + bytesPerArrayElement * i, LITTLE_ENDIAN));
|
|
94
|
+
vertexData[i] = u;
|
|
95
|
+
vertexData[i + vertexCount] = v;
|
|
96
|
+
vertexData[i + vertexCount * 2] = height;
|
|
97
|
+
}
|
|
98
|
+
position += elementArrayLength * 3;
|
|
99
|
+
var vertexDataEndPosition = position;
|
|
100
|
+
// if (maxDecodingStep < DECODING_STEPS.triangleIndices) {
|
|
101
|
+
// return { header, vertexData };
|
|
102
|
+
// }
|
|
103
|
+
// Decode Triangle Indices
|
|
104
|
+
position = vertexDataEndPosition;
|
|
105
|
+
vertexCount = vertexData.length / 3;
|
|
106
|
+
var bytesPerIndex = vertexCount > MAX_VERTEX_COUNT
|
|
107
|
+
? Uint32Array.BYTES_PER_ELEMENT
|
|
108
|
+
: Uint16Array.BYTES_PER_ELEMENT;
|
|
109
|
+
if (position % bytesPerIndex !== 0) {
|
|
110
|
+
position += bytesPerIndex - (position % bytesPerIndex);
|
|
111
|
+
}
|
|
112
|
+
var triangleCount = view.getUint32(position, LITTLE_ENDIAN);
|
|
113
|
+
position += Uint32Array.BYTES_PER_ELEMENT;
|
|
114
|
+
var triangleIndicesCount = triangleCount * 3;
|
|
115
|
+
var triangleIndices = decodeIndex(view.buffer, position, triangleIndicesCount, bytesPerIndex, true);
|
|
116
|
+
position += triangleIndicesCount * bytesPerIndex;
|
|
117
|
+
var triangleIndicesEndPosition = position;
|
|
118
|
+
// if (maxDecodingStep < DECODING_STEPS.edgeIndices) {
|
|
119
|
+
// return { header, vertexData, triangleIndices };
|
|
120
|
+
// }
|
|
121
|
+
// Decode Edge Indices
|
|
122
|
+
position = triangleIndicesEndPosition;
|
|
123
|
+
vertexCount = vertexData.length / 3;
|
|
124
|
+
// bytesPerIndex = vertexCount > MAX_VERTEX_COUNT
|
|
125
|
+
// ? Uint32Array.BYTES_PER_ELEMENT
|
|
126
|
+
// : Uint16Array.BYTES_PER_ELEMENT;
|
|
127
|
+
var westVertexCount = view.getUint32(position, LITTLE_ENDIAN);
|
|
128
|
+
position += Uint32Array.BYTES_PER_ELEMENT;
|
|
129
|
+
var westIndices = convertFromTypedArrayToNumbersArray(decodeIndex(view.buffer, position, westVertexCount, bytesPerIndex, false));
|
|
130
|
+
position += westVertexCount * bytesPerIndex;
|
|
131
|
+
var southVertexCount = view.getUint32(position, LITTLE_ENDIAN);
|
|
132
|
+
position += Uint32Array.BYTES_PER_ELEMENT;
|
|
133
|
+
var southIndices = convertFromTypedArrayToNumbersArray(decodeIndex(view.buffer, position, southVertexCount, bytesPerIndex, false));
|
|
134
|
+
position += southVertexCount * bytesPerIndex;
|
|
135
|
+
var eastVertexCount = view.getUint32(position, LITTLE_ENDIAN);
|
|
136
|
+
position += Uint32Array.BYTES_PER_ELEMENT;
|
|
137
|
+
var eastIndices = convertFromTypedArrayToNumbersArray(decodeIndex(view.buffer, position, eastVertexCount, bytesPerIndex, false));
|
|
138
|
+
position += eastVertexCount * bytesPerIndex;
|
|
139
|
+
var northVertexCount = view.getUint32(position, LITTLE_ENDIAN);
|
|
140
|
+
position += Uint32Array.BYTES_PER_ELEMENT;
|
|
141
|
+
var northIndices = convertFromTypedArrayToNumbersArray(decodeIndex(view.buffer, position, northVertexCount, bytesPerIndex, false));
|
|
142
|
+
position += northVertexCount * bytesPerIndex;
|
|
143
|
+
var edgeIndicesEndPosition = position;
|
|
144
|
+
if (maxDecodingStep < exports.DECODING_STEPS.extensions) {
|
|
145
|
+
return {
|
|
146
|
+
header: header,
|
|
147
|
+
vertexData: vertexData,
|
|
148
|
+
triangleIndices: triangleIndices,
|
|
149
|
+
westIndices: westIndices,
|
|
150
|
+
northIndices: northIndices,
|
|
151
|
+
eastIndices: eastIndices,
|
|
152
|
+
southIndices: southIndices,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
// Decode Extensions
|
|
156
|
+
var extensions = {};
|
|
157
|
+
if (view.byteLength > edgeIndicesEndPosition) {
|
|
158
|
+
position = edgeIndicesEndPosition;
|
|
159
|
+
while (position < view.byteLength) {
|
|
160
|
+
var extensionId = view.getUint8(position);
|
|
161
|
+
position += Uint8Array.BYTES_PER_ELEMENT;
|
|
162
|
+
var extensionLength = view.getUint32(position, true);
|
|
163
|
+
position += Uint32Array.BYTES_PER_ELEMENT;
|
|
164
|
+
var extensionView = new DataView(view.buffer, position, extensionLength);
|
|
165
|
+
switch (extensionId) {
|
|
166
|
+
case 1: {
|
|
167
|
+
extensions.vertexNormals = new Uint8Array(extensionView.buffer, extensionView.byteOffset, extensionView.byteLength);
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
case 2: {
|
|
171
|
+
extensions.waterMask = extensionView.buffer.slice(extensionView.byteOffset, extensionView.byteOffset + extensionView.byteLength);
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
case 4: {
|
|
175
|
+
var jsonLength = extensionView.getUint32(0, LITTLE_ENDIAN);
|
|
176
|
+
var jsonString = '';
|
|
177
|
+
for (var i = 0; i < jsonLength; ++i) {
|
|
178
|
+
jsonString += String.fromCharCode(extensionView.getUint8(Uint32Array.BYTES_PER_ELEMENT + i));
|
|
179
|
+
}
|
|
180
|
+
// eslint-disable-next-line
|
|
181
|
+
extensions.metadata = JSON.parse(jsonString);
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
default: {
|
|
185
|
+
console.warn("Unknown extension with id " + extensionId);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
position += extensionLength;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return {
|
|
192
|
+
header: header,
|
|
193
|
+
vertexData: vertexData,
|
|
194
|
+
triangleIndices: triangleIndices,
|
|
195
|
+
westIndices: westIndices,
|
|
196
|
+
northIndices: northIndices,
|
|
197
|
+
eastIndices: eastIndices,
|
|
198
|
+
southIndices: southIndices,
|
|
199
|
+
extensions: extensions,
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
exports.decode = decode;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { QuantizedMeshTerrainData, TilingScheme } from 'cesium';
|
|
2
|
+
export interface IDecodedTileHeader {
|
|
3
|
+
centerX: number;
|
|
4
|
+
centerY: number;
|
|
5
|
+
centerZ: number;
|
|
6
|
+
minHeight: number;
|
|
7
|
+
maxHeight: number;
|
|
8
|
+
boundingSphereCenterX: number;
|
|
9
|
+
boundingSphereCenterY: number;
|
|
10
|
+
boundingSphereCenterZ: number;
|
|
11
|
+
boundingSphereRadius: number;
|
|
12
|
+
horizonOcclusionPointX: number;
|
|
13
|
+
horizonOcclusionPointY: number;
|
|
14
|
+
horizonOcclusionPointZ: number;
|
|
15
|
+
}
|
|
16
|
+
export interface IExtensions {
|
|
17
|
+
vertexNormals?: Uint8Array;
|
|
18
|
+
waterMask?: ArrayBufferLike;
|
|
19
|
+
metadata?: unknown;
|
|
20
|
+
}
|
|
21
|
+
export interface IDecodedTile {
|
|
22
|
+
header: IDecodedTileHeader;
|
|
23
|
+
vertexData: Uint16Array;
|
|
24
|
+
triangleIndices: Uint16Array | Uint32Array;
|
|
25
|
+
westIndices: number[];
|
|
26
|
+
northIndices: number[];
|
|
27
|
+
eastIndices: number[];
|
|
28
|
+
southIndices: number[];
|
|
29
|
+
extensions?: IExtensions;
|
|
30
|
+
}
|
|
31
|
+
export default class QuantizedMeshTerrainProvider {
|
|
32
|
+
tilingScheme: TilingScheme;
|
|
33
|
+
ready: boolean;
|
|
34
|
+
readyPromise: Promise<boolean>;
|
|
35
|
+
private readonly dummyTile;
|
|
36
|
+
private readonly getUrl;
|
|
37
|
+
private readonly credits;
|
|
38
|
+
constructor(options: {
|
|
39
|
+
getUrl?: (x: number, y: number, level: number) => string;
|
|
40
|
+
credit?: string;
|
|
41
|
+
tilingScheme?: TilingScheme;
|
|
42
|
+
});
|
|
43
|
+
requestTileGeometry(x: number, y: number, level: number): Promise<void | QuantizedMeshTerrainData> | undefined;
|
|
44
|
+
getTileDataAvailable(x: number, y: number, level: number): boolean;
|
|
45
|
+
getLevelMaximumGeometricError(level: number): number;
|
|
46
|
+
private generateDummyTileHeader;
|
|
47
|
+
private createQuantizedMeshData;
|
|
48
|
+
private generateDummyTile;
|
|
49
|
+
private decodeResponse;
|
|
50
|
+
}
|