deeptwins-engine-3d 0.1.76 → 0.2.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 (238) hide show
  1. package/dist/assets/Build/DeepTwins/Image/noise.png +0 -0
  2. package/dist/assets/Build/DeepTwins/Workers/CustomRasterClip.worker.js +1 -2
  3. package/dist/assets/Build/DeepTwins/Workers/MvtVector.worker.js +1 -1
  4. package/dist/assets/Build/Map3d/ThirdParty/Workers/zip-web-worker.js +640 -0
  5. package/dist/assets/Build/Map3d/ThirdParty/wasm_splats_bg.wasm +0 -0
  6. package/dist/assets/Build/Map3d/ThirdParty/zip-module.wasm +0 -0
  7. package/dist/assets/Build/Map3d/Workers/chunk-27NG6PQR.js +456 -0
  8. package/dist/assets/Build/Map3d/Workers/chunk-2JVMMMWT.js +353 -0
  9. package/dist/assets/Build/Map3d/Workers/chunk-2Y2XYQCS.js +1481 -0
  10. package/dist/assets/Build/Map3d/Workers/chunk-34RF3V5G.js +220 -0
  11. package/dist/assets/Build/Map3d/Workers/chunk-35H7BYLJ.js +1800 -0
  12. package/dist/assets/Build/Map3d/Workers/chunk-57OGEF5V.js +435 -0
  13. package/dist/assets/Build/Map3d/Workers/chunk-5PX3DYJA.js +196 -0
  14. package/dist/assets/Build/Map3d/Workers/chunk-7B5XGQRN.js +171 -0
  15. package/dist/assets/Build/Map3d/Workers/chunk-ATLWOZFF.js +39 -0
  16. package/dist/assets/Build/Map3d/Workers/chunk-BMSUECTA.js +1055 -0
  17. package/dist/assets/Build/Map3d/Workers/chunk-C6IA4TKW.js +476 -0
  18. package/dist/assets/Build/Map3d/Workers/chunk-CZ44I32U.js +157 -0
  19. package/dist/assets/Build/Map3d/Workers/chunk-DE6UV44R.js +122 -0
  20. package/dist/assets/Build/Map3d/Workers/chunk-DUCCKVOG.js +834 -0
  21. package/dist/assets/Build/Map3d/Workers/chunk-EBJBPIYX.js +239 -0
  22. package/dist/assets/Build/Map3d/Workers/chunk-EYSYQ2R6.js +138 -0
  23. package/dist/assets/Build/Map3d/Workers/chunk-FMCAAUQI.js +368 -0
  24. package/dist/assets/Build/Map3d/Workers/chunk-GMYZNRRQ.js +2717 -0
  25. package/dist/assets/Build/Map3d/Workers/chunk-GWPNZZV4.js +781 -0
  26. package/dist/assets/Build/Map3d/Workers/chunk-HLP2U4KW.js +758 -0
  27. package/dist/assets/Build/Map3d/Workers/chunk-HSJSUPQV.js +500 -0
  28. package/dist/assets/Build/Map3d/Workers/chunk-I73Q3AG7.js +58 -0
  29. package/dist/assets/Build/Map3d/Workers/chunk-IMZ4YIMV.js +511 -0
  30. package/dist/assets/Build/Map3d/Workers/chunk-IZSK4DVF.js +421 -0
  31. package/dist/assets/Build/Map3d/Workers/chunk-JKLMRPKK.js +75 -0
  32. package/dist/assets/Build/Map3d/Workers/chunk-KGM345JM.js +691 -0
  33. package/dist/assets/Build/Map3d/Workers/chunk-L4IR5U4G.js +102 -0
  34. package/dist/assets/Build/Map3d/Workers/chunk-MG4EVQH2.js +44 -0
  35. package/dist/assets/Build/Map3d/Workers/chunk-NXWEFAZJ.js +300 -0
  36. package/dist/assets/Build/Map3d/Workers/chunk-PDFAJISJ.js +59 -0
  37. package/dist/assets/Build/Map3d/Workers/chunk-PHWZFJR5.js +100 -0
  38. package/dist/assets/Build/Map3d/Workers/chunk-PLE7CHBE.js +101 -0
  39. package/dist/assets/Build/Map3d/Workers/chunk-PN3GIZ5Q.js +163 -0
  40. package/dist/assets/Build/Map3d/Workers/chunk-PXL5XLHV.js +1073 -0
  41. package/dist/assets/Build/Map3d/Workers/chunk-QYXOF5JC.js +959 -0
  42. package/dist/assets/Build/Map3d/Workers/chunk-R2LIFXV3.js +115 -0
  43. package/dist/assets/Build/Map3d/Workers/chunk-R4W6IRJZ.js +10357 -0
  44. package/dist/assets/Build/Map3d/Workers/chunk-R5PZXG56.js +1258 -0
  45. package/dist/assets/Build/Map3d/Workers/chunk-RZQLZIUI.js +629 -0
  46. package/dist/assets/Build/Map3d/Workers/chunk-SIBDD6Y4.js +390 -0
  47. package/dist/assets/Build/Map3d/Workers/chunk-U5NN6JTQ.js +398 -0
  48. package/dist/assets/Build/Map3d/Workers/chunk-UA5RPPP3.js +73 -0
  49. package/dist/assets/Build/Map3d/Workers/chunk-UXLKFS3C.js +305 -0
  50. package/dist/assets/Build/Map3d/Workers/chunk-VUX4BQIM.js +37 -0
  51. package/dist/assets/Build/Map3d/Workers/chunk-WJDUUUJS.js +684 -0
  52. package/dist/assets/Build/Map3d/Workers/chunk-XBJOJHWX.js +139 -0
  53. package/dist/assets/Build/Map3d/Workers/chunk-XJDMTNKD.js +634 -0
  54. package/dist/assets/Build/Map3d/Workers/chunk-XUCXZZE5.js +963 -0
  55. package/dist/assets/Build/Map3d/Workers/chunk-YIKGVMJ5.js +287 -0
  56. package/dist/assets/Build/Map3d/Workers/chunk-YTNCIBPQ.js +262 -0
  57. package/dist/assets/Build/Map3d/Workers/chunk-ZMDUYETO.js +55 -0
  58. package/dist/assets/Build/Map3d/Workers/chunk-ZW52HXFN.js +2857 -0
  59. package/dist/esm/analyze/LineOfSightAnalysis.js +1 -326
  60. package/dist/esm/analyze/SubmergenceAnalysis.js +1 -137
  61. package/dist/esm/analyze/SunLightAnalysis.js +1 -91
  62. package/dist/esm/analyze/TerrainExcavationAnalysis.js +1 -612
  63. package/dist/esm/analyze/ViewshedAnalysis.js +1 -292
  64. package/dist/esm/cameraControl/ModelRoamHistory.js +1 -639
  65. package/dist/esm/cameraControl/ModelRoamRealTime.js +1 -874
  66. package/dist/esm/cameraControl/Roam.js +1 -418
  67. package/dist/esm/cameraControl/Rotate.js +1 -134
  68. package/dist/esm/cameraControl/RotateInPlace.js +1 -99
  69. package/dist/esm/constant.d.ts +90 -0
  70. package/dist/esm/constant.js +1 -1287
  71. package/dist/esm/deepTwins/index.js +1 -121
  72. package/dist/esm/drawCommand/index.js +1 -3
  73. package/dist/esm/drawCommand/viewShed/Event.js +1 -142
  74. package/dist/esm/drawCommand/viewShed/RectangularSensorPrimitive.js +1 -1306
  75. package/dist/esm/drawCommand/viewShed/ViewShadowPrimitive.js +1 -66
  76. package/dist/esm/drawCommand/viewShed/ViewShedAnalyserLayer.js +1 -466
  77. package/dist/esm/drawCommand/viewShed/ViewShedMap.js +1 -1238
  78. package/dist/esm/drawCommand/viewShed/config.js +1 -21
  79. package/dist/esm/drawCommand/volumeCloud/GeometryPrimitive.js +1 -89
  80. package/dist/esm/drawCommand/volumeCloud/ImprovedNoise.js +1 -112
  81. package/dist/esm/drawCommand/volumeCloud/VolumeClouds.js +1 -91
  82. package/dist/esm/drawer/algorithm.js +1 -314
  83. package/dist/esm/drawer/common.js +1 -965
  84. package/dist/esm/drawer/coordinate.js +1 -184
  85. package/dist/esm/drawer/index.d.ts +1 -1
  86. package/dist/esm/drawer/index.js +1 -688
  87. package/dist/esm/drawer/plotUtil.js +1 -266
  88. package/dist/esm/drawer/shape/Assemble.js +1 -415
  89. package/dist/esm/drawer/shape/AttackArrow.js +1 -442
  90. package/dist/esm/drawer/shape/BaseShape.js +1 -383
  91. package/dist/esm/drawer/shape/Bow.js +1 -375
  92. package/dist/esm/drawer/shape/Circle.js +1 -461
  93. package/dist/esm/drawer/shape/Curve.js +1 -386
  94. package/dist/esm/drawer/shape/DragPoint.js +1 -211
  95. package/dist/esm/drawer/shape/Elliptic.js +1 -491
  96. package/dist/esm/drawer/shape/Formation.js +1 -395
  97. package/dist/esm/drawer/shape/PincerArrow.js +1 -445
  98. package/dist/esm/drawer/shape/Point.js +1 -131
  99. package/dist/esm/drawer/shape/Polygon.js +1 -368
  100. package/dist/esm/drawer/shape/Polyline.js +1 -325
  101. package/dist/esm/drawer/shape/RegularPolygon.js +1 -468
  102. package/dist/esm/drawer/shape/RightAngleArrow.js +1 -423
  103. package/dist/esm/drawer/shape/Sector.js +1 -568
  104. package/dist/esm/drawer/shape/StraightArrow.js +1 -422
  105. package/dist/esm/drawer/shape/SwallowtailArrow.js +1 -438
  106. package/dist/esm/drawer/types.js +1 -11
  107. package/dist/esm/drawer/utils.js +1 -381
  108. package/dist/esm/global.css +22 -1
  109. package/dist/esm/graphicLayer/BaseEntity.js +1 -51
  110. package/dist/esm/graphicLayer/BaseLayer.js +1 -730
  111. package/dist/esm/graphicLayer/BasePointPrimitive.js +1 -45
  112. package/dist/esm/graphicLayer/BasePrimitive.js +1 -36
  113. package/dist/esm/graphicLayer/BasePrimitiveInstance.js +1 -37
  114. package/dist/esm/graphicLayer/BaseSource.d.ts +1 -1
  115. package/dist/esm/graphicLayer/BaseSource.js +1 -630
  116. package/dist/esm/graphicLayer/BillboardEntity.js +1 -106
  117. package/dist/esm/graphicLayer/BillboardPrimitive.js +1 -119
  118. package/dist/esm/graphicLayer/BoxEntity.js +1 -99
  119. package/dist/esm/graphicLayer/BoxPrimitive.js +1 -48
  120. package/dist/esm/graphicLayer/BoxPrimitiveInstance.js +1 -91
  121. package/dist/esm/graphicLayer/EllipseEntity.js +1 -110
  122. package/dist/esm/graphicLayer/EllipsePrimitive.js +1 -47
  123. package/dist/esm/graphicLayer/EllipsePrimitiveInstance.js +1 -98
  124. package/dist/esm/graphicLayer/EllipsoidEntity.js +1 -118
  125. package/dist/esm/graphicLayer/EllipsoidPrimitive.js +1 -48
  126. package/dist/esm/graphicLayer/EllipsoidPrimitiveInstance.js +1 -113
  127. package/dist/esm/graphicLayer/GraphicLayerCollection.js +1 -491
  128. package/dist/esm/graphicLayer/HtmlEntity.d.ts +4 -0
  129. package/dist/esm/graphicLayer/HtmlEntity.js +1 -189
  130. package/dist/esm/graphicLayer/LabelEntity.js +1 -110
  131. package/dist/esm/graphicLayer/LabelPrimitive.js +1 -127
  132. package/dist/esm/graphicLayer/ModelEntity.js +1 -122
  133. package/dist/esm/graphicLayer/ModelPrimitive.js +1 -59
  134. package/dist/esm/graphicLayer/ModelPrimitiveInstance.js +1 -86
  135. package/dist/esm/graphicLayer/PointEntity.js +1 -94
  136. package/dist/esm/graphicLayer/PointPrimitive.js +1 -107
  137. package/dist/esm/graphicLayer/PolygonEntity.js +1 -103
  138. package/dist/esm/graphicLayer/PolygonGroundPrimitive.js +1 -49
  139. package/dist/esm/graphicLayer/PolygonGroundPrimitiveImageMaterialInstance.js +1 -87
  140. package/dist/esm/graphicLayer/PolygonPrimitive.js +1 -60
  141. package/dist/esm/graphicLayer/PolygonPrimitiveImageMaterialInstance.js +1 -84
  142. package/dist/esm/graphicLayer/PolygonPrimitiveInstance.js +1 -101
  143. package/dist/esm/graphicLayer/PolylineEntity.js +1 -96
  144. package/dist/esm/graphicLayer/PolylineGroundPrimitive.js +1 -55
  145. package/dist/esm/graphicLayer/PolylineGroundPrimitiveInstance.js +1 -85
  146. package/dist/esm/graphicLayer/PolylinePrimitive.js +1 -53
  147. package/dist/esm/graphicLayer/PolylinePrimitiveInstance.js +1 -85
  148. package/dist/esm/graphicLayer/PolylineVolumeEntity.js +1 -105
  149. package/dist/esm/graphicLayer/PolylineVolumePrimitive.js +1 -47
  150. package/dist/esm/graphicLayer/PolylineVolumePrimitiveInstance.js +1 -94
  151. package/dist/esm/graphicLayer/WallEntity.js +1 -96
  152. package/dist/esm/graphicLayer/WallPrimitive.js +1 -47
  153. package/dist/esm/graphicLayer/WallPrimitiveInstance.js +1 -88
  154. package/dist/esm/index.d.ts +4 -0
  155. package/dist/esm/index.js +1 -175
  156. package/dist/esm/lowAltitude/BarrierLayer.js +1 -172
  157. package/dist/esm/lowAltitude/BaseGridMvtLayer.js +1 -122
  158. package/dist/esm/lowAltitude/FactorLayer.js +1 -199
  159. package/dist/esm/lowAltitude/FlightPlanning.js +1 -411
  160. package/dist/esm/lowAltitude/FlightRiskEvaluation.js +1 -543
  161. package/dist/esm/lowAltitude/GridDraw.js +1 -137
  162. package/dist/esm/lowAltitude/PoiLayer.js +1 -74
  163. package/dist/esm/lowAltitude/RoutePlanning.js +1 -318
  164. package/dist/esm/lowAltitude/VisitLayer.js +1 -180
  165. package/dist/esm/map/Event.js +1 -377
  166. package/dist/esm/map/GroundSkyBox.js +1 -166
  167. package/dist/esm/map/Map.js +1 -881
  168. package/dist/esm/map/Property.js +1 -35
  169. package/dist/esm/material/AtmosphericDispersion.js +1 -569
  170. package/dist/esm/material/GlobalVolumetricCloud.js +1 -377
  171. package/dist/esm/material/VolumeCloud.js +1 -115
  172. package/dist/esm/material/WeatherEffects.js +1 -351
  173. package/dist/esm/material/entity/BaseMaterialProperty.js +1 -51
  174. package/dist/esm/material/entity/CircleWaveMaterialProperty.js +1 -101
  175. package/dist/esm/material/entity/DynamicWallMaterialProperty.js +1 -101
  176. package/dist/esm/material/entity/ImageGlowingMaterialProperty.js +1 -89
  177. package/dist/esm/material/entity/ImageMaterialProperty.js +1 -34
  178. package/dist/esm/material/entity/PolylineTrailLinkMaterialProperty.js +1 -132
  179. package/dist/esm/material/primitive/BaseMaterialAppearance.js +1 -28
  180. package/dist/esm/material/primitive/ImageGlowingMaterialAppearance.js +1 -77
  181. package/dist/esm/material/primitive/ImageMaterialAppearance.js +1 -77
  182. package/dist/esm/measure/Area.js +1 -220
  183. package/dist/esm/measure/BaseDraw.js +1 -105
  184. package/dist/esm/measure/Distance.js +1 -223
  185. package/dist/esm/measure/index.js +1 -266
  186. package/dist/esm/measure/types.js +1 -17
  187. package/dist/esm/measure/utils.js +1 -319
  188. package/dist/esm/particle/BaseParticle.js +1 -196
  189. package/dist/esm/particle/FireParticle.js +1 -65
  190. package/dist/esm/particle/FountainParticle.js +1 -80
  191. package/dist/esm/particle/SmokeParticle.js +1 -65
  192. package/dist/esm/particle/common.js +1 -23
  193. package/dist/esm/particle/index.js +1 -5
  194. package/dist/esm/property/PositionProperty.js +1 -56
  195. package/dist/esm/tileLayer/ArcGisLayer.js +1 -41
  196. package/dist/esm/tileLayer/CustomRasterClipWorkerClient.js +1 -147
  197. package/dist/esm/tileLayer/CustomRasterLayer.js +1 -1136
  198. package/dist/esm/tileLayer/ImageryLayer.js +1 -44
  199. package/dist/esm/tileLayer/MvtVectorLoad.js +1 -1549
  200. package/dist/esm/tileLayer/MvtVectorWorkerClient.js +1 -126
  201. package/dist/esm/tileLayer/RasterLayer.js +1 -23
  202. package/dist/esm/tileLayer/WmsLayer.js +1 -26
  203. package/dist/esm/tileLayer/WmtsLayer.js +1 -23
  204. package/dist/esm/tool/BuildClampedPolygonGrid.js +1 -278
  205. package/dist/esm/tool/Compass.js +1 -282
  206. package/dist/esm/tool/PrimitiveCluster.js +1 -706
  207. package/dist/esm/tool/TimerInterval.js +1 -58
  208. package/dist/esm/tool/common.js +1 -405
  209. package/dist/esm/tool/fetch.js +1 -222
  210. package/dist/esm/tool/heatmap.js +1 -631
  211. package/dist/esm/tool/utils.d.ts +1 -0
  212. package/dist/esm/tool/utils.js +1 -501
  213. package/dist/esm/toolTip/index.js +1 -79
  214. package/dist/esm/videoFusion/BaseVideo.d.ts +7 -0
  215. package/dist/esm/videoFusion/BaseVideo.js +1 -330
  216. package/dist/esm/videoFusion/VideoProject.js +1 -230
  217. package/dist/esm/videoFusion/VideoTexture.js +1 -163
  218. package/dist/esm/visualization/BaseHeatmap.js +1 -271
  219. package/dist/esm/visualization/BoundaryHighlight.d.ts +136 -0
  220. package/dist/esm/visualization/BoundaryHighlight.js +1 -0
  221. package/dist/esm/visualization/DynamicWater.js +1 -289
  222. package/dist/esm/visualization/Frustum.js +1 -248
  223. package/dist/esm/visualization/Heatmap2d.js +1 -97
  224. package/dist/esm/visualization/Heatmap3d.js +1 -281
  225. package/dist/esm/visualization/MigrationEffect.js +1 -397
  226. package/dist/esm/visualization/PointCluster.js +1 -220
  227. package/dist/esm/visualization/RadarScan.js +1 -333
  228. package/dist/esm/visualization/SampledTerrainRiver.d.ts +180 -0
  229. package/dist/esm/visualization/SampledTerrainRiver.js +1 -0
  230. package/dist/esm/visualization/SampledTerrainWater.d.ts +170 -0
  231. package/dist/esm/visualization/SampledTerrainWater.js +1 -0
  232. package/dist/esm/visualization/WindField.d.ts +72 -0
  233. package/dist/esm/visualization/WindField.js +1 -0
  234. package/dist/esm/visualization/windCore.d.ts +161 -0
  235. package/dist/esm/visualization/windCore.js +8 -0
  236. package/dist/umd/deeptwins-engine-3d.min.css +1 -1
  237. package/dist/umd/deeptwins-engine-3d.min.js +1 -1
  238. package/package.json +6 -4
