itowns 2.42.1-next.8 → 2.43.0

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 (174) hide show
  1. package/changelog.md +90 -0
  2. package/dist/debug.js +1 -1
  3. package/dist/debug.js.map +1 -1
  4. package/dist/itowns.js +1 -1
  5. package/dist/itowns.js.map +1 -1
  6. package/dist/itowns_widgets.js +1 -1
  7. package/dist/itowns_widgets.js.map +1 -1
  8. package/examples/{.eslintrc.js → .eslintrc.cjs} +1 -1
  9. package/examples/effects_stereo.html +2 -2
  10. package/examples/misc_collada.html +2 -2
  11. package/examples/source_stream_wfs_25d.html +11 -11
  12. package/examples/source_stream_wfs_3d.html +1 -1
  13. package/examples/view_25d_map.html +2 -2
  14. package/examples/view_3d_map.html +2 -2
  15. package/examples/view_3d_map_webxr.html +1 -1
  16. package/examples/view_3d_mns_map.html +2 -2
  17. package/examples/view_immersive.html +1 -1
  18. package/examples/view_multi_25d.html +2 -2
  19. package/examples/widgets_searchbar.html +2 -2
  20. package/lib/Controls/FirstPersonControls.js +5 -12
  21. package/lib/Controls/FlyControls.js +4 -13
  22. package/lib/Controls/GlobeControls.js +33 -43
  23. package/lib/Controls/PlanarControls.js +9 -20
  24. package/lib/Controls/StateControl.js +2 -11
  25. package/lib/Controls/StreetControls.js +14 -24
  26. package/lib/Converter/Feature2Mesh.js +28 -38
  27. package/lib/Converter/Feature2Texture.js +15 -25
  28. package/lib/Converter/convertToTile.js +16 -26
  29. package/lib/Converter/textureConverter.js +9 -19
  30. package/lib/Core/3DTiles/C3DTBatchTable.js +5 -13
  31. package/lib/Core/3DTiles/C3DTBatchTableHierarchyExtension.js +1 -8
  32. package/lib/Core/3DTiles/C3DTBoundingVolume.js +17 -27
  33. package/lib/Core/3DTiles/C3DTExtensions.js +1 -8
  34. package/lib/Core/3DTiles/C3DTFeature.js +3 -10
  35. package/lib/Core/3DTiles/C3DTilesEnums.js +3 -11
  36. package/lib/Core/3DTiles/C3DTileset.js +7 -16
  37. package/lib/Core/3DTiles/utils/BinaryPropertyAccessor.js +5 -11
  38. package/lib/Core/AnimationPlayer.js +2 -11
  39. package/lib/Core/Deprecated/Undeprecator.js +9 -20
  40. package/lib/Core/EntwinePointTileNode.js +6 -16
  41. package/lib/Core/Feature.js +16 -30
  42. package/lib/Core/Geographic/CoordStars.js +3 -12
  43. package/lib/Core/Geographic/Coordinates.js +12 -22
  44. package/lib/Core/Geographic/Crs.js +7 -15
  45. package/lib/Core/Geographic/Extent.js +36 -47
  46. package/lib/Core/Geographic/GeoidGrid.js +6 -16
  47. package/lib/Core/Label.js +7 -17
  48. package/lib/Core/MainLoop.js +7 -16
  49. package/lib/Core/Math/Ellipsoid.js +6 -17
  50. package/lib/Core/Picking.js +10 -20
  51. package/lib/Core/PointCloudNode.js +2 -11
  52. package/lib/Core/PotreeNode.js +4 -13
  53. package/lib/Core/Prefab/Globe/Atmosphere.js +17 -26
  54. package/lib/Core/Prefab/Globe/BuilderEllipsoidTile.js +6 -16
  55. package/lib/Core/Prefab/Globe/GlobeLayer.js +19 -28
  56. package/lib/Core/Prefab/Globe/SkyShader.js +2 -11
  57. package/lib/Core/Prefab/GlobeView.js +27 -45
  58. package/lib/Core/Prefab/Planar/PlanarLayer.js +11 -20
  59. package/lib/Core/Prefab/Planar/PlanarTileBuilder.js +6 -16
  60. package/lib/Core/Prefab/PlanarView.js +10 -25
  61. package/lib/Core/Prefab/TileBuilder.js +13 -22
  62. package/lib/Core/Prefab/computeBufferTileGeometry.js +12 -16
  63. package/lib/Core/Scheduler/Cache.js +2 -10
  64. package/lib/Core/Scheduler/CancelledCommandException.js +1 -8
  65. package/lib/Core/Scheduler/Scheduler.js +15 -23
  66. package/lib/Core/Style.js +24 -38
  67. package/lib/Core/System/Capabilities.js +2 -13
  68. package/lib/Core/TileGeometry.js +13 -15
  69. package/lib/Core/TileMesh.js +6 -15
  70. package/lib/Core/View.js +43 -58
  71. package/lib/Layer/C3DTilesLayer.js +29 -41
  72. package/lib/Layer/ColorLayer.js +10 -16
  73. package/lib/Layer/ElevationLayer.js +7 -14
  74. package/lib/Layer/EntwinePointTileLayer.js +9 -18
  75. package/lib/Layer/FeatureGeometryLayer.js +9 -16
  76. package/lib/Layer/GeoidLayer.js +6 -15
  77. package/lib/Layer/GeometryLayer.js +11 -17
  78. package/lib/Layer/InfoLayer.js +5 -14
  79. package/lib/Layer/LabelLayer.js +22 -32
  80. package/lib/Layer/Layer.js +16 -26
  81. package/lib/Layer/LayerUpdateState.js +1 -8
  82. package/lib/Layer/LayerUpdateStrategy.js +7 -18
  83. package/lib/Layer/OrientedImageLayer.js +15 -25
  84. package/lib/Layer/PointCloudLayer.js +9 -19
  85. package/lib/Layer/PotreeLayer.js +8 -18
  86. package/lib/Layer/RasterLayer.js +9 -17
  87. package/lib/Layer/ReferencingLayerProperties.js +1 -8
  88. package/lib/Layer/TiledGeometryLayer.js +37 -33
  89. package/lib/Main.js +87 -708
  90. package/lib/MainBundle.js +4 -34
  91. package/lib/Parser/B3dmParser.js +80 -131
  92. package/lib/Parser/CameraCalibrationParser.js +5 -14
  93. package/lib/Parser/GDFParser.js +11 -22
  94. package/lib/Parser/GLTFParser.js +88 -0
  95. package/lib/Parser/GTXParser.js +9 -21
  96. package/lib/Parser/GeoJsonParser.js +14 -22
  97. package/lib/Parser/GpxParser.js +7 -14
  98. package/lib/Parser/ISGParser.js +19 -28
  99. package/lib/Parser/KMLParser.js +7 -14
  100. package/lib/Parser/LASLoader.js +20 -21
  101. package/lib/Parser/LASParser.js +6 -15
  102. package/lib/Parser/MapBoxUrlParser.js +2 -9
  103. package/lib/Parser/PntsParser.js +4 -14
  104. package/lib/Parser/PotreeBinParser.js +8 -16
  105. package/lib/Parser/PotreeCinParser.js +3 -12
  106. package/lib/Parser/ShapefileParser.js +11 -18
  107. package/lib/Parser/VectorTileParser.js +23 -31
  108. package/lib/Parser/XbilParser.js +5 -13
  109. package/lib/Parser/deprecated/LegacyGLTFLoader.js +2 -12
  110. package/lib/Process/3dTilesProcessing.js +14 -27
  111. package/lib/Process/FeatureProcessing.js +14 -22
  112. package/lib/Process/LayeredMaterialNodeProcessing.js +14 -26
  113. package/lib/Process/ObjectRemovalHelper.js +2 -9
  114. package/lib/Process/handlerNodeError.js +1 -7
  115. package/lib/Provider/3dTilesProvider.js +32 -29
  116. package/lib/Provider/DataSourceProvider.js +2 -9
  117. package/lib/Provider/Fetcher.js +40 -22
  118. package/lib/Provider/PointCloudProvider.js +7 -19
  119. package/lib/Provider/TileProvider.js +4 -12
  120. package/lib/Provider/URLBuilder.js +4 -12
  121. package/lib/Renderer/Camera.js +7 -17
  122. package/lib/Renderer/Color.js +3 -11
  123. package/lib/Renderer/ColorLayersOrdering.js +14 -22
  124. package/lib/Renderer/CommonMaterial.js +3 -12
  125. package/lib/Renderer/Label2DRenderer.js +5 -16
  126. package/lib/Renderer/LayeredMaterial.js +33 -53
  127. package/lib/Renderer/OBB.js +12 -21
  128. package/lib/Renderer/OrientedImageCamera.js +2 -11
  129. package/lib/Renderer/OrientedImageMaterial.js +17 -35
  130. package/lib/Renderer/PointsMaterial.js +37 -60
  131. package/lib/Renderer/RasterTile.js +16 -29
  132. package/lib/Renderer/RenderMode.js +2 -9
  133. package/lib/Renderer/Shader/ShaderChunk.js +5 -23
  134. package/lib/Renderer/Shader/ShaderUtils.js +2 -9
  135. package/lib/Renderer/SphereHelper.js +2 -11
  136. package/lib/Renderer/WebXR.js +2 -11
  137. package/lib/Renderer/c3DEngine.js +20 -53
  138. package/lib/Source/C3DTilesGoogleSource.js +76 -0
  139. package/lib/Source/C3DTilesIonSource.js +6 -13
  140. package/lib/Source/C3DTilesSource.js +5 -12
  141. package/lib/Source/EntwinePointTileSource.js +12 -19
  142. package/lib/Source/FileSource.js +7 -14
  143. package/lib/Source/OrientedImageSource.js +6 -14
  144. package/lib/Source/PotreeSource.js +9 -16
  145. package/lib/Source/Source.js +26 -39
  146. package/lib/Source/TMSSource.js +11 -22
  147. package/lib/Source/VectorTilesSource.js +75 -34
  148. package/lib/Source/WFSSource.js +7 -14
  149. package/lib/Source/WMSSource.js +5 -12
  150. package/lib/Source/WMTSSource.js +3 -10
  151. package/lib/ThreeExtended/capabilities/WebGL.js +1 -8
  152. package/lib/ThreeExtended/libs/ktx-parse.module.js +2 -256
  153. package/lib/ThreeExtended/libs/zstddec.module.js +2 -8
  154. package/lib/ThreeExtended/loaders/DDSLoader.js +10 -16
  155. package/lib/ThreeExtended/loaders/DRACOLoader.js +14 -19
  156. package/lib/ThreeExtended/loaders/GLTFLoader.js +124 -129
  157. package/lib/ThreeExtended/loaders/KTX2Loader.js +73 -78
  158. package/lib/ThreeExtended/utils/BufferGeometryUtils.js +40 -59
  159. package/lib/ThreeExtended/utils/WorkerPool.js +2 -9
  160. package/lib/Utils/CameraUtils.js +32 -44
  161. package/lib/Utils/DEMUtils.js +8 -19
  162. package/lib/Utils/FeaturesUtils.js +8 -16
  163. package/lib/Utils/Gradients.js +3 -12
  164. package/lib/Utils/OrientationUtils.js +8 -18
  165. package/lib/Utils/ThreeUtils.js +2 -9
  166. package/lib/Utils/gui/C3DTilesStyle.js +7 -15
  167. package/lib/Utils/gui/Main.js +7 -48
  168. package/lib/Utils/gui/Minimap.js +12 -20
  169. package/lib/Utils/gui/Navigation.js +6 -14
  170. package/lib/Utils/gui/Scale.js +11 -19
  171. package/lib/Utils/gui/Searchbar.js +5 -13
  172. package/lib/Utils/gui/Widget.js +1 -8
  173. package/lib/Utils/placeObjectOnGround.js +13 -23
  174. package/package.json +13 -8
