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
@@ -1,12 +1,5 @@
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 _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
- var _default = {
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
+ };
@@ -1,15 +1,7 @@
1
- "use strict";
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 _Coordinates.default(this.crs, this.camera3D.position).as(crs || this.crs);
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 = _DEMUtils.default.getElevationValueAt(elevationLayer, camLocation);
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
- var _default = Camera;
291
- exports.default = _default;
281
+ export default Camera;
@@ -1,12 +1,4 @@
1
- "use strict";
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
- "use strict";
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 = _Layer.ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers);
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
- exports.COLOR_LAYERS_ORDER_CHANGED = COLOR_LAYERS_ORDER_CHANGED;
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 = _Layer.ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers);
44
- _Layer.ImageryLayers.moveLayerUp(layer, imageryLayers);
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: _Layer.ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers)
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 = _Layer.ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers);
75
- _Layer.ImageryLayers.moveLayerDown(layer, imageryLayers);
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: _Layer.ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers)
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 = _Layer.ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers);
107
- _Layer.ImageryLayers.moveLayerToIndex(layer, index, imageryLayers);
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: _Layer.ImageryLayers.getColorLayersIdOrderedBySequence(imageryLayers)
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
- "use strict";
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
- "use strict";
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 && _GlobeLayer.default.horizonCulling(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
- var _default = Label2DRenderer;
204
- exports.default = _default;
193
+ export default Label2DRenderer;
@@ -1,30 +1,19 @@
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.colorLayerEffects = exports.ELEVATION_MODES = void 0;
8
- exports.getMaxColorSamplerUnitsCount = getMaxColorSamplerUnitsCount;
9
- exports.unpack1K = unpack1K;
10
- var THREE = _interopRequireWildcard(require("three"));
11
- var _ShaderUtils = _interopRequireDefault(require("./Shader/ShaderUtils"));
12
- var _Capabilities = _interopRequireDefault(require("../Core/System/Capabilities"));
13
- var _RenderMode = _interopRequireDefault(require("./RenderMode"));
14
- var _CommonMaterial = _interopRequireDefault(require("./CommonMaterial"));
15
- 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); }
16
- 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';
17
2
  /* babel-plugin-inline-import './Shader/TileVS.glsl' */
18
- const TileVS = "#include <itowns/WebGL2_pars_vertex>\n#include <itowns/precision_qualifier>\n#include <common>\n#include <itowns/project_pars_vertex>\n#include <itowns/elevation_pars_vertex>\n#include <logdepthbuf_pars_vertex>\nattribute vec2 uv_0;\n#if NUM_CRS > 1\nattribute float uv_1;\n#endif\nattribute vec3 normal;\n\nuniform mat4 modelMatrix;\nuniform bool lightingEnabled;\nvarying vec2 vHighPrecisionZW;\n\n#if MODE == MODE_FINAL\n#include <fog_pars_vertex>\nvarying vec3 vUv;\nvarying vec3 vNormal;\n#endif\nvoid main() {\n vec2 uv = vec2(uv_0.x, 1.0 - uv_0.y);\n\n #include <begin_vertex>\n #include <itowns/elevation_vertex>\n #include <itowns/geoid_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n vHighPrecisionZW = gl_Position.zw;\n#if MODE == MODE_FINAL\n #include <fog_vertex>\n #if NUM_CRS > 1\n vUv = vec3(uv_0, (uv_1 > 0.) ? uv_1 : uv_0.y); // set uv_1 = uv_0 if uv_1 is undefined\n #else\n vUv = vec3(uv_0, 0.0);\n #endif\n vNormal = normalize ( mat3( modelMatrix[0].xyz, modelMatrix[1].xyz, modelMatrix[2].xyz ) * normal );\n#endif\n}\n";
3
+ const TileVS = "#include <itowns/precision_qualifier>\n#include <common>\n#include <itowns/elevation_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#if NUM_CRS > 1\nattribute float uv_1;\n#endif\n\nuniform bool lightingEnabled;\nvarying vec2 vHighPrecisionZW;\n\n#if MODE == MODE_FINAL\n#include <fog_pars_vertex>\nvarying vec3 vUv;\nvarying vec3 vNormal;\n#endif\nvoid main() {\n #include <begin_vertex>\n #include <itowns/elevation_vertex>\n #include <itowns/geoid_vertex>\n #include <project_vertex>\n #include <logdepthbuf_vertex>\n vHighPrecisionZW = gl_Position.zw;\n#if MODE == MODE_FINAL\n #include <fog_vertex>\n #if NUM_CRS > 1\n vUv = vec3(uv, (uv_1 > 0.) ? uv_1 : uv.y); // set uv_1 = uv if uv_1 is undefined\n #else\n vUv = vec3(uv, 0.0);\n #endif\n vNormal = normalize ( mat3( modelMatrix[0].xyz, modelMatrix[1].xyz, modelMatrix[2].xyz ) * normal );\n#endif\n}\n";
19
4
  /* babel-plugin-inline-import './Shader/TileFS.glsl' */