@@ -0,0 +1,691 @@
1
+ /**
2
+ * @license
3
+ * Cesium - https://github.com/CesiumGS/cesium
4
+ * Version 0.0.42
5
+ *
6
+ * Copyright 2011-2022 Cesium Contributors
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License");
9
+ * you may not use this file except in compliance with the License.
10
+ * You may obtain a copy of the License at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * Unless required by applicable law or agreed to in writing, software
15
+ * distributed under the License is distributed on an "AS IS" BASIS,
16
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
+ * See the License for the specific language governing permissions and
18
+ * limitations under the License.
19
+ *
20
+ * Columbus View (Pat. Pend.)
21
+ *
22
+ * Portions licensed separately.
23
+ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24
+ */
25
+
26
+ import {
27
+ PolylinePipeline_default
28
+ } from "./chunk-IZSK4DVF.js";
29
+ import {
30
+ EllipsoidTangentPlane_default
31
+ } from "./chunk-YIKGVMJ5.js";
32
+ import {
33
+ Cartesian4_default,
34
+ Matrix4_default,
35
+ Quaternion_default,
36
+ Transforms_default
37
+ } from "./chunk-R4W6IRJZ.js";
38
+ import {
39
+ Cartesian2_default,
40
+ Cartesian3_default,
41
+ Cartographic_default,
42
+ Matrix3_default
43
+ } from "./chunk-ZW52HXFN.js";
44
+ import {
45
+ Math_default
46
+ } from "./chunk-HSJSUPQV.js";
47
+ import {
48
+ defaultValue_default
49
+ } from "./chunk-ATLWOZFF.js";
50
+ import {
51
+ DeveloperError_default
52
+ } from "./chunk-PN3GIZ5Q.js";
53
+ import {
54
+ defined_default
55
+ } from "./chunk-JKLMRPKK.js";
56
+
57
+ // packages/engine/Source/Core/CornerType.js
58
+ var CornerType = {
59
+ /**
60
+ * <img src="Images/CornerTypeRounded.png" style="vertical-align: middle;" width="186" height="189" />
61
+ *
62
+ * Corner has a smooth edge.
63
+ * @type {number}
64
+ * @constant
65
+ */
66
+ ROUNDED: 0,
67
+ /**
68
+ * <img src="Images/CornerTypeMitered.png" style="vertical-align: middle;" width="186" height="189" />
69
+ *
70
+ * Corner point is the intersection of adjacent edges.
71
+ * @type {number}
72
+ * @constant
73
+ */
74
+ MITERED: 1,
75
+ /**
76
+ * <img src="Images/CornerTypeBeveled.png" style="vertical-align: middle;" width="186" height="189" />
77
+ *
78
+ * Corner is clipped.
79
+ * @type {number}
80
+ * @constant
81
+ */
82
+ BEVELED: 2
83
+ };
84
+ var CornerType_default = Object.freeze(CornerType);
85
+
86
+ // packages/engine/Source/Core/oneTimeWarning.js
87
+ var warnings = {};
88
+ function oneTimeWarning(identifier, message) {
89
+ if (!defined_default(identifier)) {
90
+ throw new DeveloperError_default("identifier is required.");
91
+ }
92
+ if (!defined_default(warnings[identifier])) {
93
+ warnings[identifier] = true;
94
+ console.warn(defaultValue_default(message, identifier));
95
+ }
96
+ }
97
+ oneTimeWarning.geometryOutlines = "Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";
98
+ oneTimeWarning.geometryZIndex = "Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";
99
+ oneTimeWarning.geometryHeightReference = "Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";
100
+ oneTimeWarning.geometryExtrudedHeightReference = "Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";
101
+ var oneTimeWarning_default = oneTimeWarning;
102
+
103
+ // packages/engine/Source/Core/PolylineVolumeGeometryLibrary.js
104
+ var scratch2Array = [new Cartesian3_default(), new Cartesian3_default()];
105
+ var scratchCartesian1 = new Cartesian3_default();
106
+ var scratchCartesian2 = new Cartesian3_default();
107
+ var scratchCartesian3 = new Cartesian3_default();
108
+ var scratchCartesian4 = new Cartesian3_default();
109
+ var scratchCartesian5 = new Cartesian3_default();
110
+ var scratchCartesian6 = new Cartesian3_default();
111
+ var scratchCartesian7 = new Cartesian3_default();
112
+ var scratchCartesian8 = new Cartesian3_default();
113
+ var scratchCartesian9 = new Cartesian3_default();
114
+ var scratch1 = new Cartesian3_default();
115
+ var scratch2 = new Cartesian3_default();
116
+ var PolylineVolumeGeometryLibrary = {};
117
+ var cartographic = new Cartographic_default();
118
+ function scaleToSurface(positions, ellipsoid) {
119
+ const heights = new Array(positions.length);
120
+ for (let i = 0; i < positions.length; i++) {
121
+ const pos = positions[i];
122
+ cartographic = ellipsoid.cartesianToCartographic(pos, cartographic);
123
+ heights[i] = cartographic.height;
124
+ positions[i] = ellipsoid.scaleToGeodeticSurface(pos, pos);
125
+ }
126
+ return heights;
127
+ }
128
+ function subdivideHeights(points, h0, h1, granularity) {
129
+ const p0 = points[0];
130
+ const p1 = points[1];
131
+ const angleBetween = Cartesian3_default.angleBetween(p0, p1);
132
+ const numPoints = Math.ceil(angleBetween / granularity);
133
+ const heights = new Array(numPoints);
134
+ let i;
135
+ if (h0 === h1) {
136
+ for (i = 0; i < numPoints; i++) {
137
+ heights[i] = h0;
138
+ }
139
+ heights.push(h1);
140
+ return heights;
141
+ }
142
+ const dHeight = h1 - h0;
143
+ const heightPerVertex = dHeight / numPoints;
144
+ for (i = 1; i < numPoints; i++) {
145
+ const h = h0 + i * heightPerVertex;
146
+ heights[i] = h;
147
+ }
148
+ heights[0] = h0;
149
+ heights.push(h1);
150
+ return heights;
151
+ }
152
+ var nextScratch = new Cartesian3_default();
153
+ var prevScratch = new Cartesian3_default();
154
+ function computeRotationAngle(start, end, position, ellipsoid) {
155
+ const tangentPlane = new EllipsoidTangentPlane_default(position, ellipsoid);
156
+ const next = tangentPlane.projectPointOntoPlane(
157
+ Cartesian3_default.add(position, start, nextScratch),
158
+ nextScratch
159
+ );
160
+ const prev = tangentPlane.projectPointOntoPlane(
161
+ Cartesian3_default.add(position, end, prevScratch),
162
+ prevScratch
163
+ );
164
+ const angle = Cartesian2_default.angleBetween(next, prev);
165
+ return prev.x * next.y - prev.y * next.x >= 0 ? -angle : angle;
166
+ }
167
+ var negativeX = new Cartesian3_default(-1, 0, 0);
168
+ var transform = new Matrix4_default();
169
+ var translation = new Matrix4_default();
170
+ var rotationZ = new Matrix3_default();
171
+ var scaleMatrix = Matrix3_default.IDENTITY.clone();
172
+ var westScratch = new Cartesian3_default();
173
+ var finalPosScratch = new Cartesian4_default();
174
+ var heightCartesian = new Cartesian3_default();
175
+ function addPosition(center, left, shape, finalPositions, ellipsoid, height, xScalar, repeat) {
176
+ let west = westScratch;
177
+ let finalPosition = finalPosScratch;
178
+ transform = Transforms_default.eastNorthUpToFixedFrame(center, ellipsoid, transform);
179
+ west = Matrix4_default.multiplyByPointAsVector(transform, negativeX, west);
180
+ west = Cartesian3_default.normalize(west, west);
181
+ const angle = computeRotationAngle(west, left, center, ellipsoid);
182
+ rotationZ = Matrix3_default.fromRotationZ(angle, rotationZ);
183
+ heightCartesian.z = height;
184
+ transform = Matrix4_default.multiplyTransformation(
185
+ transform,
186
+ Matrix4_default.fromRotationTranslation(rotationZ, heightCartesian, translation),
187
+ transform
188
+ );
189
+ const scale = scaleMatrix;
190
+ scale[0] = xScalar;
191
+ for (let j = 0; j < repeat; j++) {
192
+ for (let i = 0; i < shape.length; i += 3) {
193
+ finalPosition = Cartesian3_default.fromArray(shape, i, finalPosition);
194
+ finalPosition = Matrix3_default.multiplyByVector(
195
+ scale,
196
+ finalPosition,
197
+ finalPosition
198
+ );
199
+ finalPosition = Matrix4_default.multiplyByPoint(
200
+ transform,
201
+ finalPosition,
202
+ finalPosition
203
+ );
204
+ finalPositions.push(finalPosition.x, finalPosition.y, finalPosition.z);
205
+ }
206
+ }
207
+ return finalPositions;
208
+ }
209
+ var centerScratch = new Cartesian3_default();
210
+ function addPositions(centers, left, shape, finalPositions, ellipsoid, heights, xScalar) {
211
+ for (let i = 0; i < centers.length; i += 3) {
212
+ const center = Cartesian3_default.fromArray(centers, i, centerScratch);
213
+ finalPositions = addPosition(
214
+ center,
215
+ left,
216
+ shape,
217
+ finalPositions,
218
+ ellipsoid,
219
+ heights[i / 3],
220
+ xScalar,
221
+ 1
222
+ );
223
+ }
224
+ return finalPositions;
225
+ }
226
+ function convertShapeTo3DDuplicate(shape2D, boundingRectangle) {
227
+ const length = shape2D.length;
228
+ const shape = new Array(length * 6);
229
+ let index = 0;
230
+ const xOffset = boundingRectangle.x + boundingRectangle.width / 2;
231
+ const yOffset = boundingRectangle.y + boundingRectangle.height / 2;
232
+ let point = shape2D[0];
233
+ shape[index++] = point.x - xOffset;
234
+ shape[index++] = 0;
235
+ shape[index++] = point.y - yOffset;
236
+ for (let i = 1; i < length; i++) {
237
+ point = shape2D[i];
238
+ const x = point.x - xOffset;
239
+ const z = point.y - yOffset;
240
+ shape[index++] = x;
241
+ shape[index++] = 0;
242
+ shape[index++] = z;
243
+ shape[index++] = x;
244
+ shape[index++] = 0;
245
+ shape[index++] = z;
246
+ }
247
+ point = shape2D[0];
248
+ shape[index++] = point.x - xOffset;
249
+ shape[index++] = 0;
250
+ shape[index++] = point.y - yOffset;
251
+ return shape;
252
+ }
253
+ function convertShapeTo3D(shape2D, boundingRectangle) {
254
+ const length = shape2D.length;
255
+ const shape = new Array(length * 3);
256
+ let index = 0;
257
+ const xOffset = boundingRectangle.x + boundingRectangle.width / 2;
258
+ const yOffset = boundingRectangle.y + boundingRectangle.height / 2;
259
+ for (let i = 0; i < length; i++) {
260
+ shape[index++] = shape2D[i].x - xOffset;
261
+ shape[index++] = 0;
262
+ shape[index++] = shape2D[i].y - yOffset;
263
+ }
264
+ return shape;
265
+ }
266
+ var quaterion = new Quaternion_default();
267
+ var startPointScratch = new Cartesian3_default();
268
+ var rotMatrix = new Matrix3_default();
269
+ function computeRoundCorner(pivot, startPoint, endPoint, cornerType, leftIsOutside, ellipsoid, finalPositions, shape, height, duplicatePoints) {
270
+ const angle = Cartesian3_default.angleBetween(
271
+ Cartesian3_default.subtract(startPoint, pivot, scratch1),
272
+ Cartesian3_default.subtract(endPoint, pivot, scratch2)
273
+ );
274
+ const granularity = cornerType === CornerType_default.BEVELED ? 0 : Math.ceil(angle / Math_default.toRadians(5));
275
+ let m;
276
+ if (leftIsOutside) {
277
+ m = Matrix3_default.fromQuaternion(
278
+ Quaternion_default.fromAxisAngle(
279
+ Cartesian3_default.negate(pivot, scratch1),
280
+ angle / (granularity + 1),
281
+ quaterion
282
+ ),
283
+ rotMatrix
284
+ );
285
+ } else {
286
+ m = Matrix3_default.fromQuaternion(
287
+ Quaternion_default.fromAxisAngle(pivot, angle / (granularity + 1), quaterion),
288
+ rotMatrix
289
+ );
290
+ }
291
+ let left;
292
+ let surfacePoint;
293
+ startPoint = Cartesian3_default.clone(startPoint, startPointScratch);
294
+ if (granularity > 0) {
295
+ const repeat = duplicatePoints ? 2 : 1;
296
+ for (let i = 0; i < granularity; i++) {
297
+ startPoint = Matrix3_default.multiplyByVector(m, startPoint, startPoint);
298
+ left = Cartesian3_default.subtract(startPoint, pivot, scratch1);
299
+ left = Cartesian3_default.normalize(left, left);
300
+ if (!leftIsOutside) {
301
+ left = Cartesian3_default.negate(left, left);
302
+ }
303
+ surfacePoint = ellipsoid.scaleToGeodeticSurface(startPoint, scratch2);
304
+ finalPositions = addPosition(
305
+ surfacePoint,
306
+ left,
307
+ shape,
308
+ finalPositions,
309
+ ellipsoid,
310
+ height,
311
+ 1,
312
+ repeat
313
+ );
314
+ }
315
+ } else {
316
+ left = Cartesian3_default.subtract(startPoint, pivot, scratch1);
317
+ left = Cartesian3_default.normalize(left, left);
318
+ if (!leftIsOutside) {
319
+ left = Cartesian3_default.negate(left, left);
320
+ }
321
+ surfacePoint = ellipsoid.scaleToGeodeticSurface(startPoint, scratch2);
322
+ finalPositions = addPosition(
323
+ surfacePoint,
324
+ left,
325
+ shape,
326
+ finalPositions,
327
+ ellipsoid,
328
+ height,
329
+ 1,
330
+ 1
331
+ );
332
+ endPoint = Cartesian3_default.clone(endPoint, startPointScratch);
333
+ left = Cartesian3_default.subtract(endPoint, pivot, scratch1);
334
+ left = Cartesian3_default.normalize(left, left);
335
+ if (!leftIsOutside) {
336
+ left = Cartesian3_default.negate(left, left);
337
+ }
338
+ surfacePoint = ellipsoid.scaleToGeodeticSurface(endPoint, scratch2);
339
+ finalPositions = addPosition(
340
+ surfacePoint,
341
+ left,
342
+ shape,
343
+ finalPositions,
344
+ ellipsoid,
345
+ height,
346
+ 1,
347
+ 1
348
+ );
349
+ }
350
+ return finalPositions;
351
+ }
352
+ PolylineVolumeGeometryLibrary.removeDuplicatesFromShape = function(shapePositions) {
353
+ const length = shapePositions.length;
354
+ const cleanedPositions = [];
355
+ for (let i0 = length - 1, i1 = 0; i1 < length; i0 = i1++) {
356
+ const v0 = shapePositions[i0];
357
+ const v1 = shapePositions[i1];
358
+ if (!Cartesian2_default.equals(v0, v1)) {
359
+ cleanedPositions.push(v1);
360
+ }
361
+ }
362
+ return cleanedPositions;
363
+ };
364
+ PolylineVolumeGeometryLibrary.angleIsGreaterThanPi = function(forward, backward, position, ellipsoid) {
365
+ const tangentPlane = new EllipsoidTangentPlane_default(position, ellipsoid);
366
+ const next = tangentPlane.projectPointOntoPlane(
367
+ Cartesian3_default.add(position, forward, nextScratch),
368
+ nextScratch
369
+ );
370
+ const prev = tangentPlane.projectPointOntoPlane(
371
+ Cartesian3_default.add(position, backward, prevScratch),
372
+ prevScratch
373
+ );
374
+ return prev.x * next.y - prev.y * next.x >= 0;
375
+ };
376
+ var scratchForwardProjection = new Cartesian3_default();
377
+ var scratchBackwardProjection = new Cartesian3_default();
378
+ PolylineVolumeGeometryLibrary.computePositions = function(positions, shape2D, boundingRectangle, geometry, duplicatePoints) {
379
+ const ellipsoid = geometry._ellipsoid;
380
+ const heights = scaleToSurface(positions, ellipsoid);
381
+ const granularity = geometry._granularity;
382
+ const cornerType = geometry._cornerType;
383
+ const shapeForSides = duplicatePoints ? convertShapeTo3DDuplicate(shape2D, boundingRectangle) : convertShapeTo3D(shape2D, boundingRectangle);
384
+ const shapeForEnds = duplicatePoints ? convertShapeTo3D(shape2D, boundingRectangle) : void 0;
385
+ const heightOffset = boundingRectangle.height / 2;
386
+ const width = boundingRectangle.width / 2;
387
+ let length = positions.length;
388
+ let finalPositions = [];
389
+ let ends = duplicatePoints ? [] : void 0;
390
+ let forward = scratchCartesian1;
391
+ let backward = scratchCartesian2;
392
+ let cornerDirection = scratchCartesian3;
393
+ let surfaceNormal = scratchCartesian4;
394
+ let pivot = scratchCartesian5;
395
+ let start = scratchCartesian6;
396
+ let end = scratchCartesian7;
397
+ let left = scratchCartesian8;
398
+ let previousPosition = scratchCartesian9;
399
+ let position = positions[0];
400
+ let nextPosition = positions[1];
401
+ surfaceNormal = ellipsoid.geodeticSurfaceNormal(position, surfaceNormal);
402
+ forward = Cartesian3_default.subtract(nextPosition, position, forward);
403
+ forward = Cartesian3_default.normalize(forward, forward);
404
+ left = Cartesian3_default.cross(surfaceNormal, forward, left);
405
+ left = Cartesian3_default.normalize(left, left);
406
+ let h0 = heights[0];
407
+ let h1 = heights[1];
408
+ if (duplicatePoints) {
409
+ ends = addPosition(
410
+ position,
411
+ left,
412
+ shapeForEnds,
413
+ ends,
414
+ ellipsoid,
415
+ h0 + heightOffset,
416
+ 1,
417
+ 1
418
+ );
419
+ }
420
+ previousPosition = Cartesian3_default.clone(position, previousPosition);
421
+ position = nextPosition;
422
+ backward = Cartesian3_default.negate(forward, backward);
423
+ let subdividedHeights;
424
+ let subdividedPositions;
425
+ for (let i = 1; i < length - 1; i++) {
426
+ const repeat = duplicatePoints ? 2 : 1;
427
+ nextPosition = positions[i + 1];
428
+ if (position.equals(nextPosition)) {
429
+ oneTimeWarning_default(
430
+ "Positions are too close and are considered equivalent with rounding error."
431
+ );
432
+ continue;
433
+ }
434
+ forward = Cartesian3_default.subtract(nextPosition, position, forward);
435
+ forward = Cartesian3_default.normalize(forward, forward);
436
+ surfaceNormal = ellipsoid.geodeticSurfaceNormal(position, surfaceNormal);
437
+ const forwardProjection = Cartesian3_default.multiplyByScalar(
438
+ surfaceNormal,
439
+ Cartesian3_default.dot(forward, surfaceNormal),
440
+ scratchForwardProjection
441
+ );
442
+ Cartesian3_default.subtract(forward, forwardProjection, forwardProjection);
443
+ Cartesian3_default.normalize(forwardProjection, forwardProjection);
444
+ const backwardProjection = Cartesian3_default.multiplyByScalar(
445
+ surfaceNormal,
446
+ Cartesian3_default.dot(backward, surfaceNormal),
447
+ scratchBackwardProjection
448
+ );
449
+ Cartesian3_default.subtract(backward, backwardProjection, backwardProjection);
450
+ Cartesian3_default.normalize(backwardProjection, backwardProjection);
451
+ const doCorner = !Math_default.equalsEpsilon(
452
+ Math.abs(Cartesian3_default.dot(forwardProjection, backwardProjection)),
453
+ 1,
454
+ Math_default.EPSILON7
455
+ );
456
+ if (doCorner) {
457
+ cornerDirection = Cartesian3_default.add(forward, backward, cornerDirection);
458
+ cornerDirection = Cartesian3_default.normalize(cornerDirection, cornerDirection);
459
+ cornerDirection = Cartesian3_default.cross(
460
+ cornerDirection,
461
+ surfaceNormal,
462
+ cornerDirection
463
+ );
464
+ cornerDirection = Cartesian3_default.cross(
465
+ surfaceNormal,
466
+ cornerDirection,
467
+ cornerDirection
468
+ );
469
+ cornerDirection = Cartesian3_default.normalize(cornerDirection, cornerDirection);
470
+ const scalar = 1 / Math.max(
471
+ 0.25,
472
+ Cartesian3_default.magnitude(
473
+ Cartesian3_default.cross(cornerDirection, backward, scratch1)
474
+ )
475
+ );
476
+ const leftIsOutside = PolylineVolumeGeometryLibrary.angleIsGreaterThanPi(
477
+ forward,
478
+ backward,
479
+ position,
480
+ ellipsoid
481
+ );
482
+ if (leftIsOutside) {
483
+ pivot = Cartesian3_default.add(
484
+ position,
485
+ Cartesian3_default.multiplyByScalar(
486
+ cornerDirection,
487
+ scalar * width,
488
+ cornerDirection
489
+ ),
490
+ pivot
491
+ );
492
+ start = Cartesian3_default.add(
493
+ pivot,
494
+ Cartesian3_default.multiplyByScalar(left, width, start),
495
+ start
496
+ );
497
+ scratch2Array[0] = Cartesian3_default.clone(previousPosition, scratch2Array[0]);
498
+ scratch2Array[1] = Cartesian3_default.clone(start, scratch2Array[1]);
499
+ subdividedHeights = subdivideHeights(
500
+ scratch2Array,
501
+ h0 + heightOffset,
502
+ h1 + heightOffset,
503
+ granularity
504
+ );
505
+ subdividedPositions = PolylinePipeline_default.generateArc({
506
+ positions: scratch2Array,
507
+ granularity,
508
+ ellipsoid
509
+ });
510
+ finalPositions = addPositions(
511
+ subdividedPositions,
512
+ left,
513
+ shapeForSides,
514
+ finalPositions,
515
+ ellipsoid,
516
+ subdividedHeights,
517
+ 1
518
+ );
519
+ left = Cartesian3_default.cross(surfaceNormal, forward, left);
520
+ left = Cartesian3_default.normalize(left, left);
521
+ end = Cartesian3_default.add(
522
+ pivot,
523
+ Cartesian3_default.multiplyByScalar(left, width, end),
524
+ end
525
+ );
526
+ if (cornerType === CornerType_default.ROUNDED || cornerType === CornerType_default.BEVELED) {
527
+ computeRoundCorner(
528
+ pivot,
529
+ start,
530
+ end,
531
+ cornerType,
532
+ leftIsOutside,
533
+ ellipsoid,
534
+ finalPositions,
535
+ shapeForSides,
536
+ h1 + heightOffset,
537
+ duplicatePoints
538
+ );
539
+ } else {
540
+ cornerDirection = Cartesian3_default.negate(cornerDirection, cornerDirection);
541
+ finalPositions = addPosition(
542
+ position,
543
+ cornerDirection,
544
+ shapeForSides,
545
+ finalPositions,
546
+ ellipsoid,
547
+ h1 + heightOffset,
548
+ scalar,
549
+ repeat
550
+ );
551
+ }
552
+ previousPosition = Cartesian3_default.clone(end, previousPosition);
553
+ } else {
554
+ pivot = Cartesian3_default.add(
555
+ position,
556
+ Cartesian3_default.multiplyByScalar(
557
+ cornerDirection,
558
+ scalar * width,
559
+ cornerDirection
560
+ ),
561
+ pivot
562
+ );
563
+ start = Cartesian3_default.add(
564
+ pivot,
565
+ Cartesian3_default.multiplyByScalar(left, -width, start),
566
+ start
567
+ );
568
+ scratch2Array[0] = Cartesian3_default.clone(previousPosition, scratch2Array[0]);
569
+ scratch2Array[1] = Cartesian3_default.clone(start, scratch2Array[1]);
570
+ subdividedHeights = subdivideHeights(
571
+ scratch2Array,
572
+ h0 + heightOffset,
573
+ h1 + heightOffset,
574
+ granularity
575
+ );
576
+ subdividedPositions = PolylinePipeline_default.generateArc({
577
+ positions: scratch2Array,
578
+ granularity,
579
+ ellipsoid
580
+ });
581
+ finalPositions = addPositions(
582
+ subdividedPositions,
583
+ left,
584
+ shapeForSides,
585
+ finalPositions,
586
+ ellipsoid,
587
+ subdividedHeights,
588
+ 1
589
+ );
590
+ left = Cartesian3_default.cross(surfaceNormal, forward, left);
591
+ left = Cartesian3_default.normalize(left, left);
592
+ end = Cartesian3_default.add(
593
+ pivot,
594
+ Cartesian3_default.multiplyByScalar(left, -width, end),
595
+ end
596
+ );
597
+ if (cornerType === CornerType_default.ROUNDED || cornerType === CornerType_default.BEVELED) {
598
+ computeRoundCorner(
599
+ pivot,
600
+ start,
601
+ end,
602
+ cornerType,
603
+ leftIsOutside,
604
+ ellipsoid,
605
+ finalPositions,
606
+ shapeForSides,
607
+ h1 + heightOffset,
608
+ duplicatePoints
609
+ );
610
+ } else {
611
+ finalPositions = addPosition(
612
+ position,
613
+ cornerDirection,
614
+ shapeForSides,
615
+ finalPositions,
616
+ ellipsoid,
617
+ h1 + heightOffset,
618
+ scalar,
619
+ repeat
620
+ );
621
+ }
622
+ previousPosition = Cartesian3_default.clone(end, previousPosition);
623
+ }
624
+ backward = Cartesian3_default.negate(forward, backward);
625
+ } else {
626
+ finalPositions = addPosition(
627
+ previousPosition,
628
+ left,
629
+ shapeForSides,
630
+ finalPositions,
631
+ ellipsoid,
632
+ h0 + heightOffset,
633
+ 1,
634
+ 1
635
+ );
636
+ previousPosition = position;
637
+ }
638
+ h0 = h1;
639
+ h1 = heights[i + 1];
640
+ position = nextPosition;
641
+ }
642
+ scratch2Array[0] = Cartesian3_default.clone(previousPosition, scratch2Array[0]);
643
+ scratch2Array[1] = Cartesian3_default.clone(position, scratch2Array[1]);
644
+ subdividedHeights = subdivideHeights(
645
+ scratch2Array,
646
+ h0 + heightOffset,
647
+ h1 + heightOffset,
648
+ granularity
649
+ );
650
+ subdividedPositions = PolylinePipeline_default.generateArc({
651
+ positions: scratch2Array,
652
+ granularity,
653
+ ellipsoid
654
+ });
655
+ finalPositions = addPositions(
656
+ subdividedPositions,
657
+ left,
658
+ shapeForSides,
659
+ finalPositions,
660
+ ellipsoid,
661
+ subdividedHeights,
662
+ 1
663
+ );
664
+ if (duplicatePoints) {
665
+ ends = addPosition(
666
+ position,
667
+ left,
668
+ shapeForEnds,
669
+ ends,
670
+ ellipsoid,
671
+ h1 + heightOffset,
672
+ 1,
673
+ 1
674
+ );
675
+ }
676
+ length = finalPositions.length;
677
+ const posLength = duplicatePoints ? length + ends.length : length;
678
+ const combinedPositions = new Float64Array(posLength);
679
+ combinedPositions.set(finalPositions);
680
+ if (duplicatePoints) {
681
+ combinedPositions.set(ends, length);
682
+ }
683
+ return combinedPositions;
684
+ };
685
+ var PolylineVolumeGeometryLibrary_default = PolylineVolumeGeometryLibrary;
686
+
687
+ export {
688
+ CornerType_default,
689
+ oneTimeWarning_default,
690
+ PolylineVolumeGeometryLibrary_default
691
+ };