@vcmap/ui 5.0.0-rc.30 → 5.0.0-rc.31

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 (323) hide show
  1. package/build/buildHelpers.js +4 -3
  2. package/config/base.config.json +5 -4
  3. package/config/dev.config.json +4 -0
  4. package/config/graphFeatureInfo.config.json +1 -1
  5. package/config/projects.config.json +2 -2
  6. package/dist/assets/cesium/ThirdParty/Workers/basis_transcoder.js +1 -1
  7. package/dist/assets/cesium/Workers/chunk-227AJNOA.js +59 -0
  8. package/dist/assets/cesium/Workers/chunk-2R5O53JW.js +157 -0
  9. package/dist/assets/cesium/Workers/chunk-34YUDLRP.js +781 -0
  10. package/dist/assets/cesium/Workers/chunk-3W63OHNJ.js +100 -0
  11. package/dist/assets/cesium/Workers/chunk-4MFFIWUA.js +163 -0
  12. package/dist/assets/cesium/Workers/chunk-66QLLS45.js +218 -0
  13. package/dist/assets/cesium/Workers/chunk-6BTKZDRG.js +77 -0
  14. package/dist/assets/cesium/Workers/chunk-A4JVFBQ3.js +101 -0
  15. package/dist/assets/cesium/Workers/chunk-ABADGKYE.js +58 -0
  16. package/dist/assets/cesium/Workers/chunk-AFFLIKOH.js +353 -0
  17. package/dist/assets/cesium/Workers/chunk-AHKEZ2OE.js +629 -0
  18. package/dist/assets/cesium/Workers/chunk-C3SXRKRW.js +476 -0
  19. package/dist/assets/cesium/Workers/chunk-CCFQRR6D.js +55 -0
  20. package/dist/assets/cesium/Workers/chunk-CHHNOC2C.js +1860 -0
  21. package/dist/assets/cesium/Workers/chunk-CTELOFLA.js +196 -0
  22. package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +3273 -0
  23. package/dist/assets/cesium/Workers/chunk-EW2GWJYB.js +44 -0
  24. package/dist/assets/cesium/Workers/chunk-GLZBE3ML.js +421 -0
  25. package/dist/assets/cesium/Workers/chunk-HARLBUOL.js +236 -0
  26. package/dist/assets/cesium/Workers/chunk-HQF437NJ.js +117 -0
  27. package/dist/assets/cesium/Workers/chunk-IPA4EACJ.js +368 -0
  28. package/dist/assets/cesium/Workers/chunk-J3JY6I2C.js +1009 -0
  29. package/dist/assets/cesium/Workers/chunk-JB2LWGH4.js +390 -0
  30. package/dist/assets/cesium/Workers/chunk-JS3AW5BK.js +634 -0
  31. package/dist/assets/cesium/Workers/chunk-K36FEYS7.js +452 -0
  32. package/dist/assets/cesium/Workers/chunk-KD4Y7CZL.js +400 -0
  33. package/dist/assets/cesium/Workers/chunk-KTJSNCK4.js +842 -0
  34. package/dist/assets/cesium/Workers/chunk-LLUNNUJV.js +258 -0
  35. package/dist/assets/cesium/Workers/{package.js → chunk-MPAZH4BF.js} +13 -2
  36. package/dist/assets/cesium/Workers/chunk-MYZB7C4T.js +1258 -0
  37. package/dist/assets/cesium/Workers/chunk-N3JIFFX2.js +501 -0
  38. package/dist/assets/cesium/Workers/chunk-O5AMBQ36.js +430 -0
  39. package/dist/assets/cesium/Workers/chunk-OAVNIRB4.js +124 -0
  40. package/dist/assets/cesium/Workers/chunk-OYFCF4PL.js +171 -0
  41. package/dist/assets/cesium/Workers/chunk-OZJDGN5F.js +1477 -0
  42. package/dist/assets/cesium/Workers/chunk-PCJWUS4M.js +2041 -0
  43. package/dist/assets/cesium/Workers/chunk-PFQBCKBM.js +8644 -0
  44. package/dist/assets/cesium/Workers/chunk-QIKODV5G.js +305 -0
  45. package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +73 -0
  46. package/dist/assets/cesium/Workers/chunk-QMEMZIJI.js +138 -0
  47. package/dist/assets/cesium/Workers/chunk-QT3MPEMI.js +102 -0
  48. package/dist/assets/cesium/Workers/chunk-RP2A7BR5.js +289 -0
  49. package/dist/assets/cesium/Workers/chunk-RW6LU2CJ.js +138 -0
  50. package/dist/assets/cesium/Workers/chunk-TFC6TZ3S.js +757 -0
  51. package/dist/assets/cesium/Workers/chunk-V3NGATMV.js +693 -0
  52. package/dist/assets/cesium/Workers/chunk-VLGOATD6.js +1075 -0
  53. package/dist/assets/cesium/Workers/chunk-WXTV4ATB.js +39 -0
  54. package/dist/assets/cesium/Workers/chunk-X4SU25DT.js +302 -0
  55. package/dist/assets/cesium/Workers/chunk-XTY7B2N6.js +2716 -0
  56. package/dist/assets/cesium/Workers/chunk-XY7MGBKC.js +513 -0
  57. package/dist/assets/cesium/Workers/chunk-Z24VKNDO.js +834 -0
  58. package/dist/assets/cesium/Workers/chunk-ZA25DG4Y.js +684 -0
  59. package/dist/assets/cesium/Workers/chunk-ZFOBYDGF.js +73 -0
  60. package/dist/assets/cesium/Workers/combineGeometry.js +65 -15
  61. package/dist/assets/cesium/Workers/createBoxGeometry.js +55 -10
  62. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +231 -310
  63. package/dist/assets/cesium/Workers/createCircleGeometry.js +185 -202
  64. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +141 -155
  65. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +477 -557
  66. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +218 -230
  67. package/dist/assets/cesium/Workers/createCorridorGeometry.js +1162 -1307
  68. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +533 -569
  69. package/dist/assets/cesium/Workers/createCylinderGeometry.js +57 -10
  70. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +224 -258
  71. package/dist/assets/cesium/Workers/createEllipseGeometry.js +68 -12
  72. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +61 -12
  73. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +56 -10
  74. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +58 -13
  75. package/dist/assets/cesium/Workers/createFrustumGeometry.js +55 -10
  76. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +226 -243
  77. package/dist/assets/cesium/Workers/createGeometry.js +143 -48
  78. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +1484 -2011
  79. package/dist/assets/cesium/Workers/createPlaneGeometry.js +216 -243
  80. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +121 -113
  81. package/dist/assets/cesium/Workers/createPolygonGeometry.js +1041 -1327
  82. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +516 -657
  83. package/dist/assets/cesium/Workers/createPolylineGeometry.js +471 -547
  84. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +352 -384
  85. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +271 -295
  86. package/dist/assets/cesium/Workers/createRectangleGeometry.js +1128 -1331
  87. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +445 -500
  88. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +381 -440
  89. package/dist/assets/cesium/Workers/createSphereGeometry.js +112 -118
  90. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +112 -121
  91. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +32 -127
  92. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +462 -505
  93. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +377 -436
  94. package/dist/assets/cesium/Workers/createVectorTilePoints.js +110 -77
  95. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +369 -391
  96. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +252 -244
  97. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +543 -615
  98. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +2244 -2677
  99. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +682 -926
  100. package/dist/assets/cesium/Workers/createWallGeometry.js +459 -593
  101. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +324 -419
  102. package/dist/assets/cesium/Workers/decodeDraco.js +327 -347
  103. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +2530 -3567
  104. package/dist/assets/cesium/Workers/decodeI3S.js +765 -970
  105. package/dist/assets/cesium/Workers/transcodeKTX2.js +3353 -1464
  106. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +3 -4
  107. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +748 -953
  108. package/dist/assets/{cesium.eaf7cc.js → cesium.77d0f7.js} +8915 -13165
  109. package/dist/assets/cesium.js +1 -1
  110. package/dist/assets/{core.b16511.js → core.720589.js} +3421 -3365
  111. package/dist/assets/core.js +1 -1
  112. package/dist/assets/index-dd539204.js +1 -0
  113. package/dist/assets/{ol.4bbf0f.js → ol.e48649.js} +4 -4
  114. package/dist/assets/ol.js +1 -1
  115. package/dist/assets/{ui.ab815e.css → ui.50452a.css} +1 -1
  116. package/dist/assets/{ui.ab815e.js → ui.50452a.js} +4270 -4355
  117. package/dist/assets/ui.js +1 -1
  118. package/dist/assets/vue.js +2 -2
  119. package/dist/assets/{vuetify.ea3fa8.js → vuetify.f0a769.js} +1 -1
  120. package/dist/assets/vuetify.js +2 -2
  121. package/dist/index.html +27 -23
  122. package/index.html +23 -22
  123. package/package.json +5 -5
  124. package/plugins/@vcmap-show-case/plugin-editors/PluginEditors.vue +119 -0
  125. package/plugins/@vcmap-show-case/plugin-editors/index.js +41 -0
  126. package/plugins/@vcmap-show-case/plugin-editors/package.json +5 -0
  127. package/plugins/{@vcmap → @vcmap-show-case}/project-selector/ProjectSelectorComponent.vue +1 -1
  128. package/plugins/{@vcmap → @vcmap-show-case}/project-selector/config.json +2 -2
  129. package/plugins/{@vcmap → @vcmap-show-case}/project-selector/package.json +1 -1
  130. package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/package.json +1 -1
  131. package/plugins/@vcmap-show-case/table-example/DataTableExample.vue +1 -1
  132. package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/ThemeChangerComponent.vue +1 -1
  133. package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/config.json +2 -2
  134. package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/package.json +1 -1
  135. package/plugins/@vcmap-show-case/vector-properties-example/vectorPropertiesExample.vue +20 -1
  136. package/plugins/package.json +6 -2
  137. package/src/application/VcsAttributions.vue +27 -20
  138. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +22 -14
  139. package/src/components/form-inputs-controls/VcsSlider.vue +1 -0
  140. package/src/components/icons/2DAreaIcon.vue +2 -17
  141. package/src/components/icons/2DDistanceIcon.vue +0 -3
  142. package/src/components/icons/3DAreaIcon.vue +2 -17
  143. package/src/components/icons/3DDistanceIcon.vue +0 -3
  144. package/src/components/icons/3DHeightIcon.vue +0 -3
  145. package/src/components/icons/AngleIcon.vue +0 -1
  146. package/src/components/icons/AssociationsIcon.vue +1 -3
  147. package/src/components/icons/AxisIcon.vue +0 -4
  148. package/src/components/icons/BoundingBoxIcon.vue +1 -4
  149. package/src/components/icons/CheckboxIcon.vue +0 -2
  150. package/src/components/icons/CheckboxIndeterminateIcon.vue +1 -5
  151. package/src/components/icons/CircleIcon.vue +1 -6
  152. package/src/components/icons/ClippingHorizontalIcon.vue +0 -1
  153. package/src/components/icons/ClippingIcon.vue +0 -1
  154. package/src/components/icons/ClippingVerticalIcon.vue +0 -1
  155. package/src/components/icons/ColorPickerIcon.vue +0 -1
  156. package/src/components/icons/ColorSwatchIcon.vue +0 -2
  157. package/src/components/icons/CommentIcon.vue +0 -1
  158. package/src/components/icons/CompassIcon.vue +0 -2
  159. package/src/components/icons/ComponentsIcon.vue +0 -1
  160. package/src/components/icons/ConeIcon.vue +1 -4
  161. package/src/components/icons/DimensionsHouseIcon.vue +0 -2
  162. package/src/components/icons/EditIcon.vue +0 -1
  163. package/src/components/icons/EditVerticesIcon.vue +0 -4
  164. package/src/components/icons/ElevationProfileIcon.vue +1 -13
  165. package/src/components/icons/ExportAreaIcon.vue +0 -1
  166. package/src/components/icons/ExportFlightIcon.vue +0 -1
  167. package/src/components/icons/ExportIcon.vue +12 -8
  168. package/src/components/icons/ExternalLinkIcon.vue +0 -2
  169. package/src/components/icons/FastForwardIcon.vue +0 -1
  170. package/src/components/icons/FilterIcon.vue +0 -1
  171. package/src/components/icons/GlobeNatureIcon.vue +0 -3
  172. package/src/components/icons/GroundIcon.vue +0 -1
  173. package/src/components/icons/HealthCareIndustriesIcon.vue +1 -11
  174. package/src/components/icons/HideIcon.vue +0 -1
  175. package/src/components/icons/HomePointIcon.vue +0 -1
  176. package/src/components/icons/HospitalsIcon.vue +1 -20
  177. package/src/components/icons/HouseIcon.vue +3 -13
  178. package/src/components/icons/ImportIcon.vue +6 -14
  179. package/src/components/icons/InfoIcon.vue +0 -2
  180. package/src/components/icons/KebabIcon.vue +1 -9
  181. package/src/components/icons/LabelIcon.vue +0 -2
  182. package/src/components/icons/LayersIcon.vue +1 -9
  183. package/src/components/icons/LegendIcon.vue +0 -1
  184. package/src/components/icons/LineIcon.vue +0 -2
  185. package/src/components/icons/LinkIcon.vue +0 -1
  186. package/src/components/icons/LogoutIcon.vue +0 -1
  187. package/src/components/icons/MapIcon.vue +0 -2
  188. package/src/components/icons/MenuIcon.vue +1 -5
  189. package/src/components/icons/MinusIcon.vue +0 -2
  190. package/src/components/icons/ObjectSelectIcon.vue +0 -2
  191. package/src/components/icons/ObliqueViewIcon.vue +0 -1
  192. package/src/components/icons/PdfIcon.vue +0 -1
  193. package/src/components/icons/PedestrianIcon.vue +0 -1
  194. package/src/components/icons/PenIcon.vue +0 -1
  195. package/src/components/icons/PlayCircleIcon.vue +1 -8
  196. package/src/components/icons/PlusIcon.vue +0 -2
  197. package/src/components/icons/PoiIcon.vue +0 -1
  198. package/src/components/icons/PointIcon.vue +2 -6
  199. package/src/components/icons/PointSelectIcon.vue +0 -1
  200. package/src/components/icons/PresentationModeIcon.vue +0 -1
  201. package/src/components/icons/ProgressIcon.vue +1 -1
  202. package/src/components/icons/QueryIcon.vue +0 -1
  203. package/src/components/icons/RectangleIcon.vue +1 -6
  204. package/src/components/icons/ReturnIcon.vue +0 -1
  205. package/src/components/icons/RewindIcon.vue +0 -1
  206. package/src/components/icons/RotateLeftIcon.vue +0 -1
  207. package/src/components/icons/RotateRightIcon.vue +0 -1
  208. package/src/components/icons/ScreenshotIcon.vue +1 -6
  209. package/src/components/icons/SearchIcon.vue +0 -1
  210. package/src/components/icons/ShadowIcon.vue +0 -2
  211. package/src/components/icons/ShapesIcon.vue +1 -4
  212. package/src/components/icons/ShareIcon.vue +0 -1
  213. package/src/components/icons/SimpleCircleFilledIcon.vue +0 -1
  214. package/src/components/icons/SimpleCircleHalfFilledIcon.vue +0 -1
  215. package/src/components/icons/SimpleCircleOutlinedIcon.vue +1 -7
  216. package/src/components/icons/SkipPreviousIcon.vue +1 -6
  217. package/src/components/icons/SplitViewIcon.vue +0 -1
  218. package/src/components/icons/TextStyleIcon.vue +0 -3
  219. package/src/components/icons/ThreeDimensionsIcon.vue +0 -1
  220. package/src/components/icons/ToolsIcon.vue +0 -1
  221. package/src/components/icons/TouchIcon.vue +0 -1
  222. package/src/components/icons/TriangleIcon.vue +0 -3
  223. package/src/components/icons/TwoDimensionsIcon.vue +0 -2
  224. package/src/components/icons/UploadIcon.vue +0 -1
  225. package/src/components/icons/UserProfileIcon.vue +0 -1
  226. package/src/components/icons/UserShareIcon.vue +0 -1
  227. package/src/components/icons/ViewpointFlightIcon.vue +0 -1
  228. package/src/components/icons/ViewpointIcon.vue +0 -1
  229. package/src/components/icons/Viewshed360Icon.vue +0 -1
  230. package/src/components/icons/ViewshedConeIcon.vue +0 -1
  231. package/src/components/icons/ViewshedIcon.vue +0 -1
  232. package/src/components/icons/WalkingIcon.vue +0 -1
  233. package/src/components/icons/WallIcon.vue +1 -4
  234. package/src/components/icons/WandIcon.vue +22 -70
  235. package/src/components/lists/VcsList.vue +18 -12
  236. package/src/components/plugins/AbstractConfigEditor.vue +2 -2
  237. package/src/components/tables/VcsDataTable.vue +1 -1
  238. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +57 -14
  239. package/src/contentTree/contentTreeCollection.js +30 -9
  240. package/src/i18n/de.js +8 -5
  241. package/src/i18n/en.js +8 -5
  242. package/src/i18n/i18nCollection.js +19 -65
  243. package/src/manager/buttonManager.js +4 -0
  244. package/src/manager/contextMenu/contextMenuManager.js +2 -0
  245. package/src/pluginHelper.js +2 -2
  246. package/src/vcsUiApp.js +9 -4
  247. package/src/vuePlugins/i18n.js +0 -8
  248. package/dist/assets/cesium/ThirdParty/Workers/draco_decoder_nodejs.js +0 -117
  249. package/dist/assets/cesium/Workers/ArcType-2d9abbbc.js +0 -37
  250. package/dist/assets/cesium/Workers/AttributeCompression-f9f6c717.js +0 -716
  251. package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-4140c51f.js +0 -258
  252. package/dist/assets/cesium/Workers/BoundingRectangle-c714b156.js +0 -369
  253. package/dist/assets/cesium/Workers/BoxGeometry-6f3da43d.js +0 -884
  254. package/dist/assets/cesium/Workers/Check-6ede7e26.js +0 -290
  255. package/dist/assets/cesium/Workers/Color-8a565ff2.js +0 -2262
  256. package/dist/assets/cesium/Workers/ComponentDatatype-cf1fa08e.js +0 -341
  257. package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-4b4d4096.js +0 -132
  258. package/dist/assets/cesium/Workers/CorridorGeometryLibrary-7b94502b.js +0 -498
  259. package/dist/assets/cesium/Workers/CylinderGeometry-ca070b87.js +0 -467
  260. package/dist/assets/cesium/Workers/CylinderGeometryLibrary-7bf291b4.js +0 -63
  261. package/dist/assets/cesium/Workers/EllipseGeometry-122e51fa.js +0 -1304
  262. package/dist/assets/cesium/Workers/EllipseGeometryLibrary-4d326efc.js +0 -366
  263. package/dist/assets/cesium/Workers/EllipseOutlineGeometry-16cc2bd7.js +0 -443
  264. package/dist/assets/cesium/Workers/EllipsoidGeodesic-5b3623dc.js +0 -520
  265. package/dist/assets/cesium/Workers/EllipsoidGeometry-cb148ca2.js +0 -637
  266. package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-0fa10c79.js +0 -454
  267. package/dist/assets/cesium/Workers/EllipsoidRhumbLine-ef872433.js +0 -741
  268. package/dist/assets/cesium/Workers/EllipsoidTangentPlane-6dd1b7af.js +0 -373
  269. package/dist/assets/cesium/Workers/EncodedCartesian3-57415c8a.js +0 -171
  270. package/dist/assets/cesium/Workers/FrustumGeometry-ee73037c.js +0 -2540
  271. package/dist/assets/cesium/Workers/GeometryAttribute-ff5b4fb1.js +0 -619
  272. package/dist/assets/cesium/Workers/GeometryAttributes-ad136444.js +0 -91
  273. package/dist/assets/cesium/Workers/GeometryInstance-34d9e21e.js +0 -121
  274. package/dist/assets/cesium/Workers/GeometryOffsetAttribute-9ad0019c.js +0 -16
  275. package/dist/assets/cesium/Workers/GeometryPipeline-1f8fbf05.js +0 -3690
  276. package/dist/assets/cesium/Workers/IndexDatatype-2643aa47.js +0 -200
  277. package/dist/assets/cesium/Workers/IntersectionTests-70d39ba9.js +0 -1836
  278. package/dist/assets/cesium/Workers/Math-0a2ac845.js +0 -1340
  279. package/dist/assets/cesium/Workers/Matrix2-e1298525.js +0 -7086
  280. package/dist/assets/cesium/Workers/Matrix3-41c58dde.js +0 -4283
  281. package/dist/assets/cesium/Workers/OrientedBoundingBox-159cf1d6.js +0 -1259
  282. package/dist/assets/cesium/Workers/Plane-4c3d403b.js +0 -309
  283. package/dist/assets/cesium/Workers/PolygonGeometryLibrary-076a5d25.js +0 -1074
  284. package/dist/assets/cesium/Workers/PolygonPipeline-b9f2810a.js +0 -1344
  285. package/dist/assets/cesium/Workers/PolylinePipeline-639192e0.js +0 -573
  286. package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-b73549fb.js +0 -781
  287. package/dist/assets/cesium/Workers/PrimitivePipeline-10ede1b6.js +0 -966
  288. package/dist/assets/cesium/Workers/RectangleGeometryLibrary-c35a7356.js +0 -280
  289. package/dist/assets/cesium/Workers/RuntimeError-ef395448.js +0 -68
  290. package/dist/assets/cesium/Workers/TerrainEncoding-668d242f.js +0 -1227
  291. package/dist/assets/cesium/Workers/Transforms-a2a85221.js +0 -14712
  292. package/dist/assets/cesium/Workers/VertexFormat-030f11ff.js +0 -312
  293. package/dist/assets/cesium/Workers/WallGeometryLibrary-1938bf0d.js +0 -211
  294. package/dist/assets/cesium/Workers/WebGLConstants-0b1ce7ba.js +0 -620
  295. package/dist/assets/cesium/Workers/WebMercatorProjection-13ed1a6e.js +0 -151
  296. package/dist/assets/cesium/Workers/arrayRemoveDuplicates-d2061e85.js +0 -129
  297. package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +0 -1363
  298. package/dist/assets/cesium/Workers/combine-d9581036.js +0 -82
  299. package/dist/assets/cesium/Workers/defaultValue-fe22d8c0.js +0 -51
  300. package/dist/assets/index-c115e3a1.js +0 -1
  301. package/plugins/@vcmap/create-link/fallbackCreateLink.vue +0 -76
  302. package/plugins/@vcmap/create-link/index.js +0 -95
  303. package/plugins/@vcmap/create-link/package.json +0 -6
  304. package/plugins/@vcmap/search-nominatim/LICENSE.md +0 -13
  305. package/plugins/@vcmap/search-nominatim/README.md +0 -3
  306. package/plugins/@vcmap/search-nominatim/SearchNominatimEditor.vue +0 -90
  307. package/plugins/@vcmap/search-nominatim/config.json +0 -3
  308. package/plugins/@vcmap/search-nominatim/index.js +0 -66
  309. package/plugins/@vcmap/search-nominatim/nominatim.js +0 -175
  310. package/plugins/@vcmap/search-nominatim/package.json +0 -9
  311. /package/dist/assets/{vue.67e80f.js → vue.5d696e.js} +0 -0
  312. /package/dist/assets/{vuetify.ea3fa8.css → vuetify.f0a769.css} +0 -0
  313. /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/ModulesListComponent.vue +0 -0
  314. /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/README.md +0 -0
  315. /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/de.json +0 -0
  316. /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/en.json +0 -0
  317. /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/index.js +0 -0
  318. /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/README.md +0 -0
  319. /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/SimpleGraphComponent.vue +0 -0
  320. /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/index.js +0 -0
  321. /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/simpleGraphView.js +0 -0
  322. /package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/README.md +0 -0
  323. /package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/index.js +0 -0