package/lib/Core/View.js CHANGED
@@ -1,29 +1,20 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.VIEW_EVENTS = void 0;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- var _Camera = _interopRequireDefault(require("../Renderer/Camera"));
10
- var _WebXR = _interopRequireDefault(require("../Renderer/WebXR"));
11
- var _MainLoop = _interopRequireWildcard(require("./MainLoop"));
12
- var _Capabilities = _interopRequireDefault(require("./System/Capabilities"));
13
- var _ColorLayersOrdering = require("../Renderer/ColorLayersOrdering");
14
- var _c3DEngine = _interopRequireDefault(require("../Renderer/c3DEngine"));
15
- var _RenderMode = _interopRequireDefault(require("../Renderer/RenderMode"));
16
- var _Crs = _interopRequireDefault(require("./Geographic/Crs"));
17
- var _Coordinates = _interopRequireDefault(require("./Geographic/Coordinates"));
18
- var _FeaturesUtils = _interopRequireDefault(require("../Utils/FeaturesUtils"));
19
- var _LayeredMaterial = require("../Renderer/LayeredMaterial");
20
- var _Scheduler = _interopRequireDefault(require("./Scheduler/Scheduler"));
21
- var _Picking = _interopRequireDefault(require("./Picking"));
22
- var _LabelLayer = _interopRequireDefault(require("../Layer/LabelLayer"));
23
- var _ObjectRemovalHelper = _interopRequireDefault(require("../Process/ObjectRemovalHelper"));
24
- 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); }
25
- 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; }
26
- const VIEW_EVENTS = {
1
+ import * as THREE from 'three';
2
+ import Camera from "../Renderer/Camera.js";
3
+ import initializeWebXR from "../Renderer/WebXR.js";
4
+ import MainLoop, { MAIN_LOOP_EVENTS, RENDERING_PAUSED } from "./MainLoop.js";
5
+ import Capabilities from "./System/Capabilities.js";
6
+ import { COLOR_LAYERS_ORDER_CHANGED } from "../Renderer/ColorLayersOrdering.js";
7
+ import c3DEngine from "../Renderer/c3DEngine.js";
8
+ import RenderMode from "../Renderer/RenderMode.js";
9
+ import CRS from "./Geographic/Crs.js";
10
+ import Coordinates from "./Geographic/Coordinates.js";
11
+ import FeaturesUtils from "../Utils/FeaturesUtils.js";
12
+ import { getMaxColorSamplerUnitsCount } from "../Renderer/LayeredMaterial.js";
13
+ import Scheduler from "./Scheduler/Scheduler.js";
14
+ import Picking from "./Picking.js";
15
+ import LabelLayer from "../Layer/LabelLayer.js";
16
+ import ObjectRemovalHelper from "../Process/ObjectRemovalHelper.js";
17
+ export const VIEW_EVENTS = {
27
18
  /**
28
19
  * Fires when all the layers of the view are considered initialized.
29
20
  * Initialized in this context means: all layers are ready to be
@@ -38,7 +29,7 @@ const VIEW_EVENTS = {
38
29
  LAYER_REMOVED: 'layer-removed',
39
30
  LAYER_ADDED: 'layer-added',
40
31
  INITIALIZED: 'initialized',
41
- COLOR_LAYERS_ORDER_CHANGED: _ColorLayersOrdering.COLOR_LAYERS_ORDER_CHANGED,
32
+ COLOR_LAYERS_ORDER_CHANGED,
42
33
  CAMERA_MOVED: 'camera-moved'
43
34
  };
44
35
 
@@ -48,7 +39,7 @@ const VIEW_EVENTS = {
48
39
  * @event View#dblclick-right
49
40
  * @property {string} type dblclick-right
50
41
  */
51
- exports.VIEW_EVENTS = VIEW_EVENTS;
42
+
52
43
  function _preprocessLayer(view, layer, parentLayer) {
53
44
  const source = layer.source;
54
45
  if (parentLayer && !layer.extent) {
@@ -61,7 +52,7 @@ function _preprocessLayer(view, layer, parentLayer) {
61
52
  // Find crs projection layer, this is projection destination
62
53
  layer.crs = view.referenceCrs;
63
54
  } else if (!layer.crs) {
64
- if (parentLayer && parentLayer.tileMatrixSets && parentLayer.tileMatrixSets.includes(_Crs.default.formatToTms(source.crs))) {
55
+ if (parentLayer && parentLayer.tileMatrixSets && parentLayer.tileMatrixSets.includes(CRS.formatToTms(source.crs))) {
65
56
  layer.crs = source.crs;
66
57
  } else {
67
58
  layer.crs = parentLayer && parentLayer.extent.crs;
@@ -78,7 +69,7 @@ function _preprocessLayer(view, layer, parentLayer) {
78
69
  layer.buildExtent = true;
79
70
  // label layer needs 3d data structure.
80
71
  layer.structure = '3d';
81
- const labelLayer = new _LabelLayer.default(`${layer.id}-label`, {
72
+ const labelLayer = new LabelLayer(`${layer.id}-label`, {
82
73
  source,
83
74
  style: layer.style,
84
75
  zoom: layer.zoom,
@@ -111,7 +102,7 @@ const screen = new THREE.Vector2();
111
102
  const ray = new THREE.Ray();
112
103
  const direction = new THREE.Vector3();
113
104
  const positionVector = new THREE.Vector3();
114
- const coordinates = new _Coordinates.default('EPSG:4326');
105
+ const coordinates = new Coordinates('EPSG:4326');
115
106
  const viewers = [];
116
107
  // Size of the camera frustrum, in meters
117
108
  let screenMeters;
@@ -151,7 +142,6 @@ class View extends THREE.EventDispatcher {
151
142
  * a default one will be constructed. In this case, if options.renderer is an object, it will be used to
152
143
  * configure the renderer (see {@link c3DEngine}. If not present, a new <canvas> will be created and
153
144
  * added to viewerDiv (mutually exclusive with mainLoop)
154
- * @param {boolean} [options.renderer.isWebGL2=true] - enable webgl 2.0 for THREE.js.
155
145
  * @param {boolean|Object} [options.webXR=false] - enable webxr button to switch on VR visualization.
156
146
  * @param {number} [options.webXR.scale=1.0] - apply webxr scale tranformation.
157
147
  * @param {?Scene} [options.scene3D] - [THREE.Scene](https://threejs.org/docs/#api/en/scenes/Scene) instance to use, otherwise a default one will be constructed
@@ -174,16 +164,16 @@ class View extends THREE.EventDispatcher {
174
164
  // - an actual renderer (in this case we don't use viewerDiv)
175
165
  // - options for the renderer to be created
176
166
  if (options.renderer && options.renderer.domElement) {
177
- engine = new _c3DEngine.default(options.renderer);
167
+ engine = new c3DEngine(options.renderer);
178
168
  } else {
179
- engine = new _c3DEngine.default(viewerDiv, options.renderer);
169
+ engine = new c3DEngine(viewerDiv, options.renderer);
180
170
  }
181
- this.mainLoop = options.mainLoop || new _MainLoop.default(new _Scheduler.default(), engine);
171
+ this.mainLoop = options.mainLoop || new MainLoop(new Scheduler(), engine);
182
172
  this.scene = options.scene3D || new THREE.Scene();
183
173
  if (!options.scene3D) {
184
174
  this.scene.matrixWorldAutoUpdate = false;
185
175
  }
186
- this.camera = new _Camera.default(this.referenceCrs, this.mainLoop.gfxEngine.getWindowSize().x, this.mainLoop.gfxEngine.getWindowSize().y, options.camera);
176
+ this.camera = new Camera(this.referenceCrs, this.mainLoop.gfxEngine.getWindowSize().x, this.mainLoop.gfxEngine.getWindowSize().y, options.camera);
187
177
  this._frameRequesters = {};
188
178
  this._resizeListener = () => this.resize();
189
179
  window.addEventListener('resize', this._resizeListener, false);
@@ -192,11 +182,11 @@ class View extends THREE.EventDispatcher {
192
182
  this._allLayersAreReadyCallback = () => {
193
183
  // all layers must be ready
194
184
  const allReady = this.getLayers().every(layer => layer.ready);
195
- if (allReady && this.mainLoop.scheduler.commandsWaitingExecutionCount() == 0 && this.mainLoop.renderingState == _MainLoop.RENDERING_PAUSED) {
185
+ if (allReady && this.mainLoop.scheduler.commandsWaitingExecutionCount() == 0 && this.mainLoop.renderingState == RENDERING_PAUSED) {
196
186
  this.dispatchEvent({
197
187
  type: VIEW_EVENTS.LAYERS_INITIALIZED
198
188
  });
199
- this.removeFrameRequester(_MainLoop.MAIN_LOOP_EVENTS.UPDATE_END, this._allLayersAreReadyCallback);
189
+ this.removeFrameRequester(MAIN_LOOP_EVENTS.UPDATE_END, this._allLayersAreReadyCallback);
200
190
  }
201
191
  };
202
192
  this.camera.resize(this.domElement.clientWidth, this.domElement.clientHeight);
@@ -233,7 +223,7 @@ class View extends THREE.EventDispatcher {
233
223
  // push all viewer to keep source.cache
234
224
  viewers.push(this);
235
225
  if (options.webXR) {
236
- (0, _WebXR.default)(this, options.webXR);
226
+ initializeWebXR(this, options.webXR);
237
227
  }
238
228
  }
239
229
 
@@ -300,7 +290,7 @@ class View extends THREE.EventDispatcher {
300
290
  }
301
291
  viewers.splice(id, 1);
302
292
  // Remove remaining objects in the scene (e.g. helpers, debug, etc.)
303
- this.scene.traverse(_ObjectRemovalHelper.default.cleanup);
293
+ this.scene.traverse(ObjectRemovalHelper.cleanup);
304
294
  }
305
295
 
306
296
  /**
@@ -329,15 +319,11 @@ class View extends THREE.EventDispatcher {
329
319
  const layerColors = this.getLayers(l => l.isColorLayer);
330
320
  layer.sequence = layerColors.length;
331
321
  const sumColorLayers = parentLayer.countColorLayersTextures(...layerColors, layer);
332
- if (sumColorLayers <= (0, _LayeredMaterial.getMaxColorSamplerUnitsCount)()) {
322
+ if (sumColorLayers <= getMaxColorSamplerUnitsCount()) {
333
323
  parentLayer.attach(layer);
334
324
  } else {
335
325
  return layer._reject(new Error(`Cant add color layer ${layer.id}: the maximum layer is reached`));
336
326
  }
337
- } else if (layer.isElevationLayer && layer.source.format == 'image/x-bil;bits=32') {
338
- var _this$renderer, _this$renderer$capabi;
339
- layer.source.networkOptions.isWebGL2 = (_this$renderer = this.renderer) === null || _this$renderer === void 0 ? void 0 : (_this$renderer$capabi = _this$renderer.capabilities) === null || _this$renderer$capabi === void 0 ? void 0 : _this$renderer$capabi.isWebGL2;
340
- parentLayer.attach(layer);
341
327
  } else {
342
328
  parentLayer.attach(layer);
343
329
  }
@@ -356,8 +342,8 @@ class View extends THREE.EventDispatcher {
356
342
  Promise.all(layer._promises).then(() => {
357
343
  layer._resolve();
358
344
  this.notifyChange(parentLayer || layer, false);
359
- if (!this._frameRequesters[_MainLoop.MAIN_LOOP_EVENTS.UPDATE_END] || !this._frameRequesters[_MainLoop.MAIN_LOOP_EVENTS.UPDATE_END].includes(this._allLayersAreReadyCallback)) {
360
- this.addFrameRequester(_MainLoop.MAIN_LOOP_EVENTS.UPDATE_END, this._allLayersAreReadyCallback);
345
+ if (!this._frameRequesters[MAIN_LOOP_EVENTS.UPDATE_END] || !this._frameRequesters[MAIN_LOOP_EVENTS.UPDATE_END].includes(this._allLayersAreReadyCallback)) {
346
+ this.addFrameRequester(MAIN_LOOP_EVENTS.UPDATE_END, this._allLayersAreReadyCallback);
361
347
  }
362
348
  this.dispatchEvent({
363
349
  type: VIEW_EVENTS.LAYER_ADDED,
@@ -746,7 +732,7 @@ class View extends THREE.EventDispatcher {
746
732
  }
747
733
  source.pickObjectsAt(this, mouse, radius, results);
748
734
  } else {
749
- _Picking.default.pickObjectsAt(this, mouse, radius, source, results);
735
+ Picking.pickObjectsAt(this, mouse, radius, source, results);
750
736
  }
751
737
  }
752
738
  return results;
@@ -919,7 +905,7 @@ class View extends THREE.EventDispatcher {
919
905
  }
920
906
 
921
907
  // Get the tile corresponding to where the cursor is
922
- const tiles = _Picking.default.pickTilesAt(this, mouse, radius, this.tileLayer);
908
+ const tiles = Picking.pickTilesAt(this, mouse, radius, this.tileLayer);
923
909
  for (const tile of tiles) {
924
910
  if (!tile.object.material) {
925
911
  continue;
@@ -929,8 +915,8 @@ class View extends THREE.EventDispatcher {
929
915
  if (!texture.features) {
930
916
  continue;
931
917
  }
932
- precision = _Crs.default.isMetricUnit(texture.features.crs) ? precisions.M : precisions.D;
933
- const featuresUnderCoor = _FeaturesUtils.default.filterFeaturesUnderCoordinate(coordinates, texture.features, precision);
918
+ precision = CRS.isMetricUnit(texture.features.crs) ? precisions.M : precisions.D;
919
+ const featuresUnderCoor = FeaturesUtils.filterFeaturesUnderCoordinate(coordinates, texture.features, precision);
934
920
  featuresUnderCoor.forEach(feature => {
935
921
  if (!result[materialLayer.id].find(f => f.geometry === feature.geometry)) {
936
922
  result[materialLayer.id].push(feature);
@@ -955,7 +941,7 @@ class View extends THREE.EventDispatcher {
955
941
  if (!currentVisibility) {
956
942
  this.tileLayer.visible = true;
957
943
  }
958
- const restore = this.tileLayer.level0Nodes.map(n => _RenderMode.default.push(n, _RenderMode.default.MODES.DEPTH));
944
+ const restore = this.tileLayer.level0Nodes.map(n => RenderMode.push(n, RenderMode.MODES.DEPTH));
959
945
  buffer = g.renderViewToBuffer({
960
946
  camera: this.camera,
961
947
  scene: this.tileLayer.object3d
@@ -995,7 +981,7 @@ class View extends THREE.EventDispatcher {
995
981
  return;
996
982
  }
997
983
  const l = this.mainLoop;
998
- const viewPaused = l.scheduler.commandsWaitingExecutionCount() == 0 && l.renderingState == _MainLoop.RENDERING_PAUSED;
984
+ const viewPaused = l.scheduler.commandsWaitingExecutionCount() == 0 && l.renderingState == RENDERING_PAUSED;
999
985
  const g = l.gfxEngine;
1000
986
  const dim = g.getWindowSize();
1001
987
  mouse = mouse || dim.clone().multiplyScalar(0.5);
@@ -1016,7 +1002,7 @@ class View extends THREE.EventDispatcher {
1016
1002
  }
1017
1003
  screen.x = mouse.x / dim.x * 2 - 1;
1018
1004
  screen.y = -(mouse.y / dim.y) * 2 + 1;
1019
- if (_Capabilities.default.isLogDepthBufferSupported() && this.camera3D.type == 'PerspectiveCamera') {
1005
+ if (Capabilities.isLogDepthBufferSupported() && this.camera3D.type == 'PerspectiveCamera') {
1020
1006
  // TODO: solve this part with gl_FragCoord_Z and unproject
1021
1007
  // Origin
1022
1008
  ray.origin.copy(this.camera3D.position);
@@ -1059,7 +1045,7 @@ class View extends THREE.EventDispatcher {
1059
1045
  * coordinate reference system of the target or in the view referenceCrs if no target is specified.
1060
1046
  */
1061
1047
  pickTerrainCoordinates(mouse) {
1062
- let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new _Coordinates.default(this.referenceCrs);
1048
+ let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Coordinates(this.referenceCrs);
1063
1049
  if (mouse instanceof Event) {
1064
1050
  this.eventToViewCoords(mouse);
1065
1051
  } else if (mouse && mouse.x !== undefined && mouse.y !== undefined) {
@@ -1089,7 +1075,7 @@ class View extends THREE.EventDispatcher {
1089
1075
  * @deprecated Use View#pickTerrainCoordinates instead.
1090
1076
  */
1091
1077
  pickCoordinates(mouse) {
1092
- let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new _Coordinates.default(this.referenceCrs);
1078
+ let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Coordinates(this.referenceCrs);
1093
1079
  console.warn('Deprecated, use View#pickTerrainCoordinates instead.');
1094
1080
  return this.pickTerrainCoordinates(mouse, target);
1095
1081
  }
@@ -1121,5 +1107,4 @@ class View extends THREE.EventDispatcher {
1121
1107
  }
1122
1108
  }
1123
1109
  }
1124
- var _default = View;
1125
- exports.default = _default;
1110
+ export default View;
@@ -1,24 +1,14 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.C3DTILES_LAYER_EVENTS = void 0;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- var _GeometryLayer = _interopRequireDefault(require("./GeometryLayer"));
10
- var _dTilesProcessing = require("../Process/3dTilesProcessing");
11
- var _C3DTileset = _interopRequireDefault(require("../Core/3DTiles/C3DTileset"));
12
- var _C3DTExtensions = _interopRequireDefault(require("../Core/3DTiles/C3DTExtensions"));
13
- var _PointsMaterial = require("../Renderer/PointsMaterial");
14
- var _Style = _interopRequireDefault(require("../Core/Style"));
15
- var _C3DTFeature = _interopRequireDefault(require("../Core/3DTiles/C3DTFeature"));
16
- var _ThreeUtils = require("../Utils/ThreeUtils");
17
- 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); }
18
- 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 GeometryLayer from "./GeometryLayer.js";
3
+ import { init3dTilesLayer, pre3dTilesUpdate, process3dTilesNode } from "../Process/3dTilesProcessing.js";
4
+ import C3DTileset from "../Core/3DTiles/C3DTileset.js";
5
+ import C3DTExtensions from "../Core/3DTiles/C3DTExtensions.js";
6
+ import { PNTS_MODE, PNTS_SHAPE, PNTS_SIZE_MODE } from "../Renderer/PointsMaterial.js";
19
7
  // eslint-disable-next-line no-unused-vars
20
-
21
- const C3DTILES_LAYER_EVENTS = {
8
+ import Style from "../Core/Style.js";
9
+ import C3DTFeature from "../Core/3DTiles/C3DTFeature.js";
10
+ import { optimizeGeometryGroups } from "../Utils/ThreeUtils.js";
11
+ export const C3DTILES_LAYER_EVENTS = {
22
12
  /**
23
13
  * Fires when a tile content has been loaded
24
14
  * @event C3DTilesLayer#on-tile-content-loaded
@@ -34,13 +24,12 @@ const C3DTILES_LAYER_EVENTS = {
34
24
  */
35
25
  ON_TILE_REQUESTED: 'on-tile-requested'
36
26
  };
37
- exports.C3DTILES_LAYER_EVENTS = C3DTILES_LAYER_EVENTS;
38
- const update = (0, _dTilesProcessing.process3dTilesNode)();
27
+ const update = process3dTilesNode();
39
28
 
40
29
  /**
41
30
  * Find tileId of object
42
- *
43
31
  * @param {THREE.Object3D} object - object
32
+ *
44
33
  * @returns {number} tileId
45
34
  */
46
35
  function findTileID(object) {
@@ -55,14 +44,14 @@ function findTileID(object) {
55
44
 
56
45
  /**
57
46
  * Check if object3d has feature
58
- *
59
47
  * @param {THREE.Object3D} object3d - object3d to check
48
+ *
60
49
  * @returns {boolean} - true if object3d has feature
61
50
  */
62
51
  function object3DHasFeature(object3d) {
63
52
  return object3d.geometry && object3d.geometry.attributes._BATCHID;
64
53
  }
65
- class C3DTilesLayer extends _GeometryLayer.default {
54
+ class C3DTilesLayer extends GeometryLayer {
66
55
  #fillColorMaterialsBuffer;
67
56
  /**
68
57
  * Constructs a new instance of 3d tiles layer.
@@ -120,15 +109,15 @@ class C3DTilesLayer extends _GeometryLayer.default {
120
109
  this.cleanupDelay = config.cleanupDelay || 1000;
121
110
  this.protocol = '3d-tiles';
122
111
  this.name = config.name;
123
- this.registeredExtensions = config.registeredExtensions || new _C3DTExtensions.default();
124
- this.pntsMode = _PointsMaterial.PNTS_MODE.COLOR;
125
- this.pntsShape = _PointsMaterial.PNTS_SHAPE.CIRCLE;
112
+ this.registeredExtensions = config.registeredExtensions || new C3DTExtensions();
113
+ this.pntsMode = PNTS_MODE.COLOR;
114
+ this.pntsShape = PNTS_SHAPE.CIRCLE;
126
115
  this.classification = config.classification;
127
- this.pntsSizeMode = _PointsMaterial.PNTS_SIZE_MODE.VALUE;
116
+ this.pntsSizeMode = PNTS_SIZE_MODE.VALUE;
128
117
  this.pntsMinAttenuatedSize = config.pntsMinAttenuatedSize || 3;
129
118
  this.pntsMaxAttenuatedSize = config.pntsMaxAttenuatedSize || 10;
130
119
  if (config.pntsMode) {
131
- const exists = Object.values(_PointsMaterial.PNTS_MODE).includes(config.pntsMode);
120
+ const exists = Object.values(PNTS_MODE).includes(config.pntsMode);
132
121
  if (!exists) {
133
122
  console.warn("The points cloud mode doesn't exist. Use 'COLOR' or 'CLASSIFICATION' instead.");
134
123
  } else {
@@ -136,7 +125,7 @@ class C3DTilesLayer extends _GeometryLayer.default {
136
125
  }
137
126
  }
138
127
  if (config.pntsShape) {
139
- const exists = Object.values(_PointsMaterial.PNTS_SHAPE).includes(config.pntsShape);
128
+ const exists = Object.values(PNTS_SHAPE).includes(config.pntsShape);
140
129
  if (!exists) {
141
130
  console.warn("The points cloud point shape doesn't exist. Use 'CIRCLE' or 'SQUARE' instead.");
142
131
  } else {
@@ -144,7 +133,7 @@ class C3DTilesLayer extends _GeometryLayer.default {
144
133
  }
145
134
  }
146
135
  if (config.pntsSizeMode) {
147
- const exists = Object.values(_PointsMaterial.PNTS_SIZE_MODE).includes(config.pntsSizeMode);
136
+ const exists = Object.values(PNTS_SIZE_MODE).includes(config.pntsSizeMode);
148
137
  if (!exists) {
149
138
  console.warn("The points cloud size mode doesn't exist. Use 'VALUE' or 'ATTENUATED' instead.");
150
139
  } else {
@@ -176,7 +165,7 @@ class C3DTilesLayer extends _GeometryLayer.default {
176
165
  this._cleanableTiles = [];
177
166
  const resolve = this.addInitializationStep();
178
167
  this.source.whenReady.then(tileset => {
179
- this.tileset = new _C3DTileset.default(tileset, this.source.baseUrl, this.registeredExtensions);
168
+ this.tileset = new C3DTileset(tileset, this.source.baseUrl, this.registeredExtensions);
180
169
  // Verify that extensions of the tileset have been registered in the layer
181
170
  if (this.tileset.extensionsUsed) {
182
171
  for (const extensionUsed of this.tileset.extensionsUsed) {
@@ -192,11 +181,11 @@ class C3DTilesLayer extends _GeometryLayer.default {
192
181
  }
193
182
  }
194
183
  // TODO: Move all init3dTilesLayer code to constructor
195
- (0, _dTilesProcessing.init3dTilesLayer)(view, view.mainLoop.scheduler, this, tileset.root).then(resolve);
184
+ init3dTilesLayer(view, view.mainLoop.scheduler, this, tileset.root).then(resolve);
196
185
  });
197
186
  }
198
187
  preUpdate() {
199
- return _dTilesProcessing.pre3dTilesUpdate.bind(this)();
188
+ return pre3dTilesUpdate.bind(this)();
200
189
  }
201
190
  update(context, layer, node) {
202
191
  return update(context, layer, node);
@@ -229,6 +218,7 @@ class C3DTilesLayer extends _GeometryLayer.default {
229
218
  * targets picked under specified coordinates. Intersects can be
230
219
  * computed with view.pickObjectsAt(..). See fillHTMLWithPickingInfo()
231
220
  * in 3dTilesHelper.js for an example.
221
+ *
232
222
  * @returns {C3DTileFeature} - the closest C3DTileFeature of the intersects array
233
223
  */
234
224
  getC3DTileFeatureFromIntersectsArray(intersects) {
@@ -274,7 +264,6 @@ class C3DTilesLayer extends _GeometryLayer.default {
274
264
 
275
265
  /**
276
266
  * Initialize C3DTileFeatures from tileContent
277
- *
278
267
  * @param {THREE.Object3D} tileContent - tile as THREE.Object3D
279
268
  */
280
269
  initC3DTileFeatures(tileContent) {
@@ -296,7 +285,7 @@ class C3DTilesLayer extends _GeometryLayer.default {
296
285
  });
297
286
  } else {
298
287
  // first occurence
299
- const c3DTileFeature = new _C3DTFeature.default(tileContent.tileId, currentBatchId, [{
288
+ const c3DTileFeature = new C3DTFeature(tileContent.tileId, currentBatchId, [{
300
289
  start,
301
290
  count
302
291
  }],
@@ -339,8 +328,8 @@ class C3DTilesLayer extends _GeometryLayer.default {
339
328
  /**
340
329
  * Update style of the C3DTFeatures, an allowList of tile id can be passed to only update certain tile.
341
330
  * Note that this function only update THREE.Object3D materials, in order to see style changes you should call view.notifyChange()
342
- *
343
331
  * @param {Array<number>|null} [allowTileIdList] - tile ids to allow in updateStyle computation if null all tiles are updated
332
+ *
344
333
  * @returns {boolean} true if style updated false otherwise
345
334
  */
346
335
  updateStyle() {
@@ -427,7 +416,7 @@ class C3DTilesLayer extends _GeometryLayer.default {
427
416
  object3d.geometry.addGroup(group.start, group.count, materialIndex);
428
417
  });
429
418
  }
430
- (0, _ThreeUtils.optimizeGeometryGroups)(object3d);
419
+ optimizeGeometryGroups(object3d);
431
420
 
432
421
  // record material(s) used in object3d
433
422
  if (object3d.material instanceof Array) {
@@ -462,5 +451,4 @@ class C3DTilesLayer extends _GeometryLayer.default {
462
451
  return this._style;
463
452
  }
464
453
  }
465
- var _default = C3DTilesLayer;
466
- exports.default = _default;
454
+ export default C3DTilesLayer;
@@ -1,14 +1,8 @@
1
- "use strict";
1
+ import RasterLayer from "./RasterLayer.js";
2
+ import { updateLayeredMaterialNodeImagery } from "../Process/LayeredMaterialNodeProcessing.js";
3
+ import { RasterColorTile } from "../Renderer/RasterTile.js";
4
+ import { deprecatedColorLayerOptions } from "../Core/Deprecated/Undeprecator.js";
2
5
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _RasterLayer = _interopRequireDefault(require("./RasterLayer"));
9
- var _LayeredMaterialNodeProcessing = require("../Process/LayeredMaterialNodeProcessing");
10
- var _RasterTile = require("../Renderer/RasterTile");
11
- var _Undeprecator = require("../Core/Deprecated/Undeprecator");
12
6
  /**
13
7
  * Fires when the visiblity of the layer has changed.
14
8
  * @event ColorLayer#visible-property-changed
@@ -22,6 +16,7 @@ var _Undeprecator = require("../Core/Deprecated/Undeprecator");
22
16
  * the layer changed in the view it is attached to.
23
17
  * @event ColorLayer#sequence-property-changed
24
18
  */
19
+
25
20
  /**
26
21
  * @property {boolean} isColorLayer - Used to checkout whether this layer is a
27
22
  * ColorLayer. Default is true. You should not change this, as it is used
@@ -50,7 +45,7 @@ var _Undeprecator = require("../Core/Deprecated/Undeprecator");
50
45
  * * `2`: unused.
51
46
  * * `3`: could be used by your own glsl code.
52
47
  */
53
- class ColorLayer extends _RasterLayer.default {
48
+ class ColorLayer extends RasterLayer {
54
49
  /**
55
50
  * A simple layer, usually managing a texture to display on a view. For example,
56
51
  * it can be an aerial view of the ground or a simple transparent layer with the
@@ -97,7 +92,7 @@ class ColorLayer extends _RasterLayer.default {
97
92
  */
98
93
  constructor(id) {
99
94
  let config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
100
- (0, _Undeprecator.deprecatedColorLayerOptions)(config);
95
+ deprecatedColorLayerOptions(config);
101
96
  super(id, config);
102
97
  this.isColorLayer = true;
103
98
  this.defineLayerProperty('visible', true);
@@ -121,15 +116,14 @@ class ColorLayer extends _RasterLayer.default {
121
116
  * @return {RasterColorTile} The raster color node added.
122
117
  */
123
118
  setupRasterNode(node) {
124
- const rasterColorNode = new _RasterTile.RasterColorTile(node.material, this);
119
+ const rasterColorNode = new RasterColorTile(node.material, this);
125
120
  node.material.addLayer(rasterColorNode);
126
121
  // set up ColorLayer ordering.
127
122
  node.material.setSequence(this.parent.colorLayersOrder);
128
123
  return rasterColorNode;
129
124
  }
130
125
  update(context, layer, node, parent) {
131
- return (0, _LayeredMaterialNodeProcessing.updateLayeredMaterialNodeImagery)(context, this, node, parent);
126
+ return updateLayeredMaterialNodeImagery(context, this, node, parent);
132
127
  }
133
128
  }
134
- var _default = ColorLayer;
135
- exports.default = _default;
129
+ export default ColorLayer;
@@ -1,13 +1,7 @@
1
- "use strict";
1
+ import RasterLayer from "./RasterLayer.js";
2
+ import { updateLayeredMaterialNodeElevation } from "../Process/LayeredMaterialNodeProcessing.js";
3
+ import { RasterElevationTile } from "../Renderer/RasterTile.js";
2
4
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _RasterLayer = _interopRequireDefault(require("./RasterLayer"));
9
- var _LayeredMaterialNodeProcessing = require("../Process/LayeredMaterialNodeProcessing");
10
- var _RasterTile = require("../Renderer/RasterTile");
11
5
  /**
12
6
  * @property {boolean} isElevationLayer - Used to checkout whether this layer is
13
7
  * an ElevationLayer. Default is true. You should not change this, as it is used
@@ -29,7 +23,7 @@ var _RasterTile = require("../Renderer/RasterTile");
29
23
  * @property {number} colorTextureElevationMinZ - elevation minimum in `useColorTextureElevation` mode.
30
24
  * @property {number} colorTextureElevationMaxZ - elevation maximum in `useColorTextureElevation` mode.
31
25
  */
32
- class ElevationLayer extends _RasterLayer.default {
26
+ class ElevationLayer extends RasterLayer {
33
27
  /**
34
28
  * A simple layer, managing an elevation texture to add some reliefs on the
35
29
  * plane or globe view for example.
@@ -86,7 +80,7 @@ class ElevationLayer extends _RasterLayer.default {
86
80
  * @return {RasterElevationTile} The raster elevation node added.
87
81
  */
88
82
  setupRasterNode(node) {
89
- const rasterElevationNode = new _RasterTile.RasterElevationTile(node.material, this);
83
+ const rasterElevationNode = new RasterElevationTile(node.material, this);
90
84
  node.material.addLayer(rasterElevationNode);
91
85
  node.material.setSequenceElevation(this.id);
92
86
  // bounding box initialisation
@@ -109,8 +103,7 @@ class ElevationLayer extends _RasterLayer.default {
109
103
  return rasterElevationNode;
110
104
  }
111
105
  update(context, layer, node, parent) {
112
- return (0, _LayeredMaterialNodeProcessing.updateLayeredMaterialNodeElevation)(context, this, node, parent);
106
+ return updateLayeredMaterialNodeElevation(context, this, node, parent);
113
107
  }
114
108
  }
115
- var _default = ElevationLayer;
116
- exports.default = _default;
109
+ export default ElevationLayer;
@@ -1,16 +1,7 @@
1
- "use strict";
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 _EntwinePointTileNode = _interopRequireDefault(require("../Core/EntwinePointTileNode"));
10
- var _PointCloudLayer = _interopRequireDefault(require("./PointCloudLayer"));
11
- var _Extent = _interopRequireDefault(require("../Core/Geographic/Extent"));
12
- 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); }
13
- 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 EntwinePointTileNode from "../Core/EntwinePointTileNode.js";
3
+ import PointCloudLayer from "./PointCloudLayer.js";
4
+ import Extent from "../Core/Geographic/Extent.js";
14
5
  const bboxMesh = new THREE.Mesh();
15
6
  const box3 = new THREE.Box3();
16
7
  bboxMesh.geometry.boundingBox = box3;
@@ -20,7 +11,7 @@ bboxMesh.geometry.boundingBox = box3;
20
11
  * layer is a EntwinePointTileLayer. Default is `true`. You should not change
21
12
  * this, as it is used internally for optimisation.
22
13
  */
23
- class EntwinePointTileLayer extends _PointCloudLayer.default {
14
+ class EntwinePointTileLayer extends PointCloudLayer {
24
15
  /**
25
16
  * Constructs a new instance of Entwine Point Tile layer.
26
17
  *
@@ -55,14 +46,15 @@ class EntwinePointTileLayer extends _PointCloudLayer.default {
55
46
  constructor(id, config) {
56
47
  super(id, config);
57
48
  this.isEntwinePointTileLayer = true;
49
+ this.scale = new THREE.Vector3(1, 1, 1);
58
50
  const resolve = this.addInitializationStep();
59
51
  this.whenReady = this.source.whenReady.then(() => {
60
- this.root = new _EntwinePointTileNode.default(0, 0, 0, 0, this, -1);
52
+ this.root = new EntwinePointTileNode(0, 0, 0, 0, this, -1);
61
53
  this.root.bbox.min.fromArray(this.source.boundsConforming, 0);
62
54
  this.root.bbox.max.fromArray(this.source.boundsConforming, 3);
63
55
  this.minElevationRange = this.source.boundsConforming[2];
64
56
  this.maxElevationRange = this.source.boundsConforming[5];
65
- this.extent = _Extent.default.fromBox3(config.crs || 'EPSG:4326', this.root.bbox);
57
+ this.extent = Extent.fromBox3(config.crs || 'EPSG:4326', this.root.bbox);
66
58
  return this.root.loadOctree().then(resolve);
67
59
  });
68
60
  }
@@ -70,5 +62,4 @@ class EntwinePointTileLayer extends _PointCloudLayer.default {
70
62
  return this.source.spacing;
71
63
  }
72
64
  }
73
- var _default = EntwinePointTileLayer;
74
- exports.default = _default;
65
+ export default EntwinePointTileLayer;
@@ -1,14 +1,8 @@
1
- "use strict";
1
+ import { Group } from 'three';
2
+ import GeometryLayer from "./GeometryLayer.js";
3
+ import FeatureProcessing from "../Process/FeatureProcessing.js";
4
+ import Feature2Mesh from "../Converter/Feature2Mesh.js";
2
5
 
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 = require("three");
9
- var _GeometryLayer = _interopRequireDefault(require("./GeometryLayer"));
10
- var _FeatureProcessing = _interopRequireDefault(require("../Process/FeatureProcessing"));
11
- var _Feature2Mesh = _interopRequireDefault(require("../Converter/Feature2Mesh"));
12
6
  /**
13
7
  * `FeatureGeometryLayer` displays geographic vector data (geojson, kml...) in object 3D.
14
8
  * `FeatureGeometryLayer` is a pre-configured `GeometryLayer` to load and convert vector data.
@@ -19,7 +13,7 @@ var _Feature2Mesh = _interopRequireDefault(require("../Converter/Feature2Mesh"))
19
13
  * a FeatureGeometryLayer. Default is true. You should not change this, as it is used
20
14
  * internally for optimisation.
21
15
  */
22
- class FeatureGeometryLayer extends _GeometryLayer.default {
16
+ class FeatureGeometryLayer extends GeometryLayer {
23
17
  /**
24
18
  * @constructor
25
19
  * @extends GeometryLayer
@@ -52,11 +46,11 @@ class FeatureGeometryLayer extends _GeometryLayer.default {
52
46
  */
53
47
  constructor(id) {
54
48
  let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
55
- options.update = _FeatureProcessing.default.update;
56
- options.convert = _Feature2Mesh.default.convert({
49
+ options.update = FeatureProcessing.update;
50
+ options.convert = Feature2Mesh.convert({
57
51
  batchId: options.batchId
58
52
  });
59
- super(id, options.object3d || new _three.Group(), options);
53
+ super(id, options.object3d || new Group(), options);
60
54
  this.isFeatureGeometryLayer = true;
61
55
  this.accurate = options.accurate ?? true;
62
56
  this.buildExtent = !this.accurate;
@@ -67,5 +61,4 @@ class FeatureGeometryLayer extends _GeometryLayer.default {
67
61
  }
68
62
  }
69
63
  }
70
- var _default = FeatureGeometryLayer;
71
- exports.default = _default;
64
+ export default FeatureGeometryLayer;