20
- const TileFS = "#include <itowns/WebGL2_pars_fragment>\n#include <itowns/precision_qualifier>\n#include <logdepthbuf_pars_fragment>\n#include <itowns/pitUV>\n#include <itowns/color_layers_pars_fragment>\n#if MODE == MODE_FINAL\n#include <itowns/fog_pars_fragment>\n#include <itowns/overlay_pars_fragment>\n#include <itowns/lighting_pars_fragment>\n#endif\n#include <itowns/mode_pars_fragment>\n\nuniform vec3 diffuse;\nuniform float opacity;\nvarying vec3 vUv; // uv_0.x/uv_1.x, uv_0.y, uv_1.y\nvarying vec2 vHighPrecisionZW;\n\nvoid main() {\n #include <logdepthbuf_fragment>\n\n#if MODE == MODE_ID\n\n #include <itowns/mode_id_fragment>\n\n#elif MODE == MODE_DEPTH\n\n #include <itowns/mode_depth_fragment>\n\n#else\n\n gl_FragColor = vec4(diffuse, opacity);\n\n uvs[0] = vec3(vUv.xy, 0.);\n\n#if NUM_CRS > 1\n uvs[1] = vec3(vUv.x, fract(vUv.z), floor(vUv.z));\n#endif\n\n vec4 color;\n #pragma unroll_loop\n for ( int i = 0; i < NUM_FS_TEXTURES; i ++ ) {\n color = getLayerColor( i , colorTextures[ i ], colorOffsetScales[ i ], colorLayers[ i ]);\n gl_FragColor.rgb = mix(gl_FragColor.rgb, color.rgb, color.a);\n }\n\n #if defined(DEBUG)\n if (showOutline) {\n #pragma unroll_loop\n for ( int i = 0; i < NUM_CRS; i ++) {\n color = getOutlineColor( outlineColors[ i ], uvs[ i ].xy);\n gl_FragColor.rgb = mix(gl_FragColor.rgb, color.rgb, color.a);\n }\n }\n #endif\n\n #include <itowns/fog_fragment>\n #include <itowns/lighting_fragment>\n #include <itowns/overlay_fragment>\n\n#endif\n}\n";
5
+ const TileFS = "#include <itowns/precision_qualifier>\n#include <logdepthbuf_pars_fragment>\n#include <itowns/pitUV>\n#include <itowns/color_layers_pars_fragment>\n#if MODE == MODE_FINAL\n#include <itowns/fog_pars_fragment>\n#include <itowns/overlay_pars_fragment>\n#include <itowns/lighting_pars_fragment>\n#endif\n#include <itowns/mode_pars_fragment>\n\nuniform vec3 diffuse;\nuniform float opacity;\nvarying vec3 vUv; // uv.x/uv_1.x, uv.y, uv_1.y\nvarying vec2 vHighPrecisionZW;\n\nvoid main() {\n #include <logdepthbuf_fragment>\n\n#if MODE == MODE_ID\n\n #include <itowns/mode_id_fragment>\n\n#elif MODE == MODE_DEPTH\n\n #include <itowns/mode_depth_fragment>\n\n#else\n\n gl_FragColor = vec4(diffuse, opacity);\n\n uvs[0] = vec3(vUv.xy, 0.);\n\n#if NUM_CRS > 1\n uvs[1] = vec3(vUv.x, fract(vUv.z), floor(vUv.z));\n#endif\n\n vec4 color;\n #pragma unroll_loop\n for ( int i = 0; i < NUM_FS_TEXTURES; i ++ ) {\n color = getLayerColor( i , colorTextures[ i ], colorOffsetScales[ i ], colorLayers[ i ]);\n gl_FragColor.rgb = mix(gl_FragColor.rgb, color.rgb, color.a);\n }\n\n #if defined(DEBUG)\n if (showOutline) {\n #pragma unroll_loop\n for ( int i = 0; i < NUM_CRS; i ++) {\n color = getOutlineColor( outlineColors[ i ], uvs[ i ].xy);\n gl_FragColor.rgb = mix(gl_FragColor.rgb, color.rgb, color.a);\n }\n }\n #endif\n\n #include <itowns/fog_fragment>\n #include <itowns/lighting_fragment>\n #include <itowns/overlay_fragment>\n\n#endif\n}\n";
6
+ import ShaderUtils from "./Shader/ShaderUtils.js";
7
+ import Capabilities from "../Core/System/Capabilities.js";
8
+ import RenderMode from "./RenderMode.js";
9
+ import CommonMaterial from "./CommonMaterial.js";
21
10
  const identityOffsetScale = new THREE.Vector4(0.0, 0.0, 1.0, 1.0);
