@vcmap/ui 5.0.0-rc.8 → 5.0.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 (663) hide show
  1. package/README.md +95 -64
  2. package/app.config.json +3 -0
  3. package/build/.eslintrc +3 -0
  4. package/build/build.js +302 -165
  5. package/build/buildCesium.js +39 -19
  6. package/build/buildHelpers.js +279 -88
  7. package/build/buildPreview.js +16 -6
  8. package/build/bundle.js +57 -0
  9. package/build/commonViteConfig.js +7 -16
  10. package/build/determineHost.js +17 -4
  11. package/build/generateOLLib.js +15 -18
  12. package/build/getPluginProxies.js +35 -3
  13. package/build/info/conf.json +21 -19
  14. package/build/info/publish.js +16 -5
  15. package/config/aerowest.config.json +47 -54
  16. package/config/base.config.json +597 -662
  17. package/config/codes.config.json +401 -0
  18. package/config/dev.config.json +460 -14
  19. package/config/graphFeatureInfo.config.json +141 -0
  20. package/config/projects.config.json +29 -0
  21. package/config/www.config.json +1801 -0
  22. package/dist/assets/@mdi/font/LICENSE +20 -0
  23. package/dist/assets/@mdi/font/css/materialdesignicons.css.map +16 -0
  24. package/dist/assets/@mdi/font/css/materialdesignicons.min.e3f476.css +3 -0
  25. package/dist/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  26. package/dist/assets/cesium/ThirdParty/Workers/basis_transcoder.js +21 -0
  27. package/dist/assets/cesium/ThirdParty/Workers/package.json +1 -0
  28. package/dist/assets/cesium/ThirdParty/Workers/pako_deflate.min.js +2 -0
  29. package/dist/assets/cesium/ThirdParty/Workers/pako_inflate.min.js +2 -0
  30. package/dist/assets/cesium/ThirdParty/Workers/z-worker-pako.js +1 -0
  31. package/dist/assets/cesium/ThirdParty/basis_transcoder.wasm +0 -0
  32. package/dist/assets/cesium/ThirdParty/draco_decoder.wasm +0 -0
  33. package/dist/assets/cesium/ThirdParty/google-earth-dbroot-parser.js +8337 -0
  34. package/dist/assets/cesium/Workers/chunk-227AJNOA.js +59 -0
  35. package/dist/assets/cesium/Workers/chunk-2R5O53JW.js +157 -0
  36. package/dist/assets/cesium/Workers/chunk-34YUDLRP.js +781 -0
  37. package/dist/assets/cesium/Workers/chunk-3W63OHNJ.js +100 -0
  38. package/dist/assets/cesium/Workers/chunk-4MFFIWUA.js +163 -0
  39. package/dist/assets/cesium/Workers/chunk-66QLLS45.js +218 -0
  40. package/dist/assets/cesium/Workers/chunk-6BTKZDRG.js +77 -0
  41. package/dist/assets/cesium/Workers/chunk-A4JVFBQ3.js +101 -0
  42. package/dist/assets/cesium/Workers/chunk-ABADGKYE.js +58 -0
  43. package/dist/assets/cesium/Workers/chunk-AFFLIKOH.js +353 -0
  44. package/dist/assets/cesium/Workers/chunk-AHKEZ2OE.js +629 -0
  45. package/dist/assets/cesium/Workers/chunk-C3SXRKRW.js +476 -0
  46. package/dist/assets/cesium/Workers/chunk-CCFQRR6D.js +55 -0
  47. package/dist/assets/cesium/Workers/chunk-CHHNOC2C.js +1860 -0
  48. package/dist/assets/cesium/Workers/chunk-CTELOFLA.js +196 -0
  49. package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +3273 -0
  50. package/dist/assets/cesium/Workers/chunk-EW2GWJYB.js +44 -0
  51. package/dist/assets/cesium/Workers/chunk-GLZBE3ML.js +421 -0
  52. package/dist/assets/cesium/Workers/chunk-HARLBUOL.js +236 -0
  53. package/dist/assets/cesium/Workers/chunk-HQF437NJ.js +117 -0
  54. package/dist/assets/cesium/Workers/chunk-IPA4EACJ.js +368 -0
  55. package/dist/assets/cesium/Workers/chunk-J3JY6I2C.js +1009 -0
  56. package/dist/assets/cesium/Workers/chunk-JB2LWGH4.js +390 -0
  57. package/dist/assets/cesium/Workers/chunk-JS3AW5BK.js +634 -0
  58. package/dist/assets/cesium/Workers/chunk-K36FEYS7.js +452 -0
  59. package/dist/assets/cesium/Workers/chunk-KD4Y7CZL.js +400 -0
  60. package/dist/assets/cesium/Workers/chunk-KTJSNCK4.js +842 -0
  61. package/dist/assets/cesium/Workers/chunk-LLUNNUJV.js +258 -0
  62. package/dist/assets/cesium/Workers/chunk-MPAZH4BF.js +37 -0
  63. package/dist/assets/cesium/Workers/chunk-MYZB7C4T.js +1258 -0
  64. package/dist/assets/cesium/Workers/chunk-N3JIFFX2.js +501 -0
  65. package/dist/assets/cesium/Workers/chunk-O5AMBQ36.js +430 -0
  66. package/dist/assets/cesium/Workers/chunk-OAVNIRB4.js +124 -0
  67. package/dist/assets/cesium/Workers/chunk-OYFCF4PL.js +171 -0
  68. package/dist/assets/cesium/Workers/chunk-OZJDGN5F.js +1477 -0
  69. package/dist/assets/cesium/Workers/chunk-PCJWUS4M.js +2041 -0
  70. package/dist/assets/cesium/Workers/chunk-PFQBCKBM.js +8644 -0
  71. package/dist/assets/cesium/Workers/chunk-QIKODV5G.js +305 -0
  72. package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +73 -0
  73. package/dist/assets/cesium/Workers/chunk-QMEMZIJI.js +138 -0
  74. package/dist/assets/cesium/Workers/chunk-QT3MPEMI.js +102 -0
  75. package/dist/assets/cesium/Workers/chunk-RP2A7BR5.js +289 -0
  76. package/dist/assets/cesium/Workers/chunk-RW6LU2CJ.js +138 -0
  77. package/dist/assets/cesium/Workers/chunk-TFC6TZ3S.js +757 -0
  78. package/dist/assets/cesium/Workers/chunk-V3NGATMV.js +693 -0
  79. package/dist/assets/cesium/Workers/chunk-VLGOATD6.js +1075 -0
  80. package/dist/assets/cesium/Workers/chunk-WXTV4ATB.js +39 -0
  81. package/dist/assets/cesium/Workers/chunk-X4SU25DT.js +302 -0
  82. package/dist/assets/cesium/Workers/chunk-XTY7B2N6.js +2716 -0
  83. package/dist/assets/cesium/Workers/chunk-XY7MGBKC.js +513 -0
  84. package/dist/assets/cesium/Workers/chunk-Z24VKNDO.js +834 -0
  85. package/dist/assets/cesium/Workers/chunk-ZA25DG4Y.js +684 -0
  86. package/dist/assets/cesium/Workers/chunk-ZFOBYDGF.js +73 -0
  87. package/dist/assets/cesium/Workers/combineGeometry.js +67 -1
  88. package/dist/assets/cesium/Workers/createBoxGeometry.js +57 -1
  89. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +234 -1
  90. package/dist/assets/cesium/Workers/createCircleGeometry.js +196 -1
  91. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +146 -1
  92. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +506 -1
  93. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +224 -1
  94. package/dist/assets/cesium/Workers/createCorridorGeometry.js +1262 -1
  95. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +567 -1
  96. package/dist/assets/cesium/Workers/createCylinderGeometry.js +59 -1
  97. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +231 -1
  98. package/dist/assets/cesium/Workers/createEllipseGeometry.js +70 -1
  99. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +63 -1
  100. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +58 -1
  101. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +60 -1
  102. package/dist/assets/cesium/Workers/createFrustumGeometry.js +57 -1
  103. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +234 -1
  104. package/dist/assets/cesium/Workers/createGeometry.js +150 -1
  105. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +1607 -1
  106. package/dist/assets/cesium/Workers/createPlaneGeometry.js +223 -1
  107. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +123 -1
  108. package/dist/assets/cesium/Workers/createPolygonGeometry.js +1134 -1
  109. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +542 -1
  110. package/dist/assets/cesium/Workers/createPolylineGeometry.js +495 -1
  111. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +379 -1
  112. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +277 -1
  113. package/dist/assets/cesium/Workers/createRectangleGeometry.js +1273 -1
  114. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +480 -1
  115. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +399 -1
  116. package/dist/assets/cesium/Workers/createSphereGeometry.js +117 -1
  117. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +117 -1
  118. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +32 -1
  119. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +492 -1
  120. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +386 -1
  121. package/dist/assets/cesium/Workers/createVectorTilePoints.js +112 -1
  122. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +384 -1
  123. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +262 -1
  124. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +568 -1
  125. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +2277 -3
  126. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +745 -1
  127. package/dist/assets/cesium/Workers/createWallGeometry.js +489 -1
  128. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +337 -1
  129. package/dist/assets/cesium/Workers/decodeDraco.js +369 -1
  130. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +2650 -1
  131. package/dist/assets/cesium/Workers/decodeI3S.js +835 -0
  132. package/dist/assets/cesium/Workers/transcodeKTX2.js +3425 -1
  133. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +41 -1
  134. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +818 -1
  135. package/dist/assets/cesium.4137c8.js +164897 -0
  136. package/dist/assets/cesium.js +1 -1
  137. package/dist/assets/core.306872.js +19286 -0
  138. package/dist/assets/core.js +1 -1
  139. package/dist/assets/favicon-128.4c4ce5.png +0 -0
  140. package/dist/assets/favicon-180.5b99c0.png +0 -0
  141. package/dist/assets/favicon-192.0e205e.png +0 -0
  142. package/dist/assets/favicon-32.6b9add.png +0 -0
  143. package/dist/assets/favicon.d5ec97.svg +10 -0
  144. package/dist/assets/font/OFL.txt +93 -0
  145. package/dist/assets/font/TitilliumWeb-Regular.9ca076.woff2 +0 -0
  146. package/dist/assets/index-cfed33b1.js +1 -0
  147. package/dist/assets/ol.328bbf.js +60117 -0
  148. package/dist/assets/ol.js +1 -1
  149. package/dist/assets/style/icon-marker-blue.534e37.png +0 -0
  150. package/dist/assets/style/icon-marker-green.0b6a92.png +0 -0
  151. package/dist/assets/style/icon-marker-o-blue.7b6d62.png +0 -0
  152. package/dist/assets/style/icon-marker-o-green.c863c0.png +0 -0
  153. package/dist/assets/style/icon-marker-o-red.93ff58.png +0 -0
  154. package/dist/assets/style/icon-marker-o.036477.png +0 -0
  155. package/dist/assets/style/icon-marker-red.313d03.png +0 -0
  156. package/dist/assets/style/icon-marker.70960f.png +0 -0
  157. package/dist/assets/style/icon-pin-blue.7be369.png +0 -0
  158. package/dist/assets/style/icon-pin-green.cbb935.png +0 -0
  159. package/dist/assets/style/icon-pin-red.3f25b2.png +0 -0
  160. package/dist/assets/style/icon-pin.b7ce77.png +0 -0
  161. package/dist/assets/ui.e84ce9.css +5 -0
  162. package/dist/assets/ui.e84ce9.js +16488 -0
  163. package/dist/assets/ui.js +1 -1
  164. package/dist/assets/vue.1c8696.js +4911 -0
  165. package/dist/assets/vue.js +5 -1
  166. package/dist/assets/vuetify.008fac.css +5 -0
  167. package/dist/assets/vuetify.008fac.js +21262 -0
  168. package/dist/assets/vuetify.js +5 -2
  169. package/dist/index.html +90 -8
  170. package/index.html +111 -0
  171. package/index.js +203 -18
  172. package/lib/cesium.js +1 -1
  173. package/lib/core.js +1 -1
  174. package/lib/olLib.js +861 -843
  175. package/lib/ui.js +1 -1
  176. package/lib/vue.js +2 -1
  177. package/lib/vuetify.js +2 -2
  178. package/package.json +53 -34
  179. package/plugins/.eslintrc +9 -0
  180. package/plugins/@vcmap-show-case/README.md +28 -0
  181. package/plugins/@vcmap-show-case/buttons-example/README.md +4 -0
  182. package/plugins/@vcmap-show-case/buttons-example/package.json +5 -0
  183. package/plugins/@vcmap-show-case/buttons-example/src/ButtonsExample.vue +282 -0
  184. package/plugins/@vcmap-show-case/buttons-example/src/index.js +51 -0
  185. package/plugins/@vcmap-show-case/category-tester/README.md +3 -0
  186. package/plugins/@vcmap-show-case/category-tester/package.json +5 -0
  187. package/plugins/@vcmap-show-case/category-tester/src/CategoriesExample.vue +135 -0
  188. package/plugins/@vcmap-show-case/category-tester/src/CollectionComponentOptions.vue +209 -0
  189. package/plugins/@vcmap-show-case/category-tester/src/index.js +73 -0
  190. package/plugins/@vcmap-show-case/collection-manager-example/README.md +3 -0
  191. package/plugins/@vcmap-show-case/collection-manager-example/package.json +5 -0
  192. package/plugins/@vcmap-show-case/collection-manager-example/src/CollectionManagerExample.vue +182 -0
  193. package/plugins/@vcmap-show-case/collection-manager-example/src/index.js +79 -0
  194. package/plugins/@vcmap-show-case/config-editor/README.md +3 -0
  195. package/plugins/@vcmap-show-case/config-editor/package.json +5 -0
  196. package/plugins/@vcmap-show-case/config-editor/src/ConfigEditor.vue +62 -0
  197. package/plugins/@vcmap-show-case/config-editor/src/index.js +49 -0
  198. package/plugins/@vcmap-show-case/context-menu-tester/README.md +3 -0
  199. package/plugins/@vcmap-show-case/context-menu-tester/package.json +5 -0
  200. package/plugins/@vcmap-show-case/context-menu-tester/src/index.js +41 -0
  201. package/plugins/@vcmap-show-case/form-inputs-example/README.md +4 -0
  202. package/plugins/@vcmap-show-case/form-inputs-example/config.json +5 -0
  203. package/plugins/@vcmap-show-case/form-inputs-example/package.json +5 -0
  204. package/plugins/@vcmap-show-case/form-inputs-example/src/FormInputsExample.vue +516 -0
  205. package/plugins/@vcmap-show-case/form-inputs-example/src/exampleActions.js +36 -0
  206. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example/src}/index.js +123 -39
  207. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example/src}/validation.js +14 -2
  208. package/plugins/@vcmap-show-case/hello-world/README.md +31 -0
  209. package/plugins/@vcmap-show-case/hello-world/package.json +6 -0
  210. package/plugins/@vcmap-show-case/hello-world/plugin-assets/vcs_logo.png +0 -0
  211. package/plugins/@vcmap-show-case/hello-world/src/defaultOptions.js +4 -0
  212. package/plugins/@vcmap-show-case/hello-world/src/helloWorld.vue +69 -0
  213. package/plugins/@vcmap-show-case/hello-world/src/index.js +142 -0
  214. package/plugins/@vcmap-show-case/hello-world/tests/helloWorld.spec.js +53 -0
  215. package/plugins/@vcmap-show-case/icons-example/README.md +5 -0
  216. package/plugins/@vcmap-show-case/icons-example/package.json +5 -0
  217. package/plugins/@vcmap-show-case/icons-example/src/AllIconsComponent.vue +51 -0
  218. package/plugins/@vcmap-show-case/icons-example/src/index.js +46 -0
  219. package/plugins/@vcmap-show-case/list-example/README.md +3 -0
  220. package/plugins/@vcmap-show-case/list-example/package.json +5 -0
  221. package/plugins/@vcmap-show-case/list-example/src/ListExample.vue +411 -0
  222. package/plugins/@vcmap-show-case/list-example/src/index.js +46 -0
  223. package/plugins/@vcmap-show-case/notifier-tester/README.md +3 -0
  224. package/plugins/@vcmap-show-case/notifier-tester/package.json +5 -0
  225. package/plugins/@vcmap-show-case/notifier-tester/src/NotifierTester.vue +82 -0
  226. package/plugins/@vcmap-show-case/notifier-tester/src/index.js +42 -0
  227. package/plugins/@vcmap-show-case/plugin-editors/README.md +4 -0
  228. package/plugins/@vcmap-show-case/plugin-editors/package.json +5 -0
  229. package/plugins/@vcmap-show-case/plugin-editors/src/PluginEditors.vue +119 -0
  230. package/plugins/@vcmap-show-case/plugin-editors/src/index.js +41 -0
  231. package/plugins/@vcmap-show-case/project-selector/README.md +25 -0
  232. package/plugins/@vcmap-show-case/project-selector/config.json +15 -0
  233. package/plugins/@vcmap-show-case/project-selector/package.json +13 -0
  234. package/plugins/@vcmap-show-case/project-selector/src/ModulesListComponent.vue +65 -0
  235. package/plugins/@vcmap-show-case/project-selector/src/ProjectSelectorComponent.vue +102 -0
  236. package/plugins/@vcmap-show-case/project-selector/src/de.json +10 -0
  237. package/plugins/@vcmap-show-case/project-selector/src/en.json +10 -0
  238. package/plugins/@vcmap-show-case/project-selector/src/index.js +269 -0
  239. package/plugins/@vcmap-show-case/simple-graph/README.md +71 -0
  240. package/plugins/@vcmap-show-case/simple-graph/package.json +11 -0
  241. package/plugins/@vcmap-show-case/simple-graph/src/SimpleGraphComponent.vue +59 -0
  242. package/plugins/@vcmap-show-case/simple-graph/src/index.js +17 -0
  243. package/plugins/@vcmap-show-case/simple-graph/src/simpleGraphView.js +78 -0
  244. package/plugins/@vcmap-show-case/style-input-example/README.md +4 -0
  245. package/plugins/@vcmap-show-case/style-input-example/package.json +5 -0
  246. package/plugins/@vcmap-show-case/style-input-example/src/StyleExample.vue +190 -0
  247. package/plugins/@vcmap-show-case/style-input-example/src/index.js +42 -0
  248. package/plugins/@vcmap-show-case/switch-map-callback-example/README.md +21 -0
  249. package/plugins/@vcmap-show-case/switch-map-callback-example/config.json +3 -0
  250. package/plugins/@vcmap-show-case/switch-map-callback-example/package.json +5 -0
  251. package/plugins/@vcmap-show-case/switch-map-callback-example/src/index.js +34 -0
  252. package/plugins/@vcmap-show-case/switch-map-callback-example/src/switchMapCallback.js +47 -0
  253. package/plugins/@vcmap-show-case/table-example/README.md +3 -0
  254. package/plugins/@vcmap-show-case/table-example/package.json +5 -0
  255. package/plugins/@vcmap-show-case/table-example/src/DataTableExample.vue +182 -0
  256. package/plugins/@vcmap-show-case/table-example/src/index.js +49 -0
  257. package/plugins/@vcmap-show-case/textfields-example/README.md +3 -0
  258. package/plugins/@vcmap-show-case/textfields-example/package.json +5 -0
  259. package/plugins/{example/mySuperComponent.vue → @vcmap-show-case/textfields-example/src/TextfieldsExample.vue} +13 -31
  260. package/plugins/@vcmap-show-case/textfields-example/src/index.js +64 -0
  261. package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/README.md +5 -3
  262. package/plugins/@vcmap-show-case/theme-changer/config.json +69 -0
  263. package/plugins/@vcmap-show-case/theme-changer/package.json +11 -0
  264. package/plugins/{@vcmap/theme-changer → @vcmap-show-case/theme-changer/src}/ThemeChangerComponent.vue +36 -8
  265. package/plugins/{@vcmap/theme-changer → @vcmap-show-case/theme-changer/src}/index.js +20 -14
  266. package/plugins/@vcmap-show-case/vector-properties-example/package.json +5 -0
  267. package/plugins/@vcmap-show-case/vector-properties-example/src/VectorPropertiesExample.vue +128 -0
  268. package/plugins/@vcmap-show-case/vector-properties-example/src/index.js +40 -0
  269. package/plugins/@vcmap-show-case/window-tester/README.md +3 -0
  270. package/plugins/@vcmap-show-case/window-tester/package.json +5 -0
  271. package/plugins/@vcmap-show-case/window-tester/src/EmptyComponent.vue +18 -0
  272. package/plugins/@vcmap-show-case/window-tester/src/MyCustomHeader.vue +31 -0
  273. package/plugins/@vcmap-show-case/window-tester/src/WindowExample.vue +185 -0
  274. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleContent.vue +18 -0
  275. package/plugins/@vcmap-show-case/window-tester/src/WindowExampleToggleChild.vue +45 -0
  276. package/plugins/@vcmap-show-case/window-tester/src/index.js +80 -0
  277. package/plugins/@vcmap-show-case/window-tester/src/toolboxData.js +288 -0
  278. package/plugins/@vcmap-show-case/wizard-example/README.md +3 -0
  279. package/plugins/@vcmap-show-case/wizard-example/package.json +5 -0
  280. package/plugins/@vcmap-show-case/wizard-example/src/WizardExample.vue +127 -0
  281. package/plugins/@vcmap-show-case/wizard-example/src/index.js +53 -0
  282. package/plugins/package.json +9 -2
  283. package/public/assets/@mdi/font/LICENSE +20 -0
  284. package/public/assets/@mdi/font/css/materialdesignicons.css.map +16 -0
  285. package/public/assets/@mdi/font/css/materialdesignicons.min.css +3 -0
  286. package/public/assets/@mdi/font/fonts/materialdesignicons-webfont.woff2 +0 -0
  287. package/public/assets/favicon-128.png +0 -0
  288. package/public/assets/favicon-180.png +0 -0
  289. package/public/assets/favicon-192.png +0 -0
  290. package/public/assets/favicon-32.png +0 -0
  291. package/public/assets/favicon.svg +10 -0
  292. package/public/assets/font/OFL.txt +93 -0
  293. package/public/assets/font/TitilliumWeb-Regular.woff2 +0 -0
  294. package/public/assets/style/icon-marker-blue.png +0 -0
  295. package/public/assets/style/icon-marker-green.png +0 -0
  296. package/public/assets/style/icon-marker-o-blue.png +0 -0
  297. package/public/assets/style/icon-marker-o-green.png +0 -0
  298. package/public/assets/style/icon-marker-o-red.png +0 -0
  299. package/public/assets/style/icon-marker-o.png +0 -0
  300. package/public/assets/style/icon-marker-red.png +0 -0
  301. package/public/assets/style/icon-marker.png +0 -0
  302. package/public/assets/style/icon-pin-blue.png +0 -0
  303. package/public/assets/style/icon-pin-green.png +0 -0
  304. package/public/assets/style/icon-pin-red.png +0 -0
  305. package/public/assets/style/icon-pin.png +0 -0
  306. package/src/actions/StyleSelector.vue +121 -0
  307. package/src/actions/actionHelper.js +186 -50
  308. package/src/actions/stateRefAction.js +2 -3
  309. package/src/application/VcsApp.vue +539 -93
  310. package/src/application/VcsAppWrapper.vue +32 -0
  311. package/src/application/VcsAttributions.vue +83 -0
  312. package/src/application/VcsAttributionsFooter.vue +83 -0
  313. package/src/application/VcsMap.vue +22 -5
  314. package/src/application/VcsNavbar.vue +217 -0
  315. package/src/application/VcsSettings.vue +98 -0
  316. package/src/application/attributionsHelper.js +162 -0
  317. package/src/callback/activateLayersCallback.js +54 -0
  318. package/src/callback/applyLayerStyleCallback.js +63 -0
  319. package/src/callback/deactivateLayersCallback.js +54 -0
  320. package/src/callback/goToViewpointCallback.js +54 -0
  321. package/src/callback/vcsCallback.js +66 -0
  322. package/src/components/ImageElementInjector.vue +24 -0
  323. package/src/components/buttons/VcsActionButtonList.vue +129 -0
  324. package/src/components/buttons/VcsButton.vue +151 -0
  325. package/src/components/buttons/VcsFormButton.vue +178 -0
  326. package/src/components/buttons/VcsToolButton.vue +161 -0
  327. package/src/components/form-inputs-controls/VcsCheckbox.vue +115 -0
  328. package/src/components/form-inputs-controls/VcsChipArrayInput.vue +290 -0
  329. package/src/components/form-inputs-controls/VcsDatePicker.vue +156 -0
  330. package/src/components/form-inputs-controls/VcsFormSection.vue +150 -0
  331. package/src/components/form-inputs-controls/VcsLabel.vue +56 -0
  332. package/src/components/form-inputs-controls/VcsRadio.vue +149 -0
  333. package/src/components/form-inputs-controls/VcsRadioGrid.vue +175 -0
  334. package/src/components/form-inputs-controls/VcsSelect.vue +211 -0
  335. package/src/components/form-inputs-controls/VcsSlider.vue +73 -0
  336. package/src/components/form-inputs-controls/VcsTextArea.vue +180 -0
  337. package/src/components/form-inputs-controls/VcsTextField.vue +298 -0
  338. package/src/components/form-inputs-controls/VcsWizard.vue +137 -0
  339. package/src/components/form-inputs-controls/VcsWizardStep.vue +161 -0
  340. package/src/components/form-inputs-controls/composables.js +31 -0
  341. package/src/components/form-output/VcsFormattedNumber.vue +103 -0
  342. package/src/components/icons/+all.js +463 -0
  343. package/src/components/icons/2DAreaIcon.vue +58 -0
  344. package/src/components/icons/2DDistanceIcon.vue +24 -0
  345. package/src/components/icons/3DAreaIcon.vue +58 -0
  346. package/src/components/icons/3DDistanceIcon.vue +24 -0
  347. package/src/components/icons/3DHeightIcon.vue +24 -0
  348. package/src/components/icons/AngleIcon.vue +16 -0
  349. package/src/components/icons/AssociationsIcon.vue +37 -0
  350. package/src/components/icons/AxisIcon.vue +35 -0
  351. package/src/components/icons/BoundingBoxIcon.vue +38 -0
  352. package/src/components/icons/CheckboxCheckedIcon.vue +12 -0
  353. package/src/components/icons/CheckboxIcon.vue +21 -0
  354. package/src/components/icons/CheckboxIndeterminateIcon.vue +10 -0
  355. package/src/components/icons/CircleIcon.vue +25 -0
  356. package/src/components/icons/ClippingHorizontalIcon.vue +18 -0
  357. package/src/components/icons/ClippingIcon.vue +17 -0
  358. package/src/components/icons/ClippingVerticalIcon.vue +18 -0
  359. package/src/components/icons/ColorPickerIcon.vue +17 -0
  360. package/src/components/icons/ColorSwatchIcon.vue +21 -0
  361. package/src/components/icons/CommentIcon.vue +19 -0
  362. package/src/components/icons/CompassIcon.vue +24 -0
  363. package/src/components/icons/ComponentsIcon.vue +18 -0
  364. package/src/components/icons/ConeIcon.vue +30 -0
  365. package/src/components/icons/DimensionsHouseIcon.vue +20 -0
  366. package/src/components/icons/EditIcon.vue +17 -0
  367. package/src/components/icons/EditVerticesIcon.vue +35 -0
  368. package/src/components/icons/ElevationProfileIcon.vue +104 -0
  369. package/src/components/icons/ExportAreaIcon.vue +17 -0
  370. package/src/components/icons/ExportFlightIcon.vue +17 -0
  371. package/src/components/icons/ExportIcon.vue +24 -0
  372. package/src/components/icons/ExternalLinkIcon.vue +23 -0
  373. package/src/components/icons/EyeIcon.vue +17 -0
  374. package/src/components/icons/FastForwardIcon.vue +17 -0
  375. package/src/components/icons/FilterIcon.vue +18 -0
  376. package/src/components/icons/GlobalTerrainIcon.vue +19 -0
  377. package/src/components/icons/GlobeNatureIcon.vue +17 -0
  378. package/src/components/icons/GroundIcon.vue +27 -0
  379. package/src/components/icons/HealthCareIndustriesIcon.vue +113 -0
  380. package/src/components/icons/HelpIcon.vue +17 -0
  381. package/src/components/icons/HideIcon.vue +25 -0
  382. package/src/components/icons/HomePointIcon.vue +17 -0
  383. package/src/components/icons/HospitalsIcon.vue +223 -0
  384. package/src/components/icons/HouseIcon.vue +32 -0
  385. package/src/components/icons/ImportIcon.vue +18 -0
  386. package/src/components/icons/InfoIcon.vue +24 -0
  387. package/src/components/icons/KebabIcon.vue +38 -0
  388. package/src/components/icons/LabelIcon.vue +23 -0
  389. package/src/components/icons/LayersIcon.vue +28 -0
  390. package/src/components/icons/LegendIcon.vue +24 -0
  391. package/src/components/icons/LineIcon.vue +22 -0
  392. package/src/components/icons/LinkIcon.vue +17 -0
  393. package/src/components/icons/LogoutIcon.vue +17 -0
  394. package/src/components/icons/MapIcon.vue +18 -0
  395. package/src/components/icons/MenuIcon.vue +36 -0
  396. package/src/components/icons/MinusIcon.vue +18 -0
  397. package/src/components/icons/ObjectAttributeIcon.vue +18 -0
  398. package/src/components/icons/ObjectSelectIcon.vue +18 -0
  399. package/src/components/icons/ObliqueViewIcon.vue +19 -0
  400. package/src/components/icons/PdfIcon.vue +19 -0
  401. package/src/components/icons/PedestrianIcon.vue +17 -0
  402. package/src/components/icons/PenIcon.vue +16 -0
  403. package/src/components/icons/PlayCircleIcon.vue +20 -0
  404. package/src/components/icons/PlusIcon.vue +18 -0
  405. package/src/components/icons/PoiIcon.vue +23 -0
  406. package/src/components/icons/PointIcon.vue +40 -0
  407. package/src/components/icons/PointSelectIcon.vue +18 -0
  408. package/src/components/icons/PresentationModeIcon.vue +17 -0
  409. package/src/components/icons/ProgressIcon.vue +26 -0
  410. package/src/components/icons/QueryIcon.vue +39 -0
  411. package/src/components/icons/RectangleIcon.vue +24 -0
  412. package/src/components/icons/ReturnIcon.vue +17 -0
  413. package/src/components/icons/RewindIcon.vue +16 -0
  414. package/src/components/icons/RotateLeftIcon.vue +17 -0
  415. package/src/components/icons/RotateRightIcon.vue +17 -0
  416. package/src/components/icons/ScreenshotIcon.vue +53 -0
  417. package/src/components/icons/SearchIcon.vue +17 -0
  418. package/src/components/icons/ShadowIcon.vue +18 -0
  419. package/src/components/icons/ShapesIcon.vue +35 -0
  420. package/src/components/icons/ShareIcon.vue +22 -0
  421. package/src/components/icons/SimpleCircleFilledIcon.vue +18 -0
  422. package/src/components/icons/SimpleCircleHalfFilledIcon.vue +16 -0
  423. package/src/components/icons/SimpleCircleOutlinedIcon.vue +13 -0
  424. package/src/components/icons/SkipNextIcon.vue +18 -0
  425. package/src/components/icons/SkipPreviousIcon.vue +18 -0
  426. package/src/components/icons/SplitViewIcon.vue +19 -0
  427. package/src/components/icons/TerrainBoxIcon.vue +19 -0
  428. package/src/components/icons/TextStyleIcon.vue +17 -0
  429. package/src/components/icons/ThreeDimensionsIcon.vue +17 -0
  430. package/src/components/icons/ToolsIcon.vue +16 -0
  431. package/src/components/icons/TouchIcon.vue +18 -0
  432. package/src/components/icons/TrashCanIcon.vue +18 -0
  433. package/src/components/icons/TriangleIcon.vue +16 -0
  434. package/src/components/icons/TwoDimensionsIcon.vue +18 -0
  435. package/src/components/icons/UploadIcon.vue +17 -0
  436. package/src/components/icons/UserProfileIcon.vue +17 -0
  437. package/src/components/icons/UserShareIcon.vue +16 -0
  438. package/src/components/icons/VideoRecorderIcon.vue +23 -0
  439. package/src/components/icons/ViewpointFlightIcon.vue +28 -0
  440. package/src/components/icons/ViewpointIcon.vue +28 -0
  441. package/src/components/icons/Viewshed360Icon.vue +18 -0
  442. package/src/components/icons/ViewshedConeIcon.vue +17 -0
  443. package/src/components/icons/ViewshedIcon.vue +18 -0
  444. package/src/components/icons/WalkingIcon.vue +17 -0
  445. package/src/components/icons/WallIcon.vue +22 -0
  446. package/src/components/icons/WandIcon.vue +123 -0
  447. package/src/components/lists/VcsActionList.vue +132 -0
  448. package/src/components/lists/VcsList.vue +590 -0
  449. package/src/components/lists/VcsTreeview.vue +112 -0
  450. package/src/components/lists/VcsTreeviewLeaf.vue +81 -0
  451. package/src/components/lists/VcsTreeviewSearchbar.vue +148 -0
  452. package/src/components/notification/VcsBadge.vue +29 -0
  453. package/src/components/notification/VcsHelp.vue +39 -0
  454. package/src/components/notification/VcsTooltip.vue +160 -0
  455. package/src/components/notification/validation.js +19 -0
  456. package/src/components/plugins/AbstractConfigEditor.vue +84 -0
  457. package/src/components/style/MenuWrapper.vue +140 -0
  458. package/src/components/style/VcsFillMenu.vue +61 -0
  459. package/src/components/style/VcsFillSelector.vue +45 -0
  460. package/src/components/style/VcsImageMenu.vue +83 -0
  461. package/src/components/style/VcsImageSelector.vue +577 -0
  462. package/src/components/style/VcsStrokeMenu.vue +73 -0
  463. package/src/components/style/VcsStrokeSelector.vue +88 -0
  464. package/src/components/style/VcsTextMenu.vue +81 -0
  465. package/src/components/style/VcsTextSelector.vue +269 -0
  466. package/src/components/style/VcsVectorStyleComponent.vue +114 -0
  467. package/src/components/style/composables.js +84 -0
  468. package/src/components/tables/VcsDataTable.vue +475 -0
  469. package/src/components/tables/VcsTable.vue +145 -0
  470. package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +778 -0
  471. package/src/components/vector-properties/composables.js +93 -0
  472. package/src/contentTree/LayerTree.vue +19 -15
  473. package/src/contentTree/contentTreeCollection.js +114 -42
  474. package/src/contentTree/contentTreeItem.js +109 -43
  475. package/src/contentTree/groupContentTreeItem.js +46 -23
  476. package/src/contentTree/layerContentTreeItem.js +54 -23
  477. package/src/contentTree/layerGroupContentTreeItem.js +58 -26
  478. package/src/contentTree/nodeContentTreeItem.js +19 -8
  479. package/src/contentTree/obliqueCollectionContentTreeItem.js +51 -22
  480. package/src/contentTree/subContentTreeItem.js +14 -5
  481. package/src/contentTree/vcsObjectContentTreeItem.js +27 -16
  482. package/src/contentTree/viewpointContentTreeItem.js +121 -0
  483. package/src/downloadHelper.js +52 -0
  484. package/src/featureInfo/AddressBalloonComponent.vue +58 -0
  485. package/src/featureInfo/BalloonComponent.vue +193 -0
  486. package/src/featureInfo/abstractFeatureInfoView.js +346 -0
  487. package/src/featureInfo/addressBalloonFeatureInfoView.js +130 -0
  488. package/src/featureInfo/balloonFeatureInfoView.js +159 -0
  489. package/src/featureInfo/balloonHelper.js +172 -0
  490. package/src/featureInfo/featureInfo.js +525 -0
  491. package/src/featureInfo/featureInfoInteraction.js +48 -0
  492. package/src/featureInfo/iframeFeatureInfoView.js +97 -0
  493. package/src/featureInfo/tableFeatureInfoView.js +120 -0
  494. package/src/i18n/de.js +195 -0
  495. package/src/i18n/en.js +195 -0
  496. package/src/i18n/i18nCollection.js +137 -0
  497. package/src/init.js +121 -36
  498. package/src/legend/StyleLegendItem.vue +176 -0
  499. package/src/legend/VcsLegend.vue +140 -0
  500. package/src/legend/legendHelper.js +204 -0
  501. package/src/logo-mobile.svg +9 -0
  502. package/src/logo.svg +26 -0
  503. package/src/manager/buttonManager.js +30 -61
  504. package/src/manager/collectionManager/CollectionComponent.vue +140 -0
  505. package/src/manager/collectionManager/CollectionComponentList.vue +77 -0
  506. package/src/manager/collectionManager/CollectionComponentProvider.vue +39 -0
  507. package/src/manager/collectionManager/CollectionManager.vue +62 -0
  508. package/src/manager/collectionManager/categoryManager.js +83 -0
  509. package/src/manager/collectionManager/collectionComponent.js +470 -0
  510. package/src/manager/collectionManager/collectionManager.js +432 -0
  511. package/src/manager/contextMenu/ContextMenuComponent.vue +43 -0
  512. package/src/manager/contextMenu/contextMenuInteraction.js +47 -0
  513. package/src/manager/contextMenu/contextMenuManager.js +220 -0
  514. package/src/manager/navbarManager.js +115 -0
  515. package/src/manager/toolbox/GroupToolboxComponent.vue +128 -0
  516. package/src/manager/toolbox/SelectToolboxComponent.vue +144 -0
  517. package/src/manager/toolbox/ToolboxManager.vue +139 -74
  518. package/src/manager/toolbox/toolboxManager.js +371 -0
  519. package/src/manager/window/WindowComponent.vue +105 -85
  520. package/src/manager/window/WindowComponentHeader.vue +116 -25
  521. package/src/manager/window/WindowManager.vue +133 -50
  522. package/src/manager/window/windowHelper.js +465 -0
  523. package/src/manager/window/windowManager.js +297 -91
  524. package/src/navigation/{mapNavCompass.vue → MapNavCompass.vue} +31 -11
  525. package/src/navigation/MapNavigation.vue +291 -0
  526. package/src/navigation/ObliqueRotation.vue +69 -0
  527. package/src/navigation/{orientationToolsButton.vue → OrientationToolsButton.vue} +14 -13
  528. package/src/navigation/{tiltSlider.vue → TiltSlider.vue} +40 -17
  529. package/src/navigation/VcsCompass.vue +69 -0
  530. package/src/navigation/VcsZoomButton.vue +52 -0
  531. package/src/navigation/overviewMap.js +142 -104
  532. package/src/navigation/overviewMapClickedInteraction.js +6 -1
  533. package/src/notifier/NotifierComponent.vue +86 -0
  534. package/src/notifier/notifier.js +129 -0
  535. package/src/pluginHelper.js +148 -20
  536. package/src/search/ResultItem.vue +83 -0
  537. package/src/search/ResultsComponent.vue +103 -0
  538. package/src/search/SearchComponent.vue +116 -0
  539. package/src/search/search.js +342 -0
  540. package/src/setup.js +9 -10
  541. package/src/state.js +272 -0
  542. package/src/styles/_theming.scss +69 -11
  543. package/src/styles/_typography.scss +3 -6
  544. package/src/styles/main.scss +12 -0
  545. package/src/styles/shades.scss +4 -0
  546. package/src/styles/utils/_border.scss +1 -1
  547. package/src/styles/utils/_cursor.scss +4 -0
  548. package/src/styles/utils/_display.scss +1 -1
  549. package/src/styles/variables.scss +138 -0
  550. package/src/styles/vcsFont.scss +2 -0
  551. package/src/styles/vcsGrid.scss +13 -0
  552. package/src/uiConfig.js +83 -0
  553. package/src/vcsUiApp.js +510 -69
  554. package/src/vuePlugins/i18n.js +51 -13
  555. package/src/vuePlugins/vuetify.js +104 -43
  556. package/config/berlin.config.json +0 -529
  557. package/dist/assets/cesium/Workers/ArcType-fc72c06c.js +0 -1
  558. package/dist/assets/cesium/Workers/AttributeCompression-80665726.js +0 -1
  559. package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-a655a4bc.js +0 -1
  560. package/dist/assets/cesium/Workers/BoundingRectangle-c3b79029.js +0 -1
  561. package/dist/assets/cesium/Workers/BoxGeometry-f8f9c981.js +0 -1
  562. package/dist/assets/cesium/Workers/Color-de06a177.js +0 -1
  563. package/dist/assets/cesium/Workers/ComponentDatatype-a15c9a19.js +0 -1
  564. package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-48cdc26d.js +0 -1
  565. package/dist/assets/cesium/Workers/CorridorGeometryLibrary-ddc027d3.js +0 -1
  566. package/dist/assets/cesium/Workers/CylinderGeometry-82a8cbe6.js +0 -1
  567. package/dist/assets/cesium/Workers/CylinderGeometryLibrary-76cda53e.js +0 -1
  568. package/dist/assets/cesium/Workers/EllipseGeometry-32d55454.js +0 -1
  569. package/dist/assets/cesium/Workers/EllipseGeometryLibrary-b2ae188a.js +0 -1
  570. package/dist/assets/cesium/Workers/EllipseOutlineGeometry-f05a5a27.js +0 -1
  571. package/dist/assets/cesium/Workers/EllipsoidGeodesic-19e75e11.js +0 -1
  572. package/dist/assets/cesium/Workers/EllipsoidGeometry-7c99fc81.js +0 -1
  573. package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-21c243df.js +0 -1
  574. package/dist/assets/cesium/Workers/EllipsoidRhumbLine-6145377b.js +0 -1
  575. package/dist/assets/cesium/Workers/EllipsoidTangentPlane-a01286f6.js +0 -1
  576. package/dist/assets/cesium/Workers/EncodedCartesian3-d9f5c4a4.js +0 -1
  577. package/dist/assets/cesium/Workers/FrustumGeometry-17776af8.js +0 -1
  578. package/dist/assets/cesium/Workers/GeometryAttribute-89a520b9.js +0 -1
  579. package/dist/assets/cesium/Workers/GeometryAttributes-32b29525.js +0 -1
  580. package/dist/assets/cesium/Workers/GeometryInstance-4fbf16ba.js +0 -1
  581. package/dist/assets/cesium/Workers/GeometryOffsetAttribute-8c5e10db.js +0 -1
  582. package/dist/assets/cesium/Workers/GeometryPipeline-309fad76.js +0 -1
  583. package/dist/assets/cesium/Workers/IndexDatatype-f1dcdf35.js +0 -1
  584. package/dist/assets/cesium/Workers/IntersectionTests-58aa8f80.js +0 -1
  585. package/dist/assets/cesium/Workers/Matrix2-47e98d76.js +0 -1
  586. package/dist/assets/cesium/Workers/OrientedBoundingBox-fcb5b750.js +0 -1
  587. package/dist/assets/cesium/Workers/Plane-3f01019d.js +0 -1
  588. package/dist/assets/cesium/Workers/PolygonGeometryLibrary-0b29eb16.js +0 -1
  589. package/dist/assets/cesium/Workers/PolygonPipeline-a934c4dd.js +0 -1
  590. package/dist/assets/cesium/Workers/PolylinePipeline-8095c9bc.js +0 -1
  591. package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-67d12fff.js +0 -1
  592. package/dist/assets/cesium/Workers/PrimitivePipeline-980e44c5.js +0 -1
  593. package/dist/assets/cesium/Workers/RectangleGeometryLibrary-621c6de8.js +0 -1
  594. package/dist/assets/cesium/Workers/RuntimeError-8952249c.js +0 -1
  595. package/dist/assets/cesium/Workers/TerrainEncoding-f96552d5.js +0 -1
  596. package/dist/assets/cesium/Workers/Transforms-c8cb8f43.js +0 -39
  597. package/dist/assets/cesium/Workers/VertexFormat-a0b706b0.js +0 -1
  598. package/dist/assets/cesium/Workers/WallGeometryLibrary-c03d8479.js +0 -1
  599. package/dist/assets/cesium/Workers/WebGLConstants-508b9636.js +0 -1
  600. package/dist/assets/cesium/Workers/WebMercatorProjection-79b3214e.js +0 -1
  601. package/dist/assets/cesium/Workers/_commonjsHelpers-3aae1032-26891ab7.js +0 -1
  602. package/dist/assets/cesium/Workers/_rollup_plugin_ignore_empty_module_placeholder-57d574d0.js +0 -1
  603. package/dist/assets/cesium/Workers/arrayRemoveDuplicates-dc2f4046.js +0 -1
  604. package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +0 -6
  605. package/dist/assets/cesium/Workers/combine-3c023bda.js +0 -1
  606. package/dist/assets/cesium/Workers/defaultValue-81eec7ed.js +0 -1
  607. package/dist/assets/cesium.6b5bb6.js +0 -9105
  608. package/dist/assets/core.98f9bb.js +0 -4
  609. package/dist/assets/index.0be2842f.js +0 -1
  610. package/dist/assets/index.60dea538.css +0 -1
  611. package/dist/assets/ol.0561aa.js +0 -318
  612. package/dist/assets/ui.b7c1e3.css +0 -1
  613. package/dist/assets/ui.b7c1e3.js +0 -39
  614. package/dist/assets/uicomponents.682c5f.css +0 -1
  615. package/dist/assets/uicomponents.682c5f.js +0 -32
  616. package/dist/assets/uicomponents.js +0 -1
  617. package/dist/assets/vue-composition-api.f926fa.js +0 -14
  618. package/dist/assets/vue-composition-api.js +0 -2
  619. package/dist/assets/vue.ddcb6b.js +0 -9
  620. package/dist/assets/vuetify.d21163.css +0 -5
  621. package/dist/assets/vuetify.d21163.js +0 -48
  622. package/lib/uicomponents.js +0 -1
  623. package/lib/vue-composition-api.js +0 -2
  624. package/map.config.json +0 -35
  625. package/plugins/@vcmap/pluginExample/config.json +0 -6
  626. package/plugins/@vcmap/pluginExample/package.json +0 -7
  627. package/plugins/@vcmap/pluginExample/pluginExampleComponent.vue +0 -374
  628. package/plugins/@vcmap/project-selector/ContextsListComponent.vue +0 -62
  629. package/plugins/@vcmap/project-selector/ProjectSelectorComponent.vue +0 -81
  630. package/plugins/@vcmap/project-selector/README.md +0 -29
  631. package/plugins/@vcmap/project-selector/config.json +0 -15
  632. package/plugins/@vcmap/project-selector/index.js +0 -254
  633. package/plugins/@vcmap/project-selector/package.json +0 -15
  634. package/plugins/@vcmap/theme-changer/config.json +0 -69
  635. package/plugins/@vcmap/theme-changer/package.json +0 -12
  636. package/plugins/buttonExamples/ButtonExamples.vue +0 -190
  637. package/plugins/buttonExamples/index.js +0 -40
  638. package/plugins/categoryTest/Categories.vue +0 -145
  639. package/plugins/categoryTest/Category.vue +0 -114
  640. package/plugins/categoryTest/ItemEditor.vue +0 -13
  641. package/plugins/categoryTest/index.js +0 -41
  642. package/plugins/example/index.js +0 -56
  643. package/plugins/test/editor.vue +0 -63
  644. package/plugins/test/index.js +0 -93
  645. package/plugins/test/myCustomHeader.vue +0 -19
  646. package/plugins/test/toolbox-data.js +0 -49
  647. package/plugins/test/vcsContent.vue +0 -23
  648. package/plugins/test/windowManagerExample.vue +0 -144
  649. package/src/actions/styleSelector.vue +0 -90
  650. package/src/application/Navbar.vue +0 -118
  651. package/src/application/empty-cmp.vue +0 -6
  652. package/src/assets/logo.svg +0 -26
  653. package/src/contentTree/viewPointContentTreeItem.js +0 -107
  654. package/src/lang/de.js +0 -60
  655. package/src/lang/en.js +0 -53
  656. package/src/manager/toolbox/ToolboxMultiSelectButton.vue +0 -96
  657. package/src/manager/toolbox/ToolboxSingleSelectButton.vue +0 -98
  658. package/src/manager/toolbox/toolbox-manager.js +0 -203
  659. package/src/navigation/mapNavigation.vue +0 -201
  660. package/src/navigation/obliqueRotation.vue +0 -48
  661. package/src/navigation/vcsCompass.vue +0 -144
  662. package/src/navigation/vcsZoomButton.vue +0 -27
  663. package/start.js +0 -3