@@ -0,0 +1,1477 @@
1
+ /**
2
+ * @license
3
+ * Cesium - https://github.com/CesiumGS/cesium
4
+ * Version 1.109.3
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
+ VertexFormat_default
28
+ } from "./chunk-QMEMZIJI.js";
29
+ import {
30
+ Plane_default
31
+ } from "./chunk-OYFCF4PL.js";
32
+ import {
33
+ GeometryAttributes_default
34
+ } from "./chunk-EW2GWJYB.js";
35
+ import {
36
+ GeometryAttribute_default,
37
+ Geometry_default,
38
+ PrimitiveType_default
39
+ } from "./chunk-X4SU25DT.js";
40
+ import {
41
+ BoundingSphere_default,
42
+ Intersect_default,
43
+ Quaternion_default
44
+ } from "./chunk-PFQBCKBM.js";
45
+ import {
46
+ Cartesian4_default,
47
+ Matrix4_default
48
+ } from "./chunk-DUHWWBQQ.js";
49
+ import {
50
+ ComponentDatatype_default
51
+ } from "./chunk-LLUNNUJV.js";
52
+ import {
53
+ Cartesian3_default,
54
+ Matrix3_default
55
+ } from "./chunk-PCJWUS4M.js";
56
+ import {
57
+ Math_default
58
+ } from "./chunk-N3JIFFX2.js";
59
+ import {
60
+ defaultValue_default
61
+ } from "./chunk-WXTV4ATB.js";
62
+ import {
63
+ Check_default,
64
+ DeveloperError_default
65
+ } from "./chunk-4MFFIWUA.js";
66
+ import {
67
+ defined_default
68
+ } from "./chunk-6BTKZDRG.js";
69
+
70
+ // packages/engine/Source/Core/CullingVolume.js
71
+ function CullingVolume(planes) {
72
+ this.planes = defaultValue_default(planes, []);
73
+ }
74
+ var faces = [new Cartesian3_default(), new Cartesian3_default(), new Cartesian3_default()];
75
+ Cartesian3_default.clone(Cartesian3_default.UNIT_X, faces[0]);
76
+ Cartesian3_default.clone(Cartesian3_default.UNIT_Y, faces[1]);
77
+ Cartesian3_default.clone(Cartesian3_default.UNIT_Z, faces[2]);
78
+ var scratchPlaneCenter = new Cartesian3_default();
79
+ var scratchPlaneNormal = new Cartesian3_default();
80
+ var scratchPlane = new Plane_default(new Cartesian3_default(1, 0, 0), 0);
81
+ CullingVolume.fromBoundingSphere = function(boundingSphere, result) {
82
+ if (!defined_default(boundingSphere)) {
83
+ throw new DeveloperError_default("boundingSphere is required.");
84
+ }
85
+ if (!defined_default(result)) {
86
+ result = new CullingVolume();
87
+ }
88
+ const length = faces.length;
89
+ const planes = result.planes;
90
+ planes.length = 2 * length;
91
+ const center = boundingSphere.center;
92
+ const radius = boundingSphere.radius;
93
+ let planeIndex = 0;
94
+ for (let i = 0; i < length; ++i) {
95
+ const faceNormal = faces[i];
96
+ let plane0 = planes[planeIndex];
97
+ let plane1 = planes[planeIndex + 1];
98
+ if (!defined_default(plane0)) {
99
+ plane0 = planes[planeIndex] = new Cartesian4_default();
100
+ }
101
+ if (!defined_default(plane1)) {
102
+ plane1 = planes[planeIndex + 1] = new Cartesian4_default();
103
+ }
104
+ Cartesian3_default.multiplyByScalar(faceNormal, -radius, scratchPlaneCenter);
105
+ Cartesian3_default.add(center, scratchPlaneCenter, scratchPlaneCenter);
106
+ plane0.x = faceNormal.x;
107
+ plane0.y = faceNormal.y;
108
+ plane0.z = faceNormal.z;
109
+ plane0.w = -Cartesian3_default.dot(faceNormal, scratchPlaneCenter);
110
+ Cartesian3_default.multiplyByScalar(faceNormal, radius, scratchPlaneCenter);
111
+ Cartesian3_default.add(center, scratchPlaneCenter, scratchPlaneCenter);
112
+ plane1.x = -faceNormal.x;
113
+ plane1.y = -faceNormal.y;
114
+ plane1.z = -faceNormal.z;
115
+ plane1.w = -Cartesian3_default.dot(
116
+ Cartesian3_default.negate(faceNormal, scratchPlaneNormal),
117
+ scratchPlaneCenter
118
+ );
119
+ planeIndex += 2;
120
+ }
121
+ return result;
122
+ };
123
+ CullingVolume.prototype.computeVisibility = function(boundingVolume) {
124
+ if (!defined_default(boundingVolume)) {
125
+ throw new DeveloperError_default("boundingVolume is required.");
126
+ }
127
+ const planes = this.planes;
128
+ let intersecting = false;
129
+ for (let k = 0, len = planes.length; k < len; ++k) {
130
+ const result = boundingVolume.intersectPlane(
131
+ Plane_default.fromCartesian4(planes[k], scratchPlane)
132
+ );
133
+ if (result === Intersect_default.OUTSIDE) {
134
+ return Intersect_default.OUTSIDE;
135
+ } else if (result === Intersect_default.INTERSECTING) {
136
+ intersecting = true;
137
+ }
138
+ }
139
+ return intersecting ? Intersect_default.INTERSECTING : Intersect_default.INSIDE;
140
+ };
141
+ CullingVolume.prototype.computeVisibilityWithPlaneMask = function(boundingVolume, parentPlaneMask) {
142
+ if (!defined_default(boundingVolume)) {
143
+ throw new DeveloperError_default("boundingVolume is required.");
144
+ }
145
+ if (!defined_default(parentPlaneMask)) {
146
+ throw new DeveloperError_default("parentPlaneMask is required.");
147
+ }
148
+ if (parentPlaneMask === CullingVolume.MASK_OUTSIDE || parentPlaneMask === CullingVolume.MASK_INSIDE) {
149
+ return parentPlaneMask;
150
+ }
151
+ let mask = CullingVolume.MASK_INSIDE;
152
+ const planes = this.planes;
153
+ for (let k = 0, len = planes.length; k < len; ++k) {
154
+ const flag = k < 31 ? 1 << k : 0;
155
+ if (k < 31 && (parentPlaneMask & flag) === 0) {
156
+ continue;
157
+ }
158
+ const result = boundingVolume.intersectPlane(
159
+ Plane_default.fromCartesian4(planes[k], scratchPlane)
160
+ );
161
+ if (result === Intersect_default.OUTSIDE) {
162
+ return CullingVolume.MASK_OUTSIDE;
163
+ } else if (result === Intersect_default.INTERSECTING) {
164
+ mask |= flag;
165
+ }
166
+ }
167
+ return mask;
168
+ };
169
+ CullingVolume.MASK_OUTSIDE = 4294967295;
170
+ CullingVolume.MASK_INSIDE = 0;
171
+ CullingVolume.MASK_INDETERMINATE = 2147483647;
172
+ var CullingVolume_default = CullingVolume;
173
+
174
+ // packages/engine/Source/Core/OrthographicOffCenterFrustum.js
175
+ function OrthographicOffCenterFrustum(options) {
176
+ options = defaultValue_default(options, defaultValue_default.EMPTY_OBJECT);
177
+ this.left = options.left;
178
+ this._left = void 0;
179
+ this.right = options.right;
180
+ this._right = void 0;
181
+ this.top = options.top;
182
+ this._top = void 0;
183
+ this.bottom = options.bottom;
184
+ this._bottom = void 0;
185
+ this.near = defaultValue_default(options.near, 1);
186
+ this._near = this.near;
187
+ this.far = defaultValue_default(options.far, 5e8);
188
+ this._far = this.far;
189
+ this._cullingVolume = new CullingVolume_default();
190
+ this._orthographicMatrix = new Matrix4_default();
191
+ }
192
+ function update(frustum) {
193
+ if (!defined_default(frustum.right) || !defined_default(frustum.left) || !defined_default(frustum.top) || !defined_default(frustum.bottom) || !defined_default(frustum.near) || !defined_default(frustum.far)) {
194
+ throw new DeveloperError_default(
195
+ "right, left, top, bottom, near, or far parameters are not set."
196
+ );
197
+ }
198
+ if (frustum.top !== frustum._top || frustum.bottom !== frustum._bottom || frustum.left !== frustum._left || frustum.right !== frustum._right || frustum.near !== frustum._near || frustum.far !== frustum._far) {
199
+ if (frustum.left > frustum.right) {
200
+ throw new DeveloperError_default("right must be greater than left.");
201
+ }
202
+ if (frustum.bottom > frustum.top) {
203
+ throw new DeveloperError_default("top must be greater than bottom.");
204
+ }
205
+ if (frustum.near <= 0 || frustum.near > frustum.far) {
206
+ throw new DeveloperError_default(
207
+ "near must be greater than zero and less than far."
208
+ );
209
+ }
210
+ frustum._left = frustum.left;
211
+ frustum._right = frustum.right;
212
+ frustum._top = frustum.top;
213
+ frustum._bottom = frustum.bottom;
214
+ frustum._near = frustum.near;
215
+ frustum._far = frustum.far;
216
+ frustum._orthographicMatrix = Matrix4_default.computeOrthographicOffCenter(
217
+ frustum.left,
218
+ frustum.right,
219
+ frustum.bottom,
220
+ frustum.top,
221
+ frustum.near,
222
+ frustum.far,
223
+ frustum._orthographicMatrix
224
+ );
225
+ }
226
+ }
227
+ Object.defineProperties(OrthographicOffCenterFrustum.prototype, {
228
+ /**
229
+ * Gets the orthographic projection matrix computed from the view frustum.
230
+ * @memberof OrthographicOffCenterFrustum.prototype
231
+ * @type {Matrix4}
232
+ * @readonly
233
+ */
234
+ projectionMatrix: {
235
+ get: function() {
236
+ update(this);
237
+ return this._orthographicMatrix;
238
+ }
239
+ }
240
+ });
241
+ var getPlanesRight = new Cartesian3_default();
242
+ var getPlanesNearCenter = new Cartesian3_default();
243
+ var getPlanesPoint = new Cartesian3_default();
244
+ var negateScratch = new Cartesian3_default();
245
+ OrthographicOffCenterFrustum.prototype.computeCullingVolume = function(position, direction, up) {
246
+ if (!defined_default(position)) {
247
+ throw new DeveloperError_default("position is required.");
248
+ }
249
+ if (!defined_default(direction)) {
250
+ throw new DeveloperError_default("direction is required.");
251
+ }
252
+ if (!defined_default(up)) {
253
+ throw new DeveloperError_default("up is required.");
254
+ }
255
+ const planes = this._cullingVolume.planes;
256
+ const t = this.top;
257
+ const b = this.bottom;
258
+ const r = this.right;
259
+ const l = this.left;
260
+ const n = this.near;
261
+ const f = this.far;
262
+ const right = Cartesian3_default.cross(direction, up, getPlanesRight);
263
+ Cartesian3_default.normalize(right, right);
264
+ const nearCenter = getPlanesNearCenter;
265
+ Cartesian3_default.multiplyByScalar(direction, n, nearCenter);
266
+ Cartesian3_default.add(position, nearCenter, nearCenter);
267
+ const point = getPlanesPoint;
268
+ Cartesian3_default.multiplyByScalar(right, l, point);
269
+ Cartesian3_default.add(nearCenter, point, point);
270
+ let plane = planes[0];
271
+ if (!defined_default(plane)) {
272
+ plane = planes[0] = new Cartesian4_default();
273
+ }
274
+ plane.x = right.x;
275
+ plane.y = right.y;
276
+ plane.z = right.z;
277
+ plane.w = -Cartesian3_default.dot(right, point);
278
+ Cartesian3_default.multiplyByScalar(right, r, point);
279
+ Cartesian3_default.add(nearCenter, point, point);
280
+ plane = planes[1];
281
+ if (!defined_default(plane)) {
282
+ plane = planes[1] = new Cartesian4_default();
283
+ }
284
+ plane.x = -right.x;
285
+ plane.y = -right.y;
286
+ plane.z = -right.z;
287
+ plane.w = -Cartesian3_default.dot(Cartesian3_default.negate(right, negateScratch), point);
288
+ Cartesian3_default.multiplyByScalar(up, b, point);
289
+ Cartesian3_default.add(nearCenter, point, point);
290
+ plane = planes[2];
291
+ if (!defined_default(plane)) {
292
+ plane = planes[2] = new Cartesian4_default();
293
+ }
294
+ plane.x = up.x;
295
+ plane.y = up.y;
296
+ plane.z = up.z;
297
+ plane.w = -Cartesian3_default.dot(up, point);
298
+ Cartesian3_default.multiplyByScalar(up, t, point);
299
+ Cartesian3_default.add(nearCenter, point, point);
300
+ plane = planes[3];
301
+ if (!defined_default(plane)) {
302
+ plane = planes[3] = new Cartesian4_default();
303
+ }
304
+ plane.x = -up.x;
305
+ plane.y = -up.y;
306
+ plane.z = -up.z;
307
+ plane.w = -Cartesian3_default.dot(Cartesian3_default.negate(up, negateScratch), point);
308
+ plane = planes[4];
309
+ if (!defined_default(plane)) {
310
+ plane = planes[4] = new Cartesian4_default();
311
+ }
312
+ plane.x = direction.x;
313
+ plane.y = direction.y;
314
+ plane.z = direction.z;
315
+ plane.w = -Cartesian3_default.dot(direction, nearCenter);
316
+ Cartesian3_default.multiplyByScalar(direction, f, point);
317
+ Cartesian3_default.add(position, point, point);
318
+ plane = planes[5];
319
+ if (!defined_default(plane)) {
320
+ plane = planes[5] = new Cartesian4_default();
321
+ }
322
+ plane.x = -direction.x;
323
+ plane.y = -direction.y;
324
+ plane.z = -direction.z;
325
+ plane.w = -Cartesian3_default.dot(Cartesian3_default.negate(direction, negateScratch), point);
326
+ return this._cullingVolume;
327
+ };
328
+ OrthographicOffCenterFrustum.prototype.getPixelDimensions = function(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result) {
329
+ update(this);
330
+ if (!defined_default(drawingBufferWidth) || !defined_default(drawingBufferHeight)) {
331
+ throw new DeveloperError_default(
332
+ "Both drawingBufferWidth and drawingBufferHeight are required."
333
+ );
334
+ }
335
+ if (drawingBufferWidth <= 0) {
336
+ throw new DeveloperError_default("drawingBufferWidth must be greater than zero.");
337
+ }
338
+ if (drawingBufferHeight <= 0) {
339
+ throw new DeveloperError_default("drawingBufferHeight must be greater than zero.");
340
+ }
341
+ if (!defined_default(distance)) {
342
+ throw new DeveloperError_default("distance is required.");
343
+ }
344
+ if (!defined_default(pixelRatio)) {
345
+ throw new DeveloperError_default("pixelRatio is required.");
346
+ }
347
+ if (pixelRatio <= 0) {
348
+ throw new DeveloperError_default("pixelRatio must be greater than zero.");
349
+ }
350
+ if (!defined_default(result)) {
351
+ throw new DeveloperError_default("A result object is required.");
352
+ }
353
+ const frustumWidth = this.right - this.left;
354
+ const frustumHeight = this.top - this.bottom;
355
+ const pixelWidth = pixelRatio * frustumWidth / drawingBufferWidth;
356
+ const pixelHeight = pixelRatio * frustumHeight / drawingBufferHeight;
357
+ result.x = pixelWidth;
358
+ result.y = pixelHeight;
359
+ return result;
360
+ };
361
+ OrthographicOffCenterFrustum.prototype.clone = function(result) {
362
+ if (!defined_default(result)) {
363
+ result = new OrthographicOffCenterFrustum();
364
+ }
365
+ result.left = this.left;
366
+ result.right = this.right;
367
+ result.top = this.top;
368
+ result.bottom = this.bottom;
369
+ result.near = this.near;
370
+ result.far = this.far;
371
+ result._left = void 0;
372
+ result._right = void 0;
373
+ result._top = void 0;
374
+ result._bottom = void 0;
375
+ result._near = void 0;
376
+ result._far = void 0;
377
+ return result;
378
+ };
379
+ OrthographicOffCenterFrustum.prototype.equals = function(other) {
380
+ return defined_default(other) && other instanceof OrthographicOffCenterFrustum && this.right === other.right && this.left === other.left && this.top === other.top && this.bottom === other.bottom && this.near === other.near && this.far === other.far;
381
+ };
382
+ OrthographicOffCenterFrustum.prototype.equalsEpsilon = function(other, relativeEpsilon, absoluteEpsilon) {
383
+ return other === this || defined_default(other) && other instanceof OrthographicOffCenterFrustum && Math_default.equalsEpsilon(
384
+ this.right,
385
+ other.right,
386
+ relativeEpsilon,
387
+ absoluteEpsilon
388
+ ) && Math_default.equalsEpsilon(
389
+ this.left,
390
+ other.left,
391
+ relativeEpsilon,
392
+ absoluteEpsilon
393
+ ) && Math_default.equalsEpsilon(
394
+ this.top,
395
+ other.top,
396
+ relativeEpsilon,
397
+ absoluteEpsilon
398
+ ) && Math_default.equalsEpsilon(
399
+ this.bottom,
400
+ other.bottom,
401
+ relativeEpsilon,
402
+ absoluteEpsilon
403
+ ) && Math_default.equalsEpsilon(
404
+ this.near,
405
+ other.near,
406
+ relativeEpsilon,
407
+ absoluteEpsilon
408
+ ) && Math_default.equalsEpsilon(
409
+ this.far,
410
+ other.far,
411
+ relativeEpsilon,
412
+ absoluteEpsilon
413
+ );
414
+ };
415
+ var OrthographicOffCenterFrustum_default = OrthographicOffCenterFrustum;
416
+
417
+ // packages/engine/Source/Core/OrthographicFrustum.js
418
+ function OrthographicFrustum(options) {
419
+ options = defaultValue_default(options, defaultValue_default.EMPTY_OBJECT);
420
+ this._offCenterFrustum = new OrthographicOffCenterFrustum_default();
421
+ this.width = options.width;
422
+ this._width = void 0;
423
+ this.aspectRatio = options.aspectRatio;
424
+ this._aspectRatio = void 0;
425
+ this.near = defaultValue_default(options.near, 1);
426
+ this._near = this.near;
427
+ this.far = defaultValue_default(options.far, 5e8);
428
+ this._far = this.far;
429
+ }
430
+ OrthographicFrustum.packedLength = 4;
431
+ OrthographicFrustum.pack = function(value, array, startingIndex) {
432
+ Check_default.typeOf.object("value", value);
433
+ Check_default.defined("array", array);
434
+ startingIndex = defaultValue_default(startingIndex, 0);
435
+ array[startingIndex++] = value.width;
436
+ array[startingIndex++] = value.aspectRatio;
437
+ array[startingIndex++] = value.near;
438
+ array[startingIndex] = value.far;
439
+ return array;
440
+ };
441
+ OrthographicFrustum.unpack = function(array, startingIndex, result) {
442
+ Check_default.defined("array", array);
443
+ startingIndex = defaultValue_default(startingIndex, 0);
444
+ if (!defined_default(result)) {
445
+ result = new OrthographicFrustum();
446
+ }
447
+ result.width = array[startingIndex++];
448
+ result.aspectRatio = array[startingIndex++];
449
+ result.near = array[startingIndex++];
450
+ result.far = array[startingIndex];
451
+ return result;
452
+ };
453
+ function update2(frustum) {
454
+ if (!defined_default(frustum.width) || !defined_default(frustum.aspectRatio) || !defined_default(frustum.near) || !defined_default(frustum.far)) {
455
+ throw new DeveloperError_default(
456
+ "width, aspectRatio, near, or far parameters are not set."
457
+ );
458
+ }
459
+ const f = frustum._offCenterFrustum;
460
+ if (frustum.width !== frustum._width || frustum.aspectRatio !== frustum._aspectRatio || frustum.near !== frustum._near || frustum.far !== frustum._far) {
461
+ if (frustum.aspectRatio < 0) {
462
+ throw new DeveloperError_default("aspectRatio must be positive.");
463
+ }
464
+ if (frustum.near < 0 || frustum.near > frustum.far) {
465
+ throw new DeveloperError_default(
466
+ "near must be greater than zero and less than far."
467
+ );
468
+ }
469
+ frustum._aspectRatio = frustum.aspectRatio;
470
+ frustum._width = frustum.width;
471
+ frustum._near = frustum.near;
472
+ frustum._far = frustum.far;
473
+ const ratio = 1 / frustum.aspectRatio;
474
+ f.right = frustum.width * 0.5;
475
+ f.left = -f.right;
476
+ f.top = ratio * f.right;
477
+ f.bottom = -f.top;
478
+ f.near = frustum.near;
479
+ f.far = frustum.far;
480
+ }
481
+ }
482
+ Object.defineProperties(OrthographicFrustum.prototype, {
483
+ /**
484
+ * Gets the orthographic projection matrix computed from the view frustum.
485
+ * @memberof OrthographicFrustum.prototype
486
+ * @type {Matrix4}
487
+ * @readonly
488
+ */
489
+ projectionMatrix: {
490
+ get: function() {
491
+ update2(this);
492
+ return this._offCenterFrustum.projectionMatrix;
493
+ }
494
+ },
495
+ /**
496
+ * Gets the orthographic projection matrix computed from the view frustum.
497
+ * @memberof OrthographicFrustum.prototype
498
+ * @type {OrthographicOffCenterFrustum}
499
+ * @readonly
500
+ * @private
501
+ */
502
+ offCenterFrustum: {
503
+ get: function() {
504
+ update2(this);
505
+ return this._offCenterFrustum;
506
+ }
507
+ }
508
+ });
509
+ OrthographicFrustum.prototype.computeCullingVolume = function(position, direction, up) {
510
+ update2(this);
511
+ return this._offCenterFrustum.computeCullingVolume(position, direction, up);
512
+ };
513
+ OrthographicFrustum.prototype.getPixelDimensions = function(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result) {
514
+ update2(this);
515
+ return this._offCenterFrustum.getPixelDimensions(
516
+ drawingBufferWidth,
517
+ drawingBufferHeight,
518
+ distance,
519
+ pixelRatio,
520
+ result
521
+ );
522
+ };
523
+ OrthographicFrustum.prototype.clone = function(result) {
524
+ if (!defined_default(result)) {
525
+ result = new OrthographicFrustum();
526
+ }
527
+ result.aspectRatio = this.aspectRatio;
528
+ result.width = this.width;
529
+ result.near = this.near;
530
+ result.far = this.far;
531
+ result._aspectRatio = void 0;
532
+ result._width = void 0;
533
+ result._near = void 0;
534
+ result._far = void 0;
535
+ this._offCenterFrustum.clone(result._offCenterFrustum);
536
+ return result;
537
+ };
538
+ OrthographicFrustum.prototype.equals = function(other) {
539
+ if (!defined_default(other) || !(other instanceof OrthographicFrustum)) {
540
+ return false;
541
+ }
542
+ update2(this);
543
+ update2(other);
544
+ return this.width === other.width && this.aspectRatio === other.aspectRatio && this._offCenterFrustum.equals(other._offCenterFrustum);
545
+ };
546
+ OrthographicFrustum.prototype.equalsEpsilon = function(other, relativeEpsilon, absoluteEpsilon) {
547
+ if (!defined_default(other) || !(other instanceof OrthographicFrustum)) {
548
+ return false;
549
+ }
550
+ update2(this);
551
+ update2(other);
552
+ return Math_default.equalsEpsilon(
553
+ this.width,
554
+ other.width,
555
+ relativeEpsilon,
556
+ absoluteEpsilon
557
+ ) && Math_default.equalsEpsilon(
558
+ this.aspectRatio,
559
+ other.aspectRatio,
560
+ relativeEpsilon,
561
+ absoluteEpsilon
562
+ ) && this._offCenterFrustum.equalsEpsilon(
563
+ other._offCenterFrustum,
564
+ relativeEpsilon,
565
+ absoluteEpsilon
566
+ );
567
+ };
568
+ var OrthographicFrustum_default = OrthographicFrustum;
569
+
570
+ // packages/engine/Source/Core/PerspectiveOffCenterFrustum.js
571
+ function PerspectiveOffCenterFrustum(options) {
572
+ options = defaultValue_default(options, defaultValue_default.EMPTY_OBJECT);
573
+ this.left = options.left;
574
+ this._left = void 0;
575
+ this.right = options.right;
576
+ this._right = void 0;
577
+ this.top = options.top;
578
+ this._top = void 0;
579
+ this.bottom = options.bottom;
580
+ this._bottom = void 0;
581
+ this.near = defaultValue_default(options.near, 1);
582
+ this._near = this.near;
583
+ this.far = defaultValue_default(options.far, 5e8);
584
+ this._far = this.far;
585
+ this._cullingVolume = new CullingVolume_default();
586
+ this._perspectiveMatrix = new Matrix4_default();
587
+ this._infinitePerspective = new Matrix4_default();
588
+ }
589
+ function update3(frustum) {
590
+ if (!defined_default(frustum.right) || !defined_default(frustum.left) || !defined_default(frustum.top) || !defined_default(frustum.bottom) || !defined_default(frustum.near) || !defined_default(frustum.far)) {
591
+ throw new DeveloperError_default(
592
+ "right, left, top, bottom, near, or far parameters are not set."
593
+ );
594
+ }
595
+ const t = frustum.top;
596
+ const b = frustum.bottom;
597
+ const r = frustum.right;
598
+ const l = frustum.left;
599
+ const n = frustum.near;
600
+ const f = frustum.far;
601
+ if (t !== frustum._top || b !== frustum._bottom || l !== frustum._left || r !== frustum._right || n !== frustum._near || f !== frustum._far) {
602
+ if (frustum.near <= 0 || frustum.near > frustum.far) {
603
+ throw new DeveloperError_default(
604
+ "near must be greater than zero and less than far."
605
+ );
606
+ }
607
+ frustum._left = l;
608
+ frustum._right = r;
609
+ frustum._top = t;
610
+ frustum._bottom = b;
611
+ frustum._near = n;
612
+ frustum._far = f;
613
+ frustum._perspectiveMatrix = Matrix4_default.computePerspectiveOffCenter(
614
+ l,
615
+ r,
616
+ b,
617
+ t,
618
+ n,
619
+ f,
620
+ frustum._perspectiveMatrix
621
+ );
622
+ frustum._infinitePerspective = Matrix4_default.computeInfinitePerspectiveOffCenter(
623
+ l,
624
+ r,
625
+ b,
626
+ t,
627
+ n,
628
+ frustum._infinitePerspective
629
+ );
630
+ }
631
+ }
632
+ Object.defineProperties(PerspectiveOffCenterFrustum.prototype, {
633
+ /**
634
+ * Gets the perspective projection matrix computed from the view frustum.
635
+ * @memberof PerspectiveOffCenterFrustum.prototype
636
+ * @type {Matrix4}
637
+ * @readonly
638
+ *
639
+ * @see PerspectiveOffCenterFrustum#infiniteProjectionMatrix
640
+ */
641
+ projectionMatrix: {
642
+ get: function() {
643
+ update3(this);
644
+ return this._perspectiveMatrix;
645
+ }
646
+ },
647
+ /**
648
+ * Gets the perspective projection matrix computed from the view frustum with an infinite far plane.
649
+ * @memberof PerspectiveOffCenterFrustum.prototype
650
+ * @type {Matrix4}
651
+ * @readonly
652
+ *
653
+ * @see PerspectiveOffCenterFrustum#projectionMatrix
654
+ */
655
+ infiniteProjectionMatrix: {
656
+ get: function() {
657
+ update3(this);
658
+ return this._infinitePerspective;
659
+ }
660
+ }
661
+ });
662
+ var getPlanesRight2 = new Cartesian3_default();
663
+ var getPlanesNearCenter2 = new Cartesian3_default();
664
+ var getPlanesFarCenter = new Cartesian3_default();
665
+ var getPlanesNormal = new Cartesian3_default();
666
+ PerspectiveOffCenterFrustum.prototype.computeCullingVolume = function(position, direction, up) {
667
+ if (!defined_default(position)) {
668
+ throw new DeveloperError_default("position is required.");
669
+ }
670
+ if (!defined_default(direction)) {
671
+ throw new DeveloperError_default("direction is required.");
672
+ }
673
+ if (!defined_default(up)) {
674
+ throw new DeveloperError_default("up is required.");
675
+ }
676
+ const planes = this._cullingVolume.planes;
677
+ const t = this.top;
678
+ const b = this.bottom;
679
+ const r = this.right;
680
+ const l = this.left;
681
+ const n = this.near;
682
+ const f = this.far;
683
+ const right = Cartesian3_default.cross(direction, up, getPlanesRight2);
684
+ const nearCenter = getPlanesNearCenter2;
685
+ Cartesian3_default.multiplyByScalar(direction, n, nearCenter);
686
+ Cartesian3_default.add(position, nearCenter, nearCenter);
687
+ const farCenter = getPlanesFarCenter;
688
+ Cartesian3_default.multiplyByScalar(direction, f, farCenter);
689
+ Cartesian3_default.add(position, farCenter, farCenter);
690
+ const normal = getPlanesNormal;
691
+ Cartesian3_default.multiplyByScalar(right, l, normal);
692
+ Cartesian3_default.add(nearCenter, normal, normal);
693
+ Cartesian3_default.subtract(normal, position, normal);
694
+ Cartesian3_default.normalize(normal, normal);
695
+ Cartesian3_default.cross(normal, up, normal);
696
+ Cartesian3_default.normalize(normal, normal);
697
+ let plane = planes[0];
698
+ if (!defined_default(plane)) {
699
+ plane = planes[0] = new Cartesian4_default();
700
+ }
701
+ plane.x = normal.x;
702
+ plane.y = normal.y;
703
+ plane.z = normal.z;
704
+ plane.w = -Cartesian3_default.dot(normal, position);
705
+ Cartesian3_default.multiplyByScalar(right, r, normal);
706
+ Cartesian3_default.add(nearCenter, normal, normal);
707
+ Cartesian3_default.subtract(normal, position, normal);
708
+ Cartesian3_default.cross(up, normal, normal);
709
+ Cartesian3_default.normalize(normal, normal);
710
+ plane = planes[1];
711
+ if (!defined_default(plane)) {
712
+ plane = planes[1] = new Cartesian4_default();
713
+ }
714
+ plane.x = normal.x;
715
+ plane.y = normal.y;
716
+ plane.z = normal.z;
717
+ plane.w = -Cartesian3_default.dot(normal, position);
718
+ Cartesian3_default.multiplyByScalar(up, b, normal);
719
+ Cartesian3_default.add(nearCenter, normal, normal);
720
+ Cartesian3_default.subtract(normal, position, normal);
721
+ Cartesian3_default.cross(right, normal, normal);
722
+ Cartesian3_default.normalize(normal, normal);
723
+ plane = planes[2];
724
+ if (!defined_default(plane)) {
725
+ plane = planes[2] = new Cartesian4_default();
726
+ }
727
+ plane.x = normal.x;
728
+ plane.y = normal.y;
729
+ plane.z = normal.z;
730
+ plane.w = -Cartesian3_default.dot(normal, position);
731
+ Cartesian3_default.multiplyByScalar(up, t, normal);
732
+ Cartesian3_default.add(nearCenter, normal, normal);
733
+ Cartesian3_default.subtract(normal, position, normal);
734
+ Cartesian3_default.cross(normal, right, normal);
735
+ Cartesian3_default.normalize(normal, normal);
736
+ plane = planes[3];
737
+ if (!defined_default(plane)) {
738
+ plane = planes[3] = new Cartesian4_default();
739
+ }
740
+ plane.x = normal.x;
741
+ plane.y = normal.y;
742
+ plane.z = normal.z;
743
+ plane.w = -Cartesian3_default.dot(normal, position);
744
+ plane = planes[4];
745
+ if (!defined_default(plane)) {
746
+ plane = planes[4] = new Cartesian4_default();
747
+ }
748
+ plane.x = direction.x;
749
+ plane.y = direction.y;
750
+ plane.z = direction.z;
751
+ plane.w = -Cartesian3_default.dot(direction, nearCenter);
752
+ Cartesian3_default.negate(direction, normal);
753
+ plane = planes[5];
754
+ if (!defined_default(plane)) {
755
+ plane = planes[5] = new Cartesian4_default();
756
+ }
757
+ plane.x = normal.x;
758
+ plane.y = normal.y;
759
+ plane.z = normal.z;
760
+ plane.w = -Cartesian3_default.dot(normal, farCenter);
761
+ return this._cullingVolume;
762
+ };
763
+ PerspectiveOffCenterFrustum.prototype.getPixelDimensions = function(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result) {
764
+ update3(this);
765
+ if (!defined_default(drawingBufferWidth) || !defined_default(drawingBufferHeight)) {
766
+ throw new DeveloperError_default(
767
+ "Both drawingBufferWidth and drawingBufferHeight are required."
768
+ );
769
+ }
770
+ if (drawingBufferWidth <= 0) {
771
+ throw new DeveloperError_default("drawingBufferWidth must be greater than zero.");
772
+ }
773
+ if (drawingBufferHeight <= 0) {
774
+ throw new DeveloperError_default("drawingBufferHeight must be greater than zero.");
775
+ }
776
+ if (!defined_default(distance)) {
777
+ throw new DeveloperError_default("distance is required.");
778
+ }
779
+ if (!defined_default(pixelRatio)) {
780
+ throw new DeveloperError_default("pixelRatio is required");
781
+ }
782
+ if (pixelRatio <= 0) {
783
+ throw new DeveloperError_default("pixelRatio must be greater than zero.");
784
+ }
785
+ if (!defined_default(result)) {
786
+ throw new DeveloperError_default("A result object is required.");
787
+ }
788
+ const inverseNear = 1 / this.near;
789
+ let tanTheta = this.top * inverseNear;
790
+ const pixelHeight = 2 * pixelRatio * distance * tanTheta / drawingBufferHeight;
791
+ tanTheta = this.right * inverseNear;
792
+ const pixelWidth = 2 * pixelRatio * distance * tanTheta / drawingBufferWidth;
793
+ result.x = pixelWidth;
794
+ result.y = pixelHeight;
795
+ return result;
796
+ };
797
+ PerspectiveOffCenterFrustum.prototype.clone = function(result) {
798
+ if (!defined_default(result)) {
799
+ result = new PerspectiveOffCenterFrustum();
800
+ }
801
+ result.right = this.right;
802
+ result.left = this.left;
803
+ result.top = this.top;
804
+ result.bottom = this.bottom;
805
+ result.near = this.near;
806
+ result.far = this.far;
807
+ result._left = void 0;
808
+ result._right = void 0;
809
+ result._top = void 0;
810
+ result._bottom = void 0;
811
+ result._near = void 0;
812
+ result._far = void 0;
813
+ return result;
814
+ };
815
+ PerspectiveOffCenterFrustum.prototype.equals = function(other) {
816
+ return defined_default(other) && other instanceof PerspectiveOffCenterFrustum && this.right === other.right && this.left === other.left && this.top === other.top && this.bottom === other.bottom && this.near === other.near && this.far === other.far;
817
+ };
818
+ PerspectiveOffCenterFrustum.prototype.equalsEpsilon = function(other, relativeEpsilon, absoluteEpsilon) {
819
+ return other === this || defined_default(other) && other instanceof PerspectiveOffCenterFrustum && Math_default.equalsEpsilon(
820
+ this.right,
821
+ other.right,
822
+ relativeEpsilon,
823
+ absoluteEpsilon
824
+ ) && Math_default.equalsEpsilon(
825
+ this.left,
826
+ other.left,
827
+ relativeEpsilon,
828
+ absoluteEpsilon
829
+ ) && Math_default.equalsEpsilon(
830
+ this.top,
831
+ other.top,
832
+ relativeEpsilon,
833
+ absoluteEpsilon
834
+ ) && Math_default.equalsEpsilon(
835
+ this.bottom,
836
+ other.bottom,
837
+ relativeEpsilon,
838
+ absoluteEpsilon
839
+ ) && Math_default.equalsEpsilon(
840
+ this.near,
841
+ other.near,
842
+ relativeEpsilon,
843
+ absoluteEpsilon
844
+ ) && Math_default.equalsEpsilon(
845
+ this.far,
846
+ other.far,
847
+ relativeEpsilon,
848
+ absoluteEpsilon
849
+ );
850
+ };
851
+ var PerspectiveOffCenterFrustum_default = PerspectiveOffCenterFrustum;
852
+
853
+ // packages/engine/Source/Core/PerspectiveFrustum.js
854
+ function PerspectiveFrustum(options) {
855
+ options = defaultValue_default(options, defaultValue_default.EMPTY_OBJECT);
856
+ this._offCenterFrustum = new PerspectiveOffCenterFrustum_default();
857
+ this.fov = options.fov;
858
+ this._fov = void 0;
859
+ this._fovy = void 0;
860
+ this._sseDenominator = void 0;
861
+ this.aspectRatio = options.aspectRatio;
862
+ this._aspectRatio = void 0;
863
+ this.near = defaultValue_default(options.near, 1);
864
+ this._near = this.near;
865
+ this.far = defaultValue_default(options.far, 5e8);
866
+ this._far = this.far;
867
+ this.xOffset = defaultValue_default(options.xOffset, 0);
868
+ this._xOffset = this.xOffset;
869
+ this.yOffset = defaultValue_default(options.yOffset, 0);
870
+ this._yOffset = this.yOffset;
871
+ }
872
+ PerspectiveFrustum.packedLength = 6;
873
+ PerspectiveFrustum.pack = function(value, array, startingIndex) {
874
+ Check_default.typeOf.object("value", value);
875
+ Check_default.defined("array", array);
876
+ startingIndex = defaultValue_default(startingIndex, 0);
877
+ array[startingIndex++] = value.fov;
878
+ array[startingIndex++] = value.aspectRatio;
879
+ array[startingIndex++] = value.near;
880
+ array[startingIndex++] = value.far;
881
+ array[startingIndex++] = value.xOffset;
882
+ array[startingIndex] = value.yOffset;
883
+ return array;
884
+ };
885
+ PerspectiveFrustum.unpack = function(array, startingIndex, result) {
886
+ Check_default.defined("array", array);
887
+ startingIndex = defaultValue_default(startingIndex, 0);
888
+ if (!defined_default(result)) {
889
+ result = new PerspectiveFrustum();
890
+ }
891
+ result.fov = array[startingIndex++];
892
+ result.aspectRatio = array[startingIndex++];
893
+ result.near = array[startingIndex++];
894
+ result.far = array[startingIndex++];
895
+ result.xOffset = array[startingIndex++];
896
+ result.yOffset = array[startingIndex];
897
+ return result;
898
+ };
899
+ function update4(frustum) {
900
+ if (!defined_default(frustum.fov) || !defined_default(frustum.aspectRatio) || !defined_default(frustum.near) || !defined_default(frustum.far)) {
901
+ throw new DeveloperError_default(
902
+ "fov, aspectRatio, near, or far parameters are not set."
903
+ );
904
+ }
905
+ const f = frustum._offCenterFrustum;
906
+ if (frustum.fov !== frustum._fov || frustum.aspectRatio !== frustum._aspectRatio || frustum.near !== frustum._near || frustum.far !== frustum._far || frustum.xOffset !== frustum._xOffset || frustum.yOffset !== frustum._yOffset) {
907
+ if (frustum.fov < 0 || frustum.fov >= Math.PI) {
908
+ throw new DeveloperError_default("fov must be in the range [0, PI).");
909
+ }
910
+ if (frustum.aspectRatio < 0) {
911
+ throw new DeveloperError_default("aspectRatio must be positive.");
912
+ }
913
+ if (frustum.near < 0 || frustum.near > frustum.far) {
914
+ throw new DeveloperError_default(
915
+ "near must be greater than zero and less than far."
916
+ );
917
+ }
918
+ frustum._aspectRatio = frustum.aspectRatio;
919
+ frustum._fov = frustum.fov;
920
+ frustum._fovy = frustum.aspectRatio <= 1 ? frustum.fov : Math.atan(Math.tan(frustum.fov * 0.5) / frustum.aspectRatio) * 2;
921
+ frustum._near = frustum.near;
922
+ frustum._far = frustum.far;
923
+ frustum._sseDenominator = 2 * Math.tan(0.5 * frustum._fovy);
924
+ frustum._xOffset = frustum.xOffset;
925
+ frustum._yOffset = frustum.yOffset;
926
+ f.top = frustum.near * Math.tan(0.5 * frustum._fovy);
927
+ f.bottom = -f.top;
928
+ f.right = frustum.aspectRatio * f.top;
929
+ f.left = -f.right;
930
+ f.near = frustum.near;
931
+ f.far = frustum.far;
932
+ f.right += frustum.xOffset;
933
+ f.left += frustum.xOffset;
934
+ f.top += frustum.yOffset;
935
+ f.bottom += frustum.yOffset;
936
+ }
937
+ }
938
+ Object.defineProperties(PerspectiveFrustum.prototype, {
939
+ /**
940
+ * Gets the perspective projection matrix computed from the view frustum.
941
+ * @memberof PerspectiveFrustum.prototype
942
+ * @type {Matrix4}
943
+ * @readonly
944
+ *
945
+ * @see PerspectiveFrustum#infiniteProjectionMatrix
946
+ */
947
+ projectionMatrix: {
948
+ get: function() {
949
+ update4(this);
950
+ return this._offCenterFrustum.projectionMatrix;
951
+ }
952
+ },
953
+ /**
954
+ * The perspective projection matrix computed from the view frustum with an infinite far plane.
955
+ * @memberof PerspectiveFrustum.prototype
956
+ * @type {Matrix4}
957
+ * @readonly
958
+ *
959
+ * @see PerspectiveFrustum#projectionMatrix
960
+ */
961
+ infiniteProjectionMatrix: {
962
+ get: function() {
963
+ update4(this);
964
+ return this._offCenterFrustum.infiniteProjectionMatrix;
965
+ }
966
+ },
967
+ /**
968
+ * Gets the angle of the vertical field of view, in radians.
969
+ * @memberof PerspectiveFrustum.prototype
970
+ * @type {number}
971
+ * @readonly
972
+ * @default undefined
973
+ */
974
+ fovy: {
975
+ get: function() {
976
+ update4(this);
977
+ return this._fovy;
978
+ }
979
+ },
980
+ /**
981
+ * @readonly
982
+ * @private
983
+ */
984
+ sseDenominator: {
985
+ get: function() {
986
+ update4(this);
987
+ return this._sseDenominator;
988
+ }
989
+ },
990
+ /**
991
+ * Gets the orthographic projection matrix computed from the view frustum.
992
+ * @memberof PerspectiveFrustum.prototype
993
+ * @type {PerspectiveOffCenterFrustum}
994
+ * @readonly
995
+ * @private
996
+ */
997
+ offCenterFrustum: {
998
+ get: function() {
999
+ update4(this);
1000
+ return this._offCenterFrustum;
1001
+ }
1002
+ }
1003
+ });
1004
+ PerspectiveFrustum.prototype.computeCullingVolume = function(position, direction, up) {
1005
+ update4(this);
1006
+ return this._offCenterFrustum.computeCullingVolume(position, direction, up);
1007
+ };
1008
+ PerspectiveFrustum.prototype.getPixelDimensions = function(drawingBufferWidth, drawingBufferHeight, distance, pixelRatio, result) {
1009
+ update4(this);
1010
+ return this._offCenterFrustum.getPixelDimensions(
1011
+ drawingBufferWidth,
1012
+ drawingBufferHeight,
1013
+ distance,
1014
+ pixelRatio,
1015
+ result
1016
+ );
1017
+ };
1018
+ PerspectiveFrustum.prototype.clone = function(result) {
1019
+ if (!defined_default(result)) {
1020
+ result = new PerspectiveFrustum();
1021
+ }
1022
+ result.aspectRatio = this.aspectRatio;
1023
+ result.fov = this.fov;
1024
+ result.near = this.near;
1025
+ result.far = this.far;
1026
+ result._aspectRatio = void 0;
1027
+ result._fov = void 0;
1028
+ result._near = void 0;
1029
+ result._far = void 0;
1030
+ this._offCenterFrustum.clone(result._offCenterFrustum);
1031
+ return result;
1032
+ };
1033
+ PerspectiveFrustum.prototype.equals = function(other) {
1034
+ if (!defined_default(other) || !(other instanceof PerspectiveFrustum)) {
1035
+ return false;
1036
+ }
1037
+ update4(this);
1038
+ update4(other);
1039
+ return this.fov === other.fov && this.aspectRatio === other.aspectRatio && this._offCenterFrustum.equals(other._offCenterFrustum);
1040
+ };
1041
+ PerspectiveFrustum.prototype.equalsEpsilon = function(other, relativeEpsilon, absoluteEpsilon) {
1042
+ if (!defined_default(other) || !(other instanceof PerspectiveFrustum)) {
1043
+ return false;
1044
+ }
1045
+ update4(this);
1046
+ update4(other);
1047
+ return Math_default.equalsEpsilon(
1048
+ this.fov,
1049
+ other.fov,
1050
+ relativeEpsilon,
1051
+ absoluteEpsilon
1052
+ ) && Math_default.equalsEpsilon(
1053
+ this.aspectRatio,
1054
+ other.aspectRatio,
1055
+ relativeEpsilon,
1056
+ absoluteEpsilon
1057
+ ) && this._offCenterFrustum.equalsEpsilon(
1058
+ other._offCenterFrustum,
1059
+ relativeEpsilon,
1060
+ absoluteEpsilon
1061
+ );
1062
+ };
1063
+ var PerspectiveFrustum_default = PerspectiveFrustum;
1064
+
1065
+ // packages/engine/Source/Core/FrustumGeometry.js
1066
+ var PERSPECTIVE = 0;
1067
+ var ORTHOGRAPHIC = 1;
1068
+ function FrustumGeometry(options) {
1069
+ Check_default.typeOf.object("options", options);
1070
+ Check_default.typeOf.object("options.frustum", options.frustum);
1071
+ Check_default.typeOf.object("options.origin", options.origin);
1072
+ Check_default.typeOf.object("options.orientation", options.orientation);
1073
+ const frustum = options.frustum;
1074
+ const orientation = options.orientation;
1075
+ const origin = options.origin;
1076
+ const vertexFormat = defaultValue_default(options.vertexFormat, VertexFormat_default.DEFAULT);
1077
+ const drawNearPlane = defaultValue_default(options._drawNearPlane, true);
1078
+ let frustumType;
1079
+ let frustumPackedLength;
1080
+ if (frustum instanceof PerspectiveFrustum_default) {
1081
+ frustumType = PERSPECTIVE;
1082
+ frustumPackedLength = PerspectiveFrustum_default.packedLength;
1083
+ } else if (frustum instanceof OrthographicFrustum_default) {
1084
+ frustumType = ORTHOGRAPHIC;
1085
+ frustumPackedLength = OrthographicFrustum_default.packedLength;
1086
+ }
1087
+ this._frustumType = frustumType;
1088
+ this._frustum = frustum.clone();
1089
+ this._origin = Cartesian3_default.clone(origin);
1090
+ this._orientation = Quaternion_default.clone(orientation);
1091
+ this._drawNearPlane = drawNearPlane;
1092
+ this._vertexFormat = vertexFormat;
1093
+ this._workerName = "createFrustumGeometry";
1094
+ this.packedLength = 2 + frustumPackedLength + Cartesian3_default.packedLength + Quaternion_default.packedLength + VertexFormat_default.packedLength;
1095
+ }
1096
+ FrustumGeometry.pack = function(value, array, startingIndex) {
1097
+ Check_default.typeOf.object("value", value);
1098
+ Check_default.defined("array", array);
1099
+ startingIndex = defaultValue_default(startingIndex, 0);
1100
+ const frustumType = value._frustumType;
1101
+ const frustum = value._frustum;
1102
+ array[startingIndex++] = frustumType;
1103
+ if (frustumType === PERSPECTIVE) {
1104
+ PerspectiveFrustum_default.pack(frustum, array, startingIndex);
1105
+ startingIndex += PerspectiveFrustum_default.packedLength;
1106
+ } else {
1107
+ OrthographicFrustum_default.pack(frustum, array, startingIndex);
1108
+ startingIndex += OrthographicFrustum_default.packedLength;
1109
+ }
1110
+ Cartesian3_default.pack(value._origin, array, startingIndex);
1111
+ startingIndex += Cartesian3_default.packedLength;
1112
+ Quaternion_default.pack(value._orientation, array, startingIndex);
1113
+ startingIndex += Quaternion_default.packedLength;
1114
+ VertexFormat_default.pack(value._vertexFormat, array, startingIndex);
1115
+ startingIndex += VertexFormat_default.packedLength;
1116
+ array[startingIndex] = value._drawNearPlane ? 1 : 0;
1117
+ return array;
1118
+ };
1119
+ var scratchPackPerspective = new PerspectiveFrustum_default();
1120
+ var scratchPackOrthographic = new OrthographicFrustum_default();
1121
+ var scratchPackQuaternion = new Quaternion_default();
1122
+ var scratchPackorigin = new Cartesian3_default();
1123
+ var scratchVertexFormat = new VertexFormat_default();
1124
+ FrustumGeometry.unpack = function(array, startingIndex, result) {
1125
+ Check_default.defined("array", array);
1126
+ startingIndex = defaultValue_default(startingIndex, 0);
1127
+ const frustumType = array[startingIndex++];
1128
+ let frustum;
1129
+ if (frustumType === PERSPECTIVE) {
1130
+ frustum = PerspectiveFrustum_default.unpack(
1131
+ array,
1132
+ startingIndex,
1133
+ scratchPackPerspective
1134
+ );
1135
+ startingIndex += PerspectiveFrustum_default.packedLength;
1136
+ } else {
1137
+ frustum = OrthographicFrustum_default.unpack(
1138
+ array,
1139
+ startingIndex,
1140
+ scratchPackOrthographic
1141
+ );
1142
+ startingIndex += OrthographicFrustum_default.packedLength;
1143
+ }
1144
+ const origin = Cartesian3_default.unpack(array, startingIndex, scratchPackorigin);
1145
+ startingIndex += Cartesian3_default.packedLength;
1146
+ const orientation = Quaternion_default.unpack(
1147
+ array,
1148
+ startingIndex,
1149
+ scratchPackQuaternion
1150
+ );
1151
+ startingIndex += Quaternion_default.packedLength;
1152
+ const vertexFormat = VertexFormat_default.unpack(
1153
+ array,
1154
+ startingIndex,
1155
+ scratchVertexFormat
1156
+ );
1157
+ startingIndex += VertexFormat_default.packedLength;
1158
+ const drawNearPlane = array[startingIndex] === 1;
1159
+ if (!defined_default(result)) {
1160
+ return new FrustumGeometry({
1161
+ frustum,
1162
+ origin,
1163
+ orientation,
1164
+ vertexFormat,
1165
+ _drawNearPlane: drawNearPlane
1166
+ });
1167
+ }
1168
+ const frustumResult = frustumType === result._frustumType ? result._frustum : void 0;
1169
+ result._frustum = frustum.clone(frustumResult);
1170
+ result._frustumType = frustumType;
1171
+ result._origin = Cartesian3_default.clone(origin, result._origin);
1172
+ result._orientation = Quaternion_default.clone(orientation, result._orientation);
1173
+ result._vertexFormat = VertexFormat_default.clone(vertexFormat, result._vertexFormat);
1174
+ result._drawNearPlane = drawNearPlane;
1175
+ return result;
1176
+ };
1177
+ function getAttributes(offset, normals, tangents, bitangents, st, normal, tangent, bitangent) {
1178
+ const stOffset = offset / 3 * 2;
1179
+ for (let i = 0; i < 4; ++i) {
1180
+ if (defined_default(normals)) {
1181
+ normals[offset] = normal.x;
1182
+ normals[offset + 1] = normal.y;
1183
+ normals[offset + 2] = normal.z;
1184
+ }
1185
+ if (defined_default(tangents)) {
1186
+ tangents[offset] = tangent.x;
1187
+ tangents[offset + 1] = tangent.y;
1188
+ tangents[offset + 2] = tangent.z;
1189
+ }
1190
+ if (defined_default(bitangents)) {
1191
+ bitangents[offset] = bitangent.x;
1192
+ bitangents[offset + 1] = bitangent.y;
1193
+ bitangents[offset + 2] = bitangent.z;
1194
+ }
1195
+ offset += 3;
1196
+ }
1197
+ st[stOffset] = 0;
1198
+ st[stOffset + 1] = 0;
1199
+ st[stOffset + 2] = 1;
1200
+ st[stOffset + 3] = 0;
1201
+ st[stOffset + 4] = 1;
1202
+ st[stOffset + 5] = 1;
1203
+ st[stOffset + 6] = 0;
1204
+ st[stOffset + 7] = 1;
1205
+ }
1206
+ var scratchRotationMatrix = new Matrix3_default();
1207
+ var scratchViewMatrix = new Matrix4_default();
1208
+ var scratchInverseMatrix = new Matrix4_default();
1209
+ var scratchXDirection = new Cartesian3_default();
1210
+ var scratchYDirection = new Cartesian3_default();
1211
+ var scratchZDirection = new Cartesian3_default();
1212
+ var scratchNegativeX = new Cartesian3_default();
1213
+ var scratchNegativeY = new Cartesian3_default();
1214
+ var scratchNegativeZ = new Cartesian3_default();
1215
+ var frustumSplits = new Array(3);
1216
+ var frustumCornersNDC = new Array(4);
1217
+ frustumCornersNDC[0] = new Cartesian4_default(-1, -1, 1, 1);
1218
+ frustumCornersNDC[1] = new Cartesian4_default(1, -1, 1, 1);
1219
+ frustumCornersNDC[2] = new Cartesian4_default(1, 1, 1, 1);
1220
+ frustumCornersNDC[3] = new Cartesian4_default(-1, 1, 1, 1);
1221
+ var scratchFrustumCorners = new Array(4);
1222
+ for (let i = 0; i < 4; ++i) {
1223
+ scratchFrustumCorners[i] = new Cartesian4_default();
1224
+ }
1225
+ FrustumGeometry._computeNearFarPlanes = function(origin, orientation, frustumType, frustum, positions, xDirection, yDirection, zDirection) {
1226
+ const rotationMatrix = Matrix3_default.fromQuaternion(
1227
+ orientation,
1228
+ scratchRotationMatrix
1229
+ );
1230
+ let x = defaultValue_default(xDirection, scratchXDirection);
1231
+ let y = defaultValue_default(yDirection, scratchYDirection);
1232
+ let z = defaultValue_default(zDirection, scratchZDirection);
1233
+ x = Matrix3_default.getColumn(rotationMatrix, 0, x);
1234
+ y = Matrix3_default.getColumn(rotationMatrix, 1, y);
1235
+ z = Matrix3_default.getColumn(rotationMatrix, 2, z);
1236
+ Cartesian3_default.normalize(x, x);
1237
+ Cartesian3_default.normalize(y, y);
1238
+ Cartesian3_default.normalize(z, z);
1239
+ Cartesian3_default.negate(x, x);
1240
+ const view = Matrix4_default.computeView(origin, z, y, x, scratchViewMatrix);
1241
+ let inverseView;
1242
+ let inverseViewProjection;
1243
+ const projection = frustum.projectionMatrix;
1244
+ if (frustumType === PERSPECTIVE) {
1245
+ const viewProjection = Matrix4_default.multiply(
1246
+ projection,
1247
+ view,
1248
+ scratchInverseMatrix
1249
+ );
1250
+ inverseViewProjection = Matrix4_default.inverse(
1251
+ viewProjection,
1252
+ scratchInverseMatrix
1253
+ );
1254
+ } else {
1255
+ inverseView = Matrix4_default.inverseTransformation(view, scratchInverseMatrix);
1256
+ }
1257
+ if (defined_default(inverseViewProjection)) {
1258
+ frustumSplits[0] = frustum.near;
1259
+ frustumSplits[1] = frustum.far;
1260
+ } else {
1261
+ frustumSplits[0] = 0;
1262
+ frustumSplits[1] = frustum.near;
1263
+ frustumSplits[2] = frustum.far;
1264
+ }
1265
+ for (let i = 0; i < 2; ++i) {
1266
+ for (let j = 0; j < 4; ++j) {
1267
+ let corner = Cartesian4_default.clone(
1268
+ frustumCornersNDC[j],
1269
+ scratchFrustumCorners[j]
1270
+ );
1271
+ if (!defined_default(inverseViewProjection)) {
1272
+ const offCenterFrustum = frustum.offCenterFrustum;
1273
+ if (defined_default(offCenterFrustum)) {
1274
+ frustum = offCenterFrustum;
1275
+ }
1276
+ const near = frustumSplits[i];
1277
+ const far = frustumSplits[i + 1];
1278
+ corner.x = (corner.x * (frustum.right - frustum.left) + frustum.left + frustum.right) * 0.5;
1279
+ corner.y = (corner.y * (frustum.top - frustum.bottom) + frustum.bottom + frustum.top) * 0.5;
1280
+ corner.z = (corner.z * (near - far) - near - far) * 0.5;
1281
+ corner.w = 1;
1282
+ Matrix4_default.multiplyByVector(inverseView, corner, corner);
1283
+ } else {
1284
+ corner = Matrix4_default.multiplyByVector(
1285
+ inverseViewProjection,
1286
+ corner,
1287
+ corner
1288
+ );
1289
+ const w = 1 / corner.w;
1290
+ Cartesian3_default.multiplyByScalar(corner, w, corner);
1291
+ Cartesian3_default.subtract(corner, origin, corner);
1292
+ Cartesian3_default.normalize(corner, corner);
1293
+ const fac = Cartesian3_default.dot(z, corner);
1294
+ Cartesian3_default.multiplyByScalar(corner, frustumSplits[i] / fac, corner);
1295
+ Cartesian3_default.add(corner, origin, corner);
1296
+ }
1297
+ positions[12 * i + j * 3] = corner.x;
1298
+ positions[12 * i + j * 3 + 1] = corner.y;
1299
+ positions[12 * i + j * 3 + 2] = corner.z;
1300
+ }
1301
+ }
1302
+ };
1303
+ FrustumGeometry.createGeometry = function(frustumGeometry) {
1304
+ const frustumType = frustumGeometry._frustumType;
1305
+ const frustum = frustumGeometry._frustum;
1306
+ const origin = frustumGeometry._origin;
1307
+ const orientation = frustumGeometry._orientation;
1308
+ const drawNearPlane = frustumGeometry._drawNearPlane;
1309
+ const vertexFormat = frustumGeometry._vertexFormat;
1310
+ const numberOfPlanes = drawNearPlane ? 6 : 5;
1311
+ let positions = new Float64Array(3 * 4 * 6);
1312
+ FrustumGeometry._computeNearFarPlanes(
1313
+ origin,
1314
+ orientation,
1315
+ frustumType,
1316
+ frustum,
1317
+ positions
1318
+ );
1319
+ let offset = 3 * 4 * 2;
1320
+ positions[offset] = positions[3 * 4];
1321
+ positions[offset + 1] = positions[3 * 4 + 1];
1322
+ positions[offset + 2] = positions[3 * 4 + 2];
1323
+ positions[offset + 3] = positions[0];
1324
+ positions[offset + 4] = positions[1];
1325
+ positions[offset + 5] = positions[2];
1326
+ positions[offset + 6] = positions[3 * 3];
1327
+ positions[offset + 7] = positions[3 * 3 + 1];
1328
+ positions[offset + 8] = positions[3 * 3 + 2];
1329
+ positions[offset + 9] = positions[3 * 7];
1330
+ positions[offset + 10] = positions[3 * 7 + 1];
1331
+ positions[offset + 11] = positions[3 * 7 + 2];
1332
+ offset += 3 * 4;
1333
+ positions[offset] = positions[3 * 5];
1334
+ positions[offset + 1] = positions[3 * 5 + 1];
1335
+ positions[offset + 2] = positions[3 * 5 + 2];
1336
+ positions[offset + 3] = positions[3];
1337
+ positions[offset + 4] = positions[3 + 1];
1338
+ positions[offset + 5] = positions[3 + 2];
1339
+ positions[offset + 6] = positions[0];
1340
+ positions[offset + 7] = positions[1];
1341
+ positions[offset + 8] = positions[2];
1342
+ positions[offset + 9] = positions[3 * 4];
1343
+ positions[offset + 10] = positions[3 * 4 + 1];
1344
+ positions[offset + 11] = positions[3 * 4 + 2];
1345
+ offset += 3 * 4;
1346
+ positions[offset] = positions[3];
1347
+ positions[offset + 1] = positions[3 + 1];
1348
+ positions[offset + 2] = positions[3 + 2];
1349
+ positions[offset + 3] = positions[3 * 5];
1350
+ positions[offset + 4] = positions[3 * 5 + 1];
1351
+ positions[offset + 5] = positions[3 * 5 + 2];
1352
+ positions[offset + 6] = positions[3 * 6];
1353
+ positions[offset + 7] = positions[3 * 6 + 1];
1354
+ positions[offset + 8] = positions[3 * 6 + 2];
1355
+ positions[offset + 9] = positions[3 * 2];
1356
+ positions[offset + 10] = positions[3 * 2 + 1];
1357
+ positions[offset + 11] = positions[3 * 2 + 2];
1358
+ offset += 3 * 4;
1359
+ positions[offset] = positions[3 * 2];
1360
+ positions[offset + 1] = positions[3 * 2 + 1];
1361
+ positions[offset + 2] = positions[3 * 2 + 2];
1362
+ positions[offset + 3] = positions[3 * 6];
1363
+ positions[offset + 4] = positions[3 * 6 + 1];
1364
+ positions[offset + 5] = positions[3 * 6 + 2];
1365
+ positions[offset + 6] = positions[3 * 7];
1366
+ positions[offset + 7] = positions[3 * 7 + 1];
1367
+ positions[offset + 8] = positions[3 * 7 + 2];
1368
+ positions[offset + 9] = positions[3 * 3];
1369
+ positions[offset + 10] = positions[3 * 3 + 1];
1370
+ positions[offset + 11] = positions[3 * 3 + 2];
1371
+ if (!drawNearPlane) {
1372
+ positions = positions.subarray(3 * 4);
1373
+ }
1374
+ const attributes = new GeometryAttributes_default({
1375
+ position: new GeometryAttribute_default({
1376
+ componentDatatype: ComponentDatatype_default.DOUBLE,
1377
+ componentsPerAttribute: 3,
1378
+ values: positions
1379
+ })
1380
+ });
1381
+ if (defined_default(vertexFormat.normal) || defined_default(vertexFormat.tangent) || defined_default(vertexFormat.bitangent) || defined_default(vertexFormat.st)) {
1382
+ const normals = defined_default(vertexFormat.normal) ? new Float32Array(3 * 4 * numberOfPlanes) : void 0;
1383
+ const tangents = defined_default(vertexFormat.tangent) ? new Float32Array(3 * 4 * numberOfPlanes) : void 0;
1384
+ const bitangents = defined_default(vertexFormat.bitangent) ? new Float32Array(3 * 4 * numberOfPlanes) : void 0;
1385
+ const st = defined_default(vertexFormat.st) ? new Float32Array(2 * 4 * numberOfPlanes) : void 0;
1386
+ const x = scratchXDirection;
1387
+ const y = scratchYDirection;
1388
+ const z = scratchZDirection;
1389
+ const negativeX = Cartesian3_default.negate(x, scratchNegativeX);
1390
+ const negativeY = Cartesian3_default.negate(y, scratchNegativeY);
1391
+ const negativeZ = Cartesian3_default.negate(z, scratchNegativeZ);
1392
+ offset = 0;
1393
+ if (drawNearPlane) {
1394
+ getAttributes(offset, normals, tangents, bitangents, st, negativeZ, x, y);
1395
+ offset += 3 * 4;
1396
+ }
1397
+ getAttributes(offset, normals, tangents, bitangents, st, z, negativeX, y);
1398
+ offset += 3 * 4;
1399
+ getAttributes(
1400
+ offset,
1401
+ normals,
1402
+ tangents,
1403
+ bitangents,
1404
+ st,
1405
+ negativeX,
1406
+ negativeZ,
1407
+ y
1408
+ );
1409
+ offset += 3 * 4;
1410
+ getAttributes(
1411
+ offset,
1412
+ normals,
1413
+ tangents,
1414
+ bitangents,
1415
+ st,
1416
+ negativeY,
1417
+ negativeZ,
1418
+ negativeX
1419
+ );
1420
+ offset += 3 * 4;
1421
+ getAttributes(offset, normals, tangents, bitangents, st, x, z, y);
1422
+ offset += 3 * 4;
1423
+ getAttributes(offset, normals, tangents, bitangents, st, y, z, negativeX);
1424
+ if (defined_default(normals)) {
1425
+ attributes.normal = new GeometryAttribute_default({
1426
+ componentDatatype: ComponentDatatype_default.FLOAT,
1427
+ componentsPerAttribute: 3,
1428
+ values: normals
1429
+ });
1430
+ }
1431
+ if (defined_default(tangents)) {
1432
+ attributes.tangent = new GeometryAttribute_default({
1433
+ componentDatatype: ComponentDatatype_default.FLOAT,
1434
+ componentsPerAttribute: 3,
1435
+ values: tangents
1436
+ });
1437
+ }
1438
+ if (defined_default(bitangents)) {
1439
+ attributes.bitangent = new GeometryAttribute_default({
1440
+ componentDatatype: ComponentDatatype_default.FLOAT,
1441
+ componentsPerAttribute: 3,
1442
+ values: bitangents
1443
+ });
1444
+ }
1445
+ if (defined_default(st)) {
1446
+ attributes.st = new GeometryAttribute_default({
1447
+ componentDatatype: ComponentDatatype_default.FLOAT,
1448
+ componentsPerAttribute: 2,
1449
+ values: st
1450
+ });
1451
+ }
1452
+ }
1453
+ const indices = new Uint16Array(6 * numberOfPlanes);
1454
+ for (let i = 0; i < numberOfPlanes; ++i) {
1455
+ const indexOffset = i * 6;
1456
+ const index = i * 4;
1457
+ indices[indexOffset] = index;
1458
+ indices[indexOffset + 1] = index + 1;
1459
+ indices[indexOffset + 2] = index + 2;
1460
+ indices[indexOffset + 3] = index;
1461
+ indices[indexOffset + 4] = index + 2;
1462
+ indices[indexOffset + 5] = index + 3;
1463
+ }
1464
+ return new Geometry_default({
1465
+ attributes,
1466
+ indices,
1467
+ primitiveType: PrimitiveType_default.TRIANGLES,
1468
+ boundingSphere: BoundingSphere_default.fromVertices(positions)
1469
+ });
1470
+ };
1471
+ var FrustumGeometry_default = FrustumGeometry;
1472
+
1473
+ export {
1474
+ OrthographicFrustum_default,
1475
+ PerspectiveFrustum_default,
1476
+ FrustumGeometry_default
1477
+ };