@vcmap/ui 5.0.0-rc.18 → 5.0.0-rc.21

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 (376) hide show
  1. package/README.md +6 -6
  2. package/build/build.js +2 -2
  3. package/build/buildCesium.js +3 -3
  4. package/build/buildHelpers.js +2 -1
  5. package/config/base.config.json +0 -4
  6. package/config/dev.config.json +35 -14
  7. package/config/www.config.json +4 -0
  8. package/dist/assets/cesium/Workers/ArcType-ce2e50ab.js +37 -0
  9. package/dist/assets/cesium/Workers/AttributeCompression-b646d393.js +716 -0
  10. package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-ff186ccc.js +258 -0
  11. package/dist/assets/cesium/Workers/BoundingRectangle-be5924f4.js +369 -0
  12. package/dist/assets/cesium/Workers/BoxGeometry-12eeccaf.js +884 -0
  13. package/dist/assets/cesium/Workers/Check-666ab1a0.js +290 -0
  14. package/dist/assets/cesium/Workers/Color-a84038cb.js +2262 -0
  15. package/dist/assets/cesium/Workers/ComponentDatatype-f7b11d02.js +341 -0
  16. package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-3272c1b3.js +132 -0
  17. package/dist/assets/cesium/Workers/CorridorGeometryLibrary-0170e093.js +498 -0
  18. package/dist/assets/cesium/Workers/CylinderGeometry-7c5da648.js +467 -0
  19. package/dist/assets/cesium/Workers/CylinderGeometryLibrary-372c07d8.js +63 -0
  20. package/dist/assets/cesium/Workers/EllipseGeometry-797d580e.js +1304 -0
  21. package/dist/assets/cesium/Workers/EllipseGeometryLibrary-2939e1dc.js +366 -0
  22. package/dist/assets/cesium/Workers/EllipseOutlineGeometry-8b50870f.js +443 -0
  23. package/dist/assets/cesium/Workers/EllipsoidGeodesic-98c62a56.js +520 -0
  24. package/dist/assets/cesium/Workers/EllipsoidGeometry-21c0e3a5.js +637 -0
  25. package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-eff247c8.js +454 -0
  26. package/dist/assets/cesium/Workers/EllipsoidRhumbLine-19756602.js +741 -0
  27. package/dist/assets/cesium/Workers/EllipsoidTangentPlane-214683dc.js +373 -0
  28. package/dist/assets/cesium/Workers/EncodedCartesian3-81f70735.js +171 -0
  29. package/dist/assets/cesium/Workers/FrustumGeometry-ac42a6d9.js +2512 -0
  30. package/dist/assets/cesium/Workers/GeometryAttribute-7d6f1732.js +619 -0
  31. package/dist/assets/cesium/Workers/GeometryAttributes-f06a2792.js +91 -0
  32. package/dist/assets/cesium/Workers/GeometryInstance-451dc1cd.js +121 -0
  33. package/dist/assets/cesium/Workers/GeometryOffsetAttribute-04332ce7.js +16 -0
  34. package/dist/assets/cesium/Workers/GeometryPipeline-ce4339ed.js +3690 -0
  35. package/dist/assets/cesium/Workers/IndexDatatype-a55ceaa1.js +200 -0
  36. package/dist/assets/cesium/Workers/IntersectionTests-f6e6bd8a.js +1836 -0
  37. package/dist/assets/cesium/Workers/Math-2dbd6b93.js +1330 -0
  38. package/dist/assets/cesium/Workers/Matrix2-13178034.js +7086 -0
  39. package/dist/assets/cesium/Workers/Matrix3-315394f6.js +4283 -0
  40. package/dist/assets/cesium/Workers/OrientedBoundingBox-04920dc7.js +1257 -0
  41. package/dist/assets/cesium/Workers/Plane-900aa728.js +309 -0
  42. package/dist/assets/cesium/Workers/PolygonGeometryLibrary-a8680d96.js +1074 -0
  43. package/dist/assets/cesium/Workers/PolygonPipeline-844aab0a.js +1345 -0
  44. package/dist/assets/cesium/Workers/PolylinePipeline-32f36d2a.js +573 -0
  45. package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-a510d657.js +781 -0
  46. package/dist/assets/cesium/Workers/PrimitivePipeline-ba38434a.js +966 -0
  47. package/dist/assets/cesium/Workers/RectangleGeometryLibrary-bdba697e.js +280 -0
  48. package/dist/assets/cesium/Workers/RuntimeError-06c93819.js +68 -0
  49. package/dist/assets/cesium/Workers/TerrainEncoding-833187da.js +1227 -0
  50. package/dist/assets/cesium/Workers/Transforms-40229881.js +14696 -0
  51. package/dist/assets/cesium/Workers/VertexFormat-6b480673.js +312 -0
  52. package/dist/assets/cesium/Workers/WallGeometryLibrary-919eed92.js +211 -0
  53. package/dist/assets/cesium/Workers/WebGLConstants-a8cc3e8c.js +620 -0
  54. package/dist/assets/cesium/Workers/WebMercatorProjection-13a90d41.js +151 -0
  55. package/dist/assets/cesium/Workers/arrayRemoveDuplicates-c2038105.js +129 -0
  56. package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +1336 -4
  57. package/dist/assets/cesium/Workers/combine-ca22a614.js +82 -0
  58. package/dist/assets/cesium/Workers/combineGeometry.js +17 -25
  59. package/dist/assets/cesium/Workers/createBoxGeometry.js +12 -25
  60. package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +313 -25
  61. package/dist/assets/cesium/Workers/createCircleGeometry.js +213 -25
  62. package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +160 -25
  63. package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +586 -25
  64. package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +236 -25
  65. package/dist/assets/cesium/Workers/createCorridorGeometry.js +1407 -25
  66. package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +603 -25
  67. package/dist/assets/cesium/Workers/createCylinderGeometry.js +12 -25
  68. package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +265 -25
  69. package/dist/assets/cesium/Workers/createEllipseGeometry.js +14 -25
  70. package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +14 -25
  71. package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +12 -25
  72. package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +15 -25
  73. package/dist/assets/cesium/Workers/createFrustumGeometry.js +12 -25
  74. package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +251 -25
  75. package/dist/assets/cesium/Workers/createGeometry.js +55 -25
  76. package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +2134 -25
  77. package/dist/assets/cesium/Workers/createPlaneGeometry.js +250 -25
  78. package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +115 -25
  79. package/dist/assets/cesium/Workers/createPolygonGeometry.js +1420 -25
  80. package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +683 -25
  81. package/dist/assets/cesium/Workers/createPolylineGeometry.js +571 -25
  82. package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +411 -25
  83. package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +301 -25
  84. package/dist/assets/cesium/Workers/createRectangleGeometry.js +1476 -25
  85. package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +535 -25
  86. package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +458 -25
  87. package/dist/assets/cesium/Workers/createSphereGeometry.js +123 -25
  88. package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +126 -25
  89. package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +127 -25
  90. package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +535 -25
  91. package/dist/assets/cesium/Workers/createVectorTileGeometries.js +445 -25
  92. package/dist/assets/cesium/Workers/createVectorTilePoints.js +79 -25
  93. package/dist/assets/cesium/Workers/createVectorTilePolygons.js +406 -25
  94. package/dist/assets/cesium/Workers/createVectorTilePolylines.js +254 -25
  95. package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +640 -25
  96. package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +2711 -27
  97. package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +994 -25
  98. package/dist/assets/cesium/Workers/createWallGeometry.js +623 -25
  99. package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +432 -25
  100. package/dist/assets/cesium/Workers/decodeDraco.js +381 -25
  101. package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +3687 -25
  102. package/dist/assets/cesium/Workers/decodeI3S.js +1040 -0
  103. package/dist/assets/cesium/Workers/defaultValue-0a909f67.js +51 -0
  104. package/dist/assets/cesium/Workers/package.js +2 -2
  105. package/dist/assets/cesium/Workers/transcodeKTX2.js +1516 -25
  106. package/dist/assets/cesium/Workers/transferTypedArrayTest.js +18 -2
  107. package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +1023 -25
  108. package/dist/assets/{cesium.2f992f.js → cesium.49585c.js} +112161 -108735
  109. package/dist/assets/cesium.js +1 -1
  110. package/dist/assets/{core.cb0408.js → core.59d4d1.js} +1616 -1629
  111. package/dist/assets/core.js +1 -1
  112. package/dist/assets/{index.bccdf969.js → index.a3861d4e.js} +1 -1
  113. package/dist/assets/{ol.5e3fd0.js → ol.c1c512.js} +6992 -6972
  114. package/dist/assets/ol.js +1 -1
  115. package/dist/assets/ui.80175f.css +1 -0
  116. package/dist/assets/{ui.08c48f.js → ui.80175f.js} +6121 -6785
  117. package/dist/assets/ui.js +1 -1
  118. package/dist/assets/{vue.228ead.js → vue.a08ab1.js} +0 -0
  119. package/dist/assets/vue.js +2 -2
  120. package/dist/assets/{vuetify.0b5039.css → vuetify.efc158.css} +0 -0
  121. package/dist/assets/{vuetify.0b5039.js → vuetify.efc158.js} +1 -1
  122. package/dist/assets/vuetify.js +2 -2
  123. package/dist/index.html +1 -1
  124. package/index.js +2 -1
  125. package/lib/cesium.js +1 -1
  126. package/package.json +3 -4
  127. package/plugins/{simple-graph → @vcmap/simple-graph}/README.md +1 -1
  128. package/plugins/{simple-graph → @vcmap/simple-graph}/SimpleGraphComponent.vue +0 -0
  129. package/plugins/{simple-graph → @vcmap/simple-graph}/index.js +0 -0
  130. package/plugins/{simple-graph → @vcmap/simple-graph}/package.json +0 -0
  131. package/plugins/{simple-graph → @vcmap/simple-graph}/simpleGraphView.js +0 -0
  132. package/plugins/@vcmap-show-case/README.md +20 -0
  133. package/plugins/{buttonExamples/ButtonExamples.vue → @vcmap-show-case/buttons-example/ButtonsExample.vue} +1 -1
  134. package/plugins/@vcmap-show-case/buttons-example/README.md +4 -0
  135. package/plugins/{buttonExamples → @vcmap-show-case/buttons-example}/index.js +16 -8
  136. package/plugins/@vcmap-show-case/buttons-example/package.json +5 -0
  137. package/plugins/{categoryTest → @vcmap-show-case/category-tester}/Categories.vue +7 -6
  138. package/plugins/{categoryTest → @vcmap-show-case/category-tester}/Category.vue +4 -3
  139. package/plugins/@vcmap-show-case/category-tester/README.md +3 -0
  140. package/plugins/{categoryTest → @vcmap-show-case/category-tester}/index.js +12 -4
  141. package/plugins/@vcmap-show-case/category-tester/package.json +5 -0
  142. package/plugins/@vcmap-show-case/config-editor/README.md +3 -0
  143. package/plugins/{test → @vcmap-show-case/config-editor}/editor.vue +0 -0
  144. package/plugins/@vcmap-show-case/config-editor/index.js +47 -0
  145. package/plugins/@vcmap-show-case/config-editor/package.json +5 -0
  146. package/plugins/@vcmap-show-case/context-menu-tester/README.md +3 -0
  147. package/plugins/@vcmap-show-case/context-menu-tester/index.js +33 -0
  148. package/plugins/@vcmap-show-case/context-menu-tester/package.json +5 -0
  149. package/plugins/{@vcmap/pluginExample/pluginExampleComponent.vue → @vcmap-show-case/form-inputs-example/FormInputsExample.vue} +14 -13
  150. package/plugins/@vcmap-show-case/form-inputs-example/README.md +4 -0
  151. package/plugins/@vcmap-show-case/form-inputs-example/config.json +5 -0
  152. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/exampleActions.js +1 -1
  153. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/index.js +23 -22
  154. package/plugins/@vcmap-show-case/form-inputs-example/package.json +5 -0
  155. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/validation.js +0 -0
  156. package/plugins/@vcmap-show-case/icons-example/README.md +5 -0
  157. package/plugins/@vcmap-show-case/icons-example/allIconsComponent.vue +51 -0
  158. package/plugins/@vcmap-show-case/icons-example/index.js +44 -0
  159. package/plugins/@vcmap-show-case/icons-example/package.json +5 -0
  160. package/plugins/{test/testList.vue → @vcmap-show-case/list-example/ListExample.vue} +1 -1
  161. package/plugins/@vcmap-show-case/list-example/README.md +3 -0
  162. package/plugins/@vcmap-show-case/list-example/index.js +44 -0
  163. package/plugins/@vcmap-show-case/list-example/package.json +5 -0
  164. package/plugins/@vcmap-show-case/notifier-tester/README.md +3 -0
  165. package/plugins/{notifier → @vcmap-show-case/notifier-tester}/index.js +11 -6
  166. package/plugins/{notifier → @vcmap-show-case/notifier-tester}/notifierTester.vue +0 -0
  167. package/plugins/@vcmap-show-case/notifier-tester/package.json +5 -0
  168. package/plugins/@vcmap-show-case/textfields-example/README.md +3 -0
  169. package/plugins/{example/mySuperComponent.vue → @vcmap-show-case/textfields-example/TextfieldsExample.vue} +1 -7
  170. package/plugins/{example → @vcmap-show-case/textfields-example}/index.js +58 -62
  171. package/plugins/@vcmap-show-case/textfields-example/package.json +5 -0
  172. package/plugins/@vcmap-show-case/window-tester/README.md +3 -0
  173. package/plugins/{test/windowManagerExample.vue → @vcmap-show-case/window-tester/WindowExample.vue} +36 -20
  174. package/plugins/{test → @vcmap-show-case/window-tester}/emptyComponent.vue +8 -3
  175. package/plugins/@vcmap-show-case/window-tester/index.js +62 -0
  176. package/plugins/{test → @vcmap-show-case/window-tester}/myCustomHeader.vue +0 -0
  177. package/plugins/@vcmap-show-case/window-tester/package.json +5 -0
  178. package/plugins/{test → @vcmap-show-case/window-tester}/toolbox-data.js +9 -9
  179. package/plugins/{test/vcsContent.vue → @vcmap-show-case/window-tester/windowExampleContent.vue} +1 -5
  180. package/plugins/@vcmap-show-case/wizard-example/README.md +3 -0
  181. package/plugins/{wizardExample → @vcmap-show-case/wizard-example}/index.js +12 -6
  182. package/plugins/@vcmap-show-case/wizard-example/package.json +5 -0
  183. package/plugins/@vcmap-show-case/wizard-example/wizardExample.vue +95 -0
  184. package/plugins/package.json +2 -1
  185. package/src/actions/actionHelper.js +1 -3
  186. package/src/actions/stateRefAction.js +0 -10
  187. package/src/application/VcsApp.vue +42 -23
  188. package/src/application/VcsMap.vue +9 -0
  189. package/src/components/buttons/VcsActionButtonList.vue +1 -0
  190. package/src/components/form-inputs-controls/VcsCheckbox.vue +3 -1
  191. package/src/components/form-inputs-controls/VcsWizard.vue +17 -20
  192. package/src/components/form-inputs-controls/VcsWizardStep.vue +160 -0
  193. package/src/{icons → components/icons}/+all.js +0 -0
  194. package/src/{icons → components/icons}/2DAreaIcon.vue +0 -0
  195. package/src/{icons → components/icons}/2DDistanceIcon.vue +0 -0
  196. package/src/{icons → components/icons}/3DAreaIcon.vue +0 -0
  197. package/src/{icons → components/icons}/3DDistanceIcon.vue +0 -0
  198. package/src/{icons → components/icons}/3DHeightIcon.vue +0 -0
  199. package/src/{icons → components/icons}/AngleIcon.vue +0 -0
  200. package/src/{icons → components/icons}/AssociationsIcon.vue +0 -0
  201. package/src/{icons → components/icons}/AxisIcon.vue +0 -0
  202. package/src/{icons → components/icons}/BoundingBoxIcon.vue +0 -0
  203. package/src/{icons → components/icons}/CheckboxCheckedIcon.vue +0 -0
  204. package/src/{icons → components/icons}/CheckboxIcon.vue +0 -0
  205. package/src/{icons → components/icons}/CheckboxIndeterminateIcon.vue +0 -0
  206. package/src/{icons → components/icons}/CircleIcon.vue +0 -0
  207. package/src/{icons → components/icons}/ClippingHorizontalIcon.vue +0 -0
  208. package/src/{icons → components/icons}/ClippingIcon.vue +0 -0
  209. package/src/{icons → components/icons}/ClippingVerticalIcon.vue +0 -0
  210. package/src/{icons → components/icons}/ColorPickerIcon.vue +0 -0
  211. package/src/{icons → components/icons}/ColorSwatchIcon.vue +0 -0
  212. package/src/{icons → components/icons}/CommentIcon.vue +0 -0
  213. package/src/{icons → components/icons}/CompassIcon.vue +0 -0
  214. package/src/{icons → components/icons}/ComponentsIcon.vue +0 -0
  215. package/src/{icons → components/icons}/ConeIcon.vue +0 -0
  216. package/src/{icons → components/icons}/DimensionsHouseIcon.vue +0 -0
  217. package/src/{icons → components/icons}/EditIcon.vue +0 -0
  218. package/src/{icons → components/icons}/ElevationProfileIcon.vue +0 -0
  219. package/src/{icons → components/icons}/ExportAreaIcon.vue +0 -0
  220. package/src/{icons → components/icons}/ExportFlightIcon.vue +0 -0
  221. package/src/{icons → components/icons}/ExportIcon.vue +0 -0
  222. package/src/{icons → components/icons}/ExternalLinkIcon.vue +0 -0
  223. package/src/{icons → components/icons}/EyeIcon.vue +0 -0
  224. package/src/{icons → components/icons}/FastForwardIcon.vue +0 -0
  225. package/src/{icons → components/icons}/FilterIcon.vue +0 -0
  226. package/src/{icons → components/icons}/GlobalTerrainIcon.vue +0 -0
  227. package/src/{icons → components/icons}/GlobeNatureIcon.vue +0 -0
  228. package/src/{icons → components/icons}/GroundIcon.vue +0 -0
  229. package/src/{icons → components/icons}/HealthCareIndustriesIcon.vue +0 -0
  230. package/src/{icons → components/icons}/HelpIcon.vue +0 -0
  231. package/src/{icons → components/icons}/HideIcon.vue +0 -0
  232. package/src/{icons → components/icons}/HomePointIcon.vue +0 -0
  233. package/src/{icons → components/icons}/HospitalsIcon.vue +0 -0
  234. package/src/{icons → components/icons}/HouseIcon.vue +0 -0
  235. package/src/{icons → components/icons}/ImportIcon.vue +0 -0
  236. package/src/{icons → components/icons}/InfoIcon.vue +0 -0
  237. package/src/{icons → components/icons}/KebabIcon.vue +0 -0
  238. package/src/{icons → components/icons}/LabelIcon.vue +0 -0
  239. package/src/{icons → components/icons}/LayersIcon.vue +0 -0
  240. package/src/{icons → components/icons}/LegendIcon.vue +0 -0
  241. package/src/{icons → components/icons}/LineIcon.vue +0 -0
  242. package/src/{icons → components/icons}/LinkIcon.vue +0 -0
  243. package/src/{icons → components/icons}/LogoutIcon.vue +0 -0
  244. package/src/{icons → components/icons}/MapIcon.vue +0 -0
  245. package/src/{icons → components/icons}/MenuIcon.vue +0 -0
  246. package/src/{icons → components/icons}/MinusIcon.vue +0 -0
  247. package/src/{icons → components/icons}/ObjectAttributeIcon.vue +0 -0
  248. package/src/{icons → components/icons}/ObjectSelectIcon.vue +0 -0
  249. package/src/{icons → components/icons}/ObliqueViewIcon.vue +0 -0
  250. package/src/{icons → components/icons}/PdfIcon.vue +0 -0
  251. package/src/{icons → components/icons}/PedestrianIcon.vue +0 -0
  252. package/src/{icons → components/icons}/PenIcon.vue +0 -0
  253. package/src/{icons → components/icons}/PlayCircleIcon.vue +0 -0
  254. package/src/{icons → components/icons}/PlusIcon.vue +0 -0
  255. package/src/{icons → components/icons}/PoiIcon.vue +0 -0
  256. package/src/{icons → components/icons}/PointSelectIcon.vue +0 -0
  257. package/src/{icons → components/icons}/PolygonIcon.vue +0 -0
  258. package/src/{icons → components/icons}/PresentationModeIcon.vue +0 -0
  259. package/src/{icons → components/icons}/ProgressIcon.vue +0 -0
  260. package/src/{icons → components/icons}/QueryIcon.vue +0 -0
  261. package/src/{icons → components/icons}/RectangleIcon.vue +0 -0
  262. package/src/{icons → components/icons}/ReturnIcon.vue +0 -0
  263. package/src/{icons → components/icons}/RewindIcon.vue +0 -0
  264. package/src/{icons → components/icons}/RotateLeftIcon.vue +0 -0
  265. package/src/{icons → components/icons}/RotateRightIcon.vue +0 -0
  266. package/src/{icons → components/icons}/ScreenshotIcon.vue +0 -0
  267. package/src/{icons → components/icons}/SearchIcon.vue +0 -0
  268. package/src/{icons → components/icons}/ShadowIcon.vue +0 -0
  269. package/src/{icons → components/icons}/ShapesIcon.vue +0 -0
  270. package/src/{icons → components/icons}/ShareIcon.vue +0 -0
  271. package/src/{icons → components/icons}/SimpleCircleFilledIcon.vue +0 -0
  272. package/src/{icons → components/icons}/SimpleCircleHalfFilledIcon.vue +0 -0
  273. package/src/{icons → components/icons}/SimpleCircleOutlinedIcon.vue +0 -0
  274. package/src/{icons → components/icons}/SkipNextIcon.vue +0 -0
  275. package/src/{icons → components/icons}/SkipPreviousIcon.vue +0 -0
  276. package/src/{icons → components/icons}/SplitViewIcon.vue +0 -0
  277. package/src/{icons → components/icons}/TerrainBoxIcon.vue +0 -0
  278. package/src/{icons → components/icons}/TextStyleIcon.vue +0 -0
  279. package/src/{icons → components/icons}/ThreeDimensionsIcon.vue +0 -0
  280. package/src/{icons → components/icons}/ToolsIcon.vue +0 -0
  281. package/src/{icons → components/icons}/TouchIcon.vue +0 -0
  282. package/src/{icons → components/icons}/TrashCanIcon.vue +0 -0
  283. package/src/{icons → components/icons}/TriangleIcon.vue +0 -0
  284. package/src/{icons → components/icons}/TwoDimensionsIcon.vue +0 -0
  285. package/src/{icons → components/icons}/UploadIcon.vue +0 -0
  286. package/src/{icons → components/icons}/UserProfileIcon.vue +0 -0
  287. package/src/{icons → components/icons}/UserShareIcon.vue +0 -0
  288. package/src/{icons → components/icons}/VideoRecorderIcon.vue +0 -0
  289. package/src/{icons → components/icons}/ViewpointFlightIcon.vue +0 -0
  290. package/src/{icons → components/icons}/ViewpointIcon.vue +0 -0
  291. package/src/{icons → components/icons}/Viewshed360Icon.vue +0 -0
  292. package/src/{icons → components/icons}/ViewshedConeIcon.vue +0 -0
  293. package/src/{icons → components/icons}/ViewshedIcon.vue +0 -0
  294. package/src/{icons → components/icons}/WalkingIcon.vue +0 -0
  295. package/src/{icons → components/icons}/WallIcon.vue +0 -0
  296. package/src/{icons → components/icons}/WandIcon.vue +0 -0
  297. package/src/components/lists/VcsList.vue +21 -12
  298. package/src/components/lists/VcsTreeviewLeaf.vue +14 -2
  299. package/src/components/notification/VcsTooltip.vue +1 -1
  300. package/src/featureInfo/abstractFeatureInfoView.js +1 -1
  301. package/src/featureInfo/addressBalloonFeatureInfoView.js +1 -1
  302. package/src/featureInfo/balloonFeatureInfoView.js +1 -1
  303. package/src/featureInfo/balloonHelper.js +6 -6
  304. package/src/featureInfo/featureInfo.js +2 -2
  305. package/src/i18n/de.js +2 -6
  306. package/src/i18n/en.js +2 -6
  307. package/src/legend/legendHelper.js +4 -3
  308. package/src/legend/vcsLegend.vue +21 -2
  309. package/src/manager/window/WindowComponent.vue +42 -4
  310. package/src/manager/window/WindowComponentHeader.vue +1 -1
  311. package/src/manager/window/windowHelper.js +7 -11
  312. package/src/manager/window/windowManager.js +15 -11
  313. package/src/navigation/mapNavCompass.vue +13 -7
  314. package/src/navigation/mapNavigation.vue +66 -4
  315. package/src/navigation/orientationToolsButton.vue +1 -1
  316. package/src/navigation/overviewMap.js +26 -10
  317. package/src/navigation/vcsCompass.vue +4 -73
  318. package/src/setup.js +1 -1
  319. package/src/vuePlugins/vuetify.js +1 -1
  320. package/dist/assets/cesium/Workers/ArcType-c9b2b290.js +0 -25
  321. package/dist/assets/cesium/Workers/AttributeCompression-7b0f288d.js +0 -25
  322. package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-d0c22774.js +0 -25
  323. package/dist/assets/cesium/Workers/BoundingRectangle-201b1a81.js +0 -25
  324. package/dist/assets/cesium/Workers/BoxGeometry-4985457c.js +0 -25
  325. package/dist/assets/cesium/Workers/Color-cc8c18b3.js +0 -25
  326. package/dist/assets/cesium/Workers/ComponentDatatype-0200bf8c.js +0 -25
  327. package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-4345acdf.js +0 -25
  328. package/dist/assets/cesium/Workers/CorridorGeometryLibrary-850a6c35.js +0 -25
  329. package/dist/assets/cesium/Workers/CylinderGeometry-57a1051a.js +0 -25
  330. package/dist/assets/cesium/Workers/CylinderGeometryLibrary-62ce5a1f.js +0 -25
  331. package/dist/assets/cesium/Workers/EllipseGeometry-8627398f.js +0 -25
  332. package/dist/assets/cesium/Workers/EllipseGeometryLibrary-e5919563.js +0 -25
  333. package/dist/assets/cesium/Workers/EllipseOutlineGeometry-96fd4ae1.js +0 -25
  334. package/dist/assets/cesium/Workers/EllipsoidGeodesic-8bfefbff.js +0 -25
  335. package/dist/assets/cesium/Workers/EllipsoidGeometry-377329b9.js +0 -25
  336. package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-e6e16e49.js +0 -25
  337. package/dist/assets/cesium/Workers/EllipsoidRhumbLine-03528f73.js +0 -25
  338. package/dist/assets/cesium/Workers/EllipsoidTangentPlane-c080fd1b.js +0 -25
  339. package/dist/assets/cesium/Workers/EncodedCartesian3-ea0e408f.js +0 -25
  340. package/dist/assets/cesium/Workers/FrustumGeometry-a8b5d817.js +0 -25
  341. package/dist/assets/cesium/Workers/GeometryAttribute-8458a8fd.js +0 -25
  342. package/dist/assets/cesium/Workers/GeometryAttributes-ac0f8485.js +0 -25
  343. package/dist/assets/cesium/Workers/GeometryInstance-ee3aa3ba.js +0 -25
  344. package/dist/assets/cesium/Workers/GeometryOffsetAttribute-08ae0c50.js +0 -25
  345. package/dist/assets/cesium/Workers/GeometryPipeline-33ca229c.js +0 -25
  346. package/dist/assets/cesium/Workers/IndexDatatype-e713bfd2.js +0 -25
  347. package/dist/assets/cesium/Workers/IntersectionTests-eb4db8e0.js +0 -25
  348. package/dist/assets/cesium/Workers/Matrix2-eefef8eb.js +0 -25
  349. package/dist/assets/cesium/Workers/OrientedBoundingBox-5193f9a2.js +0 -25
  350. package/dist/assets/cesium/Workers/Plane-b0299683.js +0 -25
  351. package/dist/assets/cesium/Workers/PolygonGeometryLibrary-b61295f3.js +0 -25
  352. package/dist/assets/cesium/Workers/PolygonPipeline-eb527514.js +0 -25
  353. package/dist/assets/cesium/Workers/PolylinePipeline-0f23dd84.js +0 -25
  354. package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-2d903430.js +0 -25
  355. package/dist/assets/cesium/Workers/PrimitivePipeline-e2640413.js +0 -25
  356. package/dist/assets/cesium/Workers/RectangleGeometryLibrary-ae8bf8a5.js +0 -25
  357. package/dist/assets/cesium/Workers/RuntimeError-5baf5c66.js +0 -25
  358. package/dist/assets/cesium/Workers/TerrainEncoding-bc10ab54.js +0 -25
  359. package/dist/assets/cesium/Workers/Transforms-d2e5867e.js +0 -63
  360. package/dist/assets/cesium/Workers/VertexFormat-5ec0d9ff.js +0 -25
  361. package/dist/assets/cesium/Workers/WallGeometryLibrary-1a33e416.js +0 -25
  362. package/dist/assets/cesium/Workers/WebGLConstants-5b50ced1.js +0 -25
  363. package/dist/assets/cesium/Workers/WebMercatorProjection-cd2f30c2.js +0 -25
  364. package/dist/assets/cesium/Workers/_commonjsHelpers-bc29abbc.js +0 -25
  365. package/dist/assets/cesium/Workers/arrayRemoveDuplicates-f13aceb1.js +0 -25
  366. package/dist/assets/cesium/Workers/combine-7533016d.js +0 -25
  367. package/dist/assets/cesium/Workers/defaultValue-0c475b81.js +0 -25
  368. package/dist/assets/cesium/Workers/package.json +0 -1
  369. package/dist/assets/ui.08c48f.css +0 -1
  370. package/plugins/@vcmap/pluginExample/config.json +0 -6
  371. package/plugins/@vcmap/pluginExample/package.json +0 -7
  372. package/plugins/categoryTest/ItemEditor.vue +0 -13
  373. package/plugins/test/allIconsComponent.vue +0 -50
  374. package/plugins/test/index.js +0 -209
  375. package/plugins/wizardExample/wizardExample.vue +0 -77
  376. package/src/components/form-inputs-controls/VcsColorPicker.vue +0 -85