@@ -1 +1,1273 @@
1
- define(["./defaultValue-81eec7ed","./Matrix2-47e98d76","./GeometryOffsetAttribute-8c5e10db","./Transforms-c8cb8f43","./RuntimeError-8952249c","./ComponentDatatype-a15c9a19","./GeometryAttribute-89a520b9","./GeometryAttributes-32b29525","./GeometryInstance-4fbf16ba","./GeometryPipeline-309fad76","./IndexDatatype-f1dcdf35","./PolygonPipeline-a934c4dd","./RectangleGeometryLibrary-621c6de8","./VertexFormat-a0b706b0","./_commonjsHelpers-3aae1032-26891ab7","./combine-3c023bda","./WebGLConstants-508b9636","./AttributeCompression-80665726","./EncodedCartesian3-d9f5c4a4","./IntersectionTests-58aa8f80","./Plane-3f01019d","./EllipsoidRhumbLine-6145377b"],(function(t,e,n,a,o,r,i,s,l,u,c,m,d,p,g,y,f,h,b,_,A,x){"use strict";const w=new e.Cartesian3,C=new e.Cartesian3,v=new e.Cartesian3,R=new e.Cartesian3,E=new e.Rectangle,F=new e.Cartesian2,G=new a.BoundingSphere,P=new a.BoundingSphere;function V(t,e){const n=new i.Geometry({attributes:new s.GeometryAttributes,primitiveType:i.PrimitiveType.TRIANGLES});return n.attributes.position=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:e.positions}),t.normal&&(n.attributes.normal=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:e.normals})),t.tangent&&(n.attributes.tangent=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:e.tangents})),t.bitangent&&(n.attributes.bitangent=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:e.bitangents})),n}const L=new e.Cartesian3,D=new e.Cartesian3;function M(t,n){const a=t._vertexFormat,o=t._ellipsoid,s=n.height,l=n.width,u=n.northCap,m=n.southCap;let p=0,g=s,y=s,f=0;u&&(p=1,y-=1,f+=1),m&&(g-=1,y-=1,f+=1),f+=l*y;const h=a.position?new Float64Array(3*f):void 0,b=a.st?new Float32Array(2*f):void 0;let _=0,A=0;const x=w,E=F;let G=Number.MAX_VALUE,P=Number.MAX_VALUE,L=-Number.MAX_VALUE,D=-Number.MAX_VALUE;for(let t=p;t<g;++t)for(let e=0;e<l;++e)d.RectangleGeometryLibrary.computePosition(n,o,a.st,t,e,x,E),h[_++]=x.x,h[_++]=x.y,h[_++]=x.z,a.st&&(b[A++]=E.x,b[A++]=E.y,G=Math.min(G,E.x),P=Math.min(P,E.y),L=Math.max(L,E.x),D=Math.max(D,E.y));if(u&&(d.RectangleGeometryLibrary.computePosition(n,o,a.st,0,0,x,E),h[_++]=x.x,h[_++]=x.y,h[_++]=x.z,a.st&&(b[A++]=E.x,b[A++]=E.y,G=E.x,P=E.y,L=E.x,D=E.y)),m&&(d.RectangleGeometryLibrary.computePosition(n,o,a.st,s-1,0,x,E),h[_++]=x.x,h[_++]=x.y,h[_]=x.z,a.st&&(b[A++]=E.x,b[A]=E.y,G=Math.min(G,E.x),P=Math.min(P,E.y),L=Math.max(L,E.x),D=Math.max(D,E.y))),a.st&&(G<0||P<0||L>1||D>1))for(let t=0;t<b.length;t+=2)b[t]=(b[t]-G)/(L-G),b[t+1]=(b[t+1]-P)/(D-P);const M=function(t,n,a,o){const r=t.length,i=n.normal?new Float32Array(r):void 0,s=n.tangent?new Float32Array(r):void 0,l=n.bitangent?new Float32Array(r):void 0;let u=0;const c=R,m=v;let d=C;if(n.normal||n.tangent||n.bitangent)for(let p=0;p<r;p+=3){const r=e.Cartesian3.fromArray(t,p,w),g=u+1,y=u+2;d=a.geodeticSurfaceNormal(r,d),(n.tangent||n.bitangent)&&(e.Cartesian3.cross(e.Cartesian3.UNIT_Z,d,m),e.Matrix3.multiplyByVector(o,m,m),e.Cartesian3.normalize(m,m),n.bitangent&&e.Cartesian3.normalize(e.Cartesian3.cross(d,m,c),c)),n.normal&&(i[u]=d.x,i[g]=d.y,i[y]=d.z),n.tangent&&(s[u]=m.x,s[g]=m.y,s[y]=m.z),n.bitangent&&(l[u]=c.x,l[g]=c.y,l[y]=c.z),u+=3}return V(n,{positions:t,normals:i,tangents:s,bitangents:l})}(h,a,o,n.tangentRotationMatrix);let T=6*(l-1)*(y-1);u&&(T+=3*(l-1)),m&&(T+=3*(l-1));const O=c.IndexDatatype.createTypedArray(f,T);let N,S=0,I=0;for(N=0;N<y-1;++N){for(let t=0;t<l-1;++t){const t=S,e=t+l,n=e+1,a=t+1;O[I++]=t,O[I++]=e,O[I++]=a,O[I++]=a,O[I++]=e,O[I++]=n,++S}++S}if(u||m){let t=f-1;const e=f-1;let n,a;if(u&&m&&(t=f-2),S=0,u)for(N=0;N<l-1;N++)n=S,a=n+1,O[I++]=t,O[I++]=n,O[I++]=a,++S;if(m)for(S=(y-1)*l,N=0;N<l-1;N++)n=S,a=n+1,O[I++]=n,O[I++]=e,O[I++]=a,++S}return M.indices=O,a.st&&(M.attributes.st=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:b})),M}function T(t,e,n,a,o){return t[e++]=a[n],t[e++]=a[n+1],t[e++]=a[n+2],t[e++]=o[n],t[e++]=o[n+1],t[e]=o[n+2],t}function O(t,e,n,a){return t[e++]=a[n],t[e++]=a[n+1],t[e++]=a[n],t[e]=a[n+1],t}const N=new p.VertexFormat;function S(a,o){const s=a._shadowVolume,d=a._offsetAttribute,g=a._vertexFormat,y=a._extrudedHeight,f=a._surfaceHeight,h=a._ellipsoid,b=o.height,_=o.width;let A;if(s){const t=p.VertexFormat.clone(g,N);t.normal=!0,a._vertexFormat=t}const x=M(a,o);s&&(a._vertexFormat=g);let E=m.PolygonPipeline.scaleToGeodeticHeight(x.attributes.position.values,f,h,!1);E=new Float64Array(E);let F=E.length;const G=2*F,P=new Float64Array(G);P.set(E);const S=m.PolygonPipeline.scaleToGeodeticHeight(x.attributes.position.values,y,h);P.set(S,F),x.attributes.position.values=P;const I=g.normal?new Float32Array(G):void 0,k=g.tangent?new Float32Array(G):void 0,H=g.bitangent?new Float32Array(G):void 0,z=g.st?new Float32Array(G/3*2):void 0;let B,U,Y;if(g.normal){for(U=x.attributes.normal.values,I.set(U),A=0;A<F;A++)U[A]=-U[A];I.set(U,F),x.attributes.normal.values=I}if(s){U=x.attributes.normal.values,g.normal||(x.attributes.normal=void 0);const t=new Float32Array(G);for(A=0;A<F;A++)U[A]=-U[A];t.set(U,F),x.attributes.extrudeDirection=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:t})}const q=t.defined(d);if(q){const t=F/3*2;let e=new Uint8Array(t);d===n.GeometryOffsetAttribute.TOP?e=n.arrayFill(e,1,0,t/2):(Y=d===n.GeometryOffsetAttribute.NONE?0:1,e=n.arrayFill(e,Y)),x.attributes.applyOffset=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:e})}if(g.tangent){const t=x.attributes.tangent.values;for(k.set(t),A=0;A<F;A++)t[A]=-t[A];k.set(t,F),x.attributes.tangent.values=k}if(g.bitangent){const t=x.attributes.bitangent.values;H.set(t),H.set(t,F),x.attributes.bitangent.values=H}g.st&&(B=x.attributes.st.values,z.set(B),z.set(B,F/3*2),x.attributes.st.values=z);const X=x.indices,Q=X.length,W=F/3,j=c.IndexDatatype.createTypedArray(G/3,2*Q);for(j.set(X),A=0;A<Q;A+=3)j[A+Q]=X[A+2]+W,j[A+1+Q]=X[A+1]+W,j[A+2+Q]=X[A]+W;x.indices=j;const J=o.northCap,Z=o.southCap;let K=b,$=2,tt=0,et=4,nt=4;J&&($-=1,K-=1,tt+=1,et-=2,nt-=1),Z&&($-=1,K-=1,tt+=1,et-=2,nt-=1),tt+=$*_+2*K-et;const at=2*(tt+nt);let ot=new Float64Array(3*at);const rt=s?new Float32Array(3*at):void 0;let it=q?new Uint8Array(at):void 0,st=g.st?new Float32Array(2*at):void 0;const lt=d===n.GeometryOffsetAttribute.TOP;q&&!lt&&(Y=d===n.GeometryOffsetAttribute.ALL?1:0,it=n.arrayFill(it,Y));let ut=0,ct=0,mt=0,dt=0;const pt=_*K;let gt;for(A=0;A<pt;A+=_)gt=3*A,ot=T(ot,ut,gt,E,S),ut+=6,g.st&&(st=O(st,ct,2*A,B),ct+=4),s&&(mt+=3,rt[mt++]=U[gt],rt[mt++]=U[gt+1],rt[mt++]=U[gt+2]),lt&&(it[dt++]=1,dt+=1);if(Z){const t=J?pt+1:pt;for(gt=3*t,A=0;A<2;A++)ot=T(ot,ut,gt,E,S),ut+=6,g.st&&(st=O(st,ct,2*t,B),ct+=4),s&&(mt+=3,rt[mt++]=U[gt],rt[mt++]=U[gt+1],rt[mt++]=U[gt+2]),lt&&(it[dt++]=1,dt+=1)}else for(A=pt-_;A<pt;A++)gt=3*A,ot=T(ot,ut,gt,E,S),ut+=6,g.st&&(st=O(st,ct,2*A,B),ct+=4),s&&(mt+=3,rt[mt++]=U[gt],rt[mt++]=U[gt+1],rt[mt++]=U[gt+2]),lt&&(it[dt++]=1,dt+=1);for(A=pt-1;A>0;A-=_)gt=3*A,ot=T(ot,ut,gt,E,S),ut+=6,g.st&&(st=O(st,ct,2*A,B),ct+=4),s&&(mt+=3,rt[mt++]=U[gt],rt[mt++]=U[gt+1],rt[mt++]=U[gt+2]),lt&&(it[dt++]=1,dt+=1);if(J){const t=pt;for(gt=3*t,A=0;A<2;A++)ot=T(ot,ut,gt,E,S),ut+=6,g.st&&(st=O(st,ct,2*t,B),ct+=4),s&&(mt+=3,rt[mt++]=U[gt],rt[mt++]=U[gt+1],rt[mt++]=U[gt+2]),lt&&(it[dt++]=1,dt+=1)}else for(A=_-1;A>=0;A--)gt=3*A,ot=T(ot,ut,gt,E,S),ut+=6,g.st&&(st=O(st,ct,2*A,B),ct+=4),s&&(mt+=3,rt[mt++]=U[gt],rt[mt++]=U[gt+1],rt[mt++]=U[gt+2]),lt&&(it[dt++]=1,dt+=1);let yt=function(t,n,a){const o=t.length,i=n.normal?new Float32Array(o):void 0,s=n.tangent?new Float32Array(o):void 0,l=n.bitangent?new Float32Array(o):void 0;let u=0,c=0,m=0,d=!0,p=R,g=v,y=C;if(n.normal||n.tangent||n.bitangent)for(let f=0;f<o;f+=6){const h=e.Cartesian3.fromArray(t,f,w),b=e.Cartesian3.fromArray(t,(f+6)%o,L);if(d){const n=e.Cartesian3.fromArray(t,(f+3)%o,D);e.Cartesian3.subtract(b,h,b),e.Cartesian3.subtract(n,h,n),y=e.Cartesian3.normalize(e.Cartesian3.cross(n,b,y),y),d=!1}e.Cartesian3.equalsEpsilon(b,h,r.CesiumMath.EPSILON10)&&(d=!0),(n.tangent||n.bitangent)&&(p=a.geodeticSurfaceNormal(h,p),n.tangent&&(g=e.Cartesian3.normalize(e.Cartesian3.cross(p,y,g),g))),n.normal&&(i[u++]=y.x,i[u++]=y.y,i[u++]=y.z,i[u++]=y.x,i[u++]=y.y,i[u++]=y.z),n.tangent&&(s[c++]=g.x,s[c++]=g.y,s[c++]=g.z,s[c++]=g.x,s[c++]=g.y,s[c++]=g.z),n.bitangent&&(l[m++]=p.x,l[m++]=p.y,l[m++]=p.z,l[m++]=p.x,l[m++]=p.y,l[m++]=p.z)}return V(n,{positions:t,normals:i,tangents:s,bitangents:l})}(ot,g,h);g.st&&(yt.attributes.st=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.FLOAT,componentsPerAttribute:2,values:st})),s&&(yt.attributes.extrudeDirection=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.FLOAT,componentsPerAttribute:3,values:rt})),q&&(yt.attributes.applyOffset=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:it}));const ft=c.IndexDatatype.createTypedArray(at,6*tt);let ht,bt,_t,At;F=ot.length/3;let xt=0;for(A=0;A<F-1;A+=2){ht=A,At=(ht+2)%F;const t=e.Cartesian3.fromArray(ot,3*ht,L),n=e.Cartesian3.fromArray(ot,3*At,D);e.Cartesian3.equalsEpsilon(t,n,r.CesiumMath.EPSILON10)||(bt=(ht+1)%F,_t=(bt+2)%F,ft[xt++]=ht,ft[xt++]=bt,ft[xt++]=At,ft[xt++]=At,ft[xt++]=bt,ft[xt++]=_t)}return yt.indices=ft,yt=u.GeometryPipeline.combineInstances([new l.GeometryInstance({geometry:x}),new l.GeometryInstance({geometry:yt})]),yt[0]}const I=[new e.Cartesian3,new e.Cartesian3,new e.Cartesian3,new e.Cartesian3],k=new e.Cartographic,H=new e.Cartographic;function z(t,n,a,o,r){if(0===a)return e.Rectangle.clone(t,r);const i=d.RectangleGeometryLibrary.computeOptions(t,n,a,0,E,k),s=i.height,l=i.width,u=I;return d.RectangleGeometryLibrary.computePosition(i,o,!1,0,0,u[0]),d.RectangleGeometryLibrary.computePosition(i,o,!1,0,l-1,u[1]),d.RectangleGeometryLibrary.computePosition(i,o,!1,s-1,0,u[2]),d.RectangleGeometryLibrary.computePosition(i,o,!1,s-1,l-1,u[3]),e.Rectangle.fromCartesianArray(u,o,r)}function B(n){const a=(n=t.defaultValue(n,t.defaultValue.EMPTY_OBJECT)).rectangle,o=t.defaultValue(n.height,0),i=t.defaultValue(n.extrudedHeight,o);this._rectangle=e.Rectangle.clone(a),this._granularity=t.defaultValue(n.granularity,r.CesiumMath.RADIANS_PER_DEGREE),this._ellipsoid=e.Ellipsoid.clone(t.defaultValue(n.ellipsoid,e.Ellipsoid.WGS84)),this._surfaceHeight=Math.max(o,i),this._rotation=t.defaultValue(n.rotation,0),this._stRotation=t.defaultValue(n.stRotation,0),this._vertexFormat=p.VertexFormat.clone(t.defaultValue(n.vertexFormat,p.VertexFormat.DEFAULT)),this._extrudedHeight=Math.min(o,i),this._shadowVolume=t.defaultValue(n.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=n.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}B.packedLength=e.Rectangle.packedLength+e.Ellipsoid.packedLength+p.VertexFormat.packedLength+7,B.pack=function(n,a,o){return o=t.defaultValue(o,0),e.Rectangle.pack(n._rectangle,a,o),o+=e.Rectangle.packedLength,e.Ellipsoid.pack(n._ellipsoid,a,o),o+=e.Ellipsoid.packedLength,p.VertexFormat.pack(n._vertexFormat,a,o),o+=p.VertexFormat.packedLength,a[o++]=n._granularity,a[o++]=n._surfaceHeight,a[o++]=n._rotation,a[o++]=n._stRotation,a[o++]=n._extrudedHeight,a[o++]=n._shadowVolume?1:0,a[o]=t.defaultValue(n._offsetAttribute,-1),a};const U=new e.Rectangle,Y=e.Ellipsoid.clone(e.Ellipsoid.UNIT_SPHERE),q={rectangle:U,ellipsoid:Y,vertexFormat:N,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};B.unpack=function(n,a,o){a=t.defaultValue(a,0);const r=e.Rectangle.unpack(n,a,U);a+=e.Rectangle.packedLength;const i=e.Ellipsoid.unpack(n,a,Y);a+=e.Ellipsoid.packedLength;const s=p.VertexFormat.unpack(n,a,N);a+=p.VertexFormat.packedLength;const l=n[a++],u=n[a++],c=n[a++],m=n[a++],d=n[a++],g=1===n[a++],y=n[a];return t.defined(o)?(o._rectangle=e.Rectangle.clone(r,o._rectangle),o._ellipsoid=e.Ellipsoid.clone(i,o._ellipsoid),o._vertexFormat=p.VertexFormat.clone(s,o._vertexFormat),o._granularity=l,o._surfaceHeight=u,o._rotation=c,o._stRotation=m,o._extrudedHeight=d,o._shadowVolume=g,o._offsetAttribute=-1===y?void 0:y,o):(q.granularity=l,q.height=u,q.rotation=c,q.stRotation=m,q.extrudedHeight=d,q.shadowVolume=g,q.offsetAttribute=-1===y?void 0:y,new B(q))},B.computeRectangle=function(n,a){const o=(n=t.defaultValue(n,t.defaultValue.EMPTY_OBJECT)).rectangle,i=t.defaultValue(n.granularity,r.CesiumMath.RADIANS_PER_DEGREE),s=t.defaultValue(n.ellipsoid,e.Ellipsoid.WGS84);return z(o,i,t.defaultValue(n.rotation,0),s,a)};const X=new e.Matrix3,Q=new a.Quaternion,W=new e.Cartographic;B.createGeometry=function(o){if(r.CesiumMath.equalsEpsilon(o._rectangle.north,o._rectangle.south,r.CesiumMath.EPSILON10)||r.CesiumMath.equalsEpsilon(o._rectangle.east,o._rectangle.west,r.CesiumMath.EPSILON10))return;let s=o._rectangle;const l=o._ellipsoid,u=o._rotation,c=o._stRotation,p=o._vertexFormat,g=d.RectangleGeometryLibrary.computeOptions(s,o._granularity,u,c,E,k,H),y=X;if(0!==c||0!==u){const t=e.Rectangle.center(s,W),n=l.geodeticSurfaceNormalCartographic(t,L);a.Quaternion.fromAxisAngle(n,-c,Q),e.Matrix3.fromQuaternion(Q,y)}else e.Matrix3.clone(e.Matrix3.IDENTITY,y);const f=o._surfaceHeight,h=o._extrudedHeight,b=!r.CesiumMath.equalsEpsilon(f,h,0,r.CesiumMath.EPSILON2);let _,A;if(g.lonScalar=1/o._rectangle.width,g.latScalar=1/o._rectangle.height,g.tangentRotationMatrix=y,s=o._rectangle,b){_=S(o,g);const t=a.BoundingSphere.fromRectangle3D(s,l,f,P),e=a.BoundingSphere.fromRectangle3D(s,l,h,G);A=a.BoundingSphere.union(t,e)}else{if(_=M(o,g),_.attributes.position.values=m.PolygonPipeline.scaleToGeodeticHeight(_.attributes.position.values,f,l,!1),t.defined(o._offsetAttribute)){const t=_.attributes.position.values.length,e=new Uint8Array(t/3),a=o._offsetAttribute===n.GeometryOffsetAttribute.NONE?0:1;n.arrayFill(e,a),_.attributes.applyOffset=new i.GeometryAttribute({componentDatatype:r.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:e})}A=a.BoundingSphere.fromRectangle3D(s,l,f)}return p.position||delete _.attributes.position,new i.Geometry({attributes:_.attributes,indices:_.indices,primitiveType:_.primitiveType,boundingSphere:A,offsetAttribute:o._offsetAttribute})},B.createShadowVolume=function(t,e,n){const a=t._granularity,o=t._ellipsoid,r=e(a,o),i=n(a,o);return new B({rectangle:t._rectangle,rotation:t._rotation,ellipsoid:o,stRotation:t._stRotation,granularity:a,extrudedHeight:i,height:r,vertexFormat:p.VertexFormat.POSITION_ONLY,shadowVolume:!0})};const j=new e.Rectangle,J=[new e.Cartesian2,new e.Cartesian2,new e.Cartesian2],Z=new e.Matrix2,K=new e.Cartographic;return Object.defineProperties(B.prototype,{rectangle:{get:function(){return t.defined(this._rotatedRectangle)||(this._rotatedRectangle=z(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return t.defined(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=function(t){if(0===t._stRotation)return[0,0,0,1,1,0];const n=e.Rectangle.clone(t._rectangle,j),a=t._granularity,o=t._ellipsoid,r=z(n,a,t._rotation-t._stRotation,o,j),i=J;i[0].x=r.west,i[0].y=r.south,i[1].x=r.west,i[1].y=r.north,i[2].x=r.east,i[2].y=r.south;const s=t.rectangle,l=e.Matrix2.fromRotation(t._stRotation,Z),u=e.Rectangle.center(s,K);for(let t=0;t<3;++t){const n=i[t];n.x-=u.longitude,n.y-=u.latitude,e.Matrix2.multiplyByVector(l,n,n),n.x+=u.longitude,n.y+=u.latitude,n.x=(n.x-s.west)/s.width,n.y=(n.y-s.south)/s.height}const c=i[0],m=i[1],d=i[2],p=new Array(6);return e.Cartesian2.pack(c,p),e.Cartesian2.pack(m,p,2),e.Cartesian2.pack(d,p,4),p}(this)),this._textureCoordinateRotationPoints}}}),function(n,a){return t.defined(a)&&(n=B.unpack(n,a)),n._ellipsoid=e.Ellipsoid.clone(n._ellipsoid),n._rectangle=e.Rectangle.clone(n._rectangle),B.createGeometry(n)}}));
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
+ RectangleGeometryLibrary_default
28
+ } from "./chunk-HARLBUOL.js";
29
+ import {
30
+ GeometryInstance_default
31
+ } from "./chunk-227AJNOA.js";
32
+ import {
33
+ GeometryPipeline_default
34
+ } from "./chunk-XTY7B2N6.js";
35
+ import "./chunk-O5AMBQ36.js";
36
+ import "./chunk-QT3MPEMI.js";
37
+ import {
38
+ GeometryOffsetAttribute_default
39
+ } from "./chunk-MPAZH4BF.js";
40
+ import {
41
+ VertexFormat_default
42
+ } from "./chunk-QMEMZIJI.js";
43
+ import {
44
+ PolygonPipeline_default
45
+ } from "./chunk-J3JY6I2C.js";
46
+ import "./chunk-K36FEYS7.js";
47
+ import "./chunk-MYZB7C4T.js";
48
+ import "./chunk-OYFCF4PL.js";
49
+ import {
50
+ IndexDatatype_default
51
+ } from "./chunk-RW6LU2CJ.js";
52
+ import {
53
+ GeometryAttributes_default
54
+ } from "./chunk-EW2GWJYB.js";
55
+ import {
56
+ GeometryAttribute_default,
57
+ Geometry_default,
58
+ PrimitiveType_default
59
+ } from "./chunk-X4SU25DT.js";
60
+ import {
61
+ BoundingSphere_default,
62
+ Quaternion_default
63
+ } from "./chunk-PFQBCKBM.js";
64
+ import "./chunk-QJ3DFBH3.js";
65
+ import {
66
+ Cartesian2_default,
67
+ Matrix2_default,
68
+ Rectangle_default
69
+ } from "./chunk-DUHWWBQQ.js";
70
+ import {
71
+ ComponentDatatype_default
72
+ } from "./chunk-LLUNNUJV.js";
73
+ import {
74
+ Cartesian3_default,
75
+ Cartographic_default,
76
+ Ellipsoid_default,
77
+ Matrix3_default
78
+ } from "./chunk-PCJWUS4M.js";
79
+ import {
80
+ Math_default
81
+ } from "./chunk-N3JIFFX2.js";
82
+ import "./chunk-AHKEZ2OE.js";
83
+ import "./chunk-ABADGKYE.js";
84
+ import {
85
+ defaultValue_default
86
+ } from "./chunk-WXTV4ATB.js";
87
+ import {
88
+ Check_default,
89
+ DeveloperError_default
90
+ } from "./chunk-4MFFIWUA.js";
91
+ import {
92
+ defined_default
93
+ } from "./chunk-6BTKZDRG.js";
94
+
95
+ // packages/engine/Source/Core/RectangleGeometry.js
96
+ var positionScratch = new Cartesian3_default();
97
+ var normalScratch = new Cartesian3_default();
98
+ var tangentScratch = new Cartesian3_default();
99
+ var bitangentScratch = new Cartesian3_default();
100
+ var rectangleScratch = new Rectangle_default();
101
+ var stScratch = new Cartesian2_default();
102
+ var bottomBoundingSphere = new BoundingSphere_default();
103
+ var topBoundingSphere = new BoundingSphere_default();
104
+ function createAttributes(vertexFormat, attributes) {
105
+ const geo = new Geometry_default({
106
+ attributes: new GeometryAttributes_default(),
107
+ primitiveType: PrimitiveType_default.TRIANGLES
108
+ });
109
+ geo.attributes.position = new GeometryAttribute_default({
110
+ componentDatatype: ComponentDatatype_default.DOUBLE,
111
+ componentsPerAttribute: 3,
112
+ values: attributes.positions
113
+ });
114
+ if (vertexFormat.normal) {
115
+ geo.attributes.normal = new GeometryAttribute_default({
116
+ componentDatatype: ComponentDatatype_default.FLOAT,
117
+ componentsPerAttribute: 3,
118
+ values: attributes.normals
119
+ });
120
+ }
121
+ if (vertexFormat.tangent) {
122
+ geo.attributes.tangent = new GeometryAttribute_default({
123
+ componentDatatype: ComponentDatatype_default.FLOAT,
124
+ componentsPerAttribute: 3,
125
+ values: attributes.tangents
126
+ });
127
+ }
128
+ if (vertexFormat.bitangent) {
129
+ geo.attributes.bitangent = new GeometryAttribute_default({
130
+ componentDatatype: ComponentDatatype_default.FLOAT,
131
+ componentsPerAttribute: 3,
132
+ values: attributes.bitangents
133
+ });
134
+ }
135
+ return geo;
136
+ }
137
+ function calculateAttributes(positions, vertexFormat, ellipsoid, tangentRotationMatrix) {
138
+ const length = positions.length;
139
+ const normals = vertexFormat.normal ? new Float32Array(length) : void 0;
140
+ const tangents = vertexFormat.tangent ? new Float32Array(length) : void 0;
141
+ const bitangents = vertexFormat.bitangent ? new Float32Array(length) : void 0;
142
+ let attrIndex = 0;
143
+ const bitangent = bitangentScratch;
144
+ const tangent = tangentScratch;
145
+ let normal = normalScratch;
146
+ if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
147
+ for (let i = 0; i < length; i += 3) {
148
+ const p = Cartesian3_default.fromArray(positions, i, positionScratch);
149
+ const attrIndex1 = attrIndex + 1;
150
+ const attrIndex2 = attrIndex + 2;
151
+ normal = ellipsoid.geodeticSurfaceNormal(p, normal);
152
+ if (vertexFormat.tangent || vertexFormat.bitangent) {
153
+ Cartesian3_default.cross(Cartesian3_default.UNIT_Z, normal, tangent);
154
+ Matrix3_default.multiplyByVector(tangentRotationMatrix, tangent, tangent);
155
+ Cartesian3_default.normalize(tangent, tangent);
156
+ if (vertexFormat.bitangent) {
157
+ Cartesian3_default.normalize(
158
+ Cartesian3_default.cross(normal, tangent, bitangent),
159
+ bitangent
160
+ );
161
+ }
162
+ }
163
+ if (vertexFormat.normal) {
164
+ normals[attrIndex] = normal.x;
165
+ normals[attrIndex1] = normal.y;
166
+ normals[attrIndex2] = normal.z;
167
+ }
168
+ if (vertexFormat.tangent) {
169
+ tangents[attrIndex] = tangent.x;
170
+ tangents[attrIndex1] = tangent.y;
171
+ tangents[attrIndex2] = tangent.z;
172
+ }
173
+ if (vertexFormat.bitangent) {
174
+ bitangents[attrIndex] = bitangent.x;
175
+ bitangents[attrIndex1] = bitangent.y;
176
+ bitangents[attrIndex2] = bitangent.z;
177
+ }
178
+ attrIndex += 3;
179
+ }
180
+ }
181
+ return createAttributes(vertexFormat, {
182
+ positions,
183
+ normals,
184
+ tangents,
185
+ bitangents
186
+ });
187
+ }
188
+ var v1Scratch = new Cartesian3_default();
189
+ var v2Scratch = new Cartesian3_default();
190
+ function calculateAttributesWall(positions, vertexFormat, ellipsoid) {
191
+ const length = positions.length;
192
+ const normals = vertexFormat.normal ? new Float32Array(length) : void 0;
193
+ const tangents = vertexFormat.tangent ? new Float32Array(length) : void 0;
194
+ const bitangents = vertexFormat.bitangent ? new Float32Array(length) : void 0;
195
+ let normalIndex = 0;
196
+ let tangentIndex = 0;
197
+ let bitangentIndex = 0;
198
+ let recomputeNormal = true;
199
+ let bitangent = bitangentScratch;
200
+ let tangent = tangentScratch;
201
+ let normal = normalScratch;
202
+ if (vertexFormat.normal || vertexFormat.tangent || vertexFormat.bitangent) {
203
+ for (let i = 0; i < length; i += 6) {
204
+ const p = Cartesian3_default.fromArray(positions, i, positionScratch);
205
+ const p1 = Cartesian3_default.fromArray(positions, (i + 6) % length, v1Scratch);
206
+ if (recomputeNormal) {
207
+ const p2 = Cartesian3_default.fromArray(positions, (i + 3) % length, v2Scratch);
208
+ Cartesian3_default.subtract(p1, p, p1);
209
+ Cartesian3_default.subtract(p2, p, p2);
210
+ normal = Cartesian3_default.normalize(Cartesian3_default.cross(p2, p1, normal), normal);
211
+ recomputeNormal = false;
212
+ }
213
+ if (Cartesian3_default.equalsEpsilon(p1, p, Math_default.EPSILON10)) {
214
+ recomputeNormal = true;
215
+ }
216
+ if (vertexFormat.tangent || vertexFormat.bitangent) {
217
+ bitangent = ellipsoid.geodeticSurfaceNormal(p, bitangent);
218
+ if (vertexFormat.tangent) {
219
+ tangent = Cartesian3_default.normalize(
220
+ Cartesian3_default.cross(bitangent, normal, tangent),
221
+ tangent
222
+ );
223
+ }
224
+ }
225
+ if (vertexFormat.normal) {
226
+ normals[normalIndex++] = normal.x;
227
+ normals[normalIndex++] = normal.y;
228
+ normals[normalIndex++] = normal.z;
229
+ normals[normalIndex++] = normal.x;
230
+ normals[normalIndex++] = normal.y;
231
+ normals[normalIndex++] = normal.z;
232
+ }
233
+ if (vertexFormat.tangent) {
234
+ tangents[tangentIndex++] = tangent.x;
235
+ tangents[tangentIndex++] = tangent.y;
236
+ tangents[tangentIndex++] = tangent.z;
237
+ tangents[tangentIndex++] = tangent.x;
238
+ tangents[tangentIndex++] = tangent.y;
239
+ tangents[tangentIndex++] = tangent.z;
240
+ }
241
+ if (vertexFormat.bitangent) {
242
+ bitangents[bitangentIndex++] = bitangent.x;
243
+ bitangents[bitangentIndex++] = bitangent.y;
244
+ bitangents[bitangentIndex++] = bitangent.z;
245
+ bitangents[bitangentIndex++] = bitangent.x;
246
+ bitangents[bitangentIndex++] = bitangent.y;
247
+ bitangents[bitangentIndex++] = bitangent.z;
248
+ }
249
+ }
250
+ }
251
+ return createAttributes(vertexFormat, {
252
+ positions,
253
+ normals,
254
+ tangents,
255
+ bitangents
256
+ });
257
+ }
258
+ function constructRectangle(rectangleGeometry, computedOptions) {
259
+ const vertexFormat = rectangleGeometry._vertexFormat;
260
+ const ellipsoid = rectangleGeometry._ellipsoid;
261
+ const height = computedOptions.height;
262
+ const width = computedOptions.width;
263
+ const northCap = computedOptions.northCap;
264
+ const southCap = computedOptions.southCap;
265
+ let rowStart = 0;
266
+ let rowEnd = height;
267
+ let rowHeight = height;
268
+ let size = 0;
269
+ if (northCap) {
270
+ rowStart = 1;
271
+ rowHeight -= 1;
272
+ size += 1;
273
+ }
274
+ if (southCap) {
275
+ rowEnd -= 1;
276
+ rowHeight -= 1;
277
+ size += 1;
278
+ }
279
+ size += width * rowHeight;
280
+ const positions = vertexFormat.position ? new Float64Array(size * 3) : void 0;
281
+ const textureCoordinates = vertexFormat.st ? new Float32Array(size * 2) : void 0;
282
+ let posIndex = 0;
283
+ let stIndex = 0;
284
+ const position = positionScratch;
285
+ const st = stScratch;
286
+ let minX = Number.MAX_VALUE;
287
+ let minY = Number.MAX_VALUE;
288
+ let maxX = -Number.MAX_VALUE;
289
+ let maxY = -Number.MAX_VALUE;
290
+ for (let row = rowStart; row < rowEnd; ++row) {
291
+ for (let col = 0; col < width; ++col) {
292
+ RectangleGeometryLibrary_default.computePosition(
293
+ computedOptions,
294
+ ellipsoid,
295
+ vertexFormat.st,
296
+ row,
297
+ col,
298
+ position,
299
+ st
300
+ );
301
+ positions[posIndex++] = position.x;
302
+ positions[posIndex++] = position.y;
303
+ positions[posIndex++] = position.z;
304
+ if (vertexFormat.st) {
305
+ textureCoordinates[stIndex++] = st.x;
306
+ textureCoordinates[stIndex++] = st.y;
307
+ minX = Math.min(minX, st.x);
308
+ minY = Math.min(minY, st.y);
309
+ maxX = Math.max(maxX, st.x);
310
+ maxY = Math.max(maxY, st.y);
311
+ }
312
+ }
313
+ }
314
+ if (northCap) {
315
+ RectangleGeometryLibrary_default.computePosition(
316
+ computedOptions,
317
+ ellipsoid,
318
+ vertexFormat.st,
319
+ 0,
320
+ 0,
321
+ position,
322
+ st
323
+ );
324
+ positions[posIndex++] = position.x;
325
+ positions[posIndex++] = position.y;
326
+ positions[posIndex++] = position.z;
327
+ if (vertexFormat.st) {
328
+ textureCoordinates[stIndex++] = st.x;
329
+ textureCoordinates[stIndex++] = st.y;
330
+ minX = st.x;
331
+ minY = st.y;
332
+ maxX = st.x;
333
+ maxY = st.y;
334
+ }
335
+ }
336
+ if (southCap) {
337
+ RectangleGeometryLibrary_default.computePosition(
338
+ computedOptions,
339
+ ellipsoid,
340
+ vertexFormat.st,
341
+ height - 1,
342
+ 0,
343
+ position,
344
+ st
345
+ );
346
+ positions[posIndex++] = position.x;
347
+ positions[posIndex++] = position.y;
348
+ positions[posIndex] = position.z;
349
+ if (vertexFormat.st) {
350
+ textureCoordinates[stIndex++] = st.x;
351
+ textureCoordinates[stIndex] = st.y;
352
+ minX = Math.min(minX, st.x);
353
+ minY = Math.min(minY, st.y);
354
+ maxX = Math.max(maxX, st.x);
355
+ maxY = Math.max(maxY, st.y);
356
+ }
357
+ }
358
+ if (vertexFormat.st && (minX < 0 || minY < 0 || maxX > 1 || maxY > 1)) {
359
+ for (let k = 0; k < textureCoordinates.length; k += 2) {
360
+ textureCoordinates[k] = (textureCoordinates[k] - minX) / (maxX - minX);
361
+ textureCoordinates[k + 1] = (textureCoordinates[k + 1] - minY) / (maxY - minY);
362
+ }
363
+ }
364
+ const geo = calculateAttributes(
365
+ positions,
366
+ vertexFormat,
367
+ ellipsoid,
368
+ computedOptions.tangentRotationMatrix
369
+ );
370
+ let indicesSize = 6 * (width - 1) * (rowHeight - 1);
371
+ if (northCap) {
372
+ indicesSize += 3 * (width - 1);
373
+ }
374
+ if (southCap) {
375
+ indicesSize += 3 * (width - 1);
376
+ }
377
+ const indices = IndexDatatype_default.createTypedArray(size, indicesSize);
378
+ let index = 0;
379
+ let indicesIndex = 0;
380
+ let i;
381
+ for (i = 0; i < rowHeight - 1; ++i) {
382
+ for (let j = 0; j < width - 1; ++j) {
383
+ const upperLeft = index;
384
+ const lowerLeft = upperLeft + width;
385
+ const lowerRight = lowerLeft + 1;
386
+ const upperRight = upperLeft + 1;
387
+ indices[indicesIndex++] = upperLeft;
388
+ indices[indicesIndex++] = lowerLeft;
389
+ indices[indicesIndex++] = upperRight;
390
+ indices[indicesIndex++] = upperRight;
391
+ indices[indicesIndex++] = lowerLeft;
392
+ indices[indicesIndex++] = lowerRight;
393
+ ++index;
394
+ }
395
+ ++index;
396
+ }
397
+ if (northCap || southCap) {
398
+ let northIndex = size - 1;
399
+ const southIndex = size - 1;
400
+ if (northCap && southCap) {
401
+ northIndex = size - 2;
402
+ }
403
+ let p1;
404
+ let p2;
405
+ index = 0;
406
+ if (northCap) {
407
+ for (i = 0; i < width - 1; i++) {
408
+ p1 = index;
409
+ p2 = p1 + 1;
410
+ indices[indicesIndex++] = northIndex;
411
+ indices[indicesIndex++] = p1;
412
+ indices[indicesIndex++] = p2;
413
+ ++index;
414
+ }
415
+ }
416
+ if (southCap) {
417
+ index = (rowHeight - 1) * width;
418
+ for (i = 0; i < width - 1; i++) {
419
+ p1 = index;
420
+ p2 = p1 + 1;
421
+ indices[indicesIndex++] = p1;
422
+ indices[indicesIndex++] = southIndex;
423
+ indices[indicesIndex++] = p2;
424
+ ++index;
425
+ }
426
+ }
427
+ }
428
+ geo.indices = indices;
429
+ if (vertexFormat.st) {
430
+ geo.attributes.st = new GeometryAttribute_default({
431
+ componentDatatype: ComponentDatatype_default.FLOAT,
432
+ componentsPerAttribute: 2,
433
+ values: textureCoordinates
434
+ });
435
+ }
436
+ return geo;
437
+ }
438
+ function addWallPositions(wallPositions, posIndex, i, topPositions, bottomPositions) {
439
+ wallPositions[posIndex++] = topPositions[i];
440
+ wallPositions[posIndex++] = topPositions[i + 1];
441
+ wallPositions[posIndex++] = topPositions[i + 2];
442
+ wallPositions[posIndex++] = bottomPositions[i];
443
+ wallPositions[posIndex++] = bottomPositions[i + 1];
444
+ wallPositions[posIndex] = bottomPositions[i + 2];
445
+ return wallPositions;
446
+ }
447
+ function addWallTextureCoordinates(wallTextures, stIndex, i, st) {
448
+ wallTextures[stIndex++] = st[i];
449
+ wallTextures[stIndex++] = st[i + 1];
450
+ wallTextures[stIndex++] = st[i];
451
+ wallTextures[stIndex] = st[i + 1];
452
+ return wallTextures;
453
+ }
454
+ var scratchVertexFormat = new VertexFormat_default();
455
+ function constructExtrudedRectangle(rectangleGeometry, computedOptions) {
456
+ const shadowVolume = rectangleGeometry._shadowVolume;
457
+ const offsetAttributeValue = rectangleGeometry._offsetAttribute;
458
+ const vertexFormat = rectangleGeometry._vertexFormat;
459
+ const minHeight = rectangleGeometry._extrudedHeight;
460
+ const maxHeight = rectangleGeometry._surfaceHeight;
461
+ const ellipsoid = rectangleGeometry._ellipsoid;
462
+ const height = computedOptions.height;
463
+ const width = computedOptions.width;
464
+ let i;
465
+ if (shadowVolume) {
466
+ const newVertexFormat = VertexFormat_default.clone(
467
+ vertexFormat,
468
+ scratchVertexFormat
469
+ );
470
+ newVertexFormat.normal = true;
471
+ rectangleGeometry._vertexFormat = newVertexFormat;
472
+ }
473
+ const topBottomGeo = constructRectangle(rectangleGeometry, computedOptions);
474
+ if (shadowVolume) {
475
+ rectangleGeometry._vertexFormat = vertexFormat;
476
+ }
477
+ let topPositions = PolygonPipeline_default.scaleToGeodeticHeight(
478
+ topBottomGeo.attributes.position.values,
479
+ maxHeight,
480
+ ellipsoid,
481
+ false
482
+ );
483
+ topPositions = new Float64Array(topPositions);
484
+ let length = topPositions.length;
485
+ const newLength = length * 2;
486
+ const positions = new Float64Array(newLength);
487
+ positions.set(topPositions);
488
+ const bottomPositions = PolygonPipeline_default.scaleToGeodeticHeight(
489
+ topBottomGeo.attributes.position.values,
490
+ minHeight,
491
+ ellipsoid
492
+ );
493
+ positions.set(bottomPositions, length);
494
+ topBottomGeo.attributes.position.values = positions;
495
+ const normals = vertexFormat.normal ? new Float32Array(newLength) : void 0;
496
+ const tangents = vertexFormat.tangent ? new Float32Array(newLength) : void 0;
497
+ const bitangents = vertexFormat.bitangent ? new Float32Array(newLength) : void 0;
498
+ const textures = vertexFormat.st ? new Float32Array(newLength / 3 * 2) : void 0;
499
+ let topSt;
500
+ let topNormals;
501
+ if (vertexFormat.normal) {
502
+ topNormals = topBottomGeo.attributes.normal.values;
503
+ normals.set(topNormals);
504
+ for (i = 0; i < length; i++) {
505
+ topNormals[i] = -topNormals[i];
506
+ }
507
+ normals.set(topNormals, length);
508
+ topBottomGeo.attributes.normal.values = normals;
509
+ }
510
+ if (shadowVolume) {
511
+ topNormals = topBottomGeo.attributes.normal.values;
512
+ if (!vertexFormat.normal) {
513
+ topBottomGeo.attributes.normal = void 0;
514
+ }
515
+ const extrudeNormals = new Float32Array(newLength);
516
+ for (i = 0; i < length; i++) {
517
+ topNormals[i] = -topNormals[i];
518
+ }
519
+ extrudeNormals.set(topNormals, length);
520
+ topBottomGeo.attributes.extrudeDirection = new GeometryAttribute_default({
521
+ componentDatatype: ComponentDatatype_default.FLOAT,
522
+ componentsPerAttribute: 3,
523
+ values: extrudeNormals
524
+ });
525
+ }
526
+ let offsetValue;
527
+ const hasOffsets = defined_default(offsetAttributeValue);
528
+ if (hasOffsets) {
529
+ const size = length / 3 * 2;
530
+ let offsetAttribute = new Uint8Array(size);
531
+ if (offsetAttributeValue === GeometryOffsetAttribute_default.TOP) {
532
+ offsetAttribute = offsetAttribute.fill(1, 0, size / 2);
533
+ } else {
534
+ offsetValue = offsetAttributeValue === GeometryOffsetAttribute_default.NONE ? 0 : 1;
535
+ offsetAttribute = offsetAttribute.fill(offsetValue);
536
+ }
537
+ topBottomGeo.attributes.applyOffset = new GeometryAttribute_default({
538
+ componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
539
+ componentsPerAttribute: 1,
540
+ values: offsetAttribute
541
+ });
542
+ }
543
+ if (vertexFormat.tangent) {
544
+ const topTangents = topBottomGeo.attributes.tangent.values;
545
+ tangents.set(topTangents);
546
+ for (i = 0; i < length; i++) {
547
+ topTangents[i] = -topTangents[i];
548
+ }
549
+ tangents.set(topTangents, length);
550
+ topBottomGeo.attributes.tangent.values = tangents;
551
+ }
552
+ if (vertexFormat.bitangent) {
553
+ const topBitangents = topBottomGeo.attributes.bitangent.values;
554
+ bitangents.set(topBitangents);
555
+ bitangents.set(topBitangents, length);
556
+ topBottomGeo.attributes.bitangent.values = bitangents;
557
+ }
558
+ if (vertexFormat.st) {
559
+ topSt = topBottomGeo.attributes.st.values;
560
+ textures.set(topSt);
561
+ textures.set(topSt, length / 3 * 2);
562
+ topBottomGeo.attributes.st.values = textures;
563
+ }
564
+ const indices = topBottomGeo.indices;
565
+ const indicesLength = indices.length;
566
+ const posLength = length / 3;
567
+ const newIndices = IndexDatatype_default.createTypedArray(
568
+ newLength / 3,
569
+ indicesLength * 2
570
+ );
571
+ newIndices.set(indices);
572
+ for (i = 0; i < indicesLength; i += 3) {
573
+ newIndices[i + indicesLength] = indices[i + 2] + posLength;
574
+ newIndices[i + 1 + indicesLength] = indices[i + 1] + posLength;
575
+ newIndices[i + 2 + indicesLength] = indices[i] + posLength;
576
+ }
577
+ topBottomGeo.indices = newIndices;
578
+ const northCap = computedOptions.northCap;
579
+ const southCap = computedOptions.southCap;
580
+ let rowHeight = height;
581
+ let widthMultiplier = 2;
582
+ let perimeterPositions = 0;
583
+ let corners = 4;
584
+ let dupliateCorners = 4;
585
+ if (northCap) {
586
+ widthMultiplier -= 1;
587
+ rowHeight -= 1;
588
+ perimeterPositions += 1;
589
+ corners -= 2;
590
+ dupliateCorners -= 1;
591
+ }
592
+ if (southCap) {
593
+ widthMultiplier -= 1;
594
+ rowHeight -= 1;
595
+ perimeterPositions += 1;
596
+ corners -= 2;
597
+ dupliateCorners -= 1;
598
+ }
599
+ perimeterPositions += widthMultiplier * width + 2 * rowHeight - corners;
600
+ const wallCount = (perimeterPositions + dupliateCorners) * 2;
601
+ let wallPositions = new Float64Array(wallCount * 3);
602
+ const wallExtrudeNormals = shadowVolume ? new Float32Array(wallCount * 3) : void 0;
603
+ let wallOffsetAttribute = hasOffsets ? new Uint8Array(wallCount) : void 0;
604
+ let wallTextures = vertexFormat.st ? new Float32Array(wallCount * 2) : void 0;
605
+ const computeTopOffsets = offsetAttributeValue === GeometryOffsetAttribute_default.TOP;
606
+ if (hasOffsets && !computeTopOffsets) {
607
+ offsetValue = offsetAttributeValue === GeometryOffsetAttribute_default.ALL ? 1 : 0;
608
+ wallOffsetAttribute = wallOffsetAttribute.fill(offsetValue);
609
+ }
610
+ let posIndex = 0;
611
+ let stIndex = 0;
612
+ let extrudeNormalIndex = 0;
613
+ let wallOffsetIndex = 0;
614
+ const area = width * rowHeight;
615
+ let threeI;
616
+ for (i = 0; i < area; i += width) {
617
+ threeI = i * 3;
618
+ wallPositions = addWallPositions(
619
+ wallPositions,
620
+ posIndex,
621
+ threeI,
622
+ topPositions,
623
+ bottomPositions
624
+ );
625
+ posIndex += 6;
626
+ if (vertexFormat.st) {
627
+ wallTextures = addWallTextureCoordinates(
628
+ wallTextures,
629
+ stIndex,
630
+ i * 2,
631
+ topSt
632
+ );
633
+ stIndex += 4;
634
+ }
635
+ if (shadowVolume) {
636
+ extrudeNormalIndex += 3;
637
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
638
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
639
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
640
+ }
641
+ if (computeTopOffsets) {
642
+ wallOffsetAttribute[wallOffsetIndex++] = 1;
643
+ wallOffsetIndex += 1;
644
+ }
645
+ }
646
+ if (!southCap) {
647
+ for (i = area - width; i < area; i++) {
648
+ threeI = i * 3;
649
+ wallPositions = addWallPositions(
650
+ wallPositions,
651
+ posIndex,
652
+ threeI,
653
+ topPositions,
654
+ bottomPositions
655
+ );
656
+ posIndex += 6;
657
+ if (vertexFormat.st) {
658
+ wallTextures = addWallTextureCoordinates(
659
+ wallTextures,
660
+ stIndex,
661
+ i * 2,
662
+ topSt
663
+ );
664
+ stIndex += 4;
665
+ }
666
+ if (shadowVolume) {
667
+ extrudeNormalIndex += 3;
668
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
669
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
670
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
671
+ }
672
+ if (computeTopOffsets) {
673
+ wallOffsetAttribute[wallOffsetIndex++] = 1;
674
+ wallOffsetIndex += 1;
675
+ }
676
+ }
677
+ } else {
678
+ const southIndex = northCap ? area + 1 : area;
679
+ threeI = southIndex * 3;
680
+ for (i = 0; i < 2; i++) {
681
+ wallPositions = addWallPositions(
682
+ wallPositions,
683
+ posIndex,
684
+ threeI,
685
+ topPositions,
686
+ bottomPositions
687
+ );
688
+ posIndex += 6;
689
+ if (vertexFormat.st) {
690
+ wallTextures = addWallTextureCoordinates(
691
+ wallTextures,
692
+ stIndex,
693
+ southIndex * 2,
694
+ topSt
695
+ );
696
+ stIndex += 4;
697
+ }
698
+ if (shadowVolume) {
699
+ extrudeNormalIndex += 3;
700
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
701
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
702
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
703
+ }
704
+ if (computeTopOffsets) {
705
+ wallOffsetAttribute[wallOffsetIndex++] = 1;
706
+ wallOffsetIndex += 1;
707
+ }
708
+ }
709
+ }
710
+ for (i = area - 1; i > 0; i -= width) {
711
+ threeI = i * 3;
712
+ wallPositions = addWallPositions(
713
+ wallPositions,
714
+ posIndex,
715
+ threeI,
716
+ topPositions,
717
+ bottomPositions
718
+ );
719
+ posIndex += 6;
720
+ if (vertexFormat.st) {
721
+ wallTextures = addWallTextureCoordinates(
722
+ wallTextures,
723
+ stIndex,
724
+ i * 2,
725
+ topSt
726
+ );
727
+ stIndex += 4;
728
+ }
729
+ if (shadowVolume) {
730
+ extrudeNormalIndex += 3;
731
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
732
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
733
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
734
+ }
735
+ if (computeTopOffsets) {
736
+ wallOffsetAttribute[wallOffsetIndex++] = 1;
737
+ wallOffsetIndex += 1;
738
+ }
739
+ }
740
+ if (!northCap) {
741
+ for (i = width - 1; i >= 0; i--) {
742
+ threeI = i * 3;
743
+ wallPositions = addWallPositions(
744
+ wallPositions,
745
+ posIndex,
746
+ threeI,
747
+ topPositions,
748
+ bottomPositions
749
+ );
750
+ posIndex += 6;
751
+ if (vertexFormat.st) {
752
+ wallTextures = addWallTextureCoordinates(
753
+ wallTextures,
754
+ stIndex,
755
+ i * 2,
756
+ topSt
757
+ );
758
+ stIndex += 4;
759
+ }
760
+ if (shadowVolume) {
761
+ extrudeNormalIndex += 3;
762
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
763
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
764
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
765
+ }
766
+ if (computeTopOffsets) {
767
+ wallOffsetAttribute[wallOffsetIndex++] = 1;
768
+ wallOffsetIndex += 1;
769
+ }
770
+ }
771
+ } else {
772
+ const northIndex = area;
773
+ threeI = northIndex * 3;
774
+ for (i = 0; i < 2; i++) {
775
+ wallPositions = addWallPositions(
776
+ wallPositions,
777
+ posIndex,
778
+ threeI,
779
+ topPositions,
780
+ bottomPositions
781
+ );
782
+ posIndex += 6;
783
+ if (vertexFormat.st) {
784
+ wallTextures = addWallTextureCoordinates(
785
+ wallTextures,
786
+ stIndex,
787
+ northIndex * 2,
788
+ topSt
789
+ );
790
+ stIndex += 4;
791
+ }
792
+ if (shadowVolume) {
793
+ extrudeNormalIndex += 3;
794
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI];
795
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 1];
796
+ wallExtrudeNormals[extrudeNormalIndex++] = topNormals[threeI + 2];
797
+ }
798
+ if (computeTopOffsets) {
799
+ wallOffsetAttribute[wallOffsetIndex++] = 1;
800
+ wallOffsetIndex += 1;
801
+ }
802
+ }
803
+ }
804
+ let geo = calculateAttributesWall(wallPositions, vertexFormat, ellipsoid);
805
+ if (vertexFormat.st) {
806
+ geo.attributes.st = new GeometryAttribute_default({
807
+ componentDatatype: ComponentDatatype_default.FLOAT,
808
+ componentsPerAttribute: 2,
809
+ values: wallTextures
810
+ });
811
+ }
812
+ if (shadowVolume) {
813
+ geo.attributes.extrudeDirection = new GeometryAttribute_default({
814
+ componentDatatype: ComponentDatatype_default.FLOAT,
815
+ componentsPerAttribute: 3,
816
+ values: wallExtrudeNormals
817
+ });
818
+ }
819
+ if (hasOffsets) {
820
+ geo.attributes.applyOffset = new GeometryAttribute_default({
821
+ componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
822
+ componentsPerAttribute: 1,
823
+ values: wallOffsetAttribute
824
+ });
825
+ }
826
+ const wallIndices = IndexDatatype_default.createTypedArray(
827
+ wallCount,
828
+ perimeterPositions * 6
829
+ );
830
+ let upperLeft;
831
+ let lowerLeft;
832
+ let lowerRight;
833
+ let upperRight;
834
+ length = wallPositions.length / 3;
835
+ let index = 0;
836
+ for (i = 0; i < length - 1; i += 2) {
837
+ upperLeft = i;
838
+ upperRight = (upperLeft + 2) % length;
839
+ const p1 = Cartesian3_default.fromArray(wallPositions, upperLeft * 3, v1Scratch);
840
+ const p2 = Cartesian3_default.fromArray(wallPositions, upperRight * 3, v2Scratch);
841
+ if (Cartesian3_default.equalsEpsilon(p1, p2, Math_default.EPSILON10)) {
842
+ continue;
843
+ }
844
+ lowerLeft = (upperLeft + 1) % length;
845
+ lowerRight = (lowerLeft + 2) % length;
846
+ wallIndices[index++] = upperLeft;
847
+ wallIndices[index++] = lowerLeft;
848
+ wallIndices[index++] = upperRight;
849
+ wallIndices[index++] = upperRight;
850
+ wallIndices[index++] = lowerLeft;
851
+ wallIndices[index++] = lowerRight;
852
+ }
853
+ geo.indices = wallIndices;
854
+ geo = GeometryPipeline_default.combineInstances([
855
+ new GeometryInstance_default({
856
+ geometry: topBottomGeo
857
+ }),
858
+ new GeometryInstance_default({
859
+ geometry: geo
860
+ })
861
+ ]);
862
+ return geo[0];
863
+ }
864
+ var scratchRectanglePoints = [
865
+ new Cartesian3_default(),
866
+ new Cartesian3_default(),
867
+ new Cartesian3_default(),
868
+ new Cartesian3_default()
869
+ ];
870
+ var nwScratch = new Cartographic_default();
871
+ var stNwScratch = new Cartographic_default();
872
+ function computeRectangle(rectangle, granularity, rotation, ellipsoid, result) {
873
+ if (rotation === 0) {
874
+ return Rectangle_default.clone(rectangle, result);
875
+ }
876
+ const computedOptions = RectangleGeometryLibrary_default.computeOptions(
877
+ rectangle,
878
+ granularity,
879
+ rotation,
880
+ 0,
881
+ rectangleScratch,
882
+ nwScratch
883
+ );
884
+ const height = computedOptions.height;
885
+ const width = computedOptions.width;
886
+ const positions = scratchRectanglePoints;
887
+ RectangleGeometryLibrary_default.computePosition(
888
+ computedOptions,
889
+ ellipsoid,
890
+ false,
891
+ 0,
892
+ 0,
893
+ positions[0]
894
+ );
895
+ RectangleGeometryLibrary_default.computePosition(
896
+ computedOptions,
897
+ ellipsoid,
898
+ false,
899
+ 0,
900
+ width - 1,
901
+ positions[1]
902
+ );
903
+ RectangleGeometryLibrary_default.computePosition(
904
+ computedOptions,
905
+ ellipsoid,
906
+ false,
907
+ height - 1,
908
+ 0,
909
+ positions[2]
910
+ );
911
+ RectangleGeometryLibrary_default.computePosition(
912
+ computedOptions,
913
+ ellipsoid,
914
+ false,
915
+ height - 1,
916
+ width - 1,
917
+ positions[3]
918
+ );
919
+ return Rectangle_default.fromCartesianArray(positions, ellipsoid, result);
920
+ }
921
+ function RectangleGeometry(options) {
922
+ options = defaultValue_default(options, defaultValue_default.EMPTY_OBJECT);
923
+ const rectangle = options.rectangle;
924
+ Check_default.typeOf.object("rectangle", rectangle);
925
+ Rectangle_default.validate(rectangle);
926
+ if (rectangle.north < rectangle.south) {
927
+ throw new DeveloperError_default(
928
+ "options.rectangle.north must be greater than or equal to options.rectangle.south"
929
+ );
930
+ }
931
+ const height = defaultValue_default(options.height, 0);
932
+ const extrudedHeight = defaultValue_default(options.extrudedHeight, height);
933
+ this._rectangle = Rectangle_default.clone(rectangle);
934
+ this._granularity = defaultValue_default(
935
+ options.granularity,
936
+ Math_default.RADIANS_PER_DEGREE
937
+ );
938
+ this._ellipsoid = Ellipsoid_default.clone(
939
+ defaultValue_default(options.ellipsoid, Ellipsoid_default.WGS84)
940
+ );
941
+ this._surfaceHeight = Math.max(height, extrudedHeight);
942
+ this._rotation = defaultValue_default(options.rotation, 0);
943
+ this._stRotation = defaultValue_default(options.stRotation, 0);
944
+ this._vertexFormat = VertexFormat_default.clone(
945
+ defaultValue_default(options.vertexFormat, VertexFormat_default.DEFAULT)
946
+ );
947
+ this._extrudedHeight = Math.min(height, extrudedHeight);
948
+ this._shadowVolume = defaultValue_default(options.shadowVolume, false);
949
+ this._workerName = "createRectangleGeometry";
950
+ this._offsetAttribute = options.offsetAttribute;
951
+ this._rotatedRectangle = void 0;
952
+ this._textureCoordinateRotationPoints = void 0;
953
+ }
954
+ RectangleGeometry.packedLength = Rectangle_default.packedLength + Ellipsoid_default.packedLength + VertexFormat_default.packedLength + 7;
955
+ RectangleGeometry.pack = function(value, array, startingIndex) {
956
+ Check_default.typeOf.object("value", value);
957
+ Check_default.defined("array", array);
958
+ startingIndex = defaultValue_default(startingIndex, 0);
959
+ Rectangle_default.pack(value._rectangle, array, startingIndex);
960
+ startingIndex += Rectangle_default.packedLength;
961
+ Ellipsoid_default.pack(value._ellipsoid, array, startingIndex);
962
+ startingIndex += Ellipsoid_default.packedLength;
963
+ VertexFormat_default.pack(value._vertexFormat, array, startingIndex);
964
+ startingIndex += VertexFormat_default.packedLength;
965
+ array[startingIndex++] = value._granularity;
966
+ array[startingIndex++] = value._surfaceHeight;
967
+ array[startingIndex++] = value._rotation;
968
+ array[startingIndex++] = value._stRotation;
969
+ array[startingIndex++] = value._extrudedHeight;
970
+ array[startingIndex++] = value._shadowVolume ? 1 : 0;
971
+ array[startingIndex] = defaultValue_default(value._offsetAttribute, -1);
972
+ return array;
973
+ };
974
+ var scratchRectangle = new Rectangle_default();
975
+ var scratchEllipsoid = Ellipsoid_default.clone(Ellipsoid_default.UNIT_SPHERE);
976
+ var scratchOptions = {
977
+ rectangle: scratchRectangle,
978
+ ellipsoid: scratchEllipsoid,
979
+ vertexFormat: scratchVertexFormat,
980
+ granularity: void 0,
981
+ height: void 0,
982
+ rotation: void 0,
983
+ stRotation: void 0,
984
+ extrudedHeight: void 0,
985
+ shadowVolume: void 0,
986
+ offsetAttribute: void 0
987
+ };
988
+ RectangleGeometry.unpack = function(array, startingIndex, result) {
989
+ Check_default.defined("array", array);
990
+ startingIndex = defaultValue_default(startingIndex, 0);
991
+ const rectangle = Rectangle_default.unpack(array, startingIndex, scratchRectangle);
992
+ startingIndex += Rectangle_default.packedLength;
993
+ const ellipsoid = Ellipsoid_default.unpack(array, startingIndex, scratchEllipsoid);
994
+ startingIndex += Ellipsoid_default.packedLength;
995
+ const vertexFormat = VertexFormat_default.unpack(
996
+ array,
997
+ startingIndex,
998
+ scratchVertexFormat
999
+ );
1000
+ startingIndex += VertexFormat_default.packedLength;
1001
+ const granularity = array[startingIndex++];
1002
+ const surfaceHeight = array[startingIndex++];
1003
+ const rotation = array[startingIndex++];
1004
+ const stRotation = array[startingIndex++];
1005
+ const extrudedHeight = array[startingIndex++];
1006
+ const shadowVolume = array[startingIndex++] === 1;
1007
+ const offsetAttribute = array[startingIndex];
1008
+ if (!defined_default(result)) {
1009
+ scratchOptions.granularity = granularity;
1010
+ scratchOptions.height = surfaceHeight;
1011
+ scratchOptions.rotation = rotation;
1012
+ scratchOptions.stRotation = stRotation;
1013
+ scratchOptions.extrudedHeight = extrudedHeight;
1014
+ scratchOptions.shadowVolume = shadowVolume;
1015
+ scratchOptions.offsetAttribute = offsetAttribute === -1 ? void 0 : offsetAttribute;
1016
+ return new RectangleGeometry(scratchOptions);
1017
+ }
1018
+ result._rectangle = Rectangle_default.clone(rectangle, result._rectangle);
1019
+ result._ellipsoid = Ellipsoid_default.clone(ellipsoid, result._ellipsoid);
1020
+ result._vertexFormat = VertexFormat_default.clone(vertexFormat, result._vertexFormat);
1021
+ result._granularity = granularity;
1022
+ result._surfaceHeight = surfaceHeight;
1023
+ result._rotation = rotation;
1024
+ result._stRotation = stRotation;
1025
+ result._extrudedHeight = extrudedHeight;
1026
+ result._shadowVolume = shadowVolume;
1027
+ result._offsetAttribute = offsetAttribute === -1 ? void 0 : offsetAttribute;
1028
+ return result;
1029
+ };
1030
+ RectangleGeometry.computeRectangle = function(options, result) {
1031
+ options = defaultValue_default(options, defaultValue_default.EMPTY_OBJECT);
1032
+ const rectangle = options.rectangle;
1033
+ Check_default.typeOf.object("rectangle", rectangle);
1034
+ Rectangle_default.validate(rectangle);
1035
+ if (rectangle.north < rectangle.south) {
1036
+ throw new DeveloperError_default(
1037
+ "options.rectangle.north must be greater than or equal to options.rectangle.south"
1038
+ );
1039
+ }
1040
+ const granularity = defaultValue_default(
1041
+ options.granularity,
1042
+ Math_default.RADIANS_PER_DEGREE
1043
+ );
1044
+ const ellipsoid = defaultValue_default(options.ellipsoid, Ellipsoid_default.WGS84);
1045
+ const rotation = defaultValue_default(options.rotation, 0);
1046
+ return computeRectangle(rectangle, granularity, rotation, ellipsoid, result);
1047
+ };
1048
+ var tangentRotationMatrixScratch = new Matrix3_default();
1049
+ var quaternionScratch = new Quaternion_default();
1050
+ var centerScratch = new Cartographic_default();
1051
+ RectangleGeometry.createGeometry = function(rectangleGeometry) {
1052
+ if (Math_default.equalsEpsilon(
1053
+ rectangleGeometry._rectangle.north,
1054
+ rectangleGeometry._rectangle.south,
1055
+ Math_default.EPSILON10
1056
+ ) || Math_default.equalsEpsilon(
1057
+ rectangleGeometry._rectangle.east,
1058
+ rectangleGeometry._rectangle.west,
1059
+ Math_default.EPSILON10
1060
+ )) {
1061
+ return void 0;
1062
+ }
1063
+ let rectangle = rectangleGeometry._rectangle;
1064
+ const ellipsoid = rectangleGeometry._ellipsoid;
1065
+ const rotation = rectangleGeometry._rotation;
1066
+ const stRotation = rectangleGeometry._stRotation;
1067
+ const vertexFormat = rectangleGeometry._vertexFormat;
1068
+ const computedOptions = RectangleGeometryLibrary_default.computeOptions(
1069
+ rectangle,
1070
+ rectangleGeometry._granularity,
1071
+ rotation,
1072
+ stRotation,
1073
+ rectangleScratch,
1074
+ nwScratch,
1075
+ stNwScratch
1076
+ );
1077
+ const tangentRotationMatrix = tangentRotationMatrixScratch;
1078
+ if (stRotation !== 0 || rotation !== 0) {
1079
+ const center = Rectangle_default.center(rectangle, centerScratch);
1080
+ const axis = ellipsoid.geodeticSurfaceNormalCartographic(center, v1Scratch);
1081
+ Quaternion_default.fromAxisAngle(axis, -stRotation, quaternionScratch);
1082
+ Matrix3_default.fromQuaternion(quaternionScratch, tangentRotationMatrix);
1083
+ } else {
1084
+ Matrix3_default.clone(Matrix3_default.IDENTITY, tangentRotationMatrix);
1085
+ }
1086
+ const surfaceHeight = rectangleGeometry._surfaceHeight;
1087
+ const extrudedHeight = rectangleGeometry._extrudedHeight;
1088
+ const extrude = !Math_default.equalsEpsilon(
1089
+ surfaceHeight,
1090
+ extrudedHeight,
1091
+ 0,
1092
+ Math_default.EPSILON2
1093
+ );
1094
+ computedOptions.lonScalar = 1 / rectangleGeometry._rectangle.width;
1095
+ computedOptions.latScalar = 1 / rectangleGeometry._rectangle.height;
1096
+ computedOptions.tangentRotationMatrix = tangentRotationMatrix;
1097
+ let geometry;
1098
+ let boundingSphere;
1099
+ rectangle = rectangleGeometry._rectangle;
1100
+ if (extrude) {
1101
+ geometry = constructExtrudedRectangle(rectangleGeometry, computedOptions);
1102
+ const topBS = BoundingSphere_default.fromRectangle3D(
1103
+ rectangle,
1104
+ ellipsoid,
1105
+ surfaceHeight,
1106
+ topBoundingSphere
1107
+ );
1108
+ const bottomBS = BoundingSphere_default.fromRectangle3D(
1109
+ rectangle,
1110
+ ellipsoid,
1111
+ extrudedHeight,
1112
+ bottomBoundingSphere
1113
+ );
1114
+ boundingSphere = BoundingSphere_default.union(topBS, bottomBS);
1115
+ } else {
1116
+ geometry = constructRectangle(rectangleGeometry, computedOptions);
1117
+ geometry.attributes.position.values = PolygonPipeline_default.scaleToGeodeticHeight(
1118
+ geometry.attributes.position.values,
1119
+ surfaceHeight,
1120
+ ellipsoid,
1121
+ false
1122
+ );
1123
+ if (defined_default(rectangleGeometry._offsetAttribute)) {
1124
+ const length = geometry.attributes.position.values.length;
1125
+ const offsetValue = rectangleGeometry._offsetAttribute === GeometryOffsetAttribute_default.NONE ? 0 : 1;
1126
+ const applyOffset = new Uint8Array(length / 3).fill(offsetValue);
1127
+ geometry.attributes.applyOffset = new GeometryAttribute_default({
1128
+ componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
1129
+ componentsPerAttribute: 1,
1130
+ values: applyOffset
1131
+ });
1132
+ }
1133
+ boundingSphere = BoundingSphere_default.fromRectangle3D(
1134
+ rectangle,
1135
+ ellipsoid,
1136
+ surfaceHeight
1137
+ );
1138
+ }
1139
+ if (!vertexFormat.position) {
1140
+ delete geometry.attributes.position;
1141
+ }
1142
+ return new Geometry_default({
1143
+ attributes: geometry.attributes,
1144
+ indices: geometry.indices,
1145
+ primitiveType: geometry.primitiveType,
1146
+ boundingSphere,
1147
+ offsetAttribute: rectangleGeometry._offsetAttribute
1148
+ });
1149
+ };
1150
+ RectangleGeometry.createShadowVolume = function(rectangleGeometry, minHeightFunc, maxHeightFunc) {
1151
+ const granularity = rectangleGeometry._granularity;
1152
+ const ellipsoid = rectangleGeometry._ellipsoid;
1153
+ const minHeight = minHeightFunc(granularity, ellipsoid);
1154
+ const maxHeight = maxHeightFunc(granularity, ellipsoid);
1155
+ return new RectangleGeometry({
1156
+ rectangle: rectangleGeometry._rectangle,
1157
+ rotation: rectangleGeometry._rotation,
1158
+ ellipsoid,
1159
+ stRotation: rectangleGeometry._stRotation,
1160
+ granularity,
1161
+ extrudedHeight: maxHeight,
1162
+ height: minHeight,
1163
+ vertexFormat: VertexFormat_default.POSITION_ONLY,
1164
+ shadowVolume: true
1165
+ });
1166
+ };
1167
+ var unrotatedTextureRectangleScratch = new Rectangle_default();
1168
+ var points2DScratch = [new Cartesian2_default(), new Cartesian2_default(), new Cartesian2_default()];
1169
+ var rotation2DScratch = new Matrix2_default();
1170
+ var rectangleCenterScratch = new Cartographic_default();
1171
+ function textureCoordinateRotationPoints(rectangleGeometry) {
1172
+ if (rectangleGeometry._stRotation === 0) {
1173
+ return [0, 0, 0, 1, 1, 0];
1174
+ }
1175
+ const rectangle = Rectangle_default.clone(
1176
+ rectangleGeometry._rectangle,
1177
+ unrotatedTextureRectangleScratch
1178
+ );
1179
+ const granularity = rectangleGeometry._granularity;
1180
+ const ellipsoid = rectangleGeometry._ellipsoid;
1181
+ const rotation = rectangleGeometry._rotation - rectangleGeometry._stRotation;
1182
+ const unrotatedTextureRectangle = computeRectangle(
1183
+ rectangle,
1184
+ granularity,
1185
+ rotation,
1186
+ ellipsoid,
1187
+ unrotatedTextureRectangleScratch
1188
+ );
1189
+ const points2D = points2DScratch;
1190
+ points2D[0].x = unrotatedTextureRectangle.west;
1191
+ points2D[0].y = unrotatedTextureRectangle.south;
1192
+ points2D[1].x = unrotatedTextureRectangle.west;
1193
+ points2D[1].y = unrotatedTextureRectangle.north;
1194
+ points2D[2].x = unrotatedTextureRectangle.east;
1195
+ points2D[2].y = unrotatedTextureRectangle.south;
1196
+ const boundingRectangle = rectangleGeometry.rectangle;
1197
+ const toDesiredInComputed = Matrix2_default.fromRotation(
1198
+ rectangleGeometry._stRotation,
1199
+ rotation2DScratch
1200
+ );
1201
+ const boundingRectangleCenter = Rectangle_default.center(
1202
+ boundingRectangle,
1203
+ rectangleCenterScratch
1204
+ );
1205
+ for (let i = 0; i < 3; ++i) {
1206
+ const point2D = points2D[i];
1207
+ point2D.x -= boundingRectangleCenter.longitude;
1208
+ point2D.y -= boundingRectangleCenter.latitude;
1209
+ Matrix2_default.multiplyByVector(toDesiredInComputed, point2D, point2D);
1210
+ point2D.x += boundingRectangleCenter.longitude;
1211
+ point2D.y += boundingRectangleCenter.latitude;
1212
+ point2D.x = (point2D.x - boundingRectangle.west) / boundingRectangle.width;
1213
+ point2D.y = (point2D.y - boundingRectangle.south) / boundingRectangle.height;
1214
+ }
1215
+ const minXYCorner = points2D[0];
1216
+ const maxYCorner = points2D[1];
1217
+ const maxXCorner = points2D[2];
1218
+ const result = new Array(6);
1219
+ Cartesian2_default.pack(minXYCorner, result);
1220
+ Cartesian2_default.pack(maxYCorner, result, 2);
1221
+ Cartesian2_default.pack(maxXCorner, result, 4);
1222
+ return result;
1223
+ }
1224
+ Object.defineProperties(RectangleGeometry.prototype, {
1225
+ /**
1226
+ * @private
1227
+ */
1228
+ rectangle: {
1229
+ get: function() {
1230
+ if (!defined_default(this._rotatedRectangle)) {
1231
+ this._rotatedRectangle = computeRectangle(
1232
+ this._rectangle,
1233
+ this._granularity,
1234
+ this._rotation,
1235
+ this._ellipsoid
1236
+ );
1237
+ }
1238
+ return this._rotatedRectangle;
1239
+ }
1240
+ },
1241
+ /**
1242
+ * For remapping texture coordinates when rendering RectangleGeometries as GroundPrimitives.
1243
+ * This version permits skew in textures by computing offsets directly in cartographic space and
1244
+ * more accurately approximates rendering RectangleGeometries with height as standard Primitives.
1245
+ * @see Geometry#_textureCoordinateRotationPoints
1246
+ * @private
1247
+ */
1248
+ textureCoordinateRotationPoints: {
1249
+ get: function() {
1250
+ if (!defined_default(this._textureCoordinateRotationPoints)) {
1251
+ this._textureCoordinateRotationPoints = textureCoordinateRotationPoints(
1252
+ this
1253
+ );
1254
+ }
1255
+ return this._textureCoordinateRotationPoints;
1256
+ }
1257
+ }
1258
+ });
1259
+ var RectangleGeometry_default = RectangleGeometry;
1260
+
1261
+ // packages/engine/Source/Workers/createRectangleGeometry.js
1262
+ function createRectangleGeometry(rectangleGeometry, offset) {
1263
+ if (defined_default(offset)) {
1264
+ rectangleGeometry = RectangleGeometry_default.unpack(rectangleGeometry, offset);
1265
+ }
1266
+ rectangleGeometry._ellipsoid = Ellipsoid_default.clone(rectangleGeometry._ellipsoid);
1267
+ rectangleGeometry._rectangle = Rectangle_default.clone(rectangleGeometry._rectangle);
1268
+ return RectangleGeometry_default.createGeometry(rectangleGeometry);
1269
+ }
1270
+ var createRectangleGeometry_default = createRectangleGeometry;
1271
+ export {
1272
+ createRectangleGeometry_default as default
1273
+ };