@pggis/pg-sdk 3.3.10 → 4.3.3

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 (163) hide show
  1. package/README.md +8 -8
  2. package/dist/index.js +1966 -4
  3. package/dist/pggis.min.css +1 -1
  4. package/dist/pggis.min.js +10980 -7539
  5. package/dist/resources/ThirdParty/Workers/pako_deflate.min.js +1 -2
  6. package/dist/resources/ThirdParty/Workers/pako_inflate.min.js +1 -2
  7. package/dist/resources/ThirdParty/Workers/z-worker-pako.js +1 -1
  8. package/dist/resources/ThirdParty/google-earth-dbroot-parser.js +1 -8337
  9. package/dist/resources/ThirdParty/wasm_splats_bg.wasm +0 -0
  10. package/dist/resources/Workers/chunk-35SHYARM.js +26 -0
  11. package/dist/resources/Workers/chunk-37F5JSTI.js +26 -0
  12. package/dist/resources/Workers/chunk-3SSKC3VN.js +26 -0
  13. package/dist/resources/Workers/chunk-3W4GT7KQ.js +26 -0
  14. package/dist/resources/Workers/chunk-4IW2T6GF.js +26 -0
  15. package/dist/resources/Workers/chunk-5YEWO3HT.js +26 -0
  16. package/dist/resources/Workers/chunk-64RSHJUE.js +28 -0
  17. package/dist/resources/Workers/chunk-77IHZJJ3.js +26 -0
  18. package/dist/resources/Workers/chunk-7HTKERZY.js +26 -0
  19. package/dist/resources/Workers/{chunk-F3YA3Y2Z.js → chunk-A56XVLQR.js} +2 -13
  20. package/dist/resources/Workers/chunk-AJYK4IVJ.js +26 -0
  21. package/dist/resources/Workers/{chunk-EHWHNOEX.js → chunk-ARG42DC4.js} +2 -31
  22. package/dist/resources/Workers/chunk-AU7IKHOH.js +26 -0
  23. package/dist/resources/Workers/chunk-B4AA3ARO.js +26 -0
  24. package/dist/resources/Workers/chunk-CNCV5UL7.js +26 -0
  25. package/dist/resources/Workers/chunk-CYCB63OH.js +26 -0
  26. package/dist/resources/Workers/{chunk-4H7PY4U5.js → chunk-D6AA5QVT.js} +2 -20
  27. package/dist/resources/Workers/chunk-D6C66QON.js +26 -0
  28. package/dist/resources/Workers/chunk-DEPHB2WM.js +26 -0
  29. package/dist/resources/Workers/chunk-DMEY62ID.js +26 -0
  30. package/dist/resources/Workers/chunk-DQQ63PYM.js +26 -0
  31. package/dist/resources/Workers/chunk-ED5JPB3S.js +27 -0
  32. package/dist/resources/Workers/chunk-EZUYS2JF.js +26 -0
  33. package/dist/resources/Workers/chunk-FEVXJ54I.js +26 -0
  34. package/dist/resources/Workers/chunk-G5AGHVVC.js +26 -0
  35. package/dist/resources/Workers/{chunk-BBWDMCVU.js → chunk-GBYLG25F.js} +2 -15
  36. package/dist/resources/Workers/chunk-GILIDQNQ.js +26 -0
  37. package/dist/resources/Workers/chunk-HMIYSTF6.js +26 -0
  38. package/dist/resources/Workers/chunk-HTFSEEMT.js +26 -0
  39. package/dist/resources/Workers/chunk-HWXX4CWK.js +26 -0
  40. package/dist/resources/Workers/chunk-IYTZ52EY.js +26 -0
  41. package/dist/resources/Workers/chunk-J6UP6FLE.js +26 -0
  42. package/dist/resources/Workers/chunk-LEYMRMBK.js +27 -0
  43. package/dist/resources/Workers/chunk-M3MGYQSL.js +26 -0
  44. package/dist/resources/Workers/chunk-N4VJKXZS.js +26 -0
  45. package/dist/resources/Workers/chunk-NB3ML6JO.js +26 -0
  46. package/dist/resources/Workers/chunk-OFUUQVMR.js +26 -0
  47. package/dist/resources/Workers/chunk-OSW76XDF.js +26 -0
  48. package/dist/resources/Workers/chunk-PSPPBZWI.js +66 -0
  49. package/dist/resources/Workers/chunk-QN3VOORQ.js +26 -0
  50. package/dist/resources/Workers/chunk-QOUAJ6TL.js +26 -0
  51. package/dist/resources/Workers/chunk-RCV6KWXS.js +26 -0
  52. package/dist/resources/Workers/chunk-TCGIRNHN.js +26 -0
  53. package/dist/resources/Workers/chunk-U4IEOH5K.js +26 -0
  54. package/dist/resources/Workers/chunk-UP6I5URU.js +26 -0
  55. package/dist/resources/Workers/chunk-VTAIKJXX.js +26 -0
  56. package/dist/resources/Workers/chunk-VTBDSFTG.js +26 -0
  57. package/dist/resources/Workers/chunk-VW6VD53G.js +26 -0
  58. package/dist/resources/Workers/chunk-WGGIH7QW.js +26 -0
  59. package/dist/resources/Workers/chunk-WWA5PL4H.js +26 -0
  60. package/dist/resources/Workers/chunk-WZDE3RYP.js +28 -0
  61. package/dist/resources/Workers/chunk-XRL4AVS5.js +26 -0
  62. package/dist/resources/Workers/combineGeometry.js +2 -44
  63. package/dist/resources/Workers/createBoxGeometry.js +2 -34
  64. package/dist/resources/Workers/createBoxOutlineGeometry.js +2 -211
  65. package/dist/resources/Workers/createCircleGeometry.js +2 -173
  66. package/dist/resources/Workers/createCircleOutlineGeometry.js +2 -123
  67. package/dist/resources/Workers/createCoplanarPolygonGeometry.js +2 -482
  68. package/dist/resources/Workers/createCoplanarPolygonOutlineGeometry.js +2 -201
  69. package/dist/resources/Workers/createCorridorGeometry.js +2 -1239
  70. package/dist/resources/Workers/createCorridorOutlineGeometry.js +2 -544
  71. package/dist/resources/Workers/createCylinderGeometry.js +2 -36
  72. package/dist/resources/Workers/createCylinderOutlineGeometry.js +2 -207
  73. package/dist/resources/Workers/createEllipseGeometry.js +2 -47
  74. package/dist/resources/Workers/createEllipseOutlineGeometry.js +2 -40
  75. package/dist/resources/Workers/createEllipsoidGeometry.js +2 -35
  76. package/dist/resources/Workers/createEllipsoidOutlineGeometry.js +2 -37
  77. package/dist/resources/Workers/createFrustumGeometry.js +2 -34
  78. package/dist/resources/Workers/createFrustumOutlineGeometry.js +2 -211
  79. package/dist/resources/Workers/createGeometry.js +2 -147
  80. package/dist/resources/Workers/createGroundPolylineGeometry.js +2 -1584
  81. package/dist/resources/Workers/createPlaneGeometry.js +2 -200
  82. package/dist/resources/Workers/createPlaneOutlineGeometry.js +2 -100
  83. package/dist/resources/Workers/createPolygonGeometry.js +2 -1387
  84. package/dist/resources/Workers/createPolygonOutlineGeometry.js +2 -519
  85. package/dist/resources/Workers/createPolylineGeometry.js +2 -472
  86. package/dist/resources/Workers/createPolylineVolumeGeometry.js +2 -355
  87. package/dist/resources/Workers/createPolylineVolumeOutlineGeometry.js +2 -253
  88. package/dist/resources/Workers/createRectangleGeometry.js +2 -1250
  89. package/dist/resources/Workers/createRectangleOutlineGeometry.js +2 -455
  90. package/dist/resources/Workers/createSimplePolylineGeometry.js +2 -376
  91. package/dist/resources/Workers/createSphereGeometry.js +2 -94
  92. package/dist/resources/Workers/createSphereOutlineGeometry.js +2 -94
  93. package/dist/resources/Workers/createTaskProcessorWorker.js +2 -8
  94. package/dist/resources/Workers/createVectorTileClampedPolylines.js +2 -468
  95. package/dist/resources/Workers/createVectorTileGeometries.js +2 -363
  96. package/dist/resources/Workers/createVectorTilePoints.js +2 -88
  97. package/dist/resources/Workers/createVectorTilePolygons.js +2 -361
  98. package/dist/resources/Workers/createVectorTilePolylines.js +2 -238
  99. package/dist/resources/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +2 -545
  100. package/dist/resources/Workers/createVerticesFromHeightmap.js +2 -2254
  101. package/dist/resources/Workers/createVerticesFromQuantizedTerrainMesh.js +2 -722
  102. package/dist/resources/Workers/createWallGeometry.js +2 -466
  103. package/dist/resources/Workers/createWallOutlineGeometry.js +2 -314
  104. package/dist/resources/Workers/decodeDraco.js +2 -345
  105. package/dist/resources/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2626
  106. package/dist/resources/Workers/decodeI3S.js +2 -1320
  107. package/dist/resources/Workers/gaussianSplatSorter.js +26 -0
  108. package/dist/resources/Workers/gaussianSplatTextureGenerator.js +26 -0
  109. package/dist/resources/Workers/transcodeKTX2.js +29 -3398
  110. package/dist/resources/Workers/transferTypedArrayTest.js +2 -17
  111. package/dist/resources/Workers/upsampleQuantizedTerrainMesh.js +2 -795
  112. package/package.json +9 -8
  113. package/dist/resources/ThirdParty/Workers/basis_transcoder.js +0 -21
  114. package/dist/resources/Workers/chunk-23UFSGND.js +0 -236
  115. package/dist/resources/Workers/chunk-2A75IWRS.js +0 -218
  116. package/dist/resources/Workers/chunk-2FRVPMCS.js +0 -1258
  117. package/dist/resources/Workers/chunk-2FWRMUTY.js +0 -138
  118. package/dist/resources/Workers/chunk-2UPKWTMJ.js +0 -117
  119. package/dist/resources/Workers/chunk-34FXV7D7.js +0 -73
  120. package/dist/resources/Workers/chunk-3VAZEH7M.js +0 -101
  121. package/dist/resources/Workers/chunk-4DO5W5XZ.js +0 -196
  122. package/dist/resources/Workers/chunk-5QULIR53.js +0 -501
  123. package/dist/resources/Workers/chunk-7TC63SJW.js +0 -302
  124. package/dist/resources/Workers/chunk-7ZFGPDJA.js +0 -122
  125. package/dist/resources/Workers/chunk-A5DWLWCY.js +0 -834
  126. package/dist/resources/Workers/chunk-BG4UCVXN.js +0 -73
  127. package/dist/resources/Workers/chunk-BIKA3NRA.js +0 -59
  128. package/dist/resources/Workers/chunk-BROJAZRZ.js +0 -390
  129. package/dist/resources/Workers/chunk-DDUQAJ4P.js +0 -476
  130. package/dist/resources/Workers/chunk-EERJKOAF.js +0 -305
  131. package/dist/resources/Workers/chunk-EG6PTBY2.js +0 -2716
  132. package/dist/resources/Workers/chunk-F4HFJMGM.js +0 -353
  133. package/dist/resources/Workers/chunk-FJKNFAKQ.js +0 -8219
  134. package/dist/resources/Workers/chunk-FNIRWHJB.js +0 -289
  135. package/dist/resources/Workers/chunk-FZRIVR7Y.js +0 -100
  136. package/dist/resources/Workers/chunk-G43QFN4Q.js +0 -157
  137. package/dist/resources/Workers/chunk-GATZHF3K.js +0 -1860
  138. package/dist/resources/Workers/chunk-GRC2ZTAF.js +0 -398
  139. package/dist/resources/Workers/chunk-HU6N6EXB.js +0 -767
  140. package/dist/resources/Workers/chunk-I46ZRR5W.js +0 -1052
  141. package/dist/resources/Workers/chunk-JURN7NPV.js +0 -1075
  142. package/dist/resources/Workers/chunk-KKCR2YOP.js +0 -421
  143. package/dist/resources/Workers/chunk-LPR3YNP2.js +0 -138
  144. package/dist/resources/Workers/chunk-M7ERACJJ.js +0 -511
  145. package/dist/resources/Workers/chunk-MDWEGWPA.js +0 -1007
  146. package/dist/resources/Workers/chunk-OGXZVPPM.js +0 -2365
  147. package/dist/resources/Workers/chunk-PGSJK77E.js +0 -634
  148. package/dist/resources/Workers/chunk-PPH7OFP3.js +0 -258
  149. package/dist/resources/Workers/chunk-SH5USDPI.js +0 -456
  150. package/dist/resources/Workers/chunk-SOWMRMWA.js +0 -629
  151. package/dist/resources/Workers/chunk-STW2DGFI.js +0 -58
  152. package/dist/resources/Workers/chunk-T3XIFPYR.js +0 -1477
  153. package/dist/resources/Workers/chunk-TTUZP4BO.js +0 -501
  154. package/dist/resources/Workers/chunk-UEXTBDBE.js +0 -693
  155. package/dist/resources/Workers/chunk-VOXYEYJT.js +0 -684
  156. package/dist/resources/Workers/chunk-X4356LRH.js +0 -368
  157. package/dist/resources/Workers/chunk-XGI5BXZY.js +0 -163
  158. package/dist/resources/Workers/chunk-Y2ME2IJV.js +0 -781
  159. package/dist/resources/Workers/chunk-Y5UQJLYE.js +0 -171
  160. package/dist/resources/Workers/chunk-YJEBABKH.js +0 -2977
  161. package/dist/resources/Workers/chunk-YWTJ2B4B.js +0 -77
  162. package/dist/resources/Workers/chunk-Z3TIFFGF.js +0 -430
  163. package/dist/resources/Workers/chunk-ZT7KWISZ.js +0 -102
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 1.115
4
+ * Version 1.132
5
5
  *
