itowns 2.42.1-next.15 → 2.42.1-next.17
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/dist/debug.js +1 -1
- package/dist/debug.js.map +1 -1
- package/dist/itowns.js +1 -1
- package/dist/itowns.js.map +1 -1
- package/dist/itowns_widgets.js +1 -1
- package/dist/itowns_widgets.js.map +1 -1
- package/examples/{.eslintrc.js → .eslintrc.cjs} +1 -1
- package/lib/Controls/FirstPersonControls.js +5 -12
- package/lib/Controls/FlyControls.js +4 -13
- package/lib/Controls/GlobeControls.js +33 -43
- package/lib/Controls/PlanarControls.js +9 -20
- package/lib/Controls/StateControl.js +2 -11
- package/lib/Controls/StreetControls.js +14 -24
- package/lib/Converter/Feature2Mesh.js +28 -38
- package/lib/Converter/Feature2Texture.js +15 -25
- package/lib/Converter/convertToTile.js +13 -24
- package/lib/Converter/textureConverter.js +9 -19
- package/lib/Core/3DTiles/C3DTBatchTable.js +5 -13
- package/lib/Core/3DTiles/C3DTBatchTableHierarchyExtension.js +1 -8
- package/lib/Core/3DTiles/C3DTBoundingVolume.js +17 -27
- package/lib/Core/3DTiles/C3DTExtensions.js +1 -8
- package/lib/Core/3DTiles/C3DTFeature.js +3 -10
- package/lib/Core/3DTiles/C3DTilesEnums.js +3 -11
- package/lib/Core/3DTiles/C3DTileset.js +7 -16
- package/lib/Core/3DTiles/utils/BinaryPropertyAccessor.js +5 -11
- package/lib/Core/AnimationPlayer.js +2 -11
- package/lib/Core/Deprecated/Undeprecator.js +8 -19
- package/lib/Core/EntwinePointTileNode.js +6 -16
- package/lib/Core/Feature.js +16 -30
- package/lib/Core/Geographic/CoordStars.js +3 -12
- package/lib/Core/Geographic/Coordinates.js +12 -22
- package/lib/Core/Geographic/Crs.js +7 -15
- package/lib/Core/Geographic/Extent.js +36 -47
- package/lib/Core/Geographic/GeoidGrid.js +6 -16
- package/lib/Core/Label.js +7 -17
- package/lib/Core/MainLoop.js +7 -16
- package/lib/Core/Math/Ellipsoid.js +6 -17
- package/lib/Core/Picking.js +10 -20
- package/lib/Core/PointCloudNode.js +2 -11
- package/lib/Core/PotreeNode.js +4 -13
- package/lib/Core/Prefab/Globe/Atmosphere.js +17 -26
- package/lib/Core/Prefab/Globe/BuilderEllipsoidTile.js +6 -16
- package/lib/Core/Prefab/Globe/GlobeLayer.js +19 -28
- package/lib/Core/Prefab/Globe/SkyShader.js +2 -11
- package/lib/Core/Prefab/GlobeView.js +27 -37
- package/lib/Core/Prefab/Planar/PlanarLayer.js +11 -20
- package/lib/Core/Prefab/Planar/PlanarTileBuilder.js +6 -16
- package/lib/Core/Prefab/PlanarView.js +10 -20
- package/lib/Core/Prefab/TileBuilder.js +10 -19
- package/lib/Core/Prefab/computeBufferTileGeometry.js +3 -12
- package/lib/Core/Scheduler/Cache.js +2 -10
- package/lib/Core/Scheduler/CancelledCommandException.js +1 -8
- package/lib/Core/Scheduler/Scheduler.js +15 -23
- package/lib/Core/Style.js +21 -34
- package/lib/Core/System/Capabilities.js +2 -9
- package/lib/Core/TileGeometry.js +5 -14
- package/lib/Core/TileMesh.js +6 -15
- package/lib/Core/View.js +43 -53
- package/lib/Layer/C3DTilesLayer.js +25 -37
- package/lib/Layer/ColorLayer.js +10 -16
- package/lib/Layer/ElevationLayer.js +7 -14
- package/lib/Layer/EntwinePointTileLayer.js +8 -18
- package/lib/Layer/FeatureGeometryLayer.js +9 -16
- package/lib/Layer/GeoidLayer.js +6 -15
- package/lib/Layer/GeometryLayer.js +11 -17
- package/lib/Layer/InfoLayer.js +5 -14
- package/lib/Layer/LabelLayer.js +22 -32
- package/lib/Layer/Layer.js +16 -26
- package/lib/Layer/LayerUpdateState.js +1 -8
- package/lib/Layer/LayerUpdateStrategy.js +7 -18
- package/lib/Layer/OrientedImageLayer.js +15 -25
- package/lib/Layer/PointCloudLayer.js +9 -19
- package/lib/Layer/PotreeLayer.js +8 -18
- package/lib/Layer/RasterLayer.js +9 -17
- package/lib/Layer/ReferencingLayerProperties.js +1 -8
- package/lib/Layer/TiledGeometryLayer.js +21 -31
- package/lib/Main.js +86 -720
- package/lib/MainBundle.js +4 -34
- package/lib/Parser/B3dmParser.js +20 -28
- package/lib/Parser/CameraCalibrationParser.js +5 -14
- package/lib/Parser/GDFParser.js +11 -22
- package/lib/Parser/GLTFParser.js +13 -28
- package/lib/Parser/GTXParser.js +9 -21
- package/lib/Parser/GeoJsonParser.js +13 -21
- package/lib/Parser/GpxParser.js +7 -14
- package/lib/Parser/ISGParser.js +19 -28
- package/lib/Parser/KMLParser.js +7 -14
- package/lib/Parser/LASLoader.js +11 -16
- package/lib/Parser/LASParser.js +5 -15
- package/lib/Parser/MapBoxUrlParser.js +2 -9
- package/lib/Parser/PntsParser.js +4 -14
- package/lib/Parser/PotreeBinParser.js +3 -11
- package/lib/Parser/PotreeCinParser.js +3 -12
- package/lib/Parser/ShapefileParser.js +11 -18
- package/lib/Parser/VectorTileParser.js +18 -26
- package/lib/Parser/XbilParser.js +5 -13
- package/lib/Parser/deprecated/LegacyGLTFLoader.js +2 -12
- package/lib/Process/3dTilesProcessing.js +14 -27
- package/lib/Process/FeatureProcessing.js +14 -22
- package/lib/Process/LayeredMaterialNodeProcessing.js +14 -26
- package/lib/Process/ObjectRemovalHelper.js +2 -9
- package/lib/Process/handlerNodeError.js +1 -7
- package/lib/Provider/3dTilesProvider.js +16 -27
- package/lib/Provider/DataSourceProvider.js +2 -9
- package/lib/Provider/Fetcher.js +6 -13
- package/lib/Provider/PointCloudProvider.js +5 -15
- package/lib/Provider/TileProvider.js +4 -12
- package/lib/Provider/URLBuilder.js +4 -12
- package/lib/Renderer/Camera.js +7 -17
- package/lib/Renderer/Color.js +3 -11
- package/lib/Renderer/ColorLayersOrdering.js +14 -22
- package/lib/Renderer/CommonMaterial.js +3 -12
- package/lib/Renderer/Label2DRenderer.js +5 -16
- package/lib/Renderer/LayeredMaterial.js +27 -41
- package/lib/Renderer/OBB.js +10 -19
- package/lib/Renderer/OrientedImageCamera.js +2 -11
- package/lib/Renderer/OrientedImageMaterial.js +7 -17
- package/lib/Renderer/PointsMaterial.js +34 -48
- package/lib/Renderer/RasterTile.js +15 -28
- package/lib/Renderer/RenderMode.js +2 -9
- package/lib/Renderer/Shader/ShaderChunk.js +2 -11
- package/lib/Renderer/Shader/ShaderUtils.js +2 -9
- package/lib/Renderer/SphereHelper.js +2 -11
- package/lib/Renderer/WebXR.js +2 -11
- package/lib/Renderer/c3DEngine.js +18 -28
- package/lib/Source/C3DTilesGoogleSource.js +5 -13
- package/lib/Source/C3DTilesIonSource.js +6 -13
- package/lib/Source/C3DTilesSource.js +5 -12
- package/lib/Source/EntwinePointTileSource.js +12 -19
- package/lib/Source/FileSource.js +7 -14
- package/lib/Source/OrientedImageSource.js +6 -13
- package/lib/Source/PotreeSource.js +9 -16
- package/lib/Source/Source.js +17 -26
- package/lib/Source/TMSSource.js +11 -21
- package/lib/Source/VectorTilesSource.js +18 -26
- package/lib/Source/WFSSource.js +7 -14
- package/lib/Source/WMSSource.js +5 -12
- package/lib/Source/WMTSSource.js +3 -10
- package/lib/ThreeExtended/capabilities/WebGL.js +1 -8
- package/lib/ThreeExtended/libs/ktx-parse.module.js +2 -256
- package/lib/ThreeExtended/libs/zstddec.module.js +2 -8
- package/lib/ThreeExtended/loaders/DDSLoader.js +10 -16
- package/lib/ThreeExtended/loaders/DRACOLoader.js +14 -19
- package/lib/ThreeExtended/loaders/GLTFLoader.js +124 -129
- package/lib/ThreeExtended/loaders/KTX2Loader.js +73 -78
- package/lib/ThreeExtended/utils/BufferGeometryUtils.js +40 -59
- package/lib/ThreeExtended/utils/WorkerPool.js +2 -9
- package/lib/Utils/CameraUtils.js +32 -44
- package/lib/Utils/DEMUtils.js +8 -19
- package/lib/Utils/FeaturesUtils.js +8 -16
- package/lib/Utils/Gradients.js +3 -12
- package/lib/Utils/OrientationUtils.js +8 -18
- package/lib/Utils/ThreeUtils.js +2 -9
- package/lib/Utils/gui/C3DTilesStyle.js +7 -15
- package/lib/Utils/gui/Main.js +7 -48
- package/lib/Utils/gui/Minimap.js +12 -20
- package/lib/Utils/gui/Navigation.js +6 -14
- package/lib/Utils/gui/Scale.js +11 -19
- package/lib/Utils/gui/Searchbar.js +5 -13
- package/lib/Utils/gui/Widget.js +1 -8
- package/lib/Utils/placeObjectOnGround.js +13 -23
- package/package.json +10 -7
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
});
|
|
7
|
-
exports.SIZE_TEXTURE_TILE = exports.SIZE_DIAGONAL_TEXTURE = void 0;
|
|
8
|
-
exports.removeLayeredMaterialNodeLayer = removeLayeredMaterialNodeLayer;
|
|
9
|
-
exports.updateLayeredMaterialNodeElevation = updateLayeredMaterialNodeElevation;
|
|
10
|
-
exports.updateLayeredMaterialNodeImagery = updateLayeredMaterialNodeImagery;
|
|
11
|
-
var _LayerUpdateStrategy = require("../Layer/LayerUpdateStrategy");
|
|
12
|
-
var _LayerUpdateState = _interopRequireDefault(require("../Layer/LayerUpdateState"));
|
|
13
|
-
var _handlerNodeError = _interopRequireDefault(require("./handlerNodeError"));
|
|
14
|
-
const SIZE_TEXTURE_TILE = 256;
|
|
15
|
-
exports.SIZE_TEXTURE_TILE = SIZE_TEXTURE_TILE;
|
|
16
|
-
const SIZE_DIAGONAL_TEXTURE = (2 * (SIZE_TEXTURE_TILE * SIZE_TEXTURE_TILE)) ** 0.5;
|
|
17
|
-
exports.SIZE_DIAGONAL_TEXTURE = SIZE_DIAGONAL_TEXTURE;
|
|
1
|
+
import { chooseNextLevelToFetch } from "../Layer/LayerUpdateStrategy.js";
|
|
2
|
+
import LayerUpdateState from "../Layer/LayerUpdateState.js";
|
|
3
|
+
import handlingError from "./handlerNodeError.js";
|
|
4
|
+
export const SIZE_TEXTURE_TILE = 256;
|
|
5
|
+
export const SIZE_DIAGONAL_TEXTURE = (2 * (SIZE_TEXTURE_TILE * SIZE_TEXTURE_TILE)) ** 0.5;
|
|
18
6
|
function materialCommandQueuePriorityFunction(material) {
|
|
19
7
|
// We know that 'node' is visible because commands can only be
|
|
20
8
|
// issued for visible nodes.
|
|
@@ -50,7 +38,7 @@ function buildCommand(view, layer, extentsSource, extentsDestination, requester)
|
|
|
50
38
|
earlyDropFunction: refinementCommandCancellationFn
|
|
51
39
|
};
|
|
52
40
|
}
|
|
53
|
-
function updateLayeredMaterialNodeImagery(context, layer, node, parent) {
|
|
41
|
+
export function updateLayeredMaterialNodeImagery(context, layer, node, parent) {
|
|
54
42
|
const material = node.material;
|
|
55
43
|
if (!parent || !material) {
|
|
56
44
|
return;
|
|
@@ -64,7 +52,7 @@ function updateLayeredMaterialNodeImagery(context, layer, node, parent) {
|
|
|
64
52
|
|
|
65
53
|
// Initialisation
|
|
66
54
|
if (node.layerUpdateState[layer.id] === undefined) {
|
|
67
|
-
node.layerUpdateState[layer.id] = new
|
|
55
|
+
node.layerUpdateState[layer.id] = new LayerUpdateState();
|
|
68
56
|
if (!layer.source.extentInsideLimit(node.extent, zoom)) {
|
|
69
57
|
// we also need to check that tile's parent doesn't have a texture for this layer,
|
|
70
58
|
// because even if this tile is outside of the layer, it could inherit it's
|
|
@@ -118,7 +106,7 @@ function updateLayeredMaterialNodeImagery(context, layer, node, parent) {
|
|
|
118
106
|
}
|
|
119
107
|
const failureParams = node.layerUpdateState[layer.id].failureParams;
|
|
120
108
|
const destinationLevel = extentsDestination[0].zoom || node.level;
|
|
121
|
-
const targetLevel =
|
|
109
|
+
const targetLevel = chooseNextLevelToFetch(layer.updateStrategy.type, node, destinationLevel, nodeLayer.level, layer, failureParams);
|
|
122
110
|
if (!layer.source.isVectorSource && targetLevel <= nodeLayer.level || targetLevel > destinationLevel) {
|
|
123
111
|
if (failureParams.lowestLevelError != Infinity) {
|
|
124
112
|
// this is the highest level found in case of error.
|
|
@@ -144,9 +132,9 @@ function updateLayeredMaterialNodeImagery(context, layer, node, parent) {
|
|
|
144
132
|
const pitchs = extentsDestination.map((ext, i) => ext.offsetToParent(result[i].extent, nodeLayer.offsetScales[i]));
|
|
145
133
|
nodeLayer.setTextures(result, pitchs);
|
|
146
134
|
node.layerUpdateState[layer.id].success();
|
|
147
|
-
}, err => (
|
|
135
|
+
}, err => handlingError(err, node, layer, targetLevel, context.view));
|
|
148
136
|
}
|
|
149
|
-
function updateLayeredMaterialNodeElevation(context, layer, node, parent) {
|
|
137
|
+
export function updateLayeredMaterialNodeElevation(context, layer, node, parent) {
|
|
150
138
|
const material = node.material;
|
|
151
139
|
if (!parent || !material) {
|
|
152
140
|
return;
|
|
@@ -171,7 +159,7 @@ function updateLayeredMaterialNodeElevation(context, layer, node, parent) {
|
|
|
171
159
|
}
|
|
172
160
|
if (node.layerUpdateState[layer.id] === undefined) {
|
|
173
161
|
var _parent$material2;
|
|
174
|
-
node.layerUpdateState[layer.id] = new
|
|
162
|
+
node.layerUpdateState[layer.id] = new LayerUpdateState();
|
|
175
163
|
const parentLayer = (_parent$material2 = parent.material) === null || _parent$material2 === void 0 ? void 0 : _parent$material2.getLayer(layer.id);
|
|
176
164
|
nodeLayer.initFromParent(parentLayer, extentsDestination);
|
|
177
165
|
if (nodeLayer.level >= layer.source.zoom.min) {
|
|
@@ -185,7 +173,7 @@ function updateLayeredMaterialNodeElevation(context, layer, node, parent) {
|
|
|
185
173
|
return;
|
|
186
174
|
}
|
|
187
175
|
const failureParams = node.layerUpdateState[layer.id].failureParams;
|
|
188
|
-
const targetLevel =
|
|
176
|
+
const targetLevel = chooseNextLevelToFetch(layer.updateStrategy.type, node, extentsDestination[0].zoom, nodeLayer.level, layer, failureParams);
|
|
189
177
|
if (targetLevel <= nodeLayer.level || targetLevel > extentsDestination[0].zoom) {
|
|
190
178
|
node.layerUpdateState[layer.id].noMoreUpdatePossible();
|
|
191
179
|
return;
|
|
@@ -215,9 +203,9 @@ function updateLayeredMaterialNodeElevation(context, layer, node, parent) {
|
|
|
215
203
|
const pitchs = extentsDestination.map((ext, i) => ext.offsetToParent(result[i].extent, nodeLayer.offsetScales[i]));
|
|
216
204
|
nodeLayer.setTextures(result, pitchs);
|
|
217
205
|
node.layerUpdateState[layer.id].success();
|
|
218
|
-
}, err => (
|
|
206
|
+
}, err => handlingError(err, node, layer, targetLevel, context.view));
|
|
219
207
|
}
|
|
220
|
-
function removeLayeredMaterialNodeLayer(layerId) {
|
|
208
|
+
export function removeLayeredMaterialNodeLayer(layerId) {
|
|
221
209
|
/**
|
|
222
210
|
* @param {TileMesh} node - The node to udpate.
|
|
223
211
|
*/
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
1
|
function disposeSingleMaterialAndTextures(material) {
|
|
8
2
|
material.dispose();
|
|
9
3
|
// dispose textures
|
|
@@ -14,7 +8,7 @@ function disposeSingleMaterialAndTextures(material) {
|
|
|
14
8
|
}
|
|
15
9
|
}
|
|
16
10
|
}
|
|
17
|
-
|
|
11
|
+
export default {
|
|
18
12
|
/**
|
|
19
13
|
* Cleanup obj to release three.js allocated resources
|
|
20
14
|
* @param {Object3D} obj object to release
|
|
@@ -101,5 +95,4 @@ var _default = {
|
|
|
101
95
|
}
|
|
102
96
|
return toRemove;
|
|
103
97
|
}
|
|
104
|
-
};
|
|
105
|
-
exports.default = _default;
|
|
98
|
+
};
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = handlingError;
|
|
7
1
|
// max retry loading before changing the status to definitiveError
|
|
8
2
|
const MAX_RETRY = 4;
|
|
9
|
-
function handlingError(err, node, layer, targetLevel, view) {
|
|
3
|
+
export default function handlingError(err, node, layer, targetLevel, view) {
|
|
10
4
|
// Cancel error handling if the layer was removed between command scheduling and its execution
|
|
11
5
|
if (!node.layerUpdateState[layer.id]) {
|
|
12
6
|
return;
|
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var THREE = _interopRequireWildcard(require("three"));
|
|
10
|
-
var _B3dmParser = _interopRequireDefault(require("../Parser/B3dmParser"));
|
|
11
|
-
var _PntsParser = _interopRequireDefault(require("../Parser/PntsParser"));
|
|
12
|
-
var _GLTFParser = _interopRequireDefault(require("../Parser/GLTFParser"));
|
|
13
|
-
var _Fetcher = _interopRequireDefault(require("./Fetcher"));
|
|
14
|
-
var _ReferencingLayerProperties = _interopRequireDefault(require("../Layer/ReferencingLayerProperties"));
|
|
15
|
-
var _PointsMaterial = _interopRequireDefault(require("../Renderer/PointsMaterial"));
|
|
16
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import B3dmParser from "../Parser/B3dmParser.js";
|
|
3
|
+
import PntsParser from "../Parser/PntsParser.js";
|
|
4
|
+
import GLTFParser from "../Parser/GLTFParser.js";
|
|
5
|
+
import Fetcher from "./Fetcher.js";
|
|
6
|
+
import ReferLayerProperties from "../Layer/ReferencingLayerProperties.js";
|
|
7
|
+
import PointsMaterial from "../Renderer/PointsMaterial.js";
|
|
18
8
|
const utf8Decoder = new TextDecoder();
|
|
19
9
|
function b3dmToMesh(data, layer, url) {
|
|
20
10
|
const urlBase = THREE.LoaderUtils.extractUrlBase(url);
|
|
@@ -26,7 +16,7 @@ function b3dmToMesh(data, layer, url) {
|
|
|
26
16
|
registeredExtensions: layer.registeredExtensions,
|
|
27
17
|
layer
|
|
28
18
|
};
|
|
29
|
-
return
|
|
19
|
+
return B3dmParser.parse(data, options).then(result => {
|
|
30
20
|
const batchTable = result.batchTable;
|
|
31
21
|
// object3d is actually a THREE.Scene
|
|
32
22
|
const object3d = result.gltf.scene;
|
|
@@ -38,13 +28,13 @@ function b3dmToMesh(data, layer, url) {
|
|
|
38
28
|
}
|
|
39
29
|
function gltfToMesh(data, layer, url) {
|
|
40
30
|
const urlBase = THREE.LoaderUtils.extractUrlBase(url);
|
|
41
|
-
return
|
|
31
|
+
return GLTFParser.parse(data, urlBase).then(result => ({
|
|
42
32
|
object3d: result.scene
|
|
43
33
|
}));
|
|
44
34
|
}
|
|
45
35
|
function pntsParse(data, layer) {
|
|
46
|
-
return
|
|
47
|
-
const material = layer.material ? layer.material.clone() : new
|
|
36
|
+
return PntsParser.parse(data, layer.registeredExtensions).then(result => {
|
|
37
|
+
const material = layer.material ? layer.material.clone() : new PointsMaterial({
|
|
48
38
|
size: 0.05,
|
|
49
39
|
mode: layer.pntsMode,
|
|
50
40
|
shape: layer.pntsShape,
|
|
@@ -56,7 +46,7 @@ function pntsParse(data, layer) {
|
|
|
56
46
|
|
|
57
47
|
// refer material properties in the layer so when layers opacity and visibility is updated, the material is
|
|
58
48
|
// automatically updated
|
|
59
|
-
(
|
|
49
|
+
ReferLayerProperties(material, layer);
|
|
60
50
|
|
|
61
51
|
// creation points with geometry and material
|
|
62
52
|
const points = new THREE.Points(result.point.geometry, material);
|
|
@@ -69,7 +59,7 @@ function pntsParse(data, layer) {
|
|
|
69
59
|
};
|
|
70
60
|
});
|
|
71
61
|
}
|
|
72
|
-
function configureTile(tile, layer, metadata, parent) {
|
|
62
|
+
export function configureTile(tile, layer, metadata, parent) {
|
|
73
63
|
tile.frustumCulled = false;
|
|
74
64
|
tile.layer = layer;
|
|
75
65
|
|
|
@@ -111,7 +101,7 @@ function executeCommand(command) {
|
|
|
111
101
|
pnts: pntsParse,
|
|
112
102
|
gltf: gltfToMesh
|
|
113
103
|
};
|
|
114
|
-
return
|
|
104
|
+
return Fetcher.arrayBuffer(url, layer.source.networkOptions).then(result => {
|
|
115
105
|
if (result !== undefined) {
|
|
116
106
|
let func;
|
|
117
107
|
const magic = utf8Decoder.decode(new Uint8Array(result, 0, 4));
|
|
@@ -151,7 +141,6 @@ function executeCommand(command) {
|
|
|
151
141
|
return Promise.resolve(tile);
|
|
152
142
|
}
|
|
153
143
|
}
|
|
154
|
-
|
|
144
|
+
export default {
|
|
155
145
|
executeCommand
|
|
156
|
-
};
|
|
157
|
-
exports.default = _default;
|
|
146
|
+
};
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _default = {
|
|
1
|
+
export default {
|
|
8
2
|
executeCommand(command) {
|
|
9
3
|
const layer = command.layer;
|
|
10
4
|
const src = command.extentsSource;
|
|
11
5
|
const dst = command.extentsDestination || src;
|
|
12
6
|
return Promise.all(src.map((from, i) => layer.getData(from, dst[i])));
|
|
13
7
|
}
|
|
14
|
-
};
|
|
15
|
-
exports.default = _default;
|
|
8
|
+
};
|
package/lib/Provider/Fetcher.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _three = require("three");
|
|
8
|
-
const textureLoader = new _three.TextureLoader();
|
|
1
|
+
import { TextureLoader, DataTexture, RedFormat, FloatType, AlphaFormat } from 'three';
|
|
2
|
+
const textureLoader = new TextureLoader();
|
|
9
3
|
const SIZE_TEXTURE_TILE = 256;
|
|
10
4
|
function checkResponse(response) {
|
|
11
5
|
if (!response.ok) {
|
|
@@ -24,12 +18,12 @@ const arrayBuffer = function (url) {
|
|
|
24
18
|
function getTextureFloat(buffer) {
|
|
25
19
|
let isWebGL2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
26
20
|
if (isWebGL2) {
|
|
27
|
-
const texture = new
|
|
21
|
+
const texture = new DataTexture(buffer, SIZE_TEXTURE_TILE, SIZE_TEXTURE_TILE, RedFormat, FloatType);
|
|
28
22
|
texture.internalFormat = 'R32F';
|
|
29
23
|
texture.needsUpdate = true;
|
|
30
24
|
return texture;
|
|
31
25
|
} else {
|
|
32
|
-
const texture = new
|
|
26
|
+
const texture = new DataTexture(buffer, SIZE_TEXTURE_TILE, SIZE_TEXTURE_TILE, AlphaFormat, FloatType);
|
|
33
27
|
return texture;
|
|
34
28
|
}
|
|
35
29
|
}
|
|
@@ -40,7 +34,7 @@ function getTextureFloat(buffer) {
|
|
|
40
34
|
*
|
|
41
35
|
* @module Fetcher
|
|
42
36
|
*/
|
|
43
|
-
|
|
37
|
+
export default {
|
|
44
38
|
/**
|
|
45
39
|
* Wrapper over fetch to get some text.
|
|
46
40
|
*
|
|
@@ -237,5 +231,4 @@ var _default = {
|
|
|
237
231
|
return this.texture;
|
|
238
232
|
}
|
|
239
233
|
}
|
|
240
|
-
};
|
|
241
|
-
exports.default = _default;
|
|
234
|
+
};
|
|
@@ -1,14 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var THREE = _interopRequireWildcard(require("three"));
|
|
9
|
-
var _Extent = _interopRequireDefault(require("../Core/Geographic/Extent"));
|
|
10
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import Extent from "../Core/Geographic/Extent.js";
|
|
12
3
|
let nextuuid = 1;
|
|
13
4
|
function addPickingAttribute(points) {
|
|
14
5
|
// generate unique id for picking
|
|
@@ -32,7 +23,7 @@ function addPickingAttribute(points) {
|
|
|
32
23
|
points.geometry.setAttribute('unique_id', new THREE.BufferAttribute(ids, 4, true));
|
|
33
24
|
return points;
|
|
34
25
|
}
|
|
35
|
-
|
|
26
|
+
export default {
|
|
36
27
|
executeCommand(command) {
|
|
37
28
|
const layer = command.layer;
|
|
38
29
|
const node = command.requester;
|
|
@@ -46,10 +37,9 @@ var _default = {
|
|
|
46
37
|
points.updateMatrix();
|
|
47
38
|
points.tightbbox = geometry.boundingBox.applyMatrix4(points.matrix);
|
|
48
39
|
points.layer = layer;
|
|
49
|
-
points.extent =
|
|
40
|
+
points.extent = Extent.fromBox3(command.view.referenceCrs, node.bbox);
|
|
50
41
|
points.userData.node = node;
|
|
51
42
|
return points;
|
|
52
43
|
});
|
|
53
44
|
}
|
|
54
|
-
};
|
|
55
|
-
exports.default = _default;
|
|
45
|
+
};
|
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _CancelledCommandException = _interopRequireDefault(require("../Core/Scheduler/CancelledCommandException"));
|
|
9
|
-
var _default = {
|
|
1
|
+
import CancelledCommandException from "../Core/Scheduler/CancelledCommandException.js";
|
|
2
|
+
export default {
|
|
10
3
|
executeCommand(command) {
|
|
11
4
|
const promises = [];
|
|
12
5
|
const layer = command.layer;
|
|
13
6
|
const requester = command.requester;
|
|
14
7
|
const extentsSource = command.extentsSource;
|
|
15
8
|
if (requester && !requester.material) {
|
|
16
|
-
return Promise.reject(new
|
|
9
|
+
return Promise.reject(new CancelledCommandException(command));
|
|
17
10
|
}
|
|
18
11
|
for (const extent of extentsSource) {
|
|
19
12
|
promises.push(layer.convert(requester, extent));
|
|
20
13
|
}
|
|
21
14
|
return Promise.all(promises);
|
|
22
15
|
}
|
|
23
|
-
};
|
|
24
|
-
exports.default = _default;
|
|
16
|
+
};
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _Extent = _interopRequireDefault(require("../Core/Geographic/Extent"));
|
|
9
|
-
const extent = new _Extent.default('EPSG:4326', [0, 0, 0, 0]);
|
|
1
|
+
import Extent from "../Core/Geographic/Extent.js";
|
|
2
|
+
const extent = new Extent('EPSG:4326', [0, 0, 0, 0]);
|
|
10
3
|
let subDomainsCount = 0;
|
|
11
4
|
function subDomains(url) {
|
|
12
5
|
const subDomainsPtrn = /\$\{u:([\w-_.|]+)\}/.exec(url);
|
|
@@ -29,7 +22,7 @@ function subDomains(url) {
|
|
|
29
22
|
*
|
|
30
23
|
* @module URLBuilder
|
|
31
24
|
*/
|
|
32
|
-
|
|
25
|
+
export default {
|
|
33
26
|
subDomains,
|
|
34
27
|
/**
|
|
35
28
|
* Builds an URL knowing the coordinates and the source to query.
|
|
@@ -109,5 +102,4 @@ var _default = {
|
|
|
109
102
|
bboxInUnit = bboxInUnit.replace('w', `${w},`).replace('s', `${s},`).replace('e', `${e},`).replace('n', `${n},`).slice(0, -1);
|
|
110
103
|
return subDomains(source.url.replace('%bbox', bboxInUnit));
|
|
111
104
|
}
|
|
112
|
-
};
|
|
113
|
-
exports.default = _default;
|
|
105
|
+
};
|
package/lib/Renderer/Camera.js
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import Coordinates from "../Core/Geographic/Coordinates.js";
|
|
3
|
+
import DEMUtils from "../Utils/DEMUtils.js";
|
|
2
4
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = exports.CAMERA_TYPE = void 0;
|
|
8
|
-
var THREE = _interopRequireWildcard(require("three"));
|
|
9
|
-
var _Coordinates = _interopRequireDefault(require("../Core/Geographic/Coordinates"));
|
|
10
|
-
var _DEMUtils = _interopRequireDefault(require("../Utils/DEMUtils"));
|
|
11
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
5
|
/**
|
|
14
6
|
* @typedef {object} Camera~CAMERA_TYPE
|
|
15
7
|
* Stores the different types of camera usable in iTowns.
|
|
@@ -17,11 +9,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
17
9
|
* @property {number} PERSPECTIVE Perspective type of camera
|
|
18
10
|
* @property {number} ORTHOGRAPHIC Orthographic type of camera
|
|
19
11
|
*/
|
|
20
|
-
const CAMERA_TYPE = {
|
|
12
|
+
export const CAMERA_TYPE = {
|
|
21
13
|
PERSPECTIVE: 0,
|
|
22
14
|
ORTHOGRAPHIC: 1
|
|
23
15
|
};
|
|
24
|
-
exports.CAMERA_TYPE = CAMERA_TYPE;
|
|
25
16
|
const tmp = {
|
|
26
17
|
frustum: new THREE.Frustum(),
|
|
27
18
|
matrix: new THREE.Matrix4(),
|
|
@@ -182,7 +173,7 @@ class Camera {
|
|
|
182
173
|
* @return {Coordinates} Coordinates object holding camera's position.
|
|
183
174
|
*/
|
|
184
175
|
position(crs) {
|
|
185
|
-
return new
|
|
176
|
+
return new Coordinates(this.crs, this.camera3D.position).as(crs || this.crs);
|
|
186
177
|
}
|
|
187
178
|
|
|
188
179
|
/**
|
|
@@ -243,7 +234,7 @@ class Camera {
|
|
|
243
234
|
// (Should be improved in Coordinates class for all ref)
|
|
244
235
|
const camLocation = view.camera.position().as('EPSG:4326');
|
|
245
236
|
if (elevationLayer !== undefined) {
|
|
246
|
-
const elevationUnderCamera =
|
|
237
|
+
const elevationUnderCamera = DEMUtils.getElevationValueAt(elevationLayer, camLocation);
|
|
247
238
|
if (elevationUnderCamera !== undefined) {
|
|
248
239
|
const difElevation = camLocation.altitude - (elevationUnderCamera + minDistanceCollision);
|
|
249
240
|
// We move the camera to avoid collision if too close to terrain
|
|
@@ -287,5 +278,4 @@ function projectBox3PointsInCameraSpace(camera, box3, matrixWorld) {
|
|
|
287
278
|
}
|
|
288
279
|
return atLeastOneInFrontOfNearPlane ? points : undefined;
|
|
289
280
|
}
|
|
290
|
-
|
|
291
|
-
exports.default = _default;
|
|
281
|
+
export default Camera;
|
package/lib/Renderer/Color.js
CHANGED
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.deltaE = deltaE;
|
|
7
|
-
exports.lab2rgb = lab2rgb;
|
|
8
|
-
exports.rgb2lab = rgb2lab;
|
|
9
|
-
function lab2rgb(lab) {
|
|
1
|
+
export function lab2rgb(lab) {
|
|
10
2
|
let y = (lab[0] + 16) / 116;
|
|
11
3
|
let x = lab[1] / 500 + y;
|
|
12
4
|
let z = y - lab[2] / 200;
|
|
@@ -24,7 +16,7 @@ function lab2rgb(lab) {
|
|
|
24
16
|
b = b > 0.0031308 ? 1.055 * b ** (1 / 2.4) - 0.055 : 12.92 * b;
|
|
25
17
|
return [Math.max(0, Math.min(1, r)) * 255, Math.max(0, Math.min(1, g)) * 255, Math.max(0, Math.min(1, b)) * 255];
|
|
26
18
|
}
|
|
27
|
-
function rgb2lab(rgb) {
|
|
19
|
+
export function rgb2lab(rgb) {
|
|
28
20
|
let r = rgb.r || rgb[0] / 255;
|
|
29
21
|
let g = rgb.g || rgb[1] / 255;
|
|
30
22
|
let b = rgb.b || rgb[2] / 255;
|
|
@@ -45,7 +37,7 @@ function rgb2lab(rgb) {
|
|
|
45
37
|
|
|
46
38
|
// calculate the perceptual distance between colors in CIELAB
|
|
47
39
|
// https://github.com/THEjoezack/ColorMine/blob/master/ColorMine/ColorSpaces/Comparisons/Cie94Comparison.cs
|
|
48
|
-
function deltaE(rgbA, rgbB) {
|
|
40
|
+
export function deltaE(rgbA, rgbB) {
|
|
49
41
|
const labA = rgb2lab(rgbA);
|
|
50
42
|
const labB = rgb2lab(rgbB);
|
|
51
43
|
const deltaL = labA[0] - labB[0];
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.COLOR_LAYERS_ORDER_CHANGED = void 0;
|
|
7
|
-
var _Layer = require("../Layer/Layer");
|
|
1
|
+
import { ImageryLayers } from "../Layer/Layer.js";
|
|
8
2
|
function updateLayersOrdering(geometryLayer, imageryLayers) {
|
|
9
|
-
const sequence =
|
|
3
|
+
const sequence = ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers);
|
|
10
4
|
const cO = function (object) {
|
|
11
5
|
var _object$material;
|
|
12
6
|
if ((_object$material = object.material) !== null && _object$material !== void 0 && _object$material.setSequence) {
|
|
@@ -17,15 +11,14 @@ function updateLayersOrdering(geometryLayer, imageryLayers) {
|
|
|
17
11
|
node.traverse(cO);
|
|
18
12
|
}
|
|
19
13
|
}
|
|
20
|
-
const COLOR_LAYERS_ORDER_CHANGED = 'layers-order-changed';
|
|
14
|
+
export const COLOR_LAYERS_ORDER_CHANGED = 'layers-order-changed';
|
|
21
15
|
|
|
22
16
|
/**
|
|
23
17
|
* Utilitary to organize {@link ColorLayer} in a {@link View}.
|
|
24
18
|
*
|
|
25
19
|
* @module ColorLayersOrdering
|
|
26
20
|
*/
|
|
27
|
-
|
|
28
|
-
var _default = {
|
|
21
|
+
export default {
|
|
29
22
|
/**
|
|
30
23
|
* Moves up in the layer list. This function has no effect if the layer is
|
|
31
24
|
* moved to its current index.
|
|
@@ -40,8 +33,8 @@ var _default = {
|
|
|
40
33
|
const imageryLayers = view.getLayers(l => l.isColorLayer);
|
|
41
34
|
const layer = view.getLayerById(layerId);
|
|
42
35
|
if (layer) {
|
|
43
|
-
const previousSequence =
|
|
44
|
-
|
|
36
|
+
const previousSequence = ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers);
|
|
37
|
+
ImageryLayers.moveLayerUp(layer, imageryLayers);
|
|
45
38
|
updateLayersOrdering(view.tileLayer, imageryLayers);
|
|
46
39
|
view.dispatchEvent({
|
|
47
40
|
type: COLOR_LAYERS_ORDER_CHANGED,
|
|
@@ -49,7 +42,7 @@ var _default = {
|
|
|
49
42
|
sequence: previousSequence
|
|
50
43
|
},
|
|
51
44
|
new: {
|
|
52
|
-
sequence:
|
|
45
|
+
sequence: ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers)
|
|
53
46
|
}
|
|
54
47
|
});
|
|
55
48
|
view.notifyChange(view.tileLayer);
|
|
@@ -71,8 +64,8 @@ var _default = {
|
|
|
71
64
|
const imageryLayers = view.getLayers(l => l.isColorLayer);
|
|
72
65
|
const layer = view.getLayerById(layerId);
|
|
73
66
|
if (layer) {
|
|
74
|
-
const previousSequence =
|
|
75
|
-
|
|
67
|
+
const previousSequence = ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers);
|
|
68
|
+
ImageryLayers.moveLayerDown(layer, imageryLayers);
|
|
76
69
|
updateLayersOrdering(view.tileLayer, imageryLayers);
|
|
77
70
|
view.dispatchEvent({
|
|
78
71
|
type: COLOR_LAYERS_ORDER_CHANGED,
|
|
@@ -80,7 +73,7 @@ var _default = {
|
|
|
80
73
|
sequence: previousSequence
|
|
81
74
|
},
|
|
82
75
|
new: {
|
|
83
|
-
sequence:
|
|
76
|
+
sequence: ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers)
|
|
84
77
|
}
|
|
85
78
|
});
|
|
86
79
|
view.notifyChange(view.tileLayer);
|
|
@@ -103,8 +96,8 @@ var _default = {
|
|
|
103
96
|
const imageryLayers = view.getLayers(l => l.isColorLayer);
|
|
104
97
|
const layer = view.getLayerById(layerId);
|
|
105
98
|
if (layer) {
|
|
106
|
-
const previousSequence =
|
|
107
|
-
|
|
99
|
+
const previousSequence = ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers);
|
|
100
|
+
ImageryLayers.moveLayerToIndex(layer, index, imageryLayers);
|
|
108
101
|
updateLayersOrdering(view.tileLayer, imageryLayers);
|
|
109
102
|
view.dispatchEvent({
|
|
110
103
|
type: COLOR_LAYERS_ORDER_CHANGED,
|
|
@@ -112,7 +105,7 @@ var _default = {
|
|
|
112
105
|
sequence: previousSequence
|
|
113
106
|
},
|
|
114
107
|
new: {
|
|
115
|
-
sequence:
|
|
108
|
+
sequence: ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers)
|
|
116
109
|
}
|
|
117
110
|
});
|
|
118
111
|
view.notifyChange(view.tileLayer);
|
|
@@ -120,5 +113,4 @@ var _default = {
|
|
|
120
113
|
throw new Error(`${layerId} isn't color layer`);
|
|
121
114
|
}
|
|
122
115
|
}
|
|
123
|
-
};
|
|
124
|
-
exports.default = _default;
|
|
116
|
+
};
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var THREE = _interopRequireWildcard(require("three"));
|
|
8
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
9
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
10
|
-
var _default = {
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
export default {
|
|
11
3
|
setDefineMapping(object, PROPERTY, mapping) {
|
|
12
4
|
Object.keys(mapping).forEach(key => {
|
|
13
5
|
object.defines[`${PROPERTY}_${key}`] = mapping[key];
|
|
@@ -36,5 +28,4 @@ var _default = {
|
|
|
36
28
|
}
|
|
37
29
|
});
|
|
38
30
|
}
|
|
39
|
-
};
|
|
40
|
-
exports.default = _default;
|
|
31
|
+
};
|
|
@@ -1,21 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = exports.ScreenGrid = void 0;
|
|
8
|
-
var THREE = _interopRequireWildcard(require("three"));
|
|
9
|
-
var _GlobeLayer = _interopRequireDefault(require("../Core/Prefab/Globe/GlobeLayer"));
|
|
10
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import GlobeLayer from "../Core/Prefab/Globe/GlobeLayer.js";
|
|
12
3
|
function isIntersectedOrOverlaped(a, b) {
|
|
13
4
|
return !(a.left > b.right || a.right < b.left || a.top > b.bottom || a.bottom < b.top);
|
|
14
5
|
}
|
|
15
6
|
const frustum = new THREE.Frustum();
|
|
16
7
|
|
|
17
8
|
// A grid to manage labels on the screen.
|
|
18
|
-
class ScreenGrid {
|
|
9
|
+
export class ScreenGrid {
|
|
19
10
|
constructor() {
|
|
20
11
|
let x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 12;
|
|
21
12
|
let y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;
|
|
@@ -83,7 +74,6 @@ class ScreenGrid {
|
|
|
83
74
|
return true;
|
|
84
75
|
}
|
|
85
76
|
}
|
|
86
|
-
exports.ScreenGrid = ScreenGrid;
|
|
87
77
|
const worldPosition = new THREE.Vector3();
|
|
88
78
|
|
|
89
79
|
/**
|
|
@@ -180,7 +170,7 @@ class Label2DRenderer {
|
|
|
180
170
|
if (!frustum.containsPoint(worldPosition.applyMatrix4(camera.matrixWorldInverse)) ||
|
|
181
171
|
// Check if globe horizon culls the label
|
|
182
172
|
// Do some horizon culling (if possible) if the tiles level is small enough.
|
|
183
|
-
label.horizonCullingPoint &&
|
|
173
|
+
label.horizonCullingPoint && GlobeLayer.horizonCulling(label.horizonCullingPoint) ||
|
|
184
174
|
// Check if content isn't present in visible labels
|
|
185
175
|
this.grid.visible.some(l => {
|
|
186
176
|
// TODO for icon without text filter by position
|
|
@@ -200,5 +190,4 @@ class Label2DRenderer {
|
|
|
200
190
|
this.garbage.innerHTML = '';
|
|
201
191
|
}
|
|
202
192
|
}
|
|
203
|
-
|
|
204
|
-
exports.default = _default;
|
|
193
|
+
export default Label2DRenderer;
|