@pggis/pg-sdk 3.3.10 → 3.5.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 (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/resources/ThirdParty/Workers/pako_deflate.min.js +1 -2
  5. package/dist/resources/ThirdParty/Workers/pako_inflate.min.js +1 -2
  6. package/dist/resources/ThirdParty/Workers/z-worker-pako.js +1 -1
  7. package/dist/resources/ThirdParty/google-earth-dbroot-parser.js +1 -8337
  8. package/dist/resources/ThirdParty/wasm_splats_bg.wasm +0 -0
  9. package/dist/resources/Workers/chunk-35SHYARM.js +26 -0
  10. package/dist/resources/Workers/chunk-37F5JSTI.js +26 -0
  11. package/dist/resources/Workers/chunk-3SSKC3VN.js +26 -0
  12. package/dist/resources/Workers/chunk-3W4GT7KQ.js +26 -0
  13. package/dist/resources/Workers/chunk-4IW2T6GF.js +26 -0
  14. package/dist/resources/Workers/chunk-5YEWO3HT.js +26 -0
  15. package/dist/resources/Workers/chunk-64RSHJUE.js +28 -0
  16. package/dist/resources/Workers/chunk-77IHZJJ3.js +26 -0
  17. package/dist/resources/Workers/chunk-7HTKERZY.js +26 -0
  18. package/dist/resources/Workers/{chunk-F3YA3Y2Z.js → chunk-A56XVLQR.js} +2 -13
  19. package/dist/resources/Workers/chunk-AJYK4IVJ.js +26 -0
  20. package/dist/resources/Workers/{chunk-EHWHNOEX.js → chunk-ARG42DC4.js} +2 -31
  21. package/dist/resources/Workers/chunk-AU7IKHOH.js +26 -0
  22. package/dist/resources/Workers/chunk-B4AA3ARO.js +26 -0
  23. package/dist/resources/Workers/chunk-CNCV5UL7.js +26 -0
  24. package/dist/resources/Workers/chunk-CYCB63OH.js +26 -0
  25. package/dist/resources/Workers/{chunk-4H7PY4U5.js → chunk-D6AA5QVT.js} +2 -20
  26. package/dist/resources/Workers/chunk-D6C66QON.js +26 -0
  27. package/dist/resources/Workers/chunk-DEPHB2WM.js +26 -0
  28. package/dist/resources/Workers/chunk-DMEY62ID.js +26 -0
  29. package/dist/resources/Workers/chunk-DQQ63PYM.js +26 -0
  30. package/dist/resources/Workers/chunk-ED5JPB3S.js +27 -0
  31. package/dist/resources/Workers/chunk-EZUYS2JF.js +26 -0
  32. package/dist/resources/Workers/chunk-FEVXJ54I.js +26 -0
  33. package/dist/resources/Workers/chunk-G5AGHVVC.js +26 -0
  34. package/dist/resources/Workers/{chunk-BBWDMCVU.js → chunk-GBYLG25F.js} +2 -15
  35. package/dist/resources/Workers/chunk-GILIDQNQ.js +26 -0
  36. package/dist/resources/Workers/chunk-HMIYSTF6.js +26 -0
  37. package/dist/resources/Workers/chunk-HTFSEEMT.js +26 -0
  38. package/dist/resources/Workers/chunk-HWXX4CWK.js +26 -0
  39. package/dist/resources/Workers/chunk-IYTZ52EY.js +26 -0
  40. package/dist/resources/Workers/chunk-J6UP6FLE.js +26 -0
  41. package/dist/resources/Workers/chunk-LEYMRMBK.js +27 -0
  42. package/dist/resources/Workers/chunk-M3MGYQSL.js +26 -0
  43. package/dist/resources/Workers/chunk-N4VJKXZS.js +26 -0
  44. package/dist/resources/Workers/chunk-NB3ML6JO.js +26 -0
  45. package/dist/resources/Workers/chunk-OFUUQVMR.js +26 -0
  46. package/dist/resources/Workers/chunk-OSW76XDF.js +26 -0
  47. package/dist/resources/Workers/chunk-PSPPBZWI.js +66 -0
  48. package/dist/resources/Workers/chunk-QN3VOORQ.js +26 -0
  49. package/dist/resources/Workers/chunk-QOUAJ6TL.js +26 -0
  50. package/dist/resources/Workers/chunk-RCV6KWXS.js +26 -0
  51. package/dist/resources/Workers/chunk-TCGIRNHN.js +26 -0
  52. package/dist/resources/Workers/chunk-U4IEOH5K.js +26 -0
  53. package/dist/resources/Workers/chunk-UP6I5URU.js +26 -0
  54. package/dist/resources/Workers/chunk-VTAIKJXX.js +26 -0
  55. package/dist/resources/Workers/chunk-VTBDSFTG.js +26 -0
  56. package/dist/resources/Workers/chunk-VW6VD53G.js +26 -0
  57. package/dist/resources/Workers/chunk-WGGIH7QW.js +26 -0
  58. package/dist/resources/Workers/chunk-WWA5PL4H.js +26 -0
  59. package/dist/resources/Workers/chunk-WZDE3RYP.js +28 -0
  60. package/dist/resources/Workers/chunk-XRL4AVS5.js +26 -0
  61. package/dist/resources/Workers/combineGeometry.js +2 -44
  62. package/dist/resources/Workers/createBoxGeometry.js +2 -34
  63. package/dist/resources/Workers/createBoxOutlineGeometry.js +2 -211
  64. package/dist/resources/Workers/createCircleGeometry.js +2 -173
  65. package/dist/resources/Workers/createCircleOutlineGeometry.js +2 -123
  66. package/dist/resources/Workers/createCoplanarPolygonGeometry.js +2 -482
  67. package/dist/resources/Workers/createCoplanarPolygonOutlineGeometry.js +2 -201
  68. package/dist/resources/Workers/createCorridorGeometry.js +2 -1239
  69. package/dist/resources/Workers/createCorridorOutlineGeometry.js +2 -544
  70. package/dist/resources/Workers/createCylinderGeometry.js +2 -36
  71. package/dist/resources/Workers/createCylinderOutlineGeometry.js +2 -207
  72. package/dist/resources/Workers/createEllipseGeometry.js +2 -47
  73. package/dist/resources/Workers/createEllipseOutlineGeometry.js +2 -40
  74. package/dist/resources/Workers/createEllipsoidGeometry.js +2 -35
  75. package/dist/resources/Workers/createEllipsoidOutlineGeometry.js +2 -37
  76. package/dist/resources/Workers/createFrustumGeometry.js +2 -34
  77. package/dist/resources/Workers/createFrustumOutlineGeometry.js +2 -211
  78. package/dist/resources/Workers/createGeometry.js +2 -147
  79. package/dist/resources/Workers/createGroundPolylineGeometry.js +2 -1584
  80. package/dist/resources/Workers/createPlaneGeometry.js +2 -200
  81. package/dist/resources/Workers/createPlaneOutlineGeometry.js +2 -100
  82. package/dist/resources/Workers/createPolygonGeometry.js +2 -1387
  83. package/dist/resources/Workers/createPolygonOutlineGeometry.js +2 -519
  84. package/dist/resources/Workers/createPolylineGeometry.js +2 -472
  85. package/dist/resources/Workers/createPolylineVolumeGeometry.js +2 -355
  86. package/dist/resources/Workers/createPolylineVolumeOutlineGeometry.js +2 -253
  87. package/dist/resources/Workers/createRectangleGeometry.js +2 -1250
  88. package/dist/resources/Workers/createRectangleOutlineGeometry.js +2 -455
  89. package/dist/resources/Workers/createSimplePolylineGeometry.js +2 -376
  90. package/dist/resources/Workers/createSphereGeometry.js +2 -94
  91. package/dist/resources/Workers/createSphereOutlineGeometry.js +2 -94
  92. package/dist/resources/Workers/createTaskProcessorWorker.js +2 -8
  93. package/dist/resources/Workers/createVectorTileClampedPolylines.js +2 -468
  94. package/dist/resources/Workers/createVectorTileGeometries.js +2 -363
  95. package/dist/resources/Workers/createVectorTilePoints.js +2 -88
  96. package/dist/resources/Workers/createVectorTilePolygons.js +2 -361
  97. package/dist/resources/Workers/createVectorTilePolylines.js +2 -238
  98. package/dist/resources/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +2 -545
  99. package/dist/resources/Workers/createVerticesFromHeightmap.js +2 -2254
  100. package/dist/resources/Workers/createVerticesFromQuantizedTerrainMesh.js +2 -722
  101. package/dist/resources/Workers/createWallGeometry.js +2 -466
  102. package/dist/resources/Workers/createWallOutlineGeometry.js +2 -314
  103. package/dist/resources/Workers/decodeDraco.js +2 -345
  104. package/dist/resources/Workers/decodeGoogleEarthEnterprisePacket.js +2 -2626
  105. package/dist/resources/Workers/decodeI3S.js +2 -1320
  106. package/dist/resources/Workers/gaussianSplatSorter.js +26 -0
  107. package/dist/resources/Workers/gaussianSplatTextureGenerator.js +26 -0
  108. package/dist/resources/Workers/transcodeKTX2.js +29 -3398
  109. package/dist/resources/Workers/transferTypedArrayTest.js +2 -17
  110. package/dist/resources/Workers/upsampleQuantizedTerrainMesh.js +2 -795
  111. package/package.json +9 -8
  112. package/dist/pggis.min.js +0 -14796
  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};