@@ -1,25 +1,683 @@
1
- /**
2
- * @license
3
- * Cesium - https://github.com/CesiumGS/cesium
4
- * Version 1.97.1
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
- define(["./defaultValue-0c475b81","./Matrix2-eefef8eb","./ArcType-c9b2b290","./Transforms-d2e5867e","./ComponentDatatype-0200bf8c","./EllipsoidTangentPlane-c080fd1b","./GeometryAttribute-8458a8fd","./GeometryAttributes-ac0f8485","./GeometryInstance-ee3aa3ba","./GeometryOffsetAttribute-08ae0c50","./GeometryPipeline-33ca229c","./IndexDatatype-e713bfd2","./PolygonGeometryLibrary-b61295f3","./PolygonPipeline-eb527514","./RuntimeError-5baf5c66","./_commonjsHelpers-bc29abbc","./combine-7533016d","./WebGLConstants-5b50ced1","./AxisAlignedBoundingBox-d0c22774","./IntersectionTests-eb4db8e0","./Plane-b0299683","./AttributeCompression-7b0f288d","./EncodedCartesian3-ea0e408f","./arrayRemoveDuplicates-f13aceb1","./EllipsoidRhumbLine-03528f73"],(function(e,t,i,o,r,n,a,s,l,y,u,p,c,d,f,g,m,h,b,P,E,A,_,G,L){"use strict";const H=[],T=[];function v(e,t,o,y,u){const f=n.EllipsoidTangentPlane.fromPoints(t,e).projectPointsOntoPlane(t,H);let g,m;d.PolygonPipeline.computeWindingOrder2D(f)===d.WindingOrder.CLOCKWISE&&(f.reverse(),t=t.slice().reverse());let h=t.length,b=0;if(y)for(g=new Float64Array(2*h*3),m=0;m<h;m++){const e=t[m],i=t[(m+1)%h];g[b++]=e.x,g[b++]=e.y,g[b++]=e.z,g[b++]=i.x,g[b++]=i.y,g[b++]=i.z}else{let r=0;if(u===i.ArcType.GEODESIC)for(m=0;m<h;m++)r+=c.PolygonGeometryLibrary.subdivideLineCount(t[m],t[(m+1)%h],o);else if(u===i.ArcType.RHUMB)for(m=0;m<h;m++)r+=c.PolygonGeometryLibrary.subdivideRhumbLineCount(e,t[m],t[(m+1)%h],o);for(g=new Float64Array(3*r),m=0;m<h;m++){let r;u===i.ArcType.GEODESIC?r=c.PolygonGeometryLibrary.subdivideLine(t[m],t[(m+1)%h],o,T):u===i.ArcType.RHUMB&&(r=c.PolygonGeometryLibrary.subdivideRhumbLine(e,t[m],t[(m+1)%h],o,T));const n=r.length;for(let e=0;e<n;++e)g[b++]=r[e]}}h=g.length/3;const P=2*h,E=p.IndexDatatype.createTypedArray(h,P);for(b=0,m=0;m<h-1;m++)E[b++]=m,E[b++]=m+1;return E[b++]=h-1,E[b++]=0,new l.GeometryInstance({geometry:new a.Geometry({attributes:new s.GeometryAttributes({position:new a.GeometryAttribute({componentDatatype:r.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:g})}),indices:E,primitiveType:a.PrimitiveType.LINES})})}function C(e,t,o,y,u){const f=n.EllipsoidTangentPlane.fromPoints(t,e).projectPointsOntoPlane(t,H);let g,m;d.PolygonPipeline.computeWindingOrder2D(f)===d.WindingOrder.CLOCKWISE&&(f.reverse(),t=t.slice().reverse());let h=t.length;const b=new Array(h);let P=0;if(y)for(g=new Float64Array(2*h*3*2),m=0;m<h;++m){b[m]=P/3;const e=t[m],i=t[(m+1)%h];g[P++]=e.x,g[P++]=e.y,g[P++]=e.z,g[P++]=i.x,g[P++]=i.y,g[P++]=i.z}else{let r=0;if(u===i.ArcType.GEODESIC)for(m=0;m<h;m++)r+=c.PolygonGeometryLibrary.subdivideLineCount(t[m],t[(m+1)%h],o);else if(u===i.ArcType.RHUMB)for(m=0;m<h;m++)r+=c.PolygonGeometryLibrary.subdivideRhumbLineCount(e,t[m],t[(m+1)%h],o);for(g=new Float64Array(3*r*2),m=0;m<h;++m){let r;b[m]=P/3,u===i.ArcType.GEODESIC?r=c.PolygonGeometryLibrary.subdivideLine(t[m],t[(m+1)%h],o,T):u===i.ArcType.RHUMB&&(r=c.PolygonGeometryLibrary.subdivideRhumbLine(e,t[m],t[(m+1)%h],o,T));const n=r.length;for(let e=0;e<n;++e)g[P++]=r[e]}}h=g.length/6;const E=b.length,A=2*(2*h+E),_=p.IndexDatatype.createTypedArray(h+E,A);for(P=0,m=0;m<h;++m)_[P++]=m,_[P++]=(m+1)%h,_[P++]=m+h,_[P++]=(m+1)%h+h;for(m=0;m<E;m++){const e=b[m];_[P++]=e,_[P++]=e+h}return new l.GeometryInstance({geometry:new a.Geometry({attributes:new s.GeometryAttributes({position:new a.GeometryAttribute({componentDatatype:r.ComponentDatatype.DOUBLE,componentsPerAttribute:3,values:g})}),indices:_,primitiveType:a.PrimitiveType.LINES})})}function O(o){const n=o.polygonHierarchy,a=e.defaultValue(o.ellipsoid,t.Ellipsoid.WGS84),s=e.defaultValue(o.granularity,r.CesiumMath.RADIANS_PER_DEGREE),l=e.defaultValue(o.perPositionHeight,!1),y=l&&e.defined(o.extrudedHeight),u=e.defaultValue(o.arcType,i.ArcType.GEODESIC);let p=e.defaultValue(o.height,0),d=e.defaultValue(o.extrudedHeight,p);if(!y){const e=Math.max(p,d);d=Math.min(p,d),p=e}this._ellipsoid=t.Ellipsoid.clone(a),this._granularity=s,this._height=p,this._extrudedHeight=d,this._arcType=u,this._polygonHierarchy=n,this._perPositionHeight=l,this._perPositionHeightExtrude=y,this._offsetAttribute=o.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=c.PolygonGeometryLibrary.computeHierarchyPackedLength(n,t.Cartesian3)+t.Ellipsoid.packedLength+8}O.pack=function(i,o,r){return r=e.defaultValue(r,0),r=c.PolygonGeometryLibrary.packPolygonHierarchy(i._polygonHierarchy,o,r,t.Cartesian3),t.Ellipsoid.pack(i._ellipsoid,o,r),r+=t.Ellipsoid.packedLength,o[r++]=i._height,o[r++]=i._extrudedHeight,o[r++]=i._granularity,o[r++]=i._perPositionHeightExtrude?1:0,o[r++]=i._perPositionHeight?1:0,o[r++]=i._arcType,o[r++]=e.defaultValue(i._offsetAttribute,-1),o[r]=i.packedLength,o};const x=t.Ellipsoid.clone(t.Ellipsoid.UNIT_SPHERE),D={polygonHierarchy:{}};return O.unpack=function(i,o,r){o=e.defaultValue(o,0);const n=c.PolygonGeometryLibrary.unpackPolygonHierarchy(i,o,t.Cartesian3);o=n.startingIndex,delete n.startingIndex;const a=t.Ellipsoid.unpack(i,o,x);o+=t.Ellipsoid.packedLength;const s=i[o++],l=i[o++],y=i[o++],u=1===i[o++],p=1===i[o++],d=i[o++],f=i[o++],g=i[o];return e.defined(r)||(r=new O(D)),r._polygonHierarchy=n,r._ellipsoid=t.Ellipsoid.clone(a,r._ellipsoid),r._height=s,r._extrudedHeight=l,r._granularity=y,r._perPositionHeight=p,r._perPositionHeightExtrude=u,r._arcType=d,r._offsetAttribute=-1===f?void 0:f,r.packedLength=g,r},O.fromPositions=function(t){return new O({polygonHierarchy:{positions:(t=e.defaultValue(t,e.defaultValue.EMPTY_OBJECT)).positions},height:t.height,extrudedHeight:t.extrudedHeight,ellipsoid:t.ellipsoid,granularity:t.granularity,perPositionHeight:t.perPositionHeight,arcType:t.arcType,offsetAttribute:t.offsetAttribute})},O.createGeometry=function(t){const i=t._ellipsoid,n=t._granularity,s=t._polygonHierarchy,l=t._perPositionHeight,p=t._arcType,f=c.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(s,!l,i);if(0===f.length)return;let g;const m=[],h=r.CesiumMath.chordLength(n,i.maximumRadius),b=t._height,P=t._extrudedHeight;let E,A;if(t._perPositionHeightExtrude||!r.CesiumMath.equalsEpsilon(b,P,0,r.CesiumMath.EPSILON2))for(A=0;A<f.length;A++){if(g=C(i,f[A],h,l,p),g.geometry=c.PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(g.geometry,b,P,i,l),e.defined(t._offsetAttribute)){const e=g.geometry.attributes.position.values.length/3;let i=new Uint8Array(e);t._offsetAttribute===y.GeometryOffsetAttribute.TOP?i=i.fill(1,0,e/2):(E=t._offsetAttribute===y.GeometryOffsetAttribute.NONE?0:1,i=i.fill(E)),g.geometry.attributes.applyOffset=new a.GeometryAttribute({componentDatatype:r.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:i})}m.push(g)}else for(A=0;A<f.length;A++){if(g=v(i,f[A],h,l,p),g.geometry.attributes.position.values=d.PolygonPipeline.scaleToGeodeticHeight(g.geometry.attributes.position.values,b,i,!l),e.defined(t._offsetAttribute)){const e=g.geometry.attributes.position.values.length;E=t._offsetAttribute===y.GeometryOffsetAttribute.NONE?0:1;const i=new Uint8Array(e/3).fill(E);g.geometry.attributes.applyOffset=new a.GeometryAttribute({componentDatatype:r.ComponentDatatype.UNSIGNED_BYTE,componentsPerAttribute:1,values:i})}m.push(g)}const _=u.GeometryPipeline.combineInstances(m)[0],G=o.BoundingSphere.fromVertices(_.attributes.position.values);return new a.Geometry({attributes:_.attributes,indices:_.indices,primitiveType:_.primitiveType,boundingSphere:G,offsetAttribute:t._offsetAttribute})},function(i,o){return e.defined(o)&&(i=O.unpack(i,o)),i._ellipsoid=t.Ellipsoid.clone(i._ellipsoid),O.createGeometry(i)}}));
1
+ define(['./defaultValue-0a909f67', './Matrix3-315394f6', './ArcType-ce2e50ab', './Transforms-40229881', './Check-666ab1a0', './ComponentDatatype-f7b11d02', './EllipsoidTangentPlane-214683dc', './GeometryAttribute-7d6f1732', './GeometryAttributes-f06a2792', './GeometryInstance-451dc1cd', './GeometryOffsetAttribute-04332ce7', './GeometryPipeline-ce4339ed', './IndexDatatype-a55ceaa1', './Math-2dbd6b93', './PolygonGeometryLibrary-a8680d96', './PolygonPipeline-844aab0a', './Matrix2-13178034', './RuntimeError-06c93819', './combine-ca22a614', './WebGLConstants-a8cc3e8c', './AxisAlignedBoundingBox-ff186ccc', './IntersectionTests-f6e6bd8a', './Plane-900aa728', './AttributeCompression-b646d393', './EncodedCartesian3-81f70735', './arrayRemoveDuplicates-c2038105', './EllipsoidRhumbLine-19756602'], (function (defaultValue, Matrix3, ArcType, Transforms, Check, ComponentDatatype, EllipsoidTangentPlane, GeometryAttribute, GeometryAttributes, GeometryInstance, GeometryOffsetAttribute, GeometryPipeline, IndexDatatype, Math$1, PolygonGeometryLibrary, PolygonPipeline, Matrix2, RuntimeError, combine, WebGLConstants, AxisAlignedBoundingBox, IntersectionTests, Plane, AttributeCompression, EncodedCartesian3, arrayRemoveDuplicates, EllipsoidRhumbLine) { 'use strict';
2
+
3
+ const createGeometryFromPositionsPositions = [];
4
+ const createGeometryFromPositionsSubdivided = [];
5
+
6
+ function createGeometryFromPositions(
7
+ ellipsoid,
8
+ positions,
9
+ minDistance,
10
+ perPositionHeight,
11
+ arcType
12
+ ) {
13
+ const tangentPlane = EllipsoidTangentPlane.EllipsoidTangentPlane.fromPoints(positions, ellipsoid);
14
+ const positions2D = tangentPlane.projectPointsOntoPlane(
15
+ positions,
16
+ createGeometryFromPositionsPositions
17
+ );
18
+
19
+ const originalWindingOrder = PolygonPipeline.PolygonPipeline.computeWindingOrder2D(
20
+ positions2D
21
+ );
22
+ if (originalWindingOrder === PolygonPipeline.WindingOrder.CLOCKWISE) {
23
+ positions2D.reverse();
24
+ positions = positions.slice().reverse();
25
+ }
26
+
27
+ let subdividedPositions;
28
+ let i;
29
+
30
+ let length = positions.length;
31
+ let index = 0;
32
+
33
+ if (!perPositionHeight) {
34
+ let numVertices = 0;
35
+ if (arcType === ArcType.ArcType.GEODESIC) {
36
+ for (i = 0; i < length; i++) {
37
+ numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLineCount(
38
+ positions[i],
39
+ positions[(i + 1) % length],
40
+ minDistance
41
+ );
42
+ }
43
+ } else if (arcType === ArcType.ArcType.RHUMB) {
44
+ for (i = 0; i < length; i++) {
45
+ numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLineCount(
46
+ ellipsoid,
47
+ positions[i],
48
+ positions[(i + 1) % length],
49
+ minDistance
50
+ );
51
+ }
52
+ }
53
+ subdividedPositions = new Float64Array(numVertices * 3);
54
+ for (i = 0; i < length; i++) {
55
+ let tempPositions;
56
+ if (arcType === ArcType.ArcType.GEODESIC) {
57
+ tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLine(
58
+ positions[i],
59
+ positions[(i + 1) % length],
60
+ minDistance,
61
+ createGeometryFromPositionsSubdivided
62
+ );
63
+ } else if (arcType === ArcType.ArcType.RHUMB) {
64
+ tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLine(
65
+ ellipsoid,
66
+ positions[i],
67
+ positions[(i + 1) % length],
68
+ minDistance,
69
+ createGeometryFromPositionsSubdivided
70
+ );
71
+ }
72
+ const tempPositionsLength = tempPositions.length;
73
+ for (let j = 0; j < tempPositionsLength; ++j) {
74
+ subdividedPositions[index++] = tempPositions[j];
75
+ }
76
+ }
77
+ } else {
78
+ subdividedPositions = new Float64Array(length * 2 * 3);
79
+ for (i = 0; i < length; i++) {
80
+ const p0 = positions[i];
81
+ const p1 = positions[(i + 1) % length];
82
+ subdividedPositions[index++] = p0.x;
83
+ subdividedPositions[index++] = p0.y;
84
+ subdividedPositions[index++] = p0.z;
85
+ subdividedPositions[index++] = p1.x;
86
+ subdividedPositions[index++] = p1.y;
87
+ subdividedPositions[index++] = p1.z;
88
+ }
89
+ }
90
+
91
+ length = subdividedPositions.length / 3;
92
+ const indicesSize = length * 2;
93
+ const indices = IndexDatatype.IndexDatatype.createTypedArray(length, indicesSize);
94
+ index = 0;
95
+ for (i = 0; i < length - 1; i++) {
96
+ indices[index++] = i;
97
+ indices[index++] = i + 1;
98
+ }
99
+ indices[index++] = length - 1;
100
+ indices[index++] = 0;
101
+
102
+ return new GeometryInstance.GeometryInstance({
103
+ geometry: new GeometryAttribute.Geometry({
104
+ attributes: new GeometryAttributes.GeometryAttributes({
105
+ position: new GeometryAttribute.GeometryAttribute({
106
+ componentDatatype: ComponentDatatype.ComponentDatatype.DOUBLE,
107
+ componentsPerAttribute: 3,
108
+ values: subdividedPositions,
109
+ }),
110
+ }),
111
+ indices: indices,
112
+ primitiveType: GeometryAttribute.PrimitiveType.LINES,
113
+ }),
114
+ });
115
+ }
116
+
117
+ function createGeometryFromPositionsExtruded(
118
+ ellipsoid,
119
+ positions,
120
+ minDistance,
121
+ perPositionHeight,
122
+ arcType
123
+ ) {
124
+ const tangentPlane = EllipsoidTangentPlane.EllipsoidTangentPlane.fromPoints(positions, ellipsoid);
125
+ const positions2D = tangentPlane.projectPointsOntoPlane(
126
+ positions,
127
+ createGeometryFromPositionsPositions
128
+ );
129
+
130
+ const originalWindingOrder = PolygonPipeline.PolygonPipeline.computeWindingOrder2D(
131
+ positions2D
132
+ );
133
+ if (originalWindingOrder === PolygonPipeline.WindingOrder.CLOCKWISE) {
134
+ positions2D.reverse();
135
+ positions = positions.slice().reverse();
136
+ }
137
+
138
+ let subdividedPositions;
139
+ let i;
140
+
141
+ let length = positions.length;
142
+ const corners = new Array(length);
143
+ let index = 0;
144
+
145
+ if (!perPositionHeight) {
146
+ let numVertices = 0;
147
+ if (arcType === ArcType.ArcType.GEODESIC) {
148
+ for (i = 0; i < length; i++) {
149
+ numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLineCount(
150
+ positions[i],
151
+ positions[(i + 1) % length],
152
+ minDistance
153
+ );
154
+ }
155
+ } else if (arcType === ArcType.ArcType.RHUMB) {
156
+ for (i = 0; i < length; i++) {
157
+ numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLineCount(
158
+ ellipsoid,
159
+ positions[i],
160
+ positions[(i + 1) % length],
161
+ minDistance
162
+ );
163
+ }
164
+ }
165
+
166
+ subdividedPositions = new Float64Array(numVertices * 3 * 2);
167
+ for (i = 0; i < length; ++i) {
168
+ corners[i] = index / 3;
169
+ let tempPositions;
170
+ if (arcType === ArcType.ArcType.GEODESIC) {
171
+ tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLine(
172
+ positions[i],
173
+ positions[(i + 1) % length],
174
+ minDistance,
175
+ createGeometryFromPositionsSubdivided
176
+ );
177
+ } else if (arcType === ArcType.ArcType.RHUMB) {
178
+ tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLine(
179
+ ellipsoid,
180
+ positions[i],
181
+ positions[(i + 1) % length],
182
+ minDistance,
183
+ createGeometryFromPositionsSubdivided
184
+ );
185
+ }
186
+ const tempPositionsLength = tempPositions.length;
187
+ for (let j = 0; j < tempPositionsLength; ++j) {
188
+ subdividedPositions[index++] = tempPositions[j];
189
+ }
190
+ }
191
+ } else {
192
+ subdividedPositions = new Float64Array(length * 2 * 3 * 2);
193
+ for (i = 0; i < length; ++i) {
194
+ corners[i] = index / 3;
195
+ const p0 = positions[i];
196
+ const p1 = positions[(i + 1) % length];
197
+
198
+ subdividedPositions[index++] = p0.x;
199
+ subdividedPositions[index++] = p0.y;
200
+ subdividedPositions[index++] = p0.z;
201
+ subdividedPositions[index++] = p1.x;
202
+ subdividedPositions[index++] = p1.y;
203
+ subdividedPositions[index++] = p1.z;
204
+ }
205
+ }
206
+
207
+ length = subdividedPositions.length / (3 * 2);
208
+ const cornersLength = corners.length;
209
+
210
+ const indicesSize = (length * 2 + cornersLength) * 2;
211
+ const indices = IndexDatatype.IndexDatatype.createTypedArray(
212
+ length + cornersLength,
213
+ indicesSize
214
+ );
215
+
216
+ index = 0;
217
+ for (i = 0; i < length; ++i) {
218
+ indices[index++] = i;
219
+ indices[index++] = (i + 1) % length;
220
+ indices[index++] = i + length;
221
+ indices[index++] = ((i + 1) % length) + length;
222
+ }
223
+
224
+ for (i = 0; i < cornersLength; i++) {
225
+ const corner = corners[i];
226
+ indices[index++] = corner;
227
+ indices[index++] = corner + length;
228
+ }
229
+
230
+ return new GeometryInstance.GeometryInstance({
231
+ geometry: new GeometryAttribute.Geometry({
232
+ attributes: new GeometryAttributes.GeometryAttributes({
233
+ position: new GeometryAttribute.GeometryAttribute({
234
+ componentDatatype: ComponentDatatype.ComponentDatatype.DOUBLE,
235
+ componentsPerAttribute: 3,
236
+ values: subdividedPositions,
237
+ }),
238
+ }),
239
+ indices: indices,
240
+ primitiveType: GeometryAttribute.PrimitiveType.LINES,
241
+ }),
242
+ });
243
+ }
244
+
245
+ /**
246
+ * A description of the outline of a polygon on the ellipsoid. The polygon is defined by a polygon hierarchy.
247
+ *
248
+ * @alias PolygonOutlineGeometry
249
+ * @constructor
250
+ *
251
+ * @param {Object} options Object with the following properties:
252
+ * @param {PolygonHierarchy} options.polygonHierarchy A polygon hierarchy that can include holes.
253
+ * @param {Number} [options.height=0.0] The distance in meters between the polygon and the ellipsoid surface.
254
+ * @param {Number} [options.extrudedHeight] The distance in meters between the polygon's extruded face and the ellipsoid surface.
255
+ * @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
256
+ * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
257
+ * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
258
+ * @param {Boolean} [options.perPositionHeight=false] Use the height of options.positions for each position instead of using options.height to determine the height.
259
+ * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of path the outline must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
260
+ *
261
+ * @see PolygonOutlineGeometry#createGeometry
262
+ * @see PolygonOutlineGeometry#fromPositions
263
+ *
264
+ * @example
265
+ * // 1. create a polygon outline from points
266
+ * const polygon = new Cesium.PolygonOutlineGeometry({
267
+ * polygonHierarchy : new Cesium.PolygonHierarchy(
268
+ * Cesium.Cartesian3.fromDegreesArray([
269
+ * -72.0, 40.0,
270
+ * -70.0, 35.0,
271
+ * -75.0, 30.0,
272
+ * -70.0, 30.0,
273
+ * -68.0, 40.0
274
+ * ])
275
+ * )
276
+ * });
277
+ * const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);
278
+ *
279
+ * // 2. create a nested polygon with holes outline
280
+ * const polygonWithHole = new Cesium.PolygonOutlineGeometry({
281
+ * polygonHierarchy : new Cesium.PolygonHierarchy(
282
+ * Cesium.Cartesian3.fromDegreesArray([
283
+ * -109.0, 30.0,
284
+ * -95.0, 30.0,
285
+ * -95.0, 40.0,
286
+ * -109.0, 40.0
287
+ * ]),
288
+ * [new Cesium.PolygonHierarchy(
289
+ * Cesium.Cartesian3.fromDegreesArray([
290
+ * -107.0, 31.0,
291
+ * -107.0, 39.0,
292
+ * -97.0, 39.0,
293
+ * -97.0, 31.0
294
+ * ]),
295
+ * [new Cesium.PolygonHierarchy(
296
+ * Cesium.Cartesian3.fromDegreesArray([
297
+ * -105.0, 33.0,
298
+ * -99.0, 33.0,
299
+ * -99.0, 37.0,
300
+ * -105.0, 37.0
301
+ * ]),
302
+ * [new Cesium.PolygonHierarchy(
303
+ * Cesium.Cartesian3.fromDegreesArray([
304
+ * -103.0, 34.0,
305
+ * -101.0, 34.0,
306
+ * -101.0, 36.0,
307
+ * -103.0, 36.0
308
+ * ])
309
+ * )]
310
+ * )]
311
+ * )]
312
+ * )
313
+ * });
314
+ * const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygonWithHole);
315
+ *
316
+ * // 3. create extruded polygon outline
317
+ * const extrudedPolygon = new Cesium.PolygonOutlineGeometry({
318
+ * polygonHierarchy : new Cesium.PolygonHierarchy(
319
+ * Cesium.Cartesian3.fromDegreesArray([
320
+ * -72.0, 40.0,
321
+ * -70.0, 35.0,
322
+ * -75.0, 30.0,
323
+ * -70.0, 30.0,
324
+ * -68.0, 40.0
325
+ * ])
326
+ * ),
327
+ * extrudedHeight: 300000
328
+ * });
329
+ * const geometry = Cesium.PolygonOutlineGeometry.createGeometry(extrudedPolygon);
330
+ */
331
+ function PolygonOutlineGeometry(options) {
332
+ //>>includeStart('debug', pragmas.debug);
333
+ Check.Check.typeOf.object("options", options);
334
+ Check.Check.typeOf.object("options.polygonHierarchy", options.polygonHierarchy);
335
+
336
+ if (options.perPositionHeight && defaultValue.defined(options.height)) {
337
+ throw new Check.DeveloperError(
338
+ "Cannot use both options.perPositionHeight and options.height"
339
+ );
340
+ }
341
+ if (
342
+ defaultValue.defined(options.arcType) &&
343
+ options.arcType !== ArcType.ArcType.GEODESIC &&
344
+ options.arcType !== ArcType.ArcType.RHUMB
345
+ ) {
346
+ throw new Check.DeveloperError(
347
+ "Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB."
348
+ );
349
+ }
350
+ //>>includeEnd('debug');
351
+
352
+ const polygonHierarchy = options.polygonHierarchy;
353
+ const ellipsoid = defaultValue.defaultValue(options.ellipsoid, Matrix3.Ellipsoid.WGS84);
354
+ const granularity = defaultValue.defaultValue(
355
+ options.granularity,
356
+ Math$1.CesiumMath.RADIANS_PER_DEGREE
357
+ );
358
+ const perPositionHeight = defaultValue.defaultValue(options.perPositionHeight, false);
359
+ const perPositionHeightExtrude =
360
+ perPositionHeight && defaultValue.defined(options.extrudedHeight);
361
+ const arcType = defaultValue.defaultValue(options.arcType, ArcType.ArcType.GEODESIC);
362
+
363
+ let height = defaultValue.defaultValue(options.height, 0.0);
364
+ let extrudedHeight = defaultValue.defaultValue(options.extrudedHeight, height);
365
+
366
+ if (!perPositionHeightExtrude) {
367
+ const h = Math.max(height, extrudedHeight);
368
+ extrudedHeight = Math.min(height, extrudedHeight);
369
+ height = h;
370
+ }
371
+
372
+ this._ellipsoid = Matrix3.Ellipsoid.clone(ellipsoid);
373
+ this._granularity = granularity;
374
+ this._height = height;
375
+ this._extrudedHeight = extrudedHeight;
376
+ this._arcType = arcType;
377
+ this._polygonHierarchy = polygonHierarchy;
378
+ this._perPositionHeight = perPositionHeight;
379
+ this._perPositionHeightExtrude = perPositionHeightExtrude;
380
+ this._offsetAttribute = options.offsetAttribute;
381
+ this._workerName = "createPolygonOutlineGeometry";
382
+
383
+ /**
384
+ * The number of elements used to pack the object into an array.
385
+ * @type {Number}
386
+ */
387
+ this.packedLength =
388
+ PolygonGeometryLibrary.PolygonGeometryLibrary.computeHierarchyPackedLength(
389
+ polygonHierarchy,
390
+ Matrix3.Cartesian3
391
+ ) +
392
+ Matrix3.Ellipsoid.packedLength +
393
+ 8;
394
+ }
395
+
396
+ /**
397
+ * Stores the provided instance into the provided array.
398
+ *
399
+ * @param {PolygonOutlineGeometry} value The value to pack.
400
+ * @param {Number[]} array The array to pack into.
401
+ * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
402
+ *
403
+ * @returns {Number[]} The array that was packed into
404
+ */
405
+ PolygonOutlineGeometry.pack = function (value, array, startingIndex) {
406
+ //>>includeStart('debug', pragmas.debug);
407
+ Check.Check.typeOf.object("value", value);
408
+ Check.Check.defined("array", array);
409
+ //>>includeEnd('debug');
410
+
411
+ startingIndex = defaultValue.defaultValue(startingIndex, 0);
412
+
413
+ startingIndex = PolygonGeometryLibrary.PolygonGeometryLibrary.packPolygonHierarchy(
414
+ value._polygonHierarchy,
415
+ array,
416
+ startingIndex,
417
+ Matrix3.Cartesian3
418
+ );
419
+
420
+ Matrix3.Ellipsoid.pack(value._ellipsoid, array, startingIndex);
421
+ startingIndex += Matrix3.Ellipsoid.packedLength;
422
+
423
+ array[startingIndex++] = value._height;
424
+ array[startingIndex++] = value._extrudedHeight;
425
+ array[startingIndex++] = value._granularity;
426
+ array[startingIndex++] = value._perPositionHeightExtrude ? 1.0 : 0.0;
427
+ array[startingIndex++] = value._perPositionHeight ? 1.0 : 0.0;
428
+ array[startingIndex++] = value._arcType;
429
+ array[startingIndex++] = defaultValue.defaultValue(value._offsetAttribute, -1);
430
+ array[startingIndex] = value.packedLength;
431
+
432
+ return array;
433
+ };
434
+
435
+ const scratchEllipsoid = Matrix3.Ellipsoid.clone(Matrix3.Ellipsoid.UNIT_SPHERE);
436
+ const dummyOptions = {
437
+ polygonHierarchy: {},
438
+ };
439
+
440
+ /**
441
+ * Retrieves an instance from a packed array.
442
+ *
443
+ * @param {Number[]} array The packed array.
444
+ * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
445
+ * @param {PolygonOutlineGeometry} [result] The object into which to store the result.
446
+ * @returns {PolygonOutlineGeometry} The modified result parameter or a new PolygonOutlineGeometry instance if one was not provided.
447
+ */
448
+ PolygonOutlineGeometry.unpack = function (array, startingIndex, result) {
449
+ //>>includeStart('debug', pragmas.debug);
450
+ Check.Check.defined("array", array);
451
+ //>>includeEnd('debug');
452
+
453
+ startingIndex = defaultValue.defaultValue(startingIndex, 0);
454
+
455
+ const polygonHierarchy = PolygonGeometryLibrary.PolygonGeometryLibrary.unpackPolygonHierarchy(
456
+ array,
457
+ startingIndex,
458
+ Matrix3.Cartesian3
459
+ );
460
+ startingIndex = polygonHierarchy.startingIndex;
461
+ delete polygonHierarchy.startingIndex;
462
+
463
+ const ellipsoid = Matrix3.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
464
+ startingIndex += Matrix3.Ellipsoid.packedLength;
465
+
466
+ const height = array[startingIndex++];
467
+ const extrudedHeight = array[startingIndex++];
468
+ const granularity = array[startingIndex++];
469
+ const perPositionHeightExtrude = array[startingIndex++] === 1.0;
470
+ const perPositionHeight = array[startingIndex++] === 1.0;
471
+ const arcType = array[startingIndex++];
472
+ const offsetAttribute = array[startingIndex++];
473
+ const packedLength = array[startingIndex];
474
+
475
+ if (!defaultValue.defined(result)) {
476
+ result = new PolygonOutlineGeometry(dummyOptions);
477
+ }
478
+
479
+ result._polygonHierarchy = polygonHierarchy;
480
+ result._ellipsoid = Matrix3.Ellipsoid.clone(ellipsoid, result._ellipsoid);
481
+ result._height = height;
482
+ result._extrudedHeight = extrudedHeight;
483
+ result._granularity = granularity;
484
+ result._perPositionHeight = perPositionHeight;
485
+ result._perPositionHeightExtrude = perPositionHeightExtrude;
486
+ result._arcType = arcType;
487
+ result._offsetAttribute =
488
+ offsetAttribute === -1 ? undefined : offsetAttribute;
489
+ result.packedLength = packedLength;
490
+
491
+ return result;
492
+ };
493
+
494
+ /**
495
+ * A description of a polygon outline from an array of positions.
496
+ *
497
+ * @param {Object} options Object with the following properties:
498
+ * @param {Cartesian3[]} options.positions An array of positions that defined the corner points of the polygon.
499
+ * @param {Number} [options.height=0.0] The height of the polygon.
500
+ * @param {Number} [options.extrudedHeight] The height of the polygon extrusion.
501
+ * @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
502
+ * @param {Number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
503
+ * @param {Boolean} [options.perPositionHeight=false] Use the height of options.positions for each position instead of using options.height to determine the height.
504
+ * @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of path the outline must follow. Valid options are {@link LinkType.GEODESIC} and {@link ArcType.RHUMB}.
505
+ * @returns {PolygonOutlineGeometry}
506
+ *
507
+ *
508
+ * @example
509
+ * // create a polygon from points
510
+ * const polygon = Cesium.PolygonOutlineGeometry.fromPositions({
511
+ * positions : Cesium.Cartesian3.fromDegreesArray([
512
+ * -72.0, 40.0,
513
+ * -70.0, 35.0,
514
+ * -75.0, 30.0,
515
+ * -70.0, 30.0,
516
+ * -68.0, 40.0
517
+ * ])
518
+ * });
519
+ * const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);
520
+ *
521
+ * @see PolygonOutlineGeometry#createGeometry
522
+ */
523
+ PolygonOutlineGeometry.fromPositions = function (options) {
524
+ options = defaultValue.defaultValue(options, defaultValue.defaultValue.EMPTY_OBJECT);
525
+
526
+ //>>includeStart('debug', pragmas.debug);
527
+ Check.Check.defined("options.positions", options.positions);
528
+ //>>includeEnd('debug');
529
+
530
+ const newOptions = {
531
+ polygonHierarchy: {
532
+ positions: options.positions,
533
+ },
534
+ height: options.height,
535
+ extrudedHeight: options.extrudedHeight,
536
+ ellipsoid: options.ellipsoid,
537
+ granularity: options.granularity,
538
+ perPositionHeight: options.perPositionHeight,
539
+ arcType: options.arcType,
540
+ offsetAttribute: options.offsetAttribute,
541
+ };
542
+ return new PolygonOutlineGeometry(newOptions);
543
+ };
544
+
545
+ /**
546
+ * Computes the geometric representation of a polygon outline, including its vertices, indices, and a bounding sphere.
547
+ *
548
+ * @param {PolygonOutlineGeometry} polygonGeometry A description of the polygon outline.
549
+ * @returns {Geometry|undefined} The computed vertices and indices.
550
+ */
551
+ PolygonOutlineGeometry.createGeometry = function (polygonGeometry) {
552
+ const ellipsoid = polygonGeometry._ellipsoid;
553
+ const granularity = polygonGeometry._granularity;
554
+ const polygonHierarchy = polygonGeometry._polygonHierarchy;
555
+ const perPositionHeight = polygonGeometry._perPositionHeight;
556
+ const arcType = polygonGeometry._arcType;
557
+
558
+ const polygons = PolygonGeometryLibrary.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(
559
+ polygonHierarchy,
560
+ !perPositionHeight,
561
+ ellipsoid
562
+ );
563
+
564
+ if (polygons.length === 0) {
565
+ return undefined;
566
+ }
567
+
568
+ let geometryInstance;
569
+ const geometries = [];
570
+ const minDistance = Math$1.CesiumMath.chordLength(
571
+ granularity,
572
+ ellipsoid.maximumRadius
573
+ );
574
+
575
+ const height = polygonGeometry._height;
576
+ const extrudedHeight = polygonGeometry._extrudedHeight;
577
+ const extrude =
578
+ polygonGeometry._perPositionHeightExtrude ||
579
+ !Math$1.CesiumMath.equalsEpsilon(height, extrudedHeight, 0, Math$1.CesiumMath.EPSILON2);
580
+ let offsetValue;
581
+ let i;
582
+ if (extrude) {
583
+ for (i = 0; i < polygons.length; i++) {
584
+ geometryInstance = createGeometryFromPositionsExtruded(
585
+ ellipsoid,
586
+ polygons[i],
587
+ minDistance,
588
+ perPositionHeight,
589
+ arcType
590
+ );
591
+ geometryInstance.geometry = PolygonGeometryLibrary.PolygonGeometryLibrary.scaleToGeodeticHeightExtruded(
592
+ geometryInstance.geometry,
593
+ height,
594
+ extrudedHeight,
595
+ ellipsoid,
596
+ perPositionHeight
597
+ );
598
+ if (defaultValue.defined(polygonGeometry._offsetAttribute)) {
599
+ const size =
600
+ geometryInstance.geometry.attributes.position.values.length / 3;
601
+ let offsetAttribute = new Uint8Array(size);
602
+ if (polygonGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
603
+ offsetAttribute = offsetAttribute.fill(1, 0, size / 2);
604
+ } else {
605
+ offsetValue =
606
+ polygonGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE
607
+ ? 0
608
+ : 1;
609
+ offsetAttribute = offsetAttribute.fill(offsetValue);
610
+ }
611
+
612
+ geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute(
613
+ {
614
+ componentDatatype: ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
615
+ componentsPerAttribute: 1,
616
+ values: offsetAttribute,
617
+ }
618
+ );
619
+ }
620
+ geometries.push(geometryInstance);
621
+ }
622
+ } else {
623
+ for (i = 0; i < polygons.length; i++) {
624
+ geometryInstance = createGeometryFromPositions(
625
+ ellipsoid,
626
+ polygons[i],
627
+ minDistance,
628
+ perPositionHeight,
629
+ arcType
630
+ );
631
+ geometryInstance.geometry.attributes.position.values = PolygonPipeline.PolygonPipeline.scaleToGeodeticHeight(
632
+ geometryInstance.geometry.attributes.position.values,
633
+ height,
634
+ ellipsoid,
635
+ !perPositionHeight
636
+ );
637
+
638
+ if (defaultValue.defined(polygonGeometry._offsetAttribute)) {
639
+ const length =
640
+ geometryInstance.geometry.attributes.position.values.length;
641
+ offsetValue =
642
+ polygonGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE
643
+ ? 0
644
+ : 1;
645
+ const applyOffset = new Uint8Array(length / 3).fill(offsetValue);
646
+ geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute(
647
+ {
648
+ componentDatatype: ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
649
+ componentsPerAttribute: 1,
650
+ values: applyOffset,
651
+ }
652
+ );
653
+ }
654
+
655
+ geometries.push(geometryInstance);
656
+ }
657
+ }
658
+
659
+ const geometry = GeometryPipeline.GeometryPipeline.combineInstances(geometries)[0];
660
+ const boundingSphere = Transforms.BoundingSphere.fromVertices(
661
+ geometry.attributes.position.values
662
+ );
663
+
664
+ return new GeometryAttribute.Geometry({
665
+ attributes: geometry.attributes,
666
+ indices: geometry.indices,
667
+ primitiveType: geometry.primitiveType,
668
+ boundingSphere: boundingSphere,
669
+ offsetAttribute: polygonGeometry._offsetAttribute,
670
+ });
671
+ };
672
+
673
+ function createPolygonOutlineGeometry(polygonGeometry, offset) {
674
+ if (defaultValue.defined(offset)) {
675
+ polygonGeometry = PolygonOutlineGeometry.unpack(polygonGeometry, offset);
676
+ }
677
+ polygonGeometry._ellipsoid = Matrix3.Ellipsoid.clone(polygonGeometry._ellipsoid);
678
+ return PolygonOutlineGeometry.createGeometry(polygonGeometry);
679
+ }
680
+
681
+ return createPolygonOutlineGeometry;
682
+
683
+ }));