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.
Files changed (217) hide show
  1. package/README.md +3 -129
  2. package/examples/3dtiles_loader.html +123 -48
  3. package/examples/config.json +3 -10
  4. package/examples/copc_simple_loader.html +15 -5
  5. package/examples/effects_stereo.html +2 -2
  6. package/examples/entwine_3d_loader.html +3 -1
  7. package/examples/entwine_simple_loader.html +1 -1
  8. package/examples/images/itowns_logo.svg +123 -0
  9. package/examples/js/plugins/COGParser.js +1 -1
  10. package/examples/jsm/OGC3DTilesHelper.js +6 -1
  11. package/examples/layers/JSONLayers/GeoidMNT.json +3 -1
  12. package/examples/misc_collada.html +2 -2
  13. package/examples/source_file_geojson_3d.html +0 -1
  14. package/examples/source_file_kml_raster_usgs.html +0 -1
  15. package/examples/source_stream_wfs_raster.html +0 -7
  16. package/examples/vector_tile_mapbox_raster.html +91 -0
  17. package/examples/view_3d_map_webxr.html +3 -1
  18. package/examples/view_multi_25d.html +2 -2
  19. package/package.json +21 -75
  20. package/CODING.md +0 -120
  21. package/CONTRIBUTING.md +0 -150
  22. package/CONTRIBUTORS.md +0 -55
  23. package/LICENSE.md +0 -44
  24. package/changelog.md +0 -1361
  25. package/dist/455.js +0 -2
  26. package/dist/455.js.map +0 -1
  27. package/dist/debug.js +0 -3
  28. package/dist/debug.js.LICENSE.txt +0 -13
  29. package/dist/debug.js.map +0 -1
  30. package/dist/itowns.js +0 -3
  31. package/dist/itowns.js.LICENSE.txt +0 -7
  32. package/dist/itowns.js.map +0 -1
  33. package/dist/itowns_lasparser.js +0 -2
  34. package/dist/itowns_lasparser.js.map +0 -1
  35. package/dist/itowns_lasworker.js +0 -2
  36. package/dist/itowns_lasworker.js.map +0 -1
  37. package/dist/itowns_potree2worker.js +0 -2
  38. package/dist/itowns_potree2worker.js.map +0 -1
  39. package/dist/itowns_widgets.js +0 -2
  40. package/dist/itowns_widgets.js.map +0 -1
  41. package/examples/.eslintrc.cjs +0 -35
  42. package/examples/3dtiles_25d.html +0 -120
  43. package/examples/3dtiles_basic.html +0 -94
  44. package/examples/3dtiles_batch_table.html +0 -86
  45. package/examples/3dtiles_ion.html +0 -126
  46. package/examples/3dtiles_pointcloud.html +0 -95
  47. package/examples/jsm/.eslintrc.cjs +0 -38
  48. package/lib/Controls/FirstPersonControls.js +0 -308
  49. package/lib/Controls/FlyControls.js +0 -175
  50. package/lib/Controls/GlobeControls.js +0 -1162
  51. package/lib/Controls/PlanarControls.js +0 -1025
  52. package/lib/Controls/StateControl.js +0 -429
  53. package/lib/Controls/StreetControls.js +0 -392
  54. package/lib/Converter/Feature2Mesh.js +0 -608
  55. package/lib/Converter/Feature2Texture.js +0 -170
  56. package/lib/Converter/convertToTile.js +0 -75
  57. package/lib/Converter/textureConverter.js +0 -44
  58. package/lib/Core/3DTiles/C3DTBatchTable.js +0 -131
  59. package/lib/Core/3DTiles/C3DTBatchTableHierarchyExtension.js +0 -96
  60. package/lib/Core/3DTiles/C3DTBoundingVolume.js +0 -157
  61. package/lib/Core/3DTiles/C3DTExtensions.js +0 -97
  62. package/lib/Core/3DTiles/C3DTFeature.js +0 -110
  63. package/lib/Core/3DTiles/C3DTilesEnums.js +0 -20
  64. package/lib/Core/3DTiles/C3DTileset.js +0 -99
  65. package/lib/Core/3DTiles/utils/BinaryPropertyAccessor.js +0 -100
  66. package/lib/Core/AnimationPlayer.js +0 -142
  67. package/lib/Core/CopcNode.js +0 -174
  68. package/lib/Core/Deprecated/Undeprecator.js +0 -75
  69. package/lib/Core/EntwinePointTileNode.js +0 -126
  70. package/lib/Core/Feature.js +0 -490
  71. package/lib/Core/Geographic/CoordStars.js +0 -80
  72. package/lib/Core/Geographic/Coordinates.js +0 -320
  73. package/lib/Core/Geographic/Crs.js +0 -175
  74. package/lib/Core/Geographic/Extent.js +0 -726
  75. package/lib/Core/Geographic/GeoidGrid.js +0 -109
  76. package/lib/Core/Label.js +0 -222
  77. package/lib/Core/MainLoop.js +0 -211
  78. package/lib/Core/Math/Ellipsoid.js +0 -144
  79. package/lib/Core/Picking.js +0 -255
  80. package/lib/Core/PointCloudNode.js +0 -42
  81. package/lib/Core/Potree2Node.js +0 -206
  82. package/lib/Core/Potree2PointAttributes.js +0 -139
  83. package/lib/Core/PotreeNode.js +0 -101
  84. package/lib/Core/Prefab/Globe/Atmosphere.js +0 -299
  85. package/lib/Core/Prefab/Globe/BuilderEllipsoidTile.js +0 -110
  86. package/lib/Core/Prefab/Globe/GlobeLayer.js +0 -145
  87. package/lib/Core/Prefab/Globe/SkyShader.js +0 -78
  88. package/lib/Core/Prefab/GlobeView.js +0 -161
  89. package/lib/Core/Prefab/Planar/PlanarLayer.js +0 -53
  90. package/lib/Core/Prefab/Planar/PlanarTileBuilder.js +0 -72
  91. package/lib/Core/Prefab/PlanarView.js +0 -62
  92. package/lib/Core/Prefab/TileBuilder.js +0 -80
  93. package/lib/Core/Prefab/computeBufferTileGeometry.js +0 -183
  94. package/lib/Core/Scheduler/Cache.js +0 -256
  95. package/lib/Core/Scheduler/CancelledCommandException.js +0 -15
  96. package/lib/Core/Scheduler/Scheduler.js +0 -294
  97. package/lib/Core/Style.js +0 -1121
  98. package/lib/Core/System/Capabilities.js +0 -63
  99. package/lib/Core/TileGeometry.js +0 -40
  100. package/lib/Core/TileMesh.js +0 -108
  101. package/lib/Core/View.js +0 -1109
  102. package/lib/Layer/C3DTilesLayer.js +0 -455
  103. package/lib/Layer/ColorLayer.js +0 -128
  104. package/lib/Layer/CopcLayer.js +0 -58
  105. package/lib/Layer/ElevationLayer.js +0 -107
  106. package/lib/Layer/EntwinePointTileLayer.js +0 -64
  107. package/lib/Layer/FeatureGeometryLayer.js +0 -63
  108. package/lib/Layer/GeoidLayer.js +0 -80
  109. package/lib/Layer/GeometryLayer.js +0 -202
  110. package/lib/Layer/InfoLayer.js +0 -64
  111. package/lib/Layer/LabelLayer.js +0 -452
  112. package/lib/Layer/Layer.js +0 -304
  113. package/lib/Layer/LayerUpdateState.js +0 -89
  114. package/lib/Layer/LayerUpdateStrategy.js +0 -80
  115. package/lib/Layer/OGC3DTilesLayer.js +0 -387
  116. package/lib/Layer/OrientedImageLayer.js +0 -222
  117. package/lib/Layer/PointCloudLayer.js +0 -359
  118. package/lib/Layer/Potree2Layer.js +0 -164
  119. package/lib/Layer/PotreeLayer.js +0 -65
  120. package/lib/Layer/RasterLayer.js +0 -27
  121. package/lib/Layer/ReferencingLayerProperties.js +0 -62
  122. package/lib/Layer/TiledGeometryLayer.js +0 -403
  123. package/lib/Loader/LASLoader.js +0 -193
  124. package/lib/Loader/Potree2BrotliLoader.js +0 -261
  125. package/lib/Loader/Potree2Loader.js +0 -207
  126. package/lib/Main.js +0 -115
  127. package/lib/MainBundle.js +0 -4
  128. package/lib/Parser/B3dmParser.js +0 -174
  129. package/lib/Parser/CameraCalibrationParser.js +0 -94
  130. package/lib/Parser/GDFParser.js +0 -72
  131. package/lib/Parser/GTXParser.js +0 -75
  132. package/lib/Parser/GeoJsonParser.js +0 -212
  133. package/lib/Parser/GpxParser.js +0 -25
  134. package/lib/Parser/ISGParser.js +0 -71
  135. package/lib/Parser/KMLParser.js +0 -25
  136. package/lib/Parser/LASParser.js +0 -137
  137. package/lib/Parser/MapBoxUrlParser.js +0 -83
  138. package/lib/Parser/PntsParser.js +0 -131
  139. package/lib/Parser/Potree2BinParser.js +0 -92
  140. package/lib/Parser/PotreeBinParser.js +0 -106
  141. package/lib/Parser/PotreeCinParser.js +0 -29
  142. package/lib/Parser/ShapefileParser.js +0 -78
  143. package/lib/Parser/VectorTileParser.js +0 -202
  144. package/lib/Parser/XbilParser.js +0 -108
  145. package/lib/Parser/deprecated/LegacyGLTFLoader.js +0 -1386
  146. package/lib/Parser/iGLTFLoader.js +0 -168
  147. package/lib/Process/3dTilesProcessing.js +0 -304
  148. package/lib/Process/FeatureProcessing.js +0 -76
  149. package/lib/Process/LayeredMaterialNodeProcessing.js +0 -221
  150. package/lib/Process/ObjectRemovalHelper.js +0 -97
  151. package/lib/Process/handlerNodeError.js +0 -23
  152. package/lib/Provider/3dTilesProvider.js +0 -149
  153. package/lib/Provider/DataSourceProvider.js +0 -8
  154. package/lib/Provider/Fetcher.js +0 -229
  155. package/lib/Provider/PointCloudProvider.js +0 -45
  156. package/lib/Provider/TileProvider.js +0 -16
  157. package/lib/Provider/URLBuilder.js +0 -105
  158. package/lib/Renderer/Camera.js +0 -281
  159. package/lib/Renderer/Color.js +0 -56
  160. package/lib/Renderer/ColorLayersOrdering.js +0 -115
  161. package/lib/Renderer/CommonMaterial.js +0 -31
  162. package/lib/Renderer/Label2DRenderer.js +0 -190
  163. package/lib/Renderer/LayeredMaterial.js +0 -243
  164. package/lib/Renderer/OBB.js +0 -153
  165. package/lib/Renderer/OrientedImageCamera.js +0 -118
  166. package/lib/Renderer/OrientedImageMaterial.js +0 -167
  167. package/lib/Renderer/PointsMaterial.js +0 -485
  168. package/lib/Renderer/RasterTile.js +0 -209
  169. package/lib/Renderer/RenderMode.js +0 -31
  170. package/lib/Renderer/Shader/ShaderChunk.js +0 -160
  171. package/lib/Renderer/Shader/ShaderUtils.js +0 -47
  172. package/lib/Renderer/SphereHelper.js +0 -23
  173. package/lib/Renderer/WebXR.js +0 -51
  174. package/lib/Renderer/c3DEngine.js +0 -214
  175. package/lib/Source/C3DTilesGoogleSource.js +0 -74
  176. package/lib/Source/C3DTilesIonSource.js +0 -54
  177. package/lib/Source/C3DTilesSource.js +0 -30
  178. package/lib/Source/CopcSource.js +0 -115
  179. package/lib/Source/EntwinePointTileSource.js +0 -62
  180. package/lib/Source/FileSource.js +0 -189
  181. package/lib/Source/OGC3DTilesGoogleSource.js +0 -29
  182. package/lib/Source/OGC3DTilesIonSource.js +0 -34
  183. package/lib/Source/OGC3DTilesSource.js +0 -21
  184. package/lib/Source/OrientedImageSource.js +0 -59
  185. package/lib/Source/Potree2Source.js +0 -167
  186. package/lib/Source/PotreeSource.js +0 -82
  187. package/lib/Source/Source.js +0 -223
  188. package/lib/Source/TMSSource.js +0 -143
  189. package/lib/Source/VectorTilesSource.js +0 -178
  190. package/lib/Source/WFSSource.js +0 -165
  191. package/lib/Source/WMSSource.js +0 -130
  192. package/lib/Source/WMTSSource.js +0 -86
  193. package/lib/ThreeExtended/capabilities/WebGL.js +0 -69
  194. package/lib/ThreeExtended/libs/ktx-parse.module.js +0 -470
  195. package/lib/ThreeExtended/libs/zstddec.module.js +0 -29
  196. package/lib/ThreeExtended/loaders/DDSLoader.js +0 -200
  197. package/lib/ThreeExtended/loaders/DRACOLoader.js +0 -399
  198. package/lib/ThreeExtended/loaders/GLTFLoader.js +0 -2876
  199. package/lib/ThreeExtended/loaders/KTX2Loader.js +0 -625
  200. package/lib/ThreeExtended/utils/BufferGeometryUtils.js +0 -846
  201. package/lib/ThreeExtended/utils/WorkerPool.js +0 -70
  202. package/lib/Utils/CameraUtils.js +0 -555
  203. package/lib/Utils/DEMUtils.js +0 -350
  204. package/lib/Utils/FeaturesUtils.js +0 -156
  205. package/lib/Utils/Gradients.js +0 -16
  206. package/lib/Utils/OrientationUtils.js +0 -457
  207. package/lib/Utils/ThreeUtils.js +0 -115
  208. package/lib/Utils/gui/C3DTilesStyle.js +0 -216
  209. package/lib/Utils/gui/Main.js +0 -7
  210. package/lib/Utils/gui/Minimap.js +0 -154
  211. package/lib/Utils/gui/Navigation.js +0 -245
  212. package/lib/Utils/gui/Scale.js +0 -107
  213. package/lib/Utils/gui/Searchbar.js +0 -234
  214. package/lib/Utils/gui/Widget.js +0 -80
  215. package/lib/Utils/placeObjectOnGround.js +0 -137
  216. package/lib/Worker/LASLoaderWorker.js +0 -19
  217. 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
- };
@@ -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;
@@ -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;