itowns 2.44.3-next.4 → 2.44.3-next.41
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/README.md +3 -129
- package/examples/3dtiles_loader.html +123 -48
- package/examples/config.json +3 -10
- package/examples/copc_simple_loader.html +15 -5
- package/examples/effects_stereo.html +2 -2
- package/examples/entwine_3d_loader.html +3 -1
- package/examples/entwine_simple_loader.html +1 -1
- package/examples/images/itowns_logo.svg +123 -0
- package/examples/js/plugins/COGParser.js +1 -1
- package/examples/jsm/OGC3DTilesHelper.js +6 -1
- package/examples/layers/JSONLayers/GeoidMNT.json +3 -1
- package/examples/misc_collada.html +2 -2
- package/examples/source_file_geojson_3d.html +0 -1
- package/examples/source_file_kml_raster_usgs.html +0 -1
- package/examples/source_stream_wfs_raster.html +0 -7
- package/examples/vector_tile_mapbox_raster.html +91 -0
- package/examples/view_3d_map_webxr.html +3 -1
- package/examples/view_multi_25d.html +2 -2
- package/package.json +21 -75
- package/CODING.md +0 -120
- package/CONTRIBUTING.md +0 -150
- package/CONTRIBUTORS.md +0 -55
- package/LICENSE.md +0 -44
- package/changelog.md +0 -1361
- package/dist/455.js +0 -2
- package/dist/455.js.map +0 -1
- package/dist/debug.js +0 -3
- package/dist/debug.js.LICENSE.txt +0 -13
- package/dist/debug.js.map +0 -1
- package/dist/itowns.js +0 -3
- package/dist/itowns.js.LICENSE.txt +0 -7
- package/dist/itowns.js.map +0 -1
- package/dist/itowns_lasparser.js +0 -2
- package/dist/itowns_lasparser.js.map +0 -1
- package/dist/itowns_lasworker.js +0 -2
- package/dist/itowns_lasworker.js.map +0 -1
- package/dist/itowns_potree2worker.js +0 -2
- package/dist/itowns_potree2worker.js.map +0 -1
- package/dist/itowns_widgets.js +0 -2
- package/dist/itowns_widgets.js.map +0 -1
- package/examples/.eslintrc.cjs +0 -35
- package/examples/3dtiles_25d.html +0 -120
- package/examples/3dtiles_basic.html +0 -94
- package/examples/3dtiles_batch_table.html +0 -86
- package/examples/3dtiles_ion.html +0 -126
- package/examples/3dtiles_pointcloud.html +0 -95
- package/examples/jsm/.eslintrc.cjs +0 -38
- package/lib/Controls/FirstPersonControls.js +0 -308
- package/lib/Controls/FlyControls.js +0 -175
- package/lib/Controls/GlobeControls.js +0 -1162
- package/lib/Controls/PlanarControls.js +0 -1025
- package/lib/Controls/StateControl.js +0 -429
- package/lib/Controls/StreetControls.js +0 -392
- package/lib/Converter/Feature2Mesh.js +0 -608
- package/lib/Converter/Feature2Texture.js +0 -170
- package/lib/Converter/convertToTile.js +0 -75
- package/lib/Converter/textureConverter.js +0 -44
- package/lib/Core/3DTiles/C3DTBatchTable.js +0 -131
- package/lib/Core/3DTiles/C3DTBatchTableHierarchyExtension.js +0 -96
- package/lib/Core/3DTiles/C3DTBoundingVolume.js +0 -157
- package/lib/Core/3DTiles/C3DTExtensions.js +0 -97
- package/lib/Core/3DTiles/C3DTFeature.js +0 -110
- package/lib/Core/3DTiles/C3DTilesEnums.js +0 -20
- package/lib/Core/3DTiles/C3DTileset.js +0 -99
- package/lib/Core/3DTiles/utils/BinaryPropertyAccessor.js +0 -100
- package/lib/Core/AnimationPlayer.js +0 -142
- package/lib/Core/CopcNode.js +0 -174
- package/lib/Core/Deprecated/Undeprecator.js +0 -75
- package/lib/Core/EntwinePointTileNode.js +0 -126
- package/lib/Core/Feature.js +0 -490
- package/lib/Core/Geographic/CoordStars.js +0 -80
- package/lib/Core/Geographic/Coordinates.js +0 -320
- package/lib/Core/Geographic/Crs.js +0 -175
- package/lib/Core/Geographic/Extent.js +0 -726
- package/lib/Core/Geographic/GeoidGrid.js +0 -109
- package/lib/Core/Label.js +0 -222
- package/lib/Core/MainLoop.js +0 -211
- package/lib/Core/Math/Ellipsoid.js +0 -144
- package/lib/Core/Picking.js +0 -255
- package/lib/Core/PointCloudNode.js +0 -42
- package/lib/Core/Potree2Node.js +0 -206
- package/lib/Core/Potree2PointAttributes.js +0 -139
- package/lib/Core/PotreeNode.js +0 -101
- package/lib/Core/Prefab/Globe/Atmosphere.js +0 -299
- package/lib/Core/Prefab/Globe/BuilderEllipsoidTile.js +0 -110
- package/lib/Core/Prefab/Globe/GlobeLayer.js +0 -145
- package/lib/Core/Prefab/Globe/SkyShader.js +0 -78
- package/lib/Core/Prefab/GlobeView.js +0 -161
- package/lib/Core/Prefab/Planar/PlanarLayer.js +0 -53
- package/lib/Core/Prefab/Planar/PlanarTileBuilder.js +0 -72
- package/lib/Core/Prefab/PlanarView.js +0 -62
- package/lib/Core/Prefab/TileBuilder.js +0 -80
- package/lib/Core/Prefab/computeBufferTileGeometry.js +0 -183
- package/lib/Core/Scheduler/Cache.js +0 -256
- package/lib/Core/Scheduler/CancelledCommandException.js +0 -15
- package/lib/Core/Scheduler/Scheduler.js +0 -294
- package/lib/Core/Style.js +0 -1121
- package/lib/Core/System/Capabilities.js +0 -63
- package/lib/Core/TileGeometry.js +0 -40
- package/lib/Core/TileMesh.js +0 -108
- package/lib/Core/View.js +0 -1109
- package/lib/Layer/C3DTilesLayer.js +0 -455
- package/lib/Layer/ColorLayer.js +0 -128
- package/lib/Layer/CopcLayer.js +0 -58
- package/lib/Layer/ElevationLayer.js +0 -107
- package/lib/Layer/EntwinePointTileLayer.js +0 -64
- package/lib/Layer/FeatureGeometryLayer.js +0 -63
- package/lib/Layer/GeoidLayer.js +0 -80
- package/lib/Layer/GeometryLayer.js +0 -202
- package/lib/Layer/InfoLayer.js +0 -64
- package/lib/Layer/LabelLayer.js +0 -452
- package/lib/Layer/Layer.js +0 -304
- package/lib/Layer/LayerUpdateState.js +0 -89
- package/lib/Layer/LayerUpdateStrategy.js +0 -80
- package/lib/Layer/OGC3DTilesLayer.js +0 -387
- package/lib/Layer/OrientedImageLayer.js +0 -222
- package/lib/Layer/PointCloudLayer.js +0 -359
- package/lib/Layer/Potree2Layer.js +0 -164
- package/lib/Layer/PotreeLayer.js +0 -65
- package/lib/Layer/RasterLayer.js +0 -27
- package/lib/Layer/ReferencingLayerProperties.js +0 -62
- package/lib/Layer/TiledGeometryLayer.js +0 -403
- package/lib/Loader/LASLoader.js +0 -193
- package/lib/Loader/Potree2BrotliLoader.js +0 -261
- package/lib/Loader/Potree2Loader.js +0 -207
- package/lib/Main.js +0 -115
- package/lib/MainBundle.js +0 -4
- package/lib/Parser/B3dmParser.js +0 -174
- package/lib/Parser/CameraCalibrationParser.js +0 -94
- package/lib/Parser/GDFParser.js +0 -72
- package/lib/Parser/GTXParser.js +0 -75
- package/lib/Parser/GeoJsonParser.js +0 -212
- package/lib/Parser/GpxParser.js +0 -25
- package/lib/Parser/ISGParser.js +0 -71
- package/lib/Parser/KMLParser.js +0 -25
- package/lib/Parser/LASParser.js +0 -137
- package/lib/Parser/MapBoxUrlParser.js +0 -83
- package/lib/Parser/PntsParser.js +0 -131
- package/lib/Parser/Potree2BinParser.js +0 -92
- package/lib/Parser/PotreeBinParser.js +0 -106
- package/lib/Parser/PotreeCinParser.js +0 -29
- package/lib/Parser/ShapefileParser.js +0 -78
- package/lib/Parser/VectorTileParser.js +0 -202
- package/lib/Parser/XbilParser.js +0 -108
- package/lib/Parser/deprecated/LegacyGLTFLoader.js +0 -1386
- package/lib/Parser/iGLTFLoader.js +0 -168
- package/lib/Process/3dTilesProcessing.js +0 -304
- package/lib/Process/FeatureProcessing.js +0 -76
- package/lib/Process/LayeredMaterialNodeProcessing.js +0 -221
- package/lib/Process/ObjectRemovalHelper.js +0 -97
- package/lib/Process/handlerNodeError.js +0 -23
- package/lib/Provider/3dTilesProvider.js +0 -149
- package/lib/Provider/DataSourceProvider.js +0 -8
- package/lib/Provider/Fetcher.js +0 -229
- package/lib/Provider/PointCloudProvider.js +0 -45
- package/lib/Provider/TileProvider.js +0 -16
- package/lib/Provider/URLBuilder.js +0 -105
- package/lib/Renderer/Camera.js +0 -281
- package/lib/Renderer/Color.js +0 -56
- package/lib/Renderer/ColorLayersOrdering.js +0 -115
- package/lib/Renderer/CommonMaterial.js +0 -31
- package/lib/Renderer/Label2DRenderer.js +0 -190
- package/lib/Renderer/LayeredMaterial.js +0 -243
- package/lib/Renderer/OBB.js +0 -153
- package/lib/Renderer/OrientedImageCamera.js +0 -118
- package/lib/Renderer/OrientedImageMaterial.js +0 -167
- package/lib/Renderer/PointsMaterial.js +0 -485
- package/lib/Renderer/RasterTile.js +0 -209
- package/lib/Renderer/RenderMode.js +0 -31
- package/lib/Renderer/Shader/ShaderChunk.js +0 -160
- package/lib/Renderer/Shader/ShaderUtils.js +0 -47
- package/lib/Renderer/SphereHelper.js +0 -23
- package/lib/Renderer/WebXR.js +0 -51
- package/lib/Renderer/c3DEngine.js +0 -214
- package/lib/Source/C3DTilesGoogleSource.js +0 -74
- package/lib/Source/C3DTilesIonSource.js +0 -54
- package/lib/Source/C3DTilesSource.js +0 -30
- package/lib/Source/CopcSource.js +0 -115
- package/lib/Source/EntwinePointTileSource.js +0 -62
- package/lib/Source/FileSource.js +0 -189
- package/lib/Source/OGC3DTilesGoogleSource.js +0 -29
- package/lib/Source/OGC3DTilesIonSource.js +0 -34
- package/lib/Source/OGC3DTilesSource.js +0 -21
- package/lib/Source/OrientedImageSource.js +0 -59
- package/lib/Source/Potree2Source.js +0 -167
- package/lib/Source/PotreeSource.js +0 -82
- package/lib/Source/Source.js +0 -223
- package/lib/Source/TMSSource.js +0 -143
- package/lib/Source/VectorTilesSource.js +0 -178
- package/lib/Source/WFSSource.js +0 -165
- package/lib/Source/WMSSource.js +0 -130
- package/lib/Source/WMTSSource.js +0 -86
- package/lib/ThreeExtended/capabilities/WebGL.js +0 -69
- package/lib/ThreeExtended/libs/ktx-parse.module.js +0 -470
- package/lib/ThreeExtended/libs/zstddec.module.js +0 -29
- package/lib/ThreeExtended/loaders/DDSLoader.js +0 -200
- package/lib/ThreeExtended/loaders/DRACOLoader.js +0 -399
- package/lib/ThreeExtended/loaders/GLTFLoader.js +0 -2876
- package/lib/ThreeExtended/loaders/KTX2Loader.js +0 -625
- package/lib/ThreeExtended/utils/BufferGeometryUtils.js +0 -846
- package/lib/ThreeExtended/utils/WorkerPool.js +0 -70
- package/lib/Utils/CameraUtils.js +0 -555
- package/lib/Utils/DEMUtils.js +0 -350
- package/lib/Utils/FeaturesUtils.js +0 -156
- package/lib/Utils/Gradients.js +0 -16
- package/lib/Utils/OrientationUtils.js +0 -457
- package/lib/Utils/ThreeUtils.js +0 -115
- package/lib/Utils/gui/C3DTilesStyle.js +0 -216
- package/lib/Utils/gui/Main.js +0 -7
- package/lib/Utils/gui/Minimap.js +0 -154
- package/lib/Utils/gui/Navigation.js +0 -245
- package/lib/Utils/gui/Scale.js +0 -107
- package/lib/Utils/gui/Searchbar.js +0 -234
- package/lib/Utils/gui/Widget.js +0 -80
- package/lib/Utils/placeObjectOnGround.js +0 -137
- package/lib/Worker/LASLoaderWorker.js +0 -19
- package/lib/Worker/Potree2Worker.js +0 -21
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/* babel-plugin-inline-import '../../Renderer/Shader/SampleTestFS.glsl' */
|
|
2
|
-
const SampleTestFS = "uniform sampler2D uni[SAMPLE];\nvoid main() {\n gl_FragColor += texture2D(uni[SAMPLE-1], vec2(0));\n}";
|
|
3
|
-
/* babel-plugin-inline-import '../../Renderer/Shader/SampleTestVS.glsl' */
|
|
4
|
-
const SampleTestVS = "void main() {\n gl_Position = vec4( 0.0, 0.0, 0.0, 1.0 );\n}"; // default values
|
|
5
|
-
let logDepthBufferSupported = false;
|
|
6
|
-
let maxTexturesUnits = 8;
|
|
7
|
-
let maxTextureSize = 4096;
|
|
8
|
-
function _WebGLShader(renderer, type, string) {
|
|
9
|
-
const gl = renderer.getContext();
|
|
10
|
-
const shader = gl.createShader(type);
|
|
11
|
-
gl.shaderSource(shader, string);
|
|
12
|
-
gl.compileShader(shader);
|
|
13
|
-
return shader;
|
|
14
|
-
}
|
|
15
|
-
function isFirefox() {
|
|
16
|
-
return navigator && navigator.userAgent && navigator.userAgent.toLowerCase().includes('firefox');
|
|
17
|
-
}
|
|
18
|
-
export default {
|
|
19
|
-
isLogDepthBufferSupported() {
|
|
20
|
-
return logDepthBufferSupported;
|
|
21
|
-
},
|
|
22
|
-
isFirefox,
|
|
23
|
-
getMaxTextureUnitsCount() {
|
|
24
|
-
return maxTexturesUnits;
|
|
25
|
-
},
|
|
26
|
-
getMaxTextureSize() {
|
|
27
|
-
return maxTextureSize;
|
|
28
|
-
},
|
|
29
|
-
updateCapabilities(renderer) {
|
|
30
|
-
const gl = renderer.getContext();
|
|
31
|
-
maxTexturesUnits = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS);
|
|
32
|
-
maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE);
|
|
33
|
-
const program = gl.createProgram();
|
|
34
|
-
const glVertexShader = _WebGLShader(renderer, gl.VERTEX_SHADER, SampleTestVS);
|
|
35
|
-
let fragmentShader = `#define SAMPLE ${maxTexturesUnits}\n`;
|
|
36
|
-
fragmentShader += SampleTestFS;
|
|
37
|
-
const glFragmentShader = _WebGLShader(renderer, gl.FRAGMENT_SHADER, fragmentShader);
|
|
38
|
-
gl.attachShader(program, glVertexShader);
|
|
39
|
-
gl.attachShader(program, glFragmentShader);
|
|
40
|
-
gl.linkProgram(program);
|
|
41
|
-
if (gl.getProgramParameter(program, gl.LINK_STATUS) === false) {
|
|
42
|
-
if (maxTexturesUnits > 16) {
|
|
43
|
-
const info = gl.getProgramInfoLog(program);
|
|
44
|
-
// eslint-disable-next-line no-console
|
|
45
|
-
console.warn(`${info}: using a maximum of 16 texture units instead of the reported value (${maxTexturesUnits})`);
|
|
46
|
-
if (isFirefox()) {
|
|
47
|
-
// eslint-disable-next-line no-console
|
|
48
|
-
console.warn(`It can come from a Mesa/Firefox bug;
|
|
49
|
-
the shader compiles to an error when using more than 16 sampler uniforms,
|
|
50
|
-
see https://bugzilla.mozilla.org/show_bug.cgi?id=777028`);
|
|
51
|
-
}
|
|
52
|
-
maxTexturesUnits = 16;
|
|
53
|
-
} else {
|
|
54
|
-
throw new Error(`The GPU capabilities could not be determined accurately.
|
|
55
|
-
Impossible to link a shader with the Maximum texture units ${maxTexturesUnits}`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
gl.deleteProgram(program);
|
|
59
|
-
gl.deleteShader(glVertexShader);
|
|
60
|
-
gl.deleteShader(glFragmentShader);
|
|
61
|
-
logDepthBufferSupported = renderer.capabilities.logarithmicDepthBuffer;
|
|
62
|
-
}
|
|
63
|
-
};
|
package/lib/Core/TileGeometry.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import computeBuffers, { getBufferIndexSize } from "./Prefab/computeBufferTileGeometry.js";
|
|
3
|
-
function defaultBuffers(params) {
|
|
4
|
-
params.buildIndexAndUv_0 = true;
|
|
5
|
-
params.center = params.builder.center(params.extent).clone();
|
|
6
|
-
const buffers = computeBuffers(params);
|
|
7
|
-
buffers.index = new THREE.BufferAttribute(buffers.index, 1);
|
|
8
|
-
buffers.uvs[0] = new THREE.BufferAttribute(buffers.uvs[0], 2);
|
|
9
|
-
buffers.position = new THREE.BufferAttribute(buffers.position, 3);
|
|
10
|
-
buffers.normal = new THREE.BufferAttribute(buffers.normal, 3);
|
|
11
|
-
for (let i = 1; i < params.builder.uvCount; i++) {
|
|
12
|
-
buffers.uvs[1] = new THREE.BufferAttribute(buffers.uvs[1], 1);
|
|
13
|
-
}
|
|
14
|
-
return buffers;
|
|
15
|
-
}
|
|
16
|
-
class TileGeometry extends THREE.BufferGeometry {
|
|
17
|
-
constructor(params) {
|
|
18
|
-
let buffers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultBuffers(params);
|
|
19
|
-
super();
|
|
20
|
-
this.center = params.center;
|
|
21
|
-
this.extent = params.extent;
|
|
22
|
-
this.segments = params.segments;
|
|
23
|
-
this.setIndex(buffers.index);
|
|
24
|
-
this.setAttribute('position', buffers.position);
|
|
25
|
-
this.setAttribute('normal', buffers.normal);
|
|
26
|
-
this.setAttribute('uv', buffers.uvs[0]);
|
|
27
|
-
for (let i = 1; i < buffers.uvs.length; i++) {
|
|
28
|
-
this.setAttribute(`uv_${i}`, buffers.uvs[i]);
|
|
29
|
-
}
|
|
30
|
-
this.computeBoundingBox();
|
|
31
|
-
this.OBB = {};
|
|
32
|
-
if (params.hideSkirt) {
|
|
33
|
-
this.hideSkirt = params.hideSkirt;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
set hideSkirt(value) {
|
|
37
|
-
this.setDrawRange(0, getBufferIndexSize(this.segments, value));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
export default TileGeometry;
|
package/lib/Core/TileMesh.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import CRS from "./Geographic/Crs.js";
|
|
3
|
-
import { geoidLayerIsVisible } from "../Layer/GeoidLayer.js";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* A TileMesh is a THREE.Mesh with a geometricError and an OBB
|
|
7
|
-
* The objectId property of the material is the with the id of the TileMesh
|
|
8
|
-
* @param {TileGeometry} geometry - the tile geometry
|
|
9
|
-
* @param {THREE.Material} material - a THREE.Material compatible with THREE.Mesh
|
|
10
|
-
* @param {Layer} layer - the layer the tile is added to
|
|
11
|
-
* @param {Extent} extent - the tile extent
|
|
12
|
-
* @param {?number} level - the tile level (default = 0)
|
|
13
|
-
*/
|
|
14
|
-
class TileMesh extends THREE.Mesh {
|
|
15
|
-
#_tms = (() => new Map())();
|
|
16
|
-
#visible = true;
|
|
17
|
-
constructor(geometry, material, layer, extent) {
|
|
18
|
-
let level = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
|
|
19
|
-
super(geometry, material);
|
|
20
|
-
if (!extent) {
|
|
21
|
-
throw new Error('extent is mandatory to build a TileMesh');
|
|
22
|
-
}
|
|
23
|
-
this.layer = layer;
|
|
24
|
-
this.extent = extent;
|
|
25
|
-
this.extent.zoom = level;
|
|
26
|
-
this.level = level;
|
|
27
|
-
this.material.objectId = this.id;
|
|
28
|
-
this.obb = this.geometry.OBB.clone();
|
|
29
|
-
this.boundingSphere = new THREE.Sphere();
|
|
30
|
-
this.obb.box3D.getBoundingSphere(this.boundingSphere);
|
|
31
|
-
for (const tms of layer.tileMatrixSets) {
|
|
32
|
-
this.#_tms.set(tms, this.extent.tiledCovering(tms));
|
|
33
|
-
}
|
|
34
|
-
this.frustumCulled = false;
|
|
35
|
-
this.matrixAutoUpdate = false;
|
|
36
|
-
this.rotationAutoUpdate = false;
|
|
37
|
-
this.layerUpdateState = {};
|
|
38
|
-
this.isTileMesh = true;
|
|
39
|
-
this.geoidHeight = 0;
|
|
40
|
-
this.link = {};
|
|
41
|
-
Object.defineProperty(this, 'visible', {
|
|
42
|
-
get() {
|
|
43
|
-
return this.#visible;
|
|
44
|
-
},
|
|
45
|
-
set(v) {
|
|
46
|
-
if (this.#visible != v) {
|
|
47
|
-
this.#visible = v;
|
|
48
|
-
this.dispatchEvent({
|
|
49
|
-
type: v ? 'shown' : 'hidden'
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* If specified, update the min and max elevation of the OBB
|
|
57
|
-
* and updates accordingly the bounding sphere and the geometric error
|
|
58
|
-
*
|
|
59
|
-
* @param {Object} elevation
|
|
60
|
-
* @param {number} [elevation.min]
|
|
61
|
-
* @param {number} [elevation.max]
|
|
62
|
-
* @param {number} [elevation.scale]
|
|
63
|
-
*/
|
|
64
|
-
setBBoxZ(elevation) {
|
|
65
|
-
elevation.geoidHeight = geoidLayerIsVisible(this.layer) ? this.geoidHeight : 0;
|
|
66
|
-
this.obb.updateZ(elevation);
|
|
67
|
-
if (this.horizonCullingPointElevationScaled) {
|
|
68
|
-
this.horizonCullingPointElevationScaled.setLength(this.obb.z.delta + this.horizonCullingPoint.length());
|
|
69
|
-
}
|
|
70
|
-
this.obb.box3D.getBoundingSphere(this.boundingSphere);
|
|
71
|
-
}
|
|
72
|
-
getExtentsByProjection(crs) {
|
|
73
|
-
return this.#_tms.get(CRS.formatToTms(crs));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Search for a common ancestor between this tile and another one. It goes
|
|
78
|
-
* through parents on each side until one is found.
|
|
79
|
-
*
|
|
80
|
-
* @param {TileMesh} tile
|
|
81
|
-
*
|
|
82
|
-
* @return {TileMesh} the resulting common ancestor
|
|
83
|
-
*/
|
|
84
|
-
findCommonAncestor(tile) {
|
|
85
|
-
if (!tile) {
|
|
86
|
-
return undefined;
|
|
87
|
-
}
|
|
88
|
-
if (tile.level == this.level) {
|
|
89
|
-
if (tile.id == this.id) {
|
|
90
|
-
return tile;
|
|
91
|
-
} else if (tile.level != 0) {
|
|
92
|
-
return this.parent.findCommonAncestor(tile.parent);
|
|
93
|
-
} else {
|
|
94
|
-
return undefined;
|
|
95
|
-
}
|
|
96
|
-
} else if (tile.level < this.level) {
|
|
97
|
-
return this.parent.findCommonAncestor(tile);
|
|
98
|
-
} else {
|
|
99
|
-
return this.findCommonAncestor(tile.parent);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
onBeforeRender() {
|
|
103
|
-
if (this.material.layersNeedUpdate) {
|
|
104
|
-
this.material.updateLayersUniforms();
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
export default TileMesh;
|