6
6
  * Copyright 2011-2022 Cesium Contributors
7
7
  *
@@ -23,547 +23,4 @@
23
23
  * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24
24
  */
25
25
 
26
- import {
27
- EllipsoidalOccluder_default,
28
- TerrainEncoding_default
29
- } from "./chunk-HU6N6EXB.js";
30
- import {
31
- createTaskProcessorWorker_default
32
- } from "./chunk-3VAZEH7M.js";
33
- import {
34
- WebMercatorProjection_default
35
- } from "./chunk-2UPKWTMJ.js";
36
- import {
37
- OrientedBoundingBox_default
38
- } from "./chunk-A5DWLWCY.js";
39
- import "./chunk-Z3TIFFGF.js";
40
- import "./chunk-FNIRWHJB.js";
41
- import {
42
- AxisAlignedBoundingBox_default
43
- } from "./chunk-G43QFN4Q.js";
44
- import "./chunk-2FRVPMCS.js";
45
- import "./chunk-Y5UQJLYE.js";
46
- import {
47
- BoundingSphere_default,
48
- Transforms_default
49
- } from "./chunk-FJKNFAKQ.js";
50
- import "./chunk-TTUZP4BO.js";
51
- import "./chunk-BG4UCVXN.js";
52
- import {
53
- Matrix4_default,
54
- Rectangle_default
55
- } from "./chunk-YJEBABKH.js";
56
- import "./chunk-PPH7OFP3.js";
57
- import {
58
- Cartesian2_default,
59
- Cartesian3_default,
60
- Cartographic_default,
61
- Ellipsoid_default
62
- } from "./chunk-OGXZVPPM.js";
63
- import {
64
- Math_default
65
- } from "./chunk-5QULIR53.js";
66
- import "./chunk-SOWMRMWA.js";
67
- import {
68
- RuntimeError_default
69
- } from "./chunk-STW2DGFI.js";
70
- import {
71
- defaultValue_default
72
- } from "./chunk-BBWDMCVU.js";
73
- import "./chunk-XGI5BXZY.js";
74
- import {
75
- defined_default
76
- } from "./chunk-YWTJ2B4B.js";
77
-
78
- // packages/engine/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js
79
- var sizeOfUint16 = Uint16Array.BYTES_PER_ELEMENT;
80
- var sizeOfInt32 = Int32Array.BYTES_PER_ELEMENT;
81
- var sizeOfUint32 = Uint32Array.BYTES_PER_ELEMENT;
82
- var sizeOfFloat = Float32Array.BYTES_PER_ELEMENT;
83
- var sizeOfDouble = Float64Array.BYTES_PER_ELEMENT;
84
- function indexOfEpsilon(arr, elem, elemType) {
85
- elemType = defaultValue_default(elemType, Math_default);
86
- const count = arr.length;
87
- for (let i = 0; i < count; ++i) {
88
- if (elemType.equalsEpsilon(arr[i], elem, Math_default.EPSILON12)) {
89
- return i;
90
- }
91
- }
92
- return -1;
93
- }
94
- function createVerticesFromGoogleEarthEnterpriseBuffer(parameters, transferableObjects) {
95
- parameters.ellipsoid = Ellipsoid_default.clone(parameters.ellipsoid);
96
- parameters.rectangle = Rectangle_default.clone(parameters.rectangle);
97
- const statistics = processBuffer(
98
- parameters.buffer,
99
- parameters.relativeToCenter,
100
- parameters.ellipsoid,
101
- parameters.rectangle,
102
- parameters.nativeRectangle,
103
- parameters.exaggeration,
104
- parameters.exaggerationRelativeHeight,
105
- parameters.skirtHeight,
106
- parameters.includeWebMercatorT,
107
- parameters.negativeAltitudeExponentBias,
108
- parameters.negativeElevationThreshold
109
- );
110
- const vertices = statistics.vertices;
111
- transferableObjects.push(vertices.buffer);
112
- const indices = statistics.indices;
113
- transferableObjects.push(indices.buffer);
114
- return {
115
- vertices: vertices.buffer,
116
- indices: indices.buffer,
117
- numberOfAttributes: statistics.encoding.stride,
118
- minimumHeight: statistics.minimumHeight,
119
- maximumHeight: statistics.maximumHeight,
120
- boundingSphere3D: statistics.boundingSphere3D,
121
- orientedBoundingBox: statistics.orientedBoundingBox,
122
- occludeePointInScaledSpace: statistics.occludeePointInScaledSpace,
123
- encoding: statistics.encoding,
124
- vertexCountWithoutSkirts: statistics.vertexCountWithoutSkirts,
125
- indexCountWithoutSkirts: statistics.indexCountWithoutSkirts,
126
- westIndicesSouthToNorth: statistics.westIndicesSouthToNorth,
127
- southIndicesEastToWest: statistics.southIndicesEastToWest,
128
- eastIndicesNorthToSouth: statistics.eastIndicesNorthToSouth,
129
- northIndicesWestToEast: statistics.northIndicesWestToEast
130
- };
131
- }
132
- var scratchCartographic = new Cartographic_default();
133
- var scratchCartesian = new Cartesian3_default();
134
- var minimumScratch = new Cartesian3_default();
135
- var maximumScratch = new Cartesian3_default();
136
- var matrix4Scratch = new Matrix4_default();
137
- function processBuffer(buffer, relativeToCenter, ellipsoid, rectangle, nativeRectangle, exaggeration, exaggerationRelativeHeight, skirtHeight, includeWebMercatorT, negativeAltitudeExponentBias, negativeElevationThreshold) {
138
- let geographicWest;
139
- let geographicSouth;
140
- let geographicEast;
141
- let geographicNorth;
142
- let rectangleWidth, rectangleHeight;
143
- if (!defined_default(rectangle)) {
144
- geographicWest = Math_default.toRadians(nativeRectangle.west);
145
- geographicSouth = Math_default.toRadians(nativeRectangle.south);
146
- geographicEast = Math_default.toRadians(nativeRectangle.east);
147
- geographicNorth = Math_default.toRadians(nativeRectangle.north);
148
- rectangleWidth = Math_default.toRadians(rectangle.width);
149
- rectangleHeight = Math_default.toRadians(rectangle.height);
150
- } else {
151
- geographicWest = rectangle.west;
152
- geographicSouth = rectangle.south;
153
- geographicEast = rectangle.east;
154
- geographicNorth = rectangle.north;
155
- rectangleWidth = rectangle.width;
156
- rectangleHeight = rectangle.height;
157
- }
158
- const quadBorderLatitudes = [geographicSouth, geographicNorth];
159
- const quadBorderLongitudes = [geographicWest, geographicEast];
160
- const fromENU = Transforms_default.eastNorthUpToFixedFrame(
161
- relativeToCenter,
162
- ellipsoid
163
- );
164
- const toENU = Matrix4_default.inverseTransformation(fromENU, matrix4Scratch);
165
- let southMercatorY;
166
- let oneOverMercatorHeight;
167
- if (includeWebMercatorT) {
168
- southMercatorY = WebMercatorProjection_default.geodeticLatitudeToMercatorAngle(
169
- geographicSouth
170
- );
171
- oneOverMercatorHeight = 1 / (WebMercatorProjection_default.geodeticLatitudeToMercatorAngle(geographicNorth) - southMercatorY);
172
- }
173
- const hasExaggeration = exaggeration !== 1;
174
- const includeGeodeticSurfaceNormals = hasExaggeration;
175
- const dv = new DataView(buffer);
176
- let minHeight = Number.POSITIVE_INFINITY;
177
- let maxHeight = Number.NEGATIVE_INFINITY;
178
- const minimum = minimumScratch;
179
- minimum.x = Number.POSITIVE_INFINITY;
180
- minimum.y = Number.POSITIVE_INFINITY;
181
- minimum.z = Number.POSITIVE_INFINITY;
182
- const maximum = maximumScratch;
183
- maximum.x = Number.NEGATIVE_INFINITY;
184
- maximum.y = Number.NEGATIVE_INFINITY;
185
- maximum.z = Number.NEGATIVE_INFINITY;
186
- let offset = 0;
187
- let size = 0;
188
- let indicesSize = 0;
189
- let quadSize;
190
- let quad;
191
- for (quad = 0; quad < 4; ++quad) {
192
- let o = offset;
193
- quadSize = dv.getUint32(o, true);
194
- o += sizeOfUint32;
195
- const x = Math_default.toRadians(dv.getFloat64(o, true) * 180);
196
- o += sizeOfDouble;
197
- if (indexOfEpsilon(quadBorderLongitudes, x) === -1) {
198
- quadBorderLongitudes.push(x);
199
- }
200
- const y = Math_default.toRadians(dv.getFloat64(o, true) * 180);
201
- o += sizeOfDouble;
202
- if (indexOfEpsilon(quadBorderLatitudes, y) === -1) {
203
- quadBorderLatitudes.push(y);
204
- }
205
- o += 2 * sizeOfDouble;
206
- let c = dv.getInt32(o, true);
207
- o += sizeOfInt32;
208
- size += c;
209
- c = dv.getInt32(o, true);
210
- indicesSize += c * 3;
211
- offset += quadSize + sizeOfUint32;
212
- }
213
- const quadBorderPoints = [];
214
- const quadBorderIndices = [];
215
- const positions = new Array(size);
216
- const uvs = new Array(size);
217
- const heights = new Array(size);
218
- const webMercatorTs = includeWebMercatorT ? new Array(size) : [];
219
- const geodeticSurfaceNormals = includeGeodeticSurfaceNormals ? new Array(size) : [];
220
- const indices = new Array(indicesSize);
221
- const westBorder = [];
222
- const southBorder = [];
223
- const eastBorder = [];
224
- const northBorder = [];
225
- let pointOffset = 0;
226
- let indicesOffset = 0;
227
- offset = 0;
228
- for (quad = 0; quad < 4; ++quad) {
229
- quadSize = dv.getUint32(offset, true);
230
- offset += sizeOfUint32;
231
- const startQuad = offset;
232
- const originX = Math_default.toRadians(dv.getFloat64(offset, true) * 180);
233
- offset += sizeOfDouble;
234
- const originY = Math_default.toRadians(dv.getFloat64(offset, true) * 180);
235
- offset += sizeOfDouble;
236
- const stepX = Math_default.toRadians(dv.getFloat64(offset, true) * 180);
237
- const halfStepX = stepX * 0.5;
238
- offset += sizeOfDouble;
239
- const stepY = Math_default.toRadians(dv.getFloat64(offset, true) * 180);
240
- const halfStepY = stepY * 0.5;
241
- offset += sizeOfDouble;
242
- const numPoints = dv.getInt32(offset, true);
243
- offset += sizeOfInt32;
244
- const numFaces = dv.getInt32(offset, true);
245
- offset += sizeOfInt32;
246
- offset += sizeOfInt32;
247
- const indicesMapping = new Array(numPoints);
248
- for (let i = 0; i < numPoints; ++i) {
249
- const longitude = originX + dv.getUint8(offset++) * stepX;
250
- scratchCartographic.longitude = longitude;
251
- const latitude = originY + dv.getUint8(offset++) * stepY;
252
- scratchCartographic.latitude = latitude;
253
- let height = dv.getFloat32(offset, true);
254
- offset += sizeOfFloat;
255
- if (height !== 0 && height < negativeElevationThreshold) {
256
- height *= -Math.pow(2, negativeAltitudeExponentBias);
257
- }
258
- height *= 6371010;
259
- scratchCartographic.height = height;
260
- if (indexOfEpsilon(quadBorderLongitudes, longitude) !== -1 || indexOfEpsilon(quadBorderLatitudes, latitude) !== -1) {
261
- const index = indexOfEpsilon(
262
- quadBorderPoints,
263
- scratchCartographic,
264
- Cartographic_default
265
- );
266
- if (index === -1) {
267
- quadBorderPoints.push(Cartographic_default.clone(scratchCartographic));
268
- quadBorderIndices.push(pointOffset);
269
- } else {
270
- indicesMapping[i] = quadBorderIndices[index];
271
- continue;
272
- }
273
- }
274
- indicesMapping[i] = pointOffset;
275
- if (Math.abs(longitude - geographicWest) < halfStepX) {
276
- westBorder.push({
277
- index: pointOffset,
278
- cartographic: Cartographic_default.clone(scratchCartographic)
279
- });
280
- } else if (Math.abs(longitude - geographicEast) < halfStepX) {
281
- eastBorder.push({
282
- index: pointOffset,
283
- cartographic: Cartographic_default.clone(scratchCartographic)
284
- });
285
- } else if (Math.abs(latitude - geographicSouth) < halfStepY) {
286
- southBorder.push({
287
- index: pointOffset,
288
- cartographic: Cartographic_default.clone(scratchCartographic)
289
- });
290
- } else if (Math.abs(latitude - geographicNorth) < halfStepY) {
291
- northBorder.push({
292
- index: pointOffset,
293
- cartographic: Cartographic_default.clone(scratchCartographic)
294
- });
295
- }
296
- minHeight = Math.min(height, minHeight);
297
- maxHeight = Math.max(height, maxHeight);
298
- heights[pointOffset] = height;
299
- const pos = ellipsoid.cartographicToCartesian(scratchCartographic);
300
- positions[pointOffset] = pos;
301
- if (includeWebMercatorT) {
302
- webMercatorTs[pointOffset] = (WebMercatorProjection_default.geodeticLatitudeToMercatorAngle(latitude) - southMercatorY) * oneOverMercatorHeight;
303
- }
304
- if (includeGeodeticSurfaceNormals) {
305
- const normal = ellipsoid.geodeticSurfaceNormal(pos);
306
- geodeticSurfaceNormals[pointOffset] = normal;
307
- }
308
- Matrix4_default.multiplyByPoint(toENU, pos, scratchCartesian);
309
- Cartesian3_default.minimumByComponent(scratchCartesian, minimum, minimum);
310
- Cartesian3_default.maximumByComponent(scratchCartesian, maximum, maximum);
311
- let u = (longitude - geographicWest) / (geographicEast - geographicWest);
312
- u = Math_default.clamp(u, 0, 1);
313
- let v = (latitude - geographicSouth) / (geographicNorth - geographicSouth);
314
- v = Math_default.clamp(v, 0, 1);
315
- uvs[pointOffset] = new Cartesian2_default(u, v);
316
- ++pointOffset;
317
- }
318
- const facesElementCount = numFaces * 3;
319
- for (let j = 0; j < facesElementCount; ++j, ++indicesOffset) {
320
- indices[indicesOffset] = indicesMapping[dv.getUint16(offset, true)];
321
- offset += sizeOfUint16;
322
- }
323
- if (quadSize !== offset - startQuad) {
324
- throw new RuntimeError_default("Invalid terrain tile.");
325
- }
326
- }
327
- positions.length = pointOffset;
328
- uvs.length = pointOffset;
329
- heights.length = pointOffset;
330
- if (includeWebMercatorT) {
331
- webMercatorTs.length = pointOffset;
332
- }
333
- if (includeGeodeticSurfaceNormals) {
334
- geodeticSurfaceNormals.length = pointOffset;
335
- }
336
- const vertexCountWithoutSkirts = pointOffset;
337
- const indexCountWithoutSkirts = indicesOffset;
338
- const skirtOptions = {
339
- hMin: minHeight,
340
- lastBorderPoint: void 0,
341
- skirtHeight,
342
- toENU,
343
- ellipsoid,
344
- minimum,
345
- maximum
346
- };
347
- westBorder.sort(function(a, b) {
348
- return b.cartographic.latitude - a.cartographic.latitude;
349
- });
350
- southBorder.sort(function(a, b) {
351
- return a.cartographic.longitude - b.cartographic.longitude;
352
- });
353
- eastBorder.sort(function(a, b) {
354
- return a.cartographic.latitude - b.cartographic.latitude;
355
- });
356
- northBorder.sort(function(a, b) {
357
- return b.cartographic.longitude - a.cartographic.longitude;
358
- });
359
- const percentage = 1e-5;
360
- addSkirt(
361
- positions,
362
- heights,
363
- uvs,
364
- webMercatorTs,
365
- geodeticSurfaceNormals,
366
- indices,
367
- skirtOptions,
368
- westBorder,
369
- -percentage * rectangleWidth,
370
- true,
371
- -percentage * rectangleHeight
372
- );
373
- addSkirt(
374
- positions,
375
- heights,
376
- uvs,
377
- webMercatorTs,
378
- geodeticSurfaceNormals,
379
- indices,
380
- skirtOptions,
381
- southBorder,
382
- -percentage * rectangleHeight,
383
- false
384
- );
385
- addSkirt(
386
- positions,
387
- heights,
388
- uvs,
389
- webMercatorTs,
390
- geodeticSurfaceNormals,
391
- indices,
392
- skirtOptions,
393
- eastBorder,
394
- percentage * rectangleWidth,
395
- true,
396
- percentage * rectangleHeight
397
- );
398
- addSkirt(
399
- positions,
400
- heights,
401
- uvs,
402
- webMercatorTs,
403
- geodeticSurfaceNormals,
404
- indices,
405
- skirtOptions,
406
- northBorder,
407
- percentage * rectangleHeight,
408
- false
409
- );
410
- if (westBorder.length > 0 && northBorder.length > 0) {
411
- const firstBorderIndex = westBorder[0].index;
412
- const firstSkirtIndex = vertexCountWithoutSkirts;
413
- const lastBorderIndex = northBorder[northBorder.length - 1].index;
414
- const lastSkirtIndex = positions.length - 1;
415
- indices.push(
416
- lastBorderIndex,
417
- lastSkirtIndex,
418
- firstSkirtIndex,
419
- firstSkirtIndex,
420
- firstBorderIndex,
421
- lastBorderIndex
422
- );
423
- }
424
- size = positions.length;
425
- const boundingSphere3D = BoundingSphere_default.fromPoints(positions);
426
- let orientedBoundingBox;
427
- if (defined_default(rectangle)) {
428
- orientedBoundingBox = OrientedBoundingBox_default.fromRectangle(
429
- rectangle,
430
- minHeight,
431
- maxHeight,
432
- ellipsoid
433
- );
434
- }
435
- const occluder = new EllipsoidalOccluder_default(ellipsoid);
436
- const occludeePointInScaledSpace = occluder.computeHorizonCullingPointPossiblyUnderEllipsoid(
437
- relativeToCenter,
438
- positions,
439
- minHeight
440
- );
441
- const aaBox = new AxisAlignedBoundingBox_default(minimum, maximum, relativeToCenter);
442
- const encoding = new TerrainEncoding_default(
443
- relativeToCenter,
444
- aaBox,
445
- skirtOptions.hMin,
446
- maxHeight,
447
- fromENU,
448
- false,
449
- includeWebMercatorT,
450
- includeGeodeticSurfaceNormals,
451
- exaggeration,
452
- exaggerationRelativeHeight
453
- );
454
- const vertices = new Float32Array(size * encoding.stride);
455
- let bufferIndex = 0;
456
- for (let k = 0; k < size; ++k) {
457
- bufferIndex = encoding.encode(
458
- vertices,
459
- bufferIndex,
460
- positions[k],
461
- uvs[k],
462
- heights[k],
463
- void 0,
464
- webMercatorTs[k],
465
- geodeticSurfaceNormals[k]
466
- );
467
- }
468
- const westIndicesSouthToNorth = westBorder.map(function(vertex) {
469
- return vertex.index;
470
- }).reverse();
471
- const southIndicesEastToWest = southBorder.map(function(vertex) {
472
- return vertex.index;
473
- }).reverse();
474
- const eastIndicesNorthToSouth = eastBorder.map(function(vertex) {
475
- return vertex.index;
476
- }).reverse();
477
- const northIndicesWestToEast = northBorder.map(function(vertex) {
478
- return vertex.index;
479
- }).reverse();
480
- southIndicesEastToWest.unshift(
481
- eastIndicesNorthToSouth[eastIndicesNorthToSouth.length - 1]
482
- );
483
- southIndicesEastToWest.push(westIndicesSouthToNorth[0]);
484
- northIndicesWestToEast.unshift(
485
- westIndicesSouthToNorth[westIndicesSouthToNorth.length - 1]
486
- );
487
- northIndicesWestToEast.push(eastIndicesNorthToSouth[0]);
488
- return {
489
- vertices,
490
- indices: new Uint16Array(indices),
491
- maximumHeight: maxHeight,
492
- minimumHeight: minHeight,
493
- encoding,
494
- boundingSphere3D,
495
- orientedBoundingBox,
496
- occludeePointInScaledSpace,
497
- vertexCountWithoutSkirts,
498
- indexCountWithoutSkirts,
499
- westIndicesSouthToNorth,
500
- southIndicesEastToWest,
501
- eastIndicesNorthToSouth,
502
- northIndicesWestToEast
503
- };
504
- }
505
- function addSkirt(positions, heights, uvs, webMercatorTs, geodeticSurfaceNormals, indices, skirtOptions, borderPoints, fudgeFactor, eastOrWest, cornerFudge) {
506
- const count = borderPoints.length;
507
- for (let j = 0; j < count; ++j) {
508
- const borderPoint = borderPoints[j];
509
- const borderCartographic = borderPoint.cartographic;
510
- const borderIndex = borderPoint.index;
511
- const currentIndex = positions.length;
512
- const longitude = borderCartographic.longitude;
513
- let latitude = borderCartographic.latitude;
514
- latitude = Math_default.clamp(
515
- latitude,
516
- -Math_default.PI_OVER_TWO,
517
- Math_default.PI_OVER_TWO
518
- );
519
- const height = borderCartographic.height - skirtOptions.skirtHeight;
520
- skirtOptions.hMin = Math.min(skirtOptions.hMin, height);
521
- Cartographic_default.fromRadians(longitude, latitude, height, scratchCartographic);
522
- if (eastOrWest) {
523
- scratchCartographic.longitude += fudgeFactor;
524
- }
525
- if (!eastOrWest) {
526
- scratchCartographic.latitude += fudgeFactor;
527
- } else if (j === count - 1) {
528
- scratchCartographic.latitude += cornerFudge;
529
- } else if (j === 0) {
530
- scratchCartographic.latitude -= cornerFudge;
531
- }
532
- const pos = skirtOptions.ellipsoid.cartographicToCartesian(
533
- scratchCartographic
534
- );
535
- positions.push(pos);
536
- heights.push(height);
537
- uvs.push(Cartesian2_default.clone(uvs[borderIndex]));
538
- if (webMercatorTs.length > 0) {
539
- webMercatorTs.push(webMercatorTs[borderIndex]);
540
- }
541
- if (geodeticSurfaceNormals.length > 0) {
542
- geodeticSurfaceNormals.push(geodeticSurfaceNormals[borderIndex]);
543
- }
544
- Matrix4_default.multiplyByPoint(skirtOptions.toENU, pos, scratchCartesian);
545
- const minimum = skirtOptions.minimum;
546
- const maximum = skirtOptions.maximum;
547
- Cartesian3_default.minimumByComponent(scratchCartesian, minimum, minimum);
548
- Cartesian3_default.maximumByComponent(scratchCartesian, maximum, maximum);
549
- const lastBorderPoint = skirtOptions.lastBorderPoint;
550
- if (defined_default(lastBorderPoint)) {
551
- const lastBorderIndex = lastBorderPoint.index;
552
- indices.push(
553
- lastBorderIndex,
554
- currentIndex - 1,
555
- currentIndex,
556
- currentIndex,
557
- borderIndex,
558
- lastBorderIndex
559
- );
560
- }
561
- skirtOptions.lastBorderPoint = borderPoint;
562
- }
563
- }
564
- var createVerticesFromGoogleEarthEnterpriseBuffer_default = createTaskProcessorWorker_default(
565
- createVerticesFromGoogleEarthEnterpriseBuffer
566
- );
567
- export {
568
- createVerticesFromGoogleEarthEnterpriseBuffer_default as default
569
- };
26
+ import{a as Dt,b as Gt}from"./chunk-7HTKERZY.js";import{a as Lt}from"./chunk-WZDE3RYP.js";import{a as lt}from"./chunk-DQQ63PYM.js";import{a as qt}from"./chunk-CNCV5UL7.js";import"./chunk-DEPHB2WM.js";import"./chunk-TCGIRNHN.js";import{a as kt}from"./chunk-N4VJKXZS.js";import"./chunk-DMEY62ID.js";import"./chunk-HTFSEEMT.js";import{d as zt}from"./chunk-4IW2T6GF.js";import{b as $,g as Ot,h as Vt}from"./chunk-PSPPBZWI.js";import"./chunk-AU7IKHOH.js";import{a as P,b as N,c as wt,d as Ut}from"./chunk-64RSHJUE.js";import{a as r}from"./chunk-3SSKC3VN.js";import"./chunk-OSW76XDF.js";import{a as Ht}from"./chunk-ED5JPB3S.js";import"./chunk-LEYMRMBK.js";import{e as ht}from"./chunk-VTAIKJXX.js";var $t=Uint16Array.BYTES_PER_ELEMENT,mt=Int32Array.BYTES_PER_ELEMENT,Pt=Uint32Array.BYTES_PER_ELEMENT,te=Float32Array.BYTES_PER_ELEMENT,H=Float64Array.BYTES_PER_ELEMENT;function tt(n,l,e){e=e??r;let i=n.length;for(let c=0;c<i;++c)if(e.equalsEpsilon(n[c],l,r.EPSILON12))return c;return-1}function ee(n,l){n.ellipsoid=Ut.clone(n.ellipsoid),n.rectangle=Vt.clone(n.rectangle);let e=re(n.buffer,n.relativeToCenter,n.ellipsoid,n.rectangle,n.nativeRectangle,n.exaggeration,n.exaggerationRelativeHeight,n.skirtHeight,n.includeWebMercatorT,n.negativeAltitudeExponentBias,n.negativeElevationThreshold),i=e.vertices;l.push(i.buffer);let c=e.indices;return l.push(c.buffer),{vertices:i.buffer,indices:c.buffer,numberOfAttributes:e.encoding.stride,minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight,boundingSphere3D:e.boundingSphere3D,orientedBoundingBox:e.orientedBoundingBox,occludeePointInScaledSpace:e.occludeePointInScaledSpace,encoding:e.encoding,vertexCountWithoutSkirts:e.vertexCountWithoutSkirts,indexCountWithoutSkirts:e.indexCountWithoutSkirts,westIndicesSouthToNorth:e.westIndicesSouthToNorth,southIndicesEastToWest:e.southIndicesEastToWest,eastIndicesNorthToSouth:e.eastIndicesNorthToSouth,northIndicesWestToEast:e.northIndicesWestToEast}}var u=new N,G=new P,oe=new P,ne=new P,ie=new $;function re(n,l,e,i,c,et,m,ot,T,nt,it){let I,h,E,f,x,p;ht(i)?(I=i.west,h=i.south,E=i.east,f=i.north,x=i.width,p=i.height):(I=r.toRadians(c.west),h=r.toRadians(c.south),E=r.toRadians(c.east),f=r.toRadians(c.north),x=r.toRadians(i.width),p=r.toRadians(i.height));let X=[h,f],A=[I,E],O=Ot.eastNorthUpToFixedFrame(l,e),j=$.inverseTransformation(O,ie),V,Q;T&&(V=lt.geodeticLatitudeToMercatorAngle(h),Q=1/(lt.geodeticLatitudeToMercatorAngle(f)-V));let y=et!==1,a=new DataView(n),z=Number.POSITIVE_INFINITY,J=Number.NEGATIVE_INFINITY,b=oe;b.x=Number.POSITIVE_INFINITY,b.y=Number.POSITIVE_INFINITY,b.z=Number.POSITIVE_INFINITY;let M=ne;M.x=Number.NEGATIVE_INFINITY,M.y=Number.NEGATIVE_INFINITY,M.z=Number.NEGATIVE_INFINITY;let o=0,S=0,At=0,rt,L;for(L=0;L<4;++L){let t=o;rt=a.getUint32(t,!0),t+=Pt;let d=r.toRadians(a.getFloat64(t,!0)*180);t+=H,tt(A,d)===-1&&A.push(d);let Y=r.toRadians(a.getFloat64(t,!0)*180);t+=H,tt(X,Y)===-1&&X.push(Y),t+=2*H;let B=a.getInt32(t,!0);t+=mt,S+=B,B=a.getInt32(t,!0),At+=B*3,o+=rt+Pt}let yt=[],bt=[],g=new Array(S),R=new Array(S),_=new Array(S),C=T?new Array(S):[],F=y?new Array(S):[],v=new Array(At),k=[],st=[],ct=[],W=[],s=0,pt=0;for(o=0,L=0;L<4;++L){rt=a.getUint32(o,!0),o+=Pt;let t=o,d=r.toRadians(a.getFloat64(o,!0)*180);o+=H;let Y=r.toRadians(a.getFloat64(o,!0)*180);o+=H;let B=r.toRadians(a.getFloat64(o,!0)*180),Ft=B*.5;o+=H;let vt=r.toRadians(a.getFloat64(o,!0)*180),Wt=vt*.5;o+=H;let Yt=a.getInt32(o,!0);o+=mt;let Kt=a.getInt32(o,!0);o+=mt,o+=mt;let St=new Array(Yt);for(let U=0;U<Yt;++U){let Z=d+a.getUint8(o++)*B;u.longitude=Z;let D=Y+a.getUint8(o++)*vt;u.latitude=D;let w=a.getFloat32(o,!0);if(o+=te,w!==0&&w<it&&(w*=-Math.pow(2,nt)),w*=6371010,u.height=w,tt(A,Z)!==-1||tt(X,D)!==-1){let dt=tt(yt,u,N);if(dt===-1)yt.push(N.clone(u)),bt.push(s);else{St[U]=bt[dt];continue}}St[U]=s,Math.abs(Z-I)<Ft?k.push({index:s,cartographic:N.clone(u)}):Math.abs(Z-E)<Ft?ct.push({index:s,cartographic:N.clone(u)}):Math.abs(D-h)<Wt?st.push({index:s,cartographic:N.clone(u)}):Math.abs(D-f)<Wt&&W.push({index:s,cartographic:N.clone(u)}),z=Math.min(w,z),J=Math.max(w,J),_[s]=w;let Nt=e.cartographicToCartesian(u);if(g[s]=Nt,T&&(C[s]=(lt.geodeticLatitudeToMercatorAngle(D)-V)*Q),y){let dt=e.geodeticSurfaceNormal(Nt);F[s]=dt}$.multiplyByPoint(j,Nt,G),P.minimumByComponent(G,b,b),P.maximumByComponent(G,M,M);let Tt=(Z-I)/(E-I);Tt=r.clamp(Tt,0,1);let Bt=(D-h)/(f-h);Bt=r.clamp(Bt,0,1),R[s]=new wt(Tt,Bt),++s}let Zt=Kt*3;for(let U=0;U<Zt;++U,++pt)v[pt]=St[a.getUint16(o,!0)],o+=$t;if(rt!==o-t)throw new Ht("Invalid terrain tile.")}g.length=s,R.length=s,_.length=s,T&&(C.length=s),y&&(F.length=s);let Mt=s,Xt=pt,K={hMin:z,lastBorderPoint:void 0,skirtHeight:ot,toENU:j,ellipsoid:e,minimum:b,maximum:M};k.sort(function(t,d){return d.cartographic.latitude-t.cartographic.latitude}),st.sort(function(t,d){return t.cartographic.longitude-d.cartographic.longitude}),ct.sort(function(t,d){return t.cartographic.latitude-d.cartographic.latitude}),W.sort(function(t,d){return d.cartographic.longitude-t.cartographic.longitude});let q=1e-5;if(gt(g,_,R,C,F,v,K,k,-q*x,!0,-q*p),gt(g,_,R,C,F,v,K,st,-q*p,!1),gt(g,_,R,C,F,v,K,ct,q*x,!0,q*p),gt(g,_,R,C,F,v,K,W,q*p,!1),k.length>0&&W.length>0){let t=k[0].index,d=Mt,Y=W[W.length-1].index,B=g.length-1;v.push(Y,B,d,d,t,Y)}S=g.length;let jt=zt.fromPoints(g),Rt;ht(i)&&(Rt=qt.fromRectangle(i,z,J,e));let Qt=new Dt(e).computeHorizonCullingPointPossiblyUnderEllipsoid(l,g,z),Jt=new kt(b,M,l),It=new Gt(l,Jt,K.hMin,J,O,!1,T,y,et,m),_t=new Float32Array(S*It.stride),Ct=0;for(let t=0;t<S;++t)Ct=It.encode(_t,Ct,g[t],R[t],_[t],void 0,C[t],F[t]);let at=k.map(function(t){return t.index}).reverse(),Et=st.map(function(t){return t.index}).reverse(),ut=ct.map(function(t){return t.index}).reverse(),xt=W.map(function(t){return t.index}).reverse();return Et.unshift(ut[ut.length-1]),Et.push(at[0]),xt.unshift(at[at.length-1]),xt.push(ut[0]),{vertices:_t,indices:new Uint16Array(v),maximumHeight:J,minimumHeight:z,encoding:It,boundingSphere3D:jt,orientedBoundingBox:Rt,occludeePointInScaledSpace:Qt,vertexCountWithoutSkirts:Mt,indexCountWithoutSkirts:Xt,westIndicesSouthToNorth:at,southIndicesEastToWest:Et,eastIndicesNorthToSouth:ut,northIndicesWestToEast:xt}}function gt(n,l,e,i,c,et,m,ot,T,nt,it){let I=ot.length;for(let h=0;h<I;++h){let E=ot[h],f=E.cartographic,x=E.index,p=n.length,X=f.longitude,A=f.latitude;A=r.clamp(A,-r.PI_OVER_TWO,r.PI_OVER_TWO);let O=f.height-m.skirtHeight;m.hMin=Math.min(m.hMin,O),N.fromRadians(X,A,O,u),nt&&(u.longitude+=T),nt?h===I-1?u.latitude+=it:h===0&&(u.latitude-=it):u.latitude+=T;let j=m.ellipsoid.cartographicToCartesian(u);n.push(j),l.push(O),e.push(wt.clone(e[x])),i.length>0&&i.push(i[x]),c.length>0&&c.push(c[x]),$.multiplyByPoint(m.toENU,j,G);let V=m.minimum,Q=m.maximum;P.minimumByComponent(G,V,V),P.maximumByComponent(G,Q,Q);let ft=m.lastBorderPoint;if(ht(ft)){let y=ft.index;et.push(y,p-1,p,p,x,y)}m.lastBorderPoint=E}}var we=Lt(ee);export{we as default};