22
11
  const defaultTex = new THREE.Texture();
23
12
 
24
13
  // from three.js packDepthToRGBA
25
14
  const UnpackDownscale = 255 / 256; // 0..1 -> fraction (excluding 1)
26
15
  const bitSh = new THREE.Vector4(UnpackDownscale / (256.0 * 256.0 * 256.0), UnpackDownscale / (256.0 * 256.0), UnpackDownscale / 256.0, UnpackDownscale);
27
- function unpack1K(color, factor) {
16
+ export function unpack1K(color, factor) {
28
17
  return factor ? bitSh.dot(color) * factor : bitSh.dot(color);
29
18
  }
30
19
 
@@ -32,17 +21,16 @@ function unpack1K(color, factor) {
32
21
  // Because there's a statement limitation to unroll, in getColorAtIdUv method
33
22
  const maxSamplersColorCount = 15;
34
23
  const samplersElevationCount = 1;
35
- function getMaxColorSamplerUnitsCount() {
36
- const maxSamplerUnitsCount = _Capabilities.default.getMaxTextureUnitsCount();
24
+ export function getMaxColorSamplerUnitsCount() {
25
+ const maxSamplerUnitsCount = Capabilities.getMaxTextureUnitsCount();
37
26
  return Math.min(maxSamplerUnitsCount - samplersElevationCount, maxSamplersColorCount);
38
27
  }
39
- const colorLayerEffects = {
28
+ export const colorLayerEffects = {
40
29
  noEffect: 0,
41
30
  removeLightColor: 1,
42
31
  removeWhiteColor: 2,
43
32
  customEffect: 3
44
33
  };
45
- exports.colorLayerEffects = colorLayerEffects;
46
34
  const defaultStructLayer = {
47
35
  bias: 0,
48
36
  noDataValue: -99999,
@@ -90,15 +78,14 @@ function updateLayersUniforms(uniforms, olayers, max) {
90
78
  layers[i] = defaultStructLayer;
91
79
  }
92
80
  }
93
- const ELEVATION_MODES = {
81
+ export const ELEVATION_MODES = {
94
82
  RGBA: 0,
95
83
  COLOR: 1,
96
84
  DATA: 2
97
85
  };
98
- exports.ELEVATION_MODES = ELEVATION_MODES;
99
86
  let nbSamplers;
100
87
  const fragmentShader = [];
101
- class LayeredMaterial extends THREE.RawShaderMaterial {
88
+ class LayeredMaterial extends THREE.ShaderMaterial {
102
89
  #_visible = true;
103
90
  constructor() {
104
91
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -107,40 +94,40 @@ class LayeredMaterial extends THREE.RawShaderMaterial {
107
94
  nbSamplers = nbSamplers || [samplersElevationCount, getMaxColorSamplerUnitsCount()];
108
95
  this.defines.NUM_VS_TEXTURES = nbSamplers[0];
109
96
  this.defines.NUM_FS_TEXTURES = nbSamplers[1];
97
+ // TODO: We do not use the fog from the scene, is this a desired
98
+ // behavior?
110
99
  this.defines.USE_FOG = 1;
111
100
  this.defines.NUM_CRS = crsCount;
112
- _CommonMaterial.default.setDefineMapping(this, 'ELEVATION', ELEVATION_MODES);
113
- _CommonMaterial.default.setDefineMapping(this, 'MODE', _RenderMode.default.MODES);
114
- _CommonMaterial.default.setDefineProperty(this, 'mode', 'MODE', _RenderMode.default.MODES.FINAL);
115
- if (_Capabilities.default.isLogDepthBufferSupported()) {
116
- this.defines.USE_LOGDEPTHBUF = 1;
117
- this.defines.USE_LOGDEPTHBUF_EXT = 1;
118
- }
101
+ CommonMaterial.setDefineMapping(this, 'ELEVATION', ELEVATION_MODES);
102
+ CommonMaterial.setDefineMapping(this, 'MODE', RenderMode.MODES);
103
+ CommonMaterial.setDefineProperty(this, 'mode', 'MODE', RenderMode.MODES.FINAL);
119
104
  this.vertexShader = TileVS;
120
- fragmentShader[crsCount] = fragmentShader[crsCount] || _ShaderUtils.default.unrollLoops(TileFS, this.defines);
105
+ // three loop unrolling of ShaderMaterial only supports integer bounds,
106
+ // see https://github.com/mrdoob/three.js/issues/28020
107
+ fragmentShader[crsCount] = fragmentShader[crsCount] || ShaderUtils.unrollLoops(TileFS, this.defines);
121
108
  this.fragmentShader = fragmentShader[crsCount];
122
109
 
123
110
  // Color uniforms
124
- _CommonMaterial.default.setUniformProperty(this, 'diffuse', new THREE.Color(0.04, 0.23, 0.35));
125
- _CommonMaterial.default.setUniformProperty(this, 'opacity', this.opacity);
111
+ CommonMaterial.setUniformProperty(this, 'diffuse', new THREE.Color(0.04, 0.23, 0.35));
112
+ CommonMaterial.setUniformProperty(this, 'opacity', this.opacity);
126
113
 
127
114
  // Lighting uniforms
128
- _CommonMaterial.default.setUniformProperty(this, 'lightingEnabled', false);
129
- _CommonMaterial.default.setUniformProperty(this, 'lightPosition', new THREE.Vector3(-0.5, 0.0, 1.0));
115
+ CommonMaterial.setUniformProperty(this, 'lightingEnabled', false);
116
+ CommonMaterial.setUniformProperty(this, 'lightPosition', new THREE.Vector3(-0.5, 0.0, 1.0));
130
117
 
131
118
  // Misc properties
132
- _CommonMaterial.default.setUniformProperty(this, 'fogDistance', 1000000000.0);
133
- _CommonMaterial.default.setUniformProperty(this, 'fogColor', new THREE.Color(0.76, 0.85, 1.0));
134
- _CommonMaterial.default.setUniformProperty(this, 'overlayAlpha', 0);
135
- _CommonMaterial.default.setUniformProperty(this, 'overlayColor', new THREE.Color(1.0, 0.3, 0.0));
136
- _CommonMaterial.default.setUniformProperty(this, 'objectId', 0);
137
- _CommonMaterial.default.setUniformProperty(this, 'geoidHeight', 0.0);
119
+ CommonMaterial.setUniformProperty(this, 'fogDistance', 1000000000.0);
120
+ CommonMaterial.setUniformProperty(this, 'fogColor', new THREE.Color(0.76, 0.85, 1.0));
121
+ CommonMaterial.setUniformProperty(this, 'overlayAlpha', 0);
122
+ CommonMaterial.setUniformProperty(this, 'overlayColor', new THREE.Color(1.0, 0.3, 0.0));
123
+ CommonMaterial.setUniformProperty(this, 'objectId', 0);
124
+ CommonMaterial.setUniformProperty(this, 'geoidHeight', 0.0);
138
125
 
139
126
  // > 0 produces gaps,
140
127
  // < 0 causes oversampling of textures
141
128
  // = 0 causes sampling artefacts due to bad estimation of texture-uv gradients
142
129
  // best is a small negative number
143
- _CommonMaterial.default.setUniformProperty(this, 'minBorderDistance', -0.01);
130
+ CommonMaterial.setUniformProperty(this, 'minBorderDistance', -0.01);
144
131
 
145
132
  // LayeredMaterialLayers
146
133
  this.layers = [];
@@ -183,12 +170,6 @@ class LayeredMaterial extends THREE.RawShaderMaterial {
183
170
  }
184
171
  });
185
172
  }
186
- onBeforeCompile(shader, renderer) {
187
- if (renderer.capabilities.isWebGL2) {
188
- this.defines.WEBGL2 = true;
189
- shader.glslVersion = '300 es';
190
- }
191
- }
192
173
  getUniformByType(type) {
193
174
  return {
194
175
  layers: this.uniforms[`${type}Layers`],
@@ -259,5 +240,4 @@ class LayeredMaterial extends THREE.RawShaderMaterial {
259
240
  }
260
241
  }
261
242
  }
262
- var _default = LayeredMaterial;
263
- exports.default = _default;
243
+ export default LayeredMaterial;
@@ -1,26 +1,18 @@
1
- "use strict";
1
+ import * as THREE from 'three';
2
+ import TileGeometry from "../Core/TileGeometry.js";
3
+ import BuilderEllipsoidTile from "../Core/Prefab/Globe/BuilderEllipsoidTile.js";
4
+ import Coordinates from "../Core/Geographic/Coordinates.js";
5
+ import CRS from "../Core/Geographic/Crs.js";
2
6
 
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 _TileGeometry = _interopRequireDefault(require("../Core/TileGeometry"));
10
- var _BuilderEllipsoidTile = _interopRequireDefault(require("../Core/Prefab/Globe/BuilderEllipsoidTile"));
11
- var _Coordinates = _interopRequireDefault(require("../Core/Geographic/Coordinates"));
12
- var _Crs = _interopRequireDefault(require("../Core/Geographic/Crs"));
13
- 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); }
14
- 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; }
15
7
  // get oriented bounding box of tile
16
- const builder = new _BuilderEllipsoidTile.default({
8
+ const builder = new BuilderEllipsoidTile({
17
9
  crs: 'EPSG:4978',
18
10
  uvCount: 1
19
11
  });
20
12
  const size = new THREE.Vector3();
21
13
  const dimension = new THREE.Vector2();
22
14
  const center = new THREE.Vector3();
23
- const coord = new _Coordinates.default('EPSG:4326', 0, 0, 0);
15
+ const coord = new Coordinates('EPSG:4326', 0, 0, 0);
24
16
  let obb;
25
17
 
26
18
  // it could be considered to remove THREE.Object3D extend.
@@ -126,11 +118,11 @@ class OBB extends THREE.Object3D {
126
118
  position
127
119
  } = builder.computeSharableExtent(extent);
128
120
  // Compute the minimum count of segment to build tile
129
- const segment = Math.max(Math.floor(sharableExtent.planarDimensions(dimension).x / 90 + 1), 2);
130
- const geometry = new _TileGeometry.default({
121
+ const segments = Math.max(Math.floor(sharableExtent.planarDimensions(dimension).x / 90 + 1), 2);
122
+ const geometry = new TileGeometry({
131
123
  extent: sharableExtent,
132
124
  level: 0,
133
- segment,
125
+ segments,
134
126
  disableSkirt: true,
135
127
  builder
136
128
  });
@@ -144,7 +136,7 @@ class OBB extends THREE.Object3D {
144
136
  this.position.copy(position);
145
137
  this.quaternion.copy(quaternion);
146
138
  this.updateMatrixWorld(true);
147
- } else if (!_Crs.default.isTms(extent.crs) && _Crs.default.isMetricUnit(extent.crs)) {
139
+ } else if (!CRS.isTms(extent.crs) && CRS.isMetricUnit(extent.crs)) {
148
140
  extent.center(coord).toVector3(this.position);
149
141
  extent.planarDimensions(dimension);
150
142
  size.set(dimension.x, dimension.y, Math.abs(maxHeight - minHeight));
@@ -157,5 +149,4 @@ class OBB extends THREE.Object3D {
157
149
  }
158
150
  }
159
151
  obb = new OBB();
160
- var _default = OBB;
161
- exports.default = _default;
152
+ export default OBB;
@@ -1,12 +1,4 @@
1
- "use strict";
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; }
1
+ import * as THREE from 'three';
10
2
  class Distortion {
11
3
  constructor(size) {
12
4
  this.size = size;
@@ -124,5 +116,4 @@ class OrientedImageCamera extends THREE.PerspectiveCamera {
124
116
  return this;
125
117
  }
126
118
  }
127
- var _default = OrientedImageCamera;
128
- exports.default = _default;
119
+ export default OrientedImageCamera;