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,17 +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.ellipsoidSizes = exports.default = void 0;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- var _proj = _interopRequireDefault(require("proj4"));
10
- var _Coordinates = _interopRequireDefault(require("../Geographic/Coordinates"));
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
- const ellipsoidSizes = new THREE.Vector3(_proj.default.WGS84.a, _proj.default.WGS84.a, _proj.default.WGS84.b);
14
- exports.ellipsoidSizes = ellipsoidSizes;
1
+ import * as THREE from 'three';
2
+ import proj4 from 'proj4';
3
+ import Coordinates from "../Geographic/Coordinates.js";
4
+ export const ellipsoidSizes = new THREE.Vector3(proj4.WGS84.a, proj4.WGS84.a, proj4.WGS84.b);
15
5
  const normal = new THREE.Vector3();
16
6
  class Ellipsoid {
17
7
  constructor() {
@@ -61,7 +51,7 @@ class Ellipsoid {
61
51
  * @returns {Coordinate} an object describing the coordinates on the reference ellipsoid, angles are in degree
62
52
  */
63
53
  cartesianToCartographic(position) {
64
- let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new _Coordinates.default('EPSG:4326', 0, 0, 0);
54
+ let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Coordinates('EPSG:4326', 0, 0, 0);
65
55
  // for details, see for example http://www.linz.govt.nz/data/geodetic-system/coordinate-conversion/geodetic-datum-conversions/equations-used-datum
66
56
  // TODO the following is only valable for oblate ellipsoid of revolution. do we want to support triaxial ellipsoid?
67
57
  const R = Math.sqrt(position.x * position.x + position.y * position.y + position.z * position.z);
@@ -151,5 +141,4 @@ class Ellipsoid {
151
141
  return distRad * Math.sqrt(rho * N);
152
142
  }
153
143
  }
154
- var _default = Ellipsoid;
155
- exports.default = _default;
144
+ export default Ellipsoid;
@@ -1,23 +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 = void 0;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- var _RenderMode = _interopRequireDefault(require("../Renderer/RenderMode"));
10
- var _LayeredMaterial = require("../Renderer/LayeredMaterial");
11
- var _Coordinates = _interopRequireDefault(require("./Geographic/Coordinates"));
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 RenderMode from "../Renderer/RenderMode.js";
3
+ import { unpack1K } from "../Renderer/LayeredMaterial.js";
4
+ import Coordinates from "./Geographic/Coordinates.js";
14
5
  const depthRGBA = new THREE.Vector4();
15
6
  // TileMesh picking support function
16
7
  function screenCoordsToNodeId(view, tileLayer, viewCoords) {
17
8
  let radius = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
18
9
  const dim = view.mainLoop.gfxEngine.getWindowSize();
19
10
  viewCoords = viewCoords || new THREE.Vector2(Math.floor(dim.x / 2), Math.floor(dim.y / 2));
20
- const restore = tileLayer.level0Nodes.map(n => _RenderMode.default.push(n, _RenderMode.default.MODES.ID));
11
+ const restore = tileLayer.level0Nodes.map(n => RenderMode.push(n, RenderMode.MODES.ID));
21
12
  const buffer = view.mainLoop.gfxEngine.renderViewToBuffer({
22
13
  camera: view.camera,
23
14
  scene: tileLayer.object3d
@@ -33,7 +24,7 @@ function screenCoordsToNodeId(view, tileLayer, viewCoords) {
33
24
  const idx = (y * 2 * radius + x) * 4;
34
25
  const data = buffer.slice(idx, idx + 4 || undefined);
35
26
  depthRGBA.fromArray(data).divideScalar(255.0);
36
- const unpack = (0, _LayeredMaterial.unpack1K)(depthRGBA, 256 ** 3);
27
+ const unpack = unpack1K(depthRGBA, 256 ** 3);
37
28
  const _id = Math.round(unpack);
38
29
  if (!ids.includes(_id)) {
39
30
  ids.push(_id);
@@ -84,9 +75,9 @@ function findLayerInParent(obj) {
84
75
  const raycaster = new THREE.Raycaster();
85
76
  const normalized = new THREE.Vector2();
86
77
  const pointPos = new THREE.Vector3();
87
- const pointPosCoord = new _Coordinates.default('EPSG:4978'); // default crs, will be set to view crs when used
78
+ const pointPosCoord = new Coordinates('EPSG:4978'); // default crs, will be set to view crs when used
88
79
  const cameraPos = new THREE.Vector3();
89
- const cameraPosCoord = new _Coordinates.default('EPSG:4978'); // default crs, will be set to view crs when used
80
+ const cameraPosCoord = new Coordinates('EPSG:4978'); // default crs, will be set to view crs when used
90
81
 
91
82
  /**
92
83
  * @module Picking
@@ -101,7 +92,7 @@ const cameraPosCoord = new _Coordinates.default('EPSG:4978'); // default crs, wi
101
92
  * - radius (in pixels) of the picking circle
102
93
  * - layer: the geometry layer used for picking
103
94
  */
104
- var _default = {
95
+ export default {
105
96
  pickTilesAt(view, viewCoords, radius, layer) {
106
97
  let results = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
107
98
  const _ids = screenCoordsToNodeId(view, layer, viewCoords, radius);
@@ -261,5 +252,4 @@ var _default = {
261
252
  });
262
253
  return target;
263
254
  }
264
- };
265
- exports.default = _default;
255
+ };
@@ -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 PointCloudNode extends THREE.EventDispatcher {
11
3
  constructor() {
12
4
  let numPoints = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
@@ -47,5 +39,4 @@ class PointCloudNode extends THREE.EventDispatcher {
47
39
  }
48
40
  }
49
41
  }
50
- var _default = PointCloudNode;
51
- exports.default = _default;
42
+ export default PointCloudNode;
@@ -1,19 +1,11 @@
1
- "use strict";
1
+ import * as THREE from 'three';
2
+ import PointCloudNode from "./PointCloudNode.js";
2
3
 
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 _PointCloudNode = _interopRequireDefault(require("./PointCloudNode"));
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; }
12
4
  // Create an A(xis)A(ligned)B(ounding)B(ox) for the child `childIndex` of one aabb.
13
5
  // (PotreeConverter protocol builds implicit octree hierarchy by applying the same
14
6
  // subdivision algo recursively)
15
7
  const dHalfLength = new THREE.Vector3();
16
- class PotreeNode extends _PointCloudNode.default {
8
+ class PotreeNode extends PointCloudNode {
17
9
  constructor() {
18
10
  let numPoints = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
19
11
  let childrenBitField = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
@@ -106,5 +98,4 @@ class PotreeNode extends _PointCloudNode.default {
106
98
  });
107
99
  }
108
100
  }
109
- var _default = PotreeNode;
110
- exports.default = _default;
101
+ export default PotreeNode;
@@ -1,23 +1,15 @@
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 _GeometryLayer = _interopRequireDefault(require("../../../Layer/GeometryLayer"));
10
- var _Coordinates = _interopRequireDefault(require("../../Geographic/Coordinates"));
11
- var _Ellipsoid = require("../../Math/Ellipsoid");
12
- var _CoordStars = _interopRequireDefault(require("../../Geographic/CoordStars"));
13
- var _SkyShader = _interopRequireDefault(require("./SkyShader"));
14
- 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); }
15
- 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; }
16
1
  /*
17
2
  * To change this license header, choose License Headers in Project Properties.
18
3
  * To change this template file, choose Tools | Templates
19
4
  * and open the template in the editor.
20
5
  */
6
+
7
+ import * as THREE from 'three';
8
+ import GeometryLayer from "../../../Layer/GeometryLayer.js";
9
+ import Coordinates from "../../Geographic/Coordinates.js";
10
+ import { ellipsoidSizes } from "../../Math/Ellipsoid.js";
11
+ import CoordStars from "../../Geographic/CoordStars.js";
12
+ import Sky from "./SkyShader.js";
21
13
  /* babel-plugin-inline-import './Shaders/skyFS.glsl' */
22
14
  const skyFS = "uniform vec3 v3LightPos;\nuniform float g;\nuniform float g2;\n\nvarying vec3 v3Direction;\nvarying vec3 c0;\nvarying vec3 c1;\n\n// Calculates the Mie phase function\nfloat getMiePhase(float fCos, float fCos2, float g, float g2) {\n return 1.5 * ((1.0 - g2) / (2.0 + g2)) * (1.0 + fCos2) / pow(1.0 + g2 - 2.0 * g * fCos, 1.5);\n}\n\n// Calculates the Rayleigh phase function\nfloat getRayleighPhase(float fCos2) {\n return 0.75 + 0.75 * fCos2;\n}\n\nvoid main (void) {\n float fCos = dot(v3LightPos, v3Direction) / length(v3Direction);\n float fCos2 = fCos * fCos;\n\n vec3 color = getRayleighPhase(fCos2) * c0 + getMiePhase(fCos, fCos2, g, g2) * c1;\n\n gl_FragColor = vec4(color, 1.0);\n gl_FragColor.a = gl_FragColor.b;\n}";
23
15
  /* babel-plugin-inline-import './Shaders/skyVS.glsl' */
@@ -32,14 +24,14 @@ const GlowFS = "#include <logdepthbuf_pars_fragment>\n\nuniform int atmoIN;\nvar
32
24
  const GlowVS = "#include <common>\n#include <logdepthbuf_pars_vertex>\n\nuniform int atmoIN;\nvarying float intensity;\n\nvoid main()\n{\n vec3 normalES = normalize( normalMatrix * normal );\n vec3 normalCAMES = normalize( normalMatrix * cameraPosition );\n\n if(atmoIN == 0) {\n intensity = pow(0.666 - dot(normalES, normalCAMES), 4. );\n } else {\n intensity = pow( 1. - dot(normalES, normalCAMES), 0.8 );\n }\n\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n #include <logdepthbuf_vertex>\n}\n\n\n";
33
25
  const LIGHTING_POSITION = new THREE.Vector3(1, 0, 0);
34
26
  const v = new THREE.Vector3();
35
- const coordCam = new _Coordinates.default('EPSG:4326');
36
- const coordGeoCam = new _Coordinates.default('EPSG:4326');
27
+ const coordCam = new Coordinates('EPSG:4326');
28
+ const coordGeoCam = new Coordinates('EPSG:4326');
37
29
  const skyBaseColor = new THREE.Color(0x93d5f8);
38
30
  const colorSky = new THREE.Color();
39
31
  const spaceColor = new THREE.Color(0x030508);
40
32
  const limitAlti = 600000;
41
- const mfogDistance = _Ellipsoid.ellipsoidSizes.x * 160.0;
42
- class Atmosphere extends _GeometryLayer.default {
33
+ const mfogDistance = ellipsoidSizes.x * 160.0;
34
+ class Atmosphere extends GeometryLayer {
43
35
  /**
44
36
  * It's layer to simulate Globe atmosphere.
45
37
  * There's 2 modes : simple and realistic (atmospheric-scattering).
@@ -90,7 +82,7 @@ class Atmosphere extends _GeometryLayer.default {
90
82
  });
91
83
  const sphereGeometry = new THREE.SphereGeometry(1, 64, 64);
92
84
  const basicAtmosphereOut = new THREE.Mesh(sphereGeometry, material);
93
- basicAtmosphereOut.scale.copy(_Ellipsoid.ellipsoidSizes).multiplyScalar(1.14);
85
+ basicAtmosphereOut.scale.copy(ellipsoidSizes).multiplyScalar(1.14);
94
86
  this.basicAtmosphere = new THREE.Object3D();
95
87
  this.realisticAtmosphere = new THREE.Object3D();
96
88
  this.realisticAtmosphere.visible = false;
@@ -117,7 +109,7 @@ class Atmosphere extends _GeometryLayer.default {
117
109
  depthWrite: false
118
110
  });
119
111
  const basicAtmosphereIn = new THREE.Mesh(sphereGeometry, materialAtmoIn);
120
- basicAtmosphereIn.scale.copy(_Ellipsoid.ellipsoidSizes).multiplyScalar(1.002);
112
+ basicAtmosphereIn.scale.copy(ellipsoidSizes).multiplyScalar(1.002);
121
113
  this.basicAtmosphere.add(basicAtmosphereIn);
122
114
  this.realisticLightingPosition = {
123
115
  x: -0.5,
@@ -161,7 +153,7 @@ class Atmosphere extends _GeometryLayer.default {
161
153
  const len = v.distanceTo(cameraPosition);
162
154
  // Compute fog distance, this function makes it possible to have a shorter distance
163
155
  // when the camera approaches the ground
164
- this.fog.distance = mfogDistance * ((len - _Ellipsoid.ellipsoidSizes.x * 0.99) * 0.25 / _Ellipsoid.ellipsoidSizes.x) ** 1.5;
156
+ this.fog.distance = mfogDistance * ((len - ellipsoidSizes.x * 0.99) * 0.25 / ellipsoidSizes.x) ** 1.5;
165
157
  } else {
166
158
  this.fog.distance = 10e10;
167
159
  }
@@ -272,7 +264,7 @@ class Atmosphere extends _GeometryLayer.default {
272
264
  side: THREE.BackSide
273
265
  });
274
266
  const sky = new THREE.Mesh(geometryAtmosphereOut, materialAtmosphereOut);
275
- const skyDome = new _SkyShader.default();
267
+ const skyDome = new Sky();
276
268
  skyDome.frustumCulled = false;
277
269
  this.realisticAtmosphere.add(ground);
278
270
  this.realisticAtmosphere.add(sky);
@@ -302,12 +294,11 @@ class Atmosphere extends _GeometryLayer.default {
302
294
  if (!this.realisticAtmosphere.children.length) {
303
295
  this._initRealisticLighning();
304
296
  }
305
- this.realisticLightingPosition = _CoordStars.default.getSunPositionInScene(new Date().getTime(), 48.85, 2.35).normalize();
297
+ this.realisticLightingPosition = CoordStars.getSunPositionInScene(new Date().getTime(), 48.85, 2.35).normalize();
306
298
  this.realisticAtmosphere.children.forEach(obj => obj.material.uniforms.v3LightPosition.value.copy(this.realisticLightingPosition));
307
299
  }
308
300
  this.basicAtmosphere.visible = !bool;
309
301
  this.realisticAtmosphere.visible = bool;
310
302
  }
311
303
  }
312
- var _default = Atmosphere;
313
- exports.default = _default;
304
+ export default Atmosphere;
@@ -1,15 +1,6 @@
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 _Coordinates = _interopRequireDefault(require("../../Geographic/Coordinates"));
10
- var _Extent = _interopRequireDefault(require("../../Geographic/Extent"));
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; }
1
+ import * as THREE from 'three';
2
+ import Coordinates from "../../Geographic/Coordinates.js";
3
+ import Extent from "../../Geographic/Extent.js";
13
4
  const PI_OV_FOUR = Math.PI / 4;
14
5
  const INV_TWO_PI = 1.0 / (Math.PI * 2);
15
6
  const axisZ = new THREE.Vector3(0, 0, 1);
@@ -24,7 +15,7 @@ class BuilderEllipsoidTile {
24
15
  constructor() {
25
16
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
17
  this.tmp = {
27
- coords: [new _Coordinates.default('EPSG:4326', 0, 0), new _Coordinates.default('EPSG:4326', 0, 0)],
18
+ coords: [new Coordinates('EPSG:4326', 0, 0), new Coordinates('EPSG:4326', 0, 0)],
28
19
  position: new THREE.Vector3(),
29
20
  dimension: new THREE.Vector2()
30
21
  };
@@ -100,7 +91,7 @@ class BuilderEllipsoidTile {
100
91
  // but we should be reverse UV on tile
101
92
  // Common geometry is looking for only on longitude
102
93
  const sizeLongitude = Math.abs(extent.west - extent.east) / 2;
103
- const sharableExtent = new _Extent.default(extent.crs, -sizeLongitude, sizeLongitude, extent.south, extent.north);
94
+ const sharableExtent = new Extent(extent.crs, -sizeLongitude, sizeLongitude, extent.south, extent.north);
104
95
 
105
96
  // compute rotation to transform tile to position it on ellipsoid
106
97
  // this transformation take into account the transformation of the parents
@@ -116,5 +107,4 @@ class BuilderEllipsoidTile {
116
107
  };
117
108
  }
118
109
  }
119
- var _default = BuilderEllipsoidTile;
120
- exports.default = _default;
110
+ export default BuilderEllipsoidTile;
@@ -1,19 +1,11 @@
1
- "use strict";
1
+ import * as THREE from 'three';
2
+ import TiledGeometryLayer from "../../../Layer/TiledGeometryLayer.js";
3
+ import { ellipsoidSizes } from "../../Math/Ellipsoid.js";
4
+ import { globalExtentTMS, schemeTiles } from "../../Geographic/Extent.js";
5
+ import BuilderEllipsoidTile from "./BuilderEllipsoidTile.js";
6
+ import { SIZE_DIAGONAL_TEXTURE } from "../../../Process/LayeredMaterialNodeProcessing.js";
7
+ import CRS from "../../Geographic/Crs.js";
2
8
 
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 _TiledGeometryLayer = _interopRequireDefault(require("../../../Layer/TiledGeometryLayer"));
10
- var _Ellipsoid = require("../../Math/Ellipsoid");
11
- var _Extent = require("../../Geographic/Extent");
12
- var _BuilderEllipsoidTile = _interopRequireDefault(require("./BuilderEllipsoidTile"));
13
- var _LayeredMaterialNodeProcessing = require("../../../Process/LayeredMaterialNodeProcessing");
14
- var _Crs = _interopRequireDefault(require("../../Geographic/Crs"));
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; }
17
9
  // matrix to convert sphere to ellipsoid
18
10
  const worldToScaledEllipsoid = new THREE.Matrix4();
19
11
  // camera's position in worldToScaledEllipsoid system
@@ -28,7 +20,7 @@ const scaledHorizonCullingPoint = new THREE.Vector3();
28
20
  * GlobeLayer. Default is true. You should not change this, as it is used
29
21
  * internally for optimisation.
30
22
  */
31
- class GlobeLayer extends _TiledGeometryLayer.default {
23
+ class GlobeLayer extends TiledGeometryLayer {
32
24
  /**
33
25
  * A {@link TiledGeometryLayer} to use with a {@link GlobeView}. It has
34
26
  * specific method for updating and subdivising its grid.
@@ -61,13 +53,13 @@ class GlobeLayer extends _TiledGeometryLayer.default {
61
53
  constructor(id, object3d) {
62
54
  let config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
63
55
  // Configure tiles
64
- const scheme = _Extent.schemeTiles.get(_Crs.default.tms_4326);
65
- const schemeTile = _Extent.globalExtentTMS.get('EPSG:4326').subdivisionByScheme(scheme);
56
+ const scheme = schemeTiles.get(CRS.tms_4326);
57
+ const schemeTile = globalExtentTMS.get('EPSG:4326').subdivisionByScheme(scheme);
66
58
 
67
59
  // Supported tile matrix set for color/elevation layer
68
- config.tileMatrixSets = [_Crs.default.tms_4326, _Crs.default.tms_3857];
60
+ config.tileMatrixSets = [CRS.tms_4326, CRS.tms_3857];
69
61
  const uvCount = config.tileMatrixSets.length;
70
- const builder = new _BuilderEllipsoidTile.default({
62
+ const builder = new BuilderEllipsoidTile({
71
63
  crs: 'EPSG:4978',
72
64
  uvCount
73
65
  });
@@ -87,7 +79,7 @@ class GlobeLayer extends _TiledGeometryLayer.default {
87
79
  // This method assumes that the globe is a unit sphere at 0,0,0 so
88
80
  // we setup a world-to-scaled-ellipsoid matrix4
89
81
  worldToScaledEllipsoid.copy(this.object3d.matrixWorld).invert();
90
- worldToScaledEllipsoid.premultiply(new THREE.Matrix4().makeScale(1 / _Ellipsoid.ellipsoidSizes.x, 1 / _Ellipsoid.ellipsoidSizes.y, 1 / _Ellipsoid.ellipsoidSizes.z));
82
+ worldToScaledEllipsoid.premultiply(new THREE.Matrix4().makeScale(1 / ellipsoidSizes.x, 1 / ellipsoidSizes.y, 1 / ellipsoidSizes.z));
91
83
  }
92
84
  preUpdate(context, changeSources) {
93
85
  // pre-horizon culling
@@ -110,7 +102,7 @@ class GlobeLayer extends _TiledGeometryLayer.default {
110
102
  }
111
103
  subdivision(context, layer, node) {
112
104
  if (node.level == 5) {
113
- const row = node.getExtentsByProjection(_Crs.default.tms_4326)[0].row;
105
+ const row = node.getExtentsByProjection(CRS.tms_4326)[0].row;
114
106
  if (row == 31 || row == 0) {
115
107
  // doesn't subdivise the pole
116
108
  return false;
@@ -137,11 +129,11 @@ class GlobeLayer extends _TiledGeometryLayer.default {
137
129
  return isOccluded;
138
130
  }
139
131
  computeTileZoomFromDistanceCamera(distance, camera) {
140
- const preSinus = _LayeredMaterialNodeProcessing.SIZE_DIAGONAL_TEXTURE * (this.sseSubdivisionThreshold * 0.5) / camera._preSSE / _Ellipsoid.ellipsoidSizes.x;
132
+ const preSinus = SIZE_DIAGONAL_TEXTURE * (this.sseSubdivisionThreshold * 0.5) / camera._preSSE / ellipsoidSizes.x;
141
133
  let sinus = distance * preSinus;
142
134
  let zoom = Math.log(Math.PI / (2.0 * Math.asin(sinus))) / Math.log(2);
143
135
  const delta = Math.PI / 2 ** zoom;
144
- const circleChord = 2.0 * _Ellipsoid.ellipsoidSizes.x * Math.sin(delta * 0.5);
136
+ const circleChord = 2.0 * ellipsoidSizes.x * Math.sin(delta * 0.5);
145
137
  // adjust with bounding sphere rayon
146
138
  sinus = (distance - circleChord * 0.5) * preSinus;
147
139
  zoom = Math.log(Math.PI / (2.0 * Math.asin(sinus))) / Math.log(2);
@@ -149,10 +141,9 @@ class GlobeLayer extends _TiledGeometryLayer.default {
149
141
  }
150
142
  computeDistanceCameraFromTileZoom(zoom, camera) {
151
143
  const delta = Math.PI / 2 ** zoom;
152
- const circleChord = 2.0 * _Ellipsoid.ellipsoidSizes.x * Math.sin(delta * 0.5);
144
+ const circleChord = 2.0 * ellipsoidSizes.x * Math.sin(delta * 0.5);
153
145
  const radius = circleChord * 0.5;
154
- return camera._preSSE * (radius / _LayeredMaterialNodeProcessing.SIZE_DIAGONAL_TEXTURE) / (this.sseSubdivisionThreshold * 0.5) + radius;
146
+ return camera._preSSE * (radius / SIZE_DIAGONAL_TEXTURE) / (this.sseSubdivisionThreshold * 0.5) + radius;
155
147
  }
156
148
  }
157
- var _default = GlobeLayer;
158
- exports.default = _default;
149
+ export default GlobeLayer;
@@ -1,12 +1,3 @@
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
1
  /**
11
2
  * @author zz85 / https://github.com/zz85
12
3
  *
@@ -23,6 +14,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
23
14
  * Three.js integration by zz85 http://twitter.com/blurspline
24
15
  */
25
16
 
17
+ import * as THREE from 'three';
26
18
  const skyShader = {
27
19
  uniforms: {
28
20
  luminance: {
@@ -83,5 +75,4 @@ class Sky extends THREE.Mesh {
83
75
  super(skyGeo, skyMat);
84
76
  }
85
77
  }
86
- var _default = Sky;
87
- exports.default = _default;
78
+ export default Sky;
@@ -1,21 +1,13 @@
1
- "use strict";
1
+ import * as THREE from 'three';
2
+ import View, { VIEW_EVENTS } from "../View.js";
3
+ import GlobeControls from "../../Controls/GlobeControls.js";
4
+ import Coordinates from "../Geographic/Coordinates.js";
5
+ import GlobeLayer from "./Globe/GlobeLayer.js";
6
+ import Atmosphere from "./Globe/Atmosphere.js";
7
+ import CameraUtils from "../../Utils/CameraUtils.js";
8
+ import CRS from "../Geographic/Crs.js";
9
+ import { ellipsoidSizes } from "../Math/Ellipsoid.js";
2
10
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.GLOBE_VIEW_EVENTS = void 0;
8
- var THREE = _interopRequireWildcard(require("three"));
9
- var _View = _interopRequireWildcard(require("../View"));
10
- var _GlobeControls = _interopRequireDefault(require("../../Controls/GlobeControls"));
11
- var _Coordinates = _interopRequireDefault(require("../Geographic/Coordinates"));
12
- var _GlobeLayer = _interopRequireDefault(require("./Globe/GlobeLayer"));
13
- var _Atmosphere = _interopRequireDefault(require("./Globe/Atmosphere"));
14
- var _CameraUtils = _interopRequireDefault(require("../../Utils/CameraUtils"));
15
- var _Crs = _interopRequireDefault(require("../Geographic/Crs"));
16
- var _Ellipsoid = require("../Math/Ellipsoid");
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; }
19
11
  /**
20
12
  * Fires when the view is completely loaded. Controls and view's functions can be called then.
21
13
  * @event GlobeView#initialized
@@ -61,14 +53,13 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
61
53
  * @property COLOR_LAYERS_ORDER_CHANGED {string} Deprecated: emit when color layers order change (use VIEW_EVENTS.COLOR_LAYERS_ORDER_CHANGED instead).
62
54
  */
63
55
 
64
- const GLOBE_VIEW_EVENTS = {
65
- GLOBE_INITIALIZED: _View.VIEW_EVENTS.INITIALIZED,
66
- LAYER_ADDED: _View.VIEW_EVENTS.LAYER_ADDED,
67
- LAYER_REMOVED: _View.VIEW_EVENTS.LAYER_REMOVED,
68
- COLOR_LAYERS_ORDER_CHANGED: _View.VIEW_EVENTS.COLOR_LAYERS_ORDER_CHANGED
56
+ export const GLOBE_VIEW_EVENTS = {
57
+ GLOBE_INITIALIZED: VIEW_EVENTS.INITIALIZED,
58
+ LAYER_ADDED: VIEW_EVENTS.LAYER_ADDED,
59
+ LAYER_REMOVED: VIEW_EVENTS.LAYER_REMOVED,
60
+ COLOR_LAYERS_ORDER_CHANGED: VIEW_EVENTS.COLOR_LAYERS_ORDER_CHANGED
69
61
  };
70
- exports.GLOBE_VIEW_EVENTS = GLOBE_VIEW_EVENTS;
71
- class GlobeView extends _View.default {
62
+ class GlobeView extends View {
72
63
  /**
73
64
  * Creates a view of a globe.
74
65
  *
@@ -83,14 +74,6 @@ class GlobeView extends _View.default {
83
74
  * }
84
75
  * var view = new itowns.GlobeView(viewerDiv, placement);
85
76
  *
86
- * @example <caption><b>Enable WebGl 1.0 instead of WebGl 2.0.</b></caption>
87
- * var viewerDiv = document.getElementById('viewerDiv');
88
- * const placement = {
89
- * coord: new itowns.Coordinates('EPSG:4326', 2.351323, 48.856712),
90
- * range: 25000000,
91
- * }
92
- * var view = new itowns.GlobeView(viewerDiv, placement, { renderer: { isWebGL2: false } });
93
- *
94
77
  * @param {HTMLDivElement} viewerDiv - Where to attach the view and display it
95
78
  * in the DOM.
96
79
  * @param {CameraTransformOptions|Extent} placement - An object to place view
@@ -104,9 +87,9 @@ class GlobeView extends _View.default {
104
87
  // Setup View
105
88
  super('EPSG:4978', viewerDiv, options);
106
89
  this.isGlobeView = true;
107
- this.camera3D.near = Math.max(15.0, 0.000002352 * _Ellipsoid.ellipsoidSizes.x);
108
- this.camera3D.far = _Ellipsoid.ellipsoidSizes.x * 10;
109
- const tileLayer = new _GlobeLayer.default('globe', options.object3d, options);
90
+ this.camera3D.near = Math.max(15.0, 0.000002352 * ellipsoidSizes.x);
91
+ this.camera3D.far = ellipsoidSizes.x * 10;
92
+ const tileLayer = new GlobeLayer('globe', options.object3d, options);
110
93
  this.mainLoop.gfxEngine.label2dRenderer.infoTileLayer = tileLayer.info;
111
94
  const sun = new THREE.DirectionalLight();
112
95
  sun.position.set(-0.5, 0, 1);
@@ -115,18 +98,18 @@ class GlobeView extends _View.default {
115
98
  this.addLayer(tileLayer);
116
99
  this.tileLayer = tileLayer;
117
100
  if (!placement.isExtent) {
118
- placement.coord = placement.coord || new _Coordinates.default('EPSG:4326', 0, 0);
101
+ placement.coord = placement.coord || new Coordinates('EPSG:4326', 0, 0);
119
102
  placement.tilt = placement.tilt || 89.5;
120
103
  placement.heading = placement.heading || 0;
121
- placement.range = placement.range || _Ellipsoid.ellipsoidSizes.x * 2.0;
104
+ placement.range = placement.range || ellipsoidSizes.x * 2.0;
122
105
  }
123
106
  if (options.noControls) {
124
- _CameraUtils.default.transformCameraToLookAtTarget(this, this.camera3D, placement);
107
+ CameraUtils.transformCameraToLookAtTarget(this, this.camera3D, placement);
125
108
  } else {
126
- this.controls = new _GlobeControls.default(this, placement, options.controls);
109
+ this.controls = new GlobeControls(this, placement, options.controls);
127
110
  this.controls.handleCollision = typeof options.handleCollision !== 'undefined' ? options.handleCollision : true;
128
111
  }
129
- this.addLayer(new _Atmosphere.default('atmosphere', options.atmosphere));
112
+ this.addLayer(new Atmosphere('atmosphere', options.atmosphere));
130
113
 
131
114
  // GlobeView needs this.camera.resize to set perpsective matrix camera
132
115
  this.camera.resize(viewerDiv.clientWidth, viewerDiv.clientHeight);
@@ -151,11 +134,11 @@ class GlobeView extends _View.default {
151
134
  return Promise.reject(new Error('Add Layer type object'));
152
135
  }
153
136
  if (layer.isColorLayer) {
154
- if (!this.tileLayer.tileMatrixSets.includes(_Crs.default.formatToTms(layer.source.crs))) {
137
+ if (!this.tileLayer.tileMatrixSets.includes(CRS.formatToTms(layer.source.crs))) {
155
138
  return layer._reject(`Only ${this.tileLayer.tileMatrixSets} tileMatrixSet are currently supported for color layers`);
156
139
  }
157
140
  } else if (layer.isElevationLayer) {
158
- if (_Crs.default.formatToTms(layer.source.crs) !== this.tileLayer.tileMatrixSets[0]) {
141
+ if (CRS.formatToTms(layer.source.crs) !== this.tileLayer.tileMatrixSets[0]) {
159
142
  return layer._reject(`Only ${this.tileLayer.tileMatrixSets[0]} tileMatrixSet is currently supported for elevation layers`);
160
143
  }
161
144
  }
@@ -173,8 +156,7 @@ class GlobeView extends _View.default {
173
156
  }
174
157
  getMetersToDegrees() {
175
158
  let meters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
176
- return THREE.MathUtils.radToDeg(2 * Math.asin(meters / (2 * _Ellipsoid.ellipsoidSizes.x)));
159
+ return THREE.MathUtils.radToDeg(2 * Math.asin(meters / (2 * ellipsoidSizes.x)));
177
160
  }
178
161
  }
179
- var _default = GlobeView;
180
- exports.default = _default;
162
+ export default GlobeView;
@@ -1,23 +1,15 @@
1
- "use strict";
1
+ import * as THREE from 'three';
2
+ import TiledGeometryLayer from "../../../Layer/TiledGeometryLayer.js";
3
+ import { globalExtentTMS } from "../../Geographic/Extent.js";
4
+ import CRS from "../../Geographic/Crs.js";
5
+ import PlanarTileBuilder from "./PlanarTileBuilder.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 _TiledGeometryLayer = _interopRequireDefault(require("../../../Layer/TiledGeometryLayer"));
10
- var _Extent = require("../../Geographic/Extent");
11
- var _Crs = _interopRequireDefault(require("../../Geographic/Crs"));
12
- var _PlanarTileBuilder = _interopRequireDefault(require("./PlanarTileBuilder"));
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
  /**
16
8
  * @property {boolean} isPlanarLayer - Used to checkout whether this layer is a
17
9
  * PlanarLayer. Default is true. You should not change this, as it is used
18
10
  * internally for optimisation.
19
11
  */
20
- class PlanarLayer extends _TiledGeometryLayer.default {
12
+ class PlanarLayer extends TiledGeometryLayer {
21
13
  /**
22
14
  * A {@link TiledGeometryLayer} to use with a {@link PlanarView}. It has
23
15
  * specific method for updating and subdivising its grid.
@@ -46,13 +38,13 @@ class PlanarLayer extends _TiledGeometryLayer.default {
46
38
  */
47
39
  constructor(id, extent, object3d) {
48
40
  let config = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
49
- const tms = _Crs.default.formatToTms(extent.crs);
50
- if (!_Extent.globalExtentTMS.get(extent.crs)) {
41
+ const tms = CRS.formatToTms(extent.crs);
42
+ if (!globalExtentTMS.get(extent.crs)) {
51
43
  // Add new global extent for this new crs projection.
52
- _Extent.globalExtentTMS.set(extent.crs, extent);
44
+ globalExtentTMS.set(extent.crs, extent);
53
45
  }
54
46
  config.tileMatrixSets = [tms];
55
- super(id, object3d || new THREE.Group(), [extent], new _PlanarTileBuilder.default({
47
+ super(id, object3d || new THREE.Group(), [extent], new PlanarTileBuilder({
56
48
  crs: extent.crs
57
49
  }), config);
58
50
  this.isPlanarLayer = true;
@@ -62,5 +54,4 @@ class PlanarLayer extends _TiledGeometryLayer.default {
62
54
  this.maxDeltaElevationLevel = this.maxDeltaElevationLevel || 4.0;
63
55
  }
64
56
  }
65
- var _default = PlanarLayer;
66
- exports.default = _default;
57
+ export default PlanarLayer;