@vcmap/ui 5.0.0-rc.17 → 5.0.0-rc.20

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 (386) 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 +752 -123
  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.41de56.js → cesium.adbd45.js} +112161 -108735
  109. package/dist/assets/cesium.js +1 -1
  110. package/dist/assets/{core.af84e3.js → core.60e74d.js} +1616 -1629
  111. package/dist/assets/core.f198cf.js +15993 -0
  112. package/dist/assets/core.js +1 -1
  113. package/dist/assets/{index.5b773cad.js → index.884a53ef.js} +1 -1
  114. package/dist/assets/{ol.5c7490.js → ol.c6ff35.js} +6992 -6972
  115. package/dist/assets/ol.dbd604.js +44299 -0
  116. package/dist/assets/ol.js +1 -1
  117. package/dist/assets/ui.bf504d.css +1 -0
  118. package/dist/assets/{ui.dffe32.js → ui.bf504d.js} +6171 -6821
  119. package/dist/assets/ui.js +1 -1
  120. package/dist/assets/{vue.25da17.js → vue.75b819.js} +0 -0
  121. package/dist/assets/vue.a831f1.js +4675 -0
  122. package/dist/assets/vue.js +2 -2
  123. package/dist/assets/{vuetify.e4ece7.css → vuetify.0d7360.css} +0 -0
  124. package/dist/assets/{vuetify.e4ece7.js → vuetify.0d7360.js} +1 -1
  125. package/dist/assets/vuetify.js +2 -2
  126. package/dist/index.html +1 -1
  127. package/index.js +2 -1
  128. package/lib/cesium.js +1 -1
  129. package/package.json +3 -4
  130. package/plugins/{simple-graph → @vcmap/simple-graph}/README.md +1 -1
  131. package/plugins/{simple-graph → @vcmap/simple-graph}/SimpleGraphComponent.vue +0 -0
  132. package/plugins/{simple-graph → @vcmap/simple-graph}/index.js +0 -0
  133. package/plugins/{simple-graph → @vcmap/simple-graph}/package.json +0 -0
  134. package/plugins/{simple-graph → @vcmap/simple-graph}/simpleGraphView.js +0 -0
  135. package/plugins/@vcmap-show-case/README.md +20 -0
  136. package/plugins/{buttonExamples/ButtonExamples.vue → @vcmap-show-case/buttons-example/ButtonsExample.vue} +19 -1
  137. package/plugins/@vcmap-show-case/buttons-example/README.md +4 -0
  138. package/plugins/{buttonExamples → @vcmap-show-case/buttons-example}/index.js +16 -8
  139. package/plugins/@vcmap-show-case/buttons-example/package.json +5 -0
  140. package/plugins/{categoryTest → @vcmap-show-case/category-tester}/Categories.vue +7 -6
  141. package/plugins/{categoryTest → @vcmap-show-case/category-tester}/Category.vue +4 -3
  142. package/plugins/@vcmap-show-case/category-tester/README.md +3 -0
  143. package/plugins/{categoryTest → @vcmap-show-case/category-tester}/index.js +12 -4
  144. package/plugins/@vcmap-show-case/category-tester/package.json +5 -0
  145. package/plugins/@vcmap-show-case/config-editor/README.md +3 -0
  146. package/plugins/{test → @vcmap-show-case/config-editor}/editor.vue +0 -0
  147. package/plugins/@vcmap-show-case/config-editor/index.js +47 -0
  148. package/plugins/@vcmap-show-case/config-editor/package.json +5 -0
  149. package/plugins/@vcmap-show-case/context-menu-tester/README.md +3 -0
  150. package/plugins/@vcmap-show-case/context-menu-tester/index.js +33 -0
  151. package/plugins/@vcmap-show-case/context-menu-tester/package.json +5 -0
  152. package/plugins/{@vcmap/pluginExample/pluginExampleComponent.vue → @vcmap-show-case/form-inputs-example/FormInputsExample.vue} +14 -13
  153. package/plugins/@vcmap-show-case/form-inputs-example/README.md +4 -0
  154. package/plugins/@vcmap-show-case/form-inputs-example/config.json +5 -0
  155. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/exampleActions.js +1 -1
  156. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/index.js +23 -22
  157. package/plugins/@vcmap-show-case/form-inputs-example/package.json +5 -0
  158. package/plugins/{@vcmap/pluginExample → @vcmap-show-case/form-inputs-example}/validation.js +0 -0
  159. package/plugins/@vcmap-show-case/icons-example/README.md +5 -0
  160. package/plugins/@vcmap-show-case/icons-example/allIconsComponent.vue +51 -0
  161. package/plugins/@vcmap-show-case/icons-example/index.js +44 -0
  162. package/plugins/@vcmap-show-case/icons-example/package.json +5 -0
  163. package/plugins/{test/testList.vue → @vcmap-show-case/list-example/ListExample.vue} +1 -1
  164. package/plugins/@vcmap-show-case/list-example/README.md +3 -0
  165. package/plugins/@vcmap-show-case/list-example/index.js +44 -0
  166. package/plugins/@vcmap-show-case/list-example/package.json +5 -0
  167. package/plugins/@vcmap-show-case/notifier-tester/README.md +3 -0
  168. package/plugins/{notifier → @vcmap-show-case/notifier-tester}/index.js +11 -6
  169. package/plugins/{notifier → @vcmap-show-case/notifier-tester}/notifierTester.vue +0 -0
  170. package/plugins/@vcmap-show-case/notifier-tester/package.json +5 -0
  171. package/plugins/@vcmap-show-case/textfields-example/README.md +3 -0
  172. package/plugins/{example/mySuperComponent.vue → @vcmap-show-case/textfields-example/TextfieldsExample.vue} +1 -7
  173. package/plugins/{example → @vcmap-show-case/textfields-example}/index.js +58 -62
  174. package/plugins/@vcmap-show-case/textfields-example/package.json +5 -0
  175. package/plugins/@vcmap-show-case/window-tester/README.md +3 -0
  176. package/plugins/{test/windowManagerExample.vue → @vcmap-show-case/window-tester/WindowExample.vue} +36 -20
  177. package/plugins/{test → @vcmap-show-case/window-tester}/emptyComponent.vue +8 -3
  178. package/plugins/@vcmap-show-case/window-tester/index.js +62 -0
  179. package/plugins/{test → @vcmap-show-case/window-tester}/myCustomHeader.vue +0 -0
  180. package/plugins/@vcmap-show-case/window-tester/package.json +5 -0
  181. package/plugins/@vcmap-show-case/window-tester/toolbox-data.js +211 -0
  182. package/plugins/{test/vcsContent.vue → @vcmap-show-case/window-tester/windowExampleContent.vue} +1 -5
  183. package/plugins/@vcmap-show-case/wizard-example/README.md +3 -0
  184. package/plugins/{wizardExample → @vcmap-show-case/wizard-example}/index.js +12 -6
  185. package/plugins/@vcmap-show-case/wizard-example/package.json +5 -0
  186. package/plugins/@vcmap-show-case/wizard-example/wizardExample.vue +95 -0
  187. package/plugins/package.json +2 -1
  188. package/src/actions/actionHelper.js +4 -4
  189. package/src/actions/stateRefAction.js +0 -10
  190. package/src/application/VcsApp.vue +42 -23
  191. package/src/application/VcsMap.vue +9 -0
  192. package/src/application/VcsNavbar.vue +1 -1
  193. package/src/components/buttons/VcsActionButtonList.vue +1 -0
  194. package/src/components/buttons/VcsButton.vue +14 -3
  195. package/src/components/form-inputs-controls/VcsCheckbox.vue +3 -1
  196. package/src/components/form-inputs-controls/VcsWizard.vue +17 -20
  197. package/src/components/form-inputs-controls/VcsWizardStep.vue +160 -0
  198. package/src/{icons → components/icons}/+all.js +0 -0
  199. package/src/{icons → components/icons}/2DAreaIcon.vue +0 -0
  200. package/src/{icons → components/icons}/2DDistanceIcon.vue +0 -0
  201. package/src/{icons → components/icons}/3DAreaIcon.vue +0 -0
  202. package/src/{icons → components/icons}/3DDistanceIcon.vue +0 -0
  203. package/src/{icons → components/icons}/3DHeightIcon.vue +0 -0
  204. package/src/{icons → components/icons}/AngleIcon.vue +0 -0
  205. package/src/{icons → components/icons}/AssociationsIcon.vue +0 -0
  206. package/src/{icons → components/icons}/AxisIcon.vue +0 -0
  207. package/src/{icons → components/icons}/BoundingBoxIcon.vue +0 -0
  208. package/src/{icons → components/icons}/CheckboxCheckedIcon.vue +0 -0
  209. package/src/{icons → components/icons}/CheckboxIcon.vue +0 -0
  210. package/src/{icons → components/icons}/CheckboxIndeterminateIcon.vue +0 -0
  211. package/src/{icons → components/icons}/CircleIcon.vue +0 -0
  212. package/src/{icons → components/icons}/ClippingHorizontalIcon.vue +0 -0
  213. package/src/{icons → components/icons}/ClippingIcon.vue +0 -0
  214. package/src/{icons → components/icons}/ClippingVerticalIcon.vue +0 -0
  215. package/src/{icons → components/icons}/ColorPickerIcon.vue +0 -0
  216. package/src/{icons → components/icons}/ColorSwatchIcon.vue +0 -0
  217. package/src/{icons → components/icons}/CommentIcon.vue +0 -0
  218. package/src/{icons → components/icons}/CompassIcon.vue +0 -0
  219. package/src/{icons → components/icons}/ComponentsIcon.vue +0 -0
  220. package/src/{icons → components/icons}/ConeIcon.vue +0 -0
  221. package/src/{icons → components/icons}/DimensionsHouseIcon.vue +0 -0
  222. package/src/{icons → components/icons}/EditIcon.vue +0 -0
  223. package/src/{icons → components/icons}/ElevationProfileIcon.vue +0 -0
  224. package/src/{icons → components/icons}/ExportAreaIcon.vue +0 -0
  225. package/src/{icons → components/icons}/ExportFlightIcon.vue +0 -0
  226. package/src/{icons → components/icons}/ExportIcon.vue +0 -0
  227. package/src/{icons → components/icons}/ExternalLinkIcon.vue +0 -0
  228. package/src/{icons → components/icons}/EyeIcon.vue +0 -0
  229. package/src/{icons → components/icons}/FastForwardIcon.vue +0 -0
  230. package/src/{icons → components/icons}/FilterIcon.vue +0 -0
  231. package/src/{icons → components/icons}/GlobalTerrainIcon.vue +0 -0
  232. package/src/{icons → components/icons}/GlobeNatureIcon.vue +0 -0
  233. package/src/{icons → components/icons}/GroundIcon.vue +0 -0
  234. package/src/{icons → components/icons}/HealthCareIndustriesIcon.vue +0 -0
  235. package/src/{icons → components/icons}/HelpIcon.vue +0 -0
  236. package/src/{icons → components/icons}/HideIcon.vue +0 -0
  237. package/src/{icons → components/icons}/HomePointIcon.vue +0 -0
  238. package/src/{icons → components/icons}/HospitalsIcon.vue +0 -0
  239. package/src/{icons → components/icons}/HouseIcon.vue +0 -0
  240. package/src/{icons → components/icons}/ImportIcon.vue +0 -0
  241. package/src/{icons → components/icons}/InfoIcon.vue +0 -0
  242. package/src/{icons → components/icons}/KebabIcon.vue +0 -0
  243. package/src/{icons → components/icons}/LabelIcon.vue +0 -0
  244. package/src/{icons → components/icons}/LayersIcon.vue +0 -0
  245. package/src/{icons → components/icons}/LegendIcon.vue +0 -0
  246. package/src/{icons → components/icons}/LineIcon.vue +0 -0
  247. package/src/{icons → components/icons}/LinkIcon.vue +0 -0
  248. package/src/{icons → components/icons}/LogoutIcon.vue +0 -0
  249. package/src/{icons → components/icons}/MapIcon.vue +0 -0
  250. package/src/{icons → components/icons}/MenuIcon.vue +0 -0
  251. package/src/{icons → components/icons}/MinusIcon.vue +0 -0
  252. package/src/{icons → components/icons}/ObjectAttributeIcon.vue +0 -0
  253. package/src/{icons → components/icons}/ObjectSelectIcon.vue +0 -0
  254. package/src/{icons → components/icons}/ObliqueViewIcon.vue +0 -0
  255. package/src/{icons → components/icons}/PdfIcon.vue +0 -0
  256. package/src/{icons → components/icons}/PedestrianIcon.vue +0 -0
  257. package/src/{icons → components/icons}/PenIcon.vue +0 -0
  258. package/src/{icons → components/icons}/PlayCircleIcon.vue +0 -0
  259. package/src/{icons → components/icons}/PlusIcon.vue +0 -0
  260. package/src/{icons → components/icons}/PoiIcon.vue +0 -0
  261. package/src/{icons → components/icons}/PointSelectIcon.vue +0 -0
  262. package/src/{icons → components/icons}/PolygonIcon.vue +0 -0
  263. package/src/{icons → components/icons}/PresentationModeIcon.vue +0 -0
  264. package/src/{icons → components/icons}/ProgressIcon.vue +0 -0
  265. package/src/{icons → components/icons}/QueryIcon.vue +0 -0
  266. package/src/{icons → components/icons}/RectangleIcon.vue +0 -0
  267. package/src/{icons → components/icons}/ReturnIcon.vue +0 -0
  268. package/src/{icons → components/icons}/RewindIcon.vue +0 -0
  269. package/src/{icons → components/icons}/RotateLeftIcon.vue +0 -0
  270. package/src/{icons → components/icons}/RotateRightIcon.vue +0 -0
  271. package/src/{icons → components/icons}/ScreenshotIcon.vue +0 -0
  272. package/src/{icons → components/icons}/SearchIcon.vue +0 -0
  273. package/src/{icons → components/icons}/ShadowIcon.vue +0 -0
  274. package/src/{icons → components/icons}/ShapesIcon.vue +0 -0
  275. package/src/{icons → components/icons}/ShareIcon.vue +0 -0
  276. package/src/{icons → components/icons}/SimpleCircleFilledIcon.vue +0 -0
  277. package/src/{icons → components/icons}/SimpleCircleHalfFilledIcon.vue +0 -0
  278. package/src/{icons → components/icons}/SimpleCircleOutlinedIcon.vue +0 -0
  279. package/src/{icons → components/icons}/SkipNextIcon.vue +0 -0
  280. package/src/{icons → components/icons}/SkipPreviousIcon.vue +0 -0
  281. package/src/{icons → components/icons}/SplitViewIcon.vue +0 -0
  282. package/src/{icons → components/icons}/TerrainBoxIcon.vue +0 -0
  283. package/src/{icons → components/icons}/TextStyleIcon.vue +0 -0
  284. package/src/{icons → components/icons}/ThreeDimensionsIcon.vue +0 -0
  285. package/src/{icons → components/icons}/ToolsIcon.vue +0 -0
  286. package/src/{icons → components/icons}/TouchIcon.vue +0 -0
  287. package/src/{icons → components/icons}/TrashCanIcon.vue +0 -0
  288. package/src/{icons → components/icons}/TriangleIcon.vue +0 -0
  289. package/src/{icons → components/icons}/TwoDimensionsIcon.vue +0 -0
  290. package/src/{icons → components/icons}/UploadIcon.vue +0 -0
  291. package/src/{icons → components/icons}/UserProfileIcon.vue +0 -0
  292. package/src/{icons → components/icons}/UserShareIcon.vue +0 -0
  293. package/src/{icons → components/icons}/VideoRecorderIcon.vue +0 -0
  294. package/src/{icons → components/icons}/ViewpointFlightIcon.vue +0 -0
  295. package/src/{icons → components/icons}/ViewpointIcon.vue +0 -0
  296. package/src/{icons → components/icons}/Viewshed360Icon.vue +0 -0
  297. package/src/{icons → components/icons}/ViewshedConeIcon.vue +0 -0
  298. package/src/{icons → components/icons}/ViewshedIcon.vue +0 -0
  299. package/src/{icons → components/icons}/WalkingIcon.vue +0 -0
  300. package/src/{icons → components/icons}/WallIcon.vue +0 -0
  301. package/src/{icons → components/icons}/WandIcon.vue +0 -0
  302. package/src/components/lists/VcsActionList.vue +2 -0
  303. package/src/components/lists/VcsList.vue +21 -12
  304. package/src/components/lists/VcsTreeviewLeaf.vue +14 -2
  305. package/src/components/notification/VcsTooltip.vue +1 -1
  306. package/src/contentTree/layerContentTreeItem.js +2 -2
  307. package/src/featureInfo/BalloonComponent.vue +2 -2
  308. package/src/featureInfo/abstractFeatureInfoView.js +1 -1
  309. package/src/featureInfo/addressBalloonFeatureInfoView.js +1 -1
  310. package/src/featureInfo/balloonFeatureInfoView.js +1 -1
  311. package/src/featureInfo/balloonHelper.js +6 -6
  312. package/src/featureInfo/featureInfo.js +2 -2
  313. package/src/i18n/de.js +8 -8
  314. package/src/i18n/en.js +6 -6
  315. package/src/legend/legendHelper.js +8 -8
  316. package/src/legend/vcsLegend.vue +33 -5
  317. package/src/manager/toolbox/ToolboxManager.vue +1 -0
  318. package/src/manager/window/WindowComponent.vue +42 -4
  319. package/src/manager/window/WindowComponentHeader.vue +1 -1
  320. package/src/manager/window/windowHelper.js +7 -11
  321. package/src/manager/window/windowManager.js +15 -11
  322. package/src/navigation/mapNavCompass.vue +13 -7
  323. package/src/navigation/mapNavigation.vue +66 -4
  324. package/src/navigation/orientationToolsButton.vue +1 -1
  325. package/src/navigation/overviewMap.js +26 -10
  326. package/src/navigation/vcsCompass.vue +4 -73
  327. package/src/setup.js +1 -1
  328. package/src/vuePlugins/vuetify.js +1 -1
  329. package/dist/assets/cesium/Workers/ArcType-c9b2b290.js +0 -25
  330. package/dist/assets/cesium/Workers/AttributeCompression-7b0f288d.js +0 -25
  331. package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-d0c22774.js +0 -25
  332. package/dist/assets/cesium/Workers/BoundingRectangle-201b1a81.js +0 -25
  333. package/dist/assets/cesium/Workers/BoxGeometry-4985457c.js +0 -25
  334. package/dist/assets/cesium/Workers/Color-cc8c18b3.js +0 -25
  335. package/dist/assets/cesium/Workers/ComponentDatatype-0200bf8c.js +0 -25
  336. package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-4345acdf.js +0 -25
  337. package/dist/assets/cesium/Workers/CorridorGeometryLibrary-850a6c35.js +0 -25
  338. package/dist/assets/cesium/Workers/CylinderGeometry-57a1051a.js +0 -25
  339. package/dist/assets/cesium/Workers/CylinderGeometryLibrary-62ce5a1f.js +0 -25
  340. package/dist/assets/cesium/Workers/EllipseGeometry-8627398f.js +0 -25
  341. package/dist/assets/cesium/Workers/EllipseGeometryLibrary-e5919563.js +0 -25
  342. package/dist/assets/cesium/Workers/EllipseOutlineGeometry-96fd4ae1.js +0 -25
  343. package/dist/assets/cesium/Workers/EllipsoidGeodesic-8bfefbff.js +0 -25
  344. package/dist/assets/cesium/Workers/EllipsoidGeometry-377329b9.js +0 -25
  345. package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-e6e16e49.js +0 -25
  346. package/dist/assets/cesium/Workers/EllipsoidRhumbLine-03528f73.js +0 -25
  347. package/dist/assets/cesium/Workers/EllipsoidTangentPlane-c080fd1b.js +0 -25
  348. package/dist/assets/cesium/Workers/EncodedCartesian3-ea0e408f.js +0 -25
  349. package/dist/assets/cesium/Workers/FrustumGeometry-a8b5d817.js +0 -25
  350. package/dist/assets/cesium/Workers/GeometryAttribute-8458a8fd.js +0 -25
  351. package/dist/assets/cesium/Workers/GeometryAttributes-ac0f8485.js +0 -25
  352. package/dist/assets/cesium/Workers/GeometryInstance-ee3aa3ba.js +0 -25
  353. package/dist/assets/cesium/Workers/GeometryOffsetAttribute-08ae0c50.js +0 -25
  354. package/dist/assets/cesium/Workers/GeometryPipeline-33ca229c.js +0 -25
  355. package/dist/assets/cesium/Workers/IndexDatatype-e713bfd2.js +0 -25
  356. package/dist/assets/cesium/Workers/IntersectionTests-eb4db8e0.js +0 -25
  357. package/dist/assets/cesium/Workers/Matrix2-eefef8eb.js +0 -25
  358. package/dist/assets/cesium/Workers/OrientedBoundingBox-5193f9a2.js +0 -25
  359. package/dist/assets/cesium/Workers/Plane-b0299683.js +0 -25
  360. package/dist/assets/cesium/Workers/PolygonGeometryLibrary-b61295f3.js +0 -25
  361. package/dist/assets/cesium/Workers/PolygonPipeline-eb527514.js +0 -25
  362. package/dist/assets/cesium/Workers/PolylinePipeline-0f23dd84.js +0 -25
  363. package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-2d903430.js +0 -25
  364. package/dist/assets/cesium/Workers/PrimitivePipeline-e2640413.js +0 -25
  365. package/dist/assets/cesium/Workers/RectangleGeometryLibrary-ae8bf8a5.js +0 -25
  366. package/dist/assets/cesium/Workers/RuntimeError-5baf5c66.js +0 -25
  367. package/dist/assets/cesium/Workers/TerrainEncoding-bc10ab54.js +0 -25
  368. package/dist/assets/cesium/Workers/Transforms-d2e5867e.js +0 -63
  369. package/dist/assets/cesium/Workers/VertexFormat-5ec0d9ff.js +0 -25
  370. package/dist/assets/cesium/Workers/WallGeometryLibrary-1a33e416.js +0 -25
  371. package/dist/assets/cesium/Workers/WebGLConstants-5b50ced1.js +0 -25
  372. package/dist/assets/cesium/Workers/WebMercatorProjection-cd2f30c2.js +0 -25
  373. package/dist/assets/cesium/Workers/_commonjsHelpers-bc29abbc.js +0 -25
  374. package/dist/assets/cesium/Workers/arrayRemoveDuplicates-f13aceb1.js +0 -25
  375. package/dist/assets/cesium/Workers/combine-7533016d.js +0 -25
  376. package/dist/assets/cesium/Workers/defaultValue-0c475b81.js +0 -25
  377. package/dist/assets/cesium/Workers/package.json +0 -1
  378. package/dist/assets/ui.dffe32.css +0 -1
  379. package/plugins/@vcmap/pluginExample/config.json +0 -6
  380. package/plugins/@vcmap/pluginExample/package.json +0 -7
  381. package/plugins/categoryTest/ItemEditor.vue +0 -13
  382. package/plugins/test/allIconsComponent.vue +0 -50
  383. package/plugins/test/index.js +0 -207
  384. package/plugins/test/toolbox-data.js +0 -154
  385. package/plugins/wizardExample/wizardExample.vue +0 -77
  386. package/src/components/form-inputs-controls/VcsColorPicker.vue +0 -85
@@ -0,0 +1,258 @@
1
+ define(['exports', './Matrix3-315394f6', './Check-666ab1a0', './defaultValue-0a909f67', './Transforms-40229881'], (function (exports, Matrix3, Check, defaultValue, Transforms) { 'use strict';
2
+
3
+ /**
4
+ * Creates an instance of an AxisAlignedBoundingBox from the minimum and maximum points along the x, y, and z axes.
5
+ * @alias AxisAlignedBoundingBox
6
+ * @constructor
7
+ *
8
+ * @param {Cartesian3} [minimum=Cartesian3.ZERO] The minimum point along the x, y, and z axes.
9
+ * @param {Cartesian3} [maximum=Cartesian3.ZERO] The maximum point along the x, y, and z axes.
10
+ * @param {Cartesian3} [center] The center of the box; automatically computed if not supplied.
11
+ *
12
+ * @see BoundingSphere
13
+ * @see BoundingRectangle
14
+ */
15
+ function AxisAlignedBoundingBox(minimum, maximum, center) {
16
+ /**
17
+ * The minimum point defining the bounding box.
18
+ * @type {Cartesian3}
19
+ * @default {@link Cartesian3.ZERO}
20
+ */
21
+ this.minimum = Matrix3.Cartesian3.clone(defaultValue.defaultValue(minimum, Matrix3.Cartesian3.ZERO));
22
+
23
+ /**
24
+ * The maximum point defining the bounding box.
25
+ * @type {Cartesian3}
26
+ * @default {@link Cartesian3.ZERO}
27
+ */
28
+ this.maximum = Matrix3.Cartesian3.clone(defaultValue.defaultValue(maximum, Matrix3.Cartesian3.ZERO));
29
+
30
+ // If center was not defined, compute it.
31
+ if (!defaultValue.defined(center)) {
32
+ center = Matrix3.Cartesian3.midpoint(this.minimum, this.maximum, new Matrix3.Cartesian3());
33
+ } else {
34
+ center = Matrix3.Cartesian3.clone(center);
35
+ }
36
+
37
+ /**
38
+ * The center point of the bounding box.
39
+ * @type {Cartesian3}
40
+ */
41
+ this.center = center;
42
+ }
43
+
44
+ /**
45
+ * Creates an instance of an AxisAlignedBoundingBox from its corners.
46
+ *
47
+ * @param {Cartesian3} minimum The minimum point along the x, y, and z axes.
48
+ * @param {Cartesian3} maximum The maximum point along the x, y, and z axes.
49
+ * @param {AxisAlignedBoundingBox} [result] The object onto which to store the result.
50
+ * @returns {AxisAlignedBoundingBox} The modified result parameter or a new AxisAlignedBoundingBox instance if one was not provided.
51
+ *
52
+ * @example
53
+ * // Compute an axis aligned bounding box from the two corners.
54
+ * const box = Cesium.AxisAlignedBoundingBox.fromCorners(new Cesium.Cartesian3(-1, -1, -1), new Cesium.Cartesian3(1, 1, 1));
55
+ */
56
+ AxisAlignedBoundingBox.fromCorners = function (minimum, maximum, result) {
57
+ //>>includeStart('debug', pragmas.debug);
58
+ Check.Check.defined("minimum", minimum);
59
+ Check.Check.defined("maximum", maximum);
60
+ //>>includeEnd('debug');
61
+
62
+ if (!defaultValue.defined(result)) {
63
+ result = new AxisAlignedBoundingBox();
64
+ }
65
+
66
+ result.minimum = Matrix3.Cartesian3.clone(minimum, result.minimum);
67
+ result.maximum = Matrix3.Cartesian3.clone(maximum, result.maximum);
68
+ result.center = Matrix3.Cartesian3.midpoint(minimum, maximum, result.center);
69
+
70
+ return result;
71
+ };
72
+
73
+ /**
74
+ * Computes an instance of an AxisAlignedBoundingBox. The box is determined by
75
+ * finding the points spaced the farthest apart on the x, y, and z axes.
76
+ *
77
+ * @param {Cartesian3[]} positions List of points that the bounding box will enclose. Each point must have a <code>x</code>, <code>y</code>, and <code>z</code> properties.
78
+ * @param {AxisAlignedBoundingBox} [result] The object onto which to store the result.
79
+ * @returns {AxisAlignedBoundingBox} The modified result parameter or a new AxisAlignedBoundingBox instance if one was not provided.
80
+ *
81
+ * @example
82
+ * // Compute an axis aligned bounding box enclosing two points.
83
+ * const box = Cesium.AxisAlignedBoundingBox.fromPoints([new Cesium.Cartesian3(2, 0, 0), new Cesium.Cartesian3(-2, 0, 0)]);
84
+ */
85
+ AxisAlignedBoundingBox.fromPoints = function (positions, result) {
86
+ if (!defaultValue.defined(result)) {
87
+ result = new AxisAlignedBoundingBox();
88
+ }
89
+
90
+ if (!defaultValue.defined(positions) || positions.length === 0) {
91
+ result.minimum = Matrix3.Cartesian3.clone(Matrix3.Cartesian3.ZERO, result.minimum);
92
+ result.maximum = Matrix3.Cartesian3.clone(Matrix3.Cartesian3.ZERO, result.maximum);
93
+ result.center = Matrix3.Cartesian3.clone(Matrix3.Cartesian3.ZERO, result.center);
94
+ return result;
95
+ }
96
+
97
+ let minimumX = positions[0].x;
98
+ let minimumY = positions[0].y;
99
+ let minimumZ = positions[0].z;
100
+
101
+ let maximumX = positions[0].x;
102
+ let maximumY = positions[0].y;
103
+ let maximumZ = positions[0].z;
104
+
105
+ const length = positions.length;
106
+ for (let i = 1; i < length; i++) {
107
+ const p = positions[i];
108
+ const x = p.x;
109
+ const y = p.y;
110
+ const z = p.z;
111
+
112
+ minimumX = Math.min(x, minimumX);
113
+ maximumX = Math.max(x, maximumX);
114
+ minimumY = Math.min(y, minimumY);
115
+ maximumY = Math.max(y, maximumY);
116
+ minimumZ = Math.min(z, minimumZ);
117
+ maximumZ = Math.max(z, maximumZ);
118
+ }
119
+
120
+ const minimum = result.minimum;
121
+ minimum.x = minimumX;
122
+ minimum.y = minimumY;
123
+ minimum.z = minimumZ;
124
+
125
+ const maximum = result.maximum;
126
+ maximum.x = maximumX;
127
+ maximum.y = maximumY;
128
+ maximum.z = maximumZ;
129
+
130
+ result.center = Matrix3.Cartesian3.midpoint(minimum, maximum, result.center);
131
+
132
+ return result;
133
+ };
134
+
135
+ /**
136
+ * Duplicates a AxisAlignedBoundingBox instance.
137
+ *
138
+ * @param {AxisAlignedBoundingBox} box The bounding box to duplicate.
139
+ * @param {AxisAlignedBoundingBox} [result] The object onto which to store the result.
140
+ * @returns {AxisAlignedBoundingBox} The modified result parameter or a new AxisAlignedBoundingBox instance if none was provided. (Returns undefined if box is undefined)
141
+ */
142
+ AxisAlignedBoundingBox.clone = function (box, result) {
143
+ if (!defaultValue.defined(box)) {
144
+ return undefined;
145
+ }
146
+
147
+ if (!defaultValue.defined(result)) {
148
+ return new AxisAlignedBoundingBox(box.minimum, box.maximum, box.center);
149
+ }
150
+
151
+ result.minimum = Matrix3.Cartesian3.clone(box.minimum, result.minimum);
152
+ result.maximum = Matrix3.Cartesian3.clone(box.maximum, result.maximum);
153
+ result.center = Matrix3.Cartesian3.clone(box.center, result.center);
154
+ return result;
155
+ };
156
+
157
+ /**
158
+ * Compares the provided AxisAlignedBoundingBox componentwise and returns
159
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
160
+ *
161
+ * @param {AxisAlignedBoundingBox} [left] The first AxisAlignedBoundingBox.
162
+ * @param {AxisAlignedBoundingBox} [right] The second AxisAlignedBoundingBox.
163
+ * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
164
+ */
165
+ AxisAlignedBoundingBox.equals = function (left, right) {
166
+ return (
167
+ left === right ||
168
+ (defaultValue.defined(left) &&
169
+ defaultValue.defined(right) &&
170
+ Matrix3.Cartesian3.equals(left.center, right.center) &&
171
+ Matrix3.Cartesian3.equals(left.minimum, right.minimum) &&
172
+ Matrix3.Cartesian3.equals(left.maximum, right.maximum))
173
+ );
174
+ };
175
+
176
+ let intersectScratch = new Matrix3.Cartesian3();
177
+ /**
178
+ * Determines which side of a plane a box is located.
179
+ *
180
+ * @param {AxisAlignedBoundingBox} box The bounding box to test.
181
+ * @param {Plane} plane The plane to test against.
182
+ * @returns {Intersect} {@link Intersect.INSIDE} if the entire box is on the side of the plane
183
+ * the normal is pointing, {@link Intersect.OUTSIDE} if the entire box is
184
+ * on the opposite side, and {@link Intersect.INTERSECTING} if the box
185
+ * intersects the plane.
186
+ */
187
+ AxisAlignedBoundingBox.intersectPlane = function (box, plane) {
188
+ //>>includeStart('debug', pragmas.debug);
189
+ Check.Check.defined("box", box);
190
+ Check.Check.defined("plane", plane);
191
+ //>>includeEnd('debug');
192
+
193
+ intersectScratch = Matrix3.Cartesian3.subtract(
194
+ box.maximum,
195
+ box.minimum,
196
+ intersectScratch
197
+ );
198
+ const h = Matrix3.Cartesian3.multiplyByScalar(
199
+ intersectScratch,
200
+ 0.5,
201
+ intersectScratch
202
+ ); //The positive half diagonal
203
+ const normal = plane.normal;
204
+ const e =
205
+ h.x * Math.abs(normal.x) +
206
+ h.y * Math.abs(normal.y) +
207
+ h.z * Math.abs(normal.z);
208
+ const s = Matrix3.Cartesian3.dot(box.center, normal) + plane.distance; //signed distance from center
209
+
210
+ if (s - e > 0) {
211
+ return Transforms.Intersect.INSIDE;
212
+ }
213
+
214
+ if (s + e < 0) {
215
+ //Not in front because normals point inward
216
+ return Transforms.Intersect.OUTSIDE;
217
+ }
218
+
219
+ return Transforms.Intersect.INTERSECTING;
220
+ };
221
+
222
+ /**
223
+ * Duplicates this AxisAlignedBoundingBox instance.
224
+ *
225
+ * @param {AxisAlignedBoundingBox} [result] The object onto which to store the result.
226
+ * @returns {AxisAlignedBoundingBox} The modified result parameter or a new AxisAlignedBoundingBox instance if one was not provided.
227
+ */
228
+ AxisAlignedBoundingBox.prototype.clone = function (result) {
229
+ return AxisAlignedBoundingBox.clone(this, result);
230
+ };
231
+
232
+ /**
233
+ * Determines which side of a plane this box is located.
234
+ *
235
+ * @param {Plane} plane The plane to test against.
236
+ * @returns {Intersect} {@link Intersect.INSIDE} if the entire box is on the side of the plane
237
+ * the normal is pointing, {@link Intersect.OUTSIDE} if the entire box is
238
+ * on the opposite side, and {@link Intersect.INTERSECTING} if the box
239
+ * intersects the plane.
240
+ */
241
+ AxisAlignedBoundingBox.prototype.intersectPlane = function (plane) {
242
+ return AxisAlignedBoundingBox.intersectPlane(this, plane);
243
+ };
244
+
245
+ /**
246
+ * Compares this AxisAlignedBoundingBox against the provided AxisAlignedBoundingBox componentwise and returns
247
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
248
+ *
249
+ * @param {AxisAlignedBoundingBox} [right] The right hand side AxisAlignedBoundingBox.
250
+ * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
251
+ */
252
+ AxisAlignedBoundingBox.prototype.equals = function (right) {
253
+ return AxisAlignedBoundingBox.equals(this, right);
254
+ };
255
+
256
+ exports.AxisAlignedBoundingBox = AxisAlignedBoundingBox;
257
+
258
+ }));
@@ -0,0 +1,369 @@
1
+ define(['exports', './Matrix2-13178034', './Matrix3-315394f6', './Check-666ab1a0', './defaultValue-0a909f67', './Transforms-40229881'], (function (exports, Matrix2, Matrix3, Check, defaultValue, Transforms) { 'use strict';
2
+
3
+ /**
4
+ * A bounding rectangle given by a corner, width and height.
5
+ * @alias BoundingRectangle
6
+ * @constructor
7
+ *
8
+ * @param {Number} [x=0.0] The x coordinate of the rectangle.
9
+ * @param {Number} [y=0.0] The y coordinate of the rectangle.
10
+ * @param {Number} [width=0.0] The width of the rectangle.
11
+ * @param {Number} [height=0.0] The height of the rectangle.
12
+ *
13
+ * @see BoundingSphere
14
+ * @see Packable
15
+ */
16
+ function BoundingRectangle(x, y, width, height) {
17
+ /**
18
+ * The x coordinate of the rectangle.
19
+ * @type {Number}
20
+ * @default 0.0
21
+ */
22
+ this.x = defaultValue.defaultValue(x, 0.0);
23
+
24
+ /**
25
+ * The y coordinate of the rectangle.
26
+ * @type {Number}
27
+ * @default 0.0
28
+ */
29
+ this.y = defaultValue.defaultValue(y, 0.0);
30
+
31
+ /**
32
+ * The width of the rectangle.
33
+ * @type {Number}
34
+ * @default 0.0
35
+ */
36
+ this.width = defaultValue.defaultValue(width, 0.0);
37
+
38
+ /**
39
+ * The height of the rectangle.
40
+ * @type {Number}
41
+ * @default 0.0
42
+ */
43
+ this.height = defaultValue.defaultValue(height, 0.0);
44
+ }
45
+
46
+ /**
47
+ * The number of elements used to pack the object into an array.
48
+ * @type {Number}
49
+ */
50
+ BoundingRectangle.packedLength = 4;
51
+
52
+ /**
53
+ * Stores the provided instance into the provided array.
54
+ *
55
+ * @param {BoundingRectangle} value The value to pack.
56
+ * @param {Number[]} array The array to pack into.
57
+ * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.
58
+ *
59
+ * @returns {Number[]} The array that was packed into
60
+ */
61
+ BoundingRectangle.pack = function (value, array, startingIndex) {
62
+ //>>includeStart('debug', pragmas.debug);
63
+ Check.Check.typeOf.object("value", value);
64
+ Check.Check.defined("array", array);
65
+ //>>includeEnd('debug');
66
+
67
+ startingIndex = defaultValue.defaultValue(startingIndex, 0);
68
+
69
+ array[startingIndex++] = value.x;
70
+ array[startingIndex++] = value.y;
71
+ array[startingIndex++] = value.width;
72
+ array[startingIndex] = value.height;
73
+
74
+ return array;
75
+ };
76
+
77
+ /**
78
+ * Retrieves an instance from a packed array.
79
+ *
80
+ * @param {Number[]} array The packed array.
81
+ * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.
82
+ * @param {BoundingRectangle} [result] The object into which to store the result.
83
+ * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
84
+ */
85
+ BoundingRectangle.unpack = function (array, startingIndex, result) {
86
+ //>>includeStart('debug', pragmas.debug);
87
+ Check.Check.defined("array", array);
88
+ //>>includeEnd('debug');
89
+
90
+ startingIndex = defaultValue.defaultValue(startingIndex, 0);
91
+
92
+ if (!defaultValue.defined(result)) {
93
+ result = new BoundingRectangle();
94
+ }
95
+ result.x = array[startingIndex++];
96
+ result.y = array[startingIndex++];
97
+ result.width = array[startingIndex++];
98
+ result.height = array[startingIndex];
99
+ return result;
100
+ };
101
+
102
+ /**
103
+ * Computes a bounding rectangle enclosing the list of 2D points.
104
+ * The rectangle is oriented with the corner at the bottom left.
105
+ *
106
+ * @param {Cartesian2[]} positions List of points that the bounding rectangle will enclose. Each point must have <code>x</code> and <code>y</code> properties.
107
+ * @param {BoundingRectangle} [result] The object onto which to store the result.
108
+ * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
109
+ */
110
+ BoundingRectangle.fromPoints = function (positions, result) {
111
+ if (!defaultValue.defined(result)) {
112
+ result = new BoundingRectangle();
113
+ }
114
+
115
+ if (!defaultValue.defined(positions) || positions.length === 0) {
116
+ result.x = 0;
117
+ result.y = 0;
118
+ result.width = 0;
119
+ result.height = 0;
120
+ return result;
121
+ }
122
+
123
+ const length = positions.length;
124
+
125
+ let minimumX = positions[0].x;
126
+ let minimumY = positions[0].y;
127
+
128
+ let maximumX = positions[0].x;
129
+ let maximumY = positions[0].y;
130
+
131
+ for (let i = 1; i < length; i++) {
132
+ const p = positions[i];
133
+ const x = p.x;
134
+ const y = p.y;
135
+
136
+ minimumX = Math.min(x, minimumX);
137
+ maximumX = Math.max(x, maximumX);
138
+ minimumY = Math.min(y, minimumY);
139
+ maximumY = Math.max(y, maximumY);
140
+ }
141
+
142
+ result.x = minimumX;
143
+ result.y = minimumY;
144
+ result.width = maximumX - minimumX;
145
+ result.height = maximumY - minimumY;
146
+ return result;
147
+ };
148
+
149
+ const defaultProjection = new Transforms.GeographicProjection();
150
+ const fromRectangleLowerLeft = new Matrix3.Cartographic();
151
+ const fromRectangleUpperRight = new Matrix3.Cartographic();
152
+ /**
153
+ * Computes a bounding rectangle from a rectangle.
154
+ *
155
+ * @param {Rectangle} rectangle The valid rectangle used to create a bounding rectangle.
156
+ * @param {Object} [projection=GeographicProjection] The projection used to project the rectangle into 2D.
157
+ * @param {BoundingRectangle} [result] The object onto which to store the result.
158
+ * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
159
+ */
160
+ BoundingRectangle.fromRectangle = function (rectangle, projection, result) {
161
+ if (!defaultValue.defined(result)) {
162
+ result = new BoundingRectangle();
163
+ }
164
+
165
+ if (!defaultValue.defined(rectangle)) {
166
+ result.x = 0;
167
+ result.y = 0;
168
+ result.width = 0;
169
+ result.height = 0;
170
+ return result;
171
+ }
172
+
173
+ projection = defaultValue.defaultValue(projection, defaultProjection);
174
+
175
+ const lowerLeft = projection.project(
176
+ Matrix2.Rectangle.southwest(rectangle, fromRectangleLowerLeft)
177
+ );
178
+ const upperRight = projection.project(
179
+ Matrix2.Rectangle.northeast(rectangle, fromRectangleUpperRight)
180
+ );
181
+
182
+ Matrix2.Cartesian2.subtract(upperRight, lowerLeft, upperRight);
183
+
184
+ result.x = lowerLeft.x;
185
+ result.y = lowerLeft.y;
186
+ result.width = upperRight.x;
187
+ result.height = upperRight.y;
188
+ return result;
189
+ };
190
+
191
+ /**
192
+ * Duplicates a BoundingRectangle instance.
193
+ *
194
+ * @param {BoundingRectangle} rectangle The bounding rectangle to duplicate.
195
+ * @param {BoundingRectangle} [result] The object onto which to store the result.
196
+ * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided. (Returns undefined if rectangle is undefined)
197
+ */
198
+ BoundingRectangle.clone = function (rectangle, result) {
199
+ if (!defaultValue.defined(rectangle)) {
200
+ return undefined;
201
+ }
202
+
203
+ if (!defaultValue.defined(result)) {
204
+ return new BoundingRectangle(
205
+ rectangle.x,
206
+ rectangle.y,
207
+ rectangle.width,
208
+ rectangle.height
209
+ );
210
+ }
211
+
212
+ result.x = rectangle.x;
213
+ result.y = rectangle.y;
214
+ result.width = rectangle.width;
215
+ result.height = rectangle.height;
216
+ return result;
217
+ };
218
+
219
+ /**
220
+ * Computes a bounding rectangle that is the union of the left and right bounding rectangles.
221
+ *
222
+ * @param {BoundingRectangle} left A rectangle to enclose in bounding rectangle.
223
+ * @param {BoundingRectangle} right A rectangle to enclose in a bounding rectangle.
224
+ * @param {BoundingRectangle} [result] The object onto which to store the result.
225
+ * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
226
+ */
227
+ BoundingRectangle.union = function (left, right, result) {
228
+ //>>includeStart('debug', pragmas.debug);
229
+ Check.Check.typeOf.object("left", left);
230
+ Check.Check.typeOf.object("right", right);
231
+ //>>includeEnd('debug');
232
+
233
+ if (!defaultValue.defined(result)) {
234
+ result = new BoundingRectangle();
235
+ }
236
+
237
+ const lowerLeftX = Math.min(left.x, right.x);
238
+ const lowerLeftY = Math.min(left.y, right.y);
239
+ const upperRightX = Math.max(left.x + left.width, right.x + right.width);
240
+ const upperRightY = Math.max(left.y + left.height, right.y + right.height);
241
+
242
+ result.x = lowerLeftX;
243
+ result.y = lowerLeftY;
244
+ result.width = upperRightX - lowerLeftX;
245
+ result.height = upperRightY - lowerLeftY;
246
+ return result;
247
+ };
248
+
249
+ /**
250
+ * Computes a bounding rectangle by enlarging the provided rectangle until it contains the provided point.
251
+ *
252
+ * @param {BoundingRectangle} rectangle A rectangle to expand.
253
+ * @param {Cartesian2} point A point to enclose in a bounding rectangle.
254
+ * @param {BoundingRectangle} [result] The object onto which to store the result.
255
+ * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
256
+ */
257
+ BoundingRectangle.expand = function (rectangle, point, result) {
258
+ //>>includeStart('debug', pragmas.debug);
259
+ Check.Check.typeOf.object("rectangle", rectangle);
260
+ Check.Check.typeOf.object("point", point);
261
+ //>>includeEnd('debug');
262
+
263
+ result = BoundingRectangle.clone(rectangle, result);
264
+
265
+ const width = point.x - result.x;
266
+ const height = point.y - result.y;
267
+
268
+ if (width > result.width) {
269
+ result.width = width;
270
+ } else if (width < 0) {
271
+ result.width -= width;
272
+ result.x = point.x;
273
+ }
274
+
275
+ if (height > result.height) {
276
+ result.height = height;
277
+ } else if (height < 0) {
278
+ result.height -= height;
279
+ result.y = point.y;
280
+ }
281
+
282
+ return result;
283
+ };
284
+
285
+ /**
286
+ * Determines if two rectangles intersect.
287
+ *
288
+ * @param {BoundingRectangle} left A rectangle to check for intersection.
289
+ * @param {BoundingRectangle} right The other rectangle to check for intersection.
290
+ * @returns {Intersect} <code>Intersect.INTERSECTING</code> if the rectangles intersect, <code>Intersect.OUTSIDE</code> otherwise.
291
+ */
292
+ BoundingRectangle.intersect = function (left, right) {
293
+ //>>includeStart('debug', pragmas.debug);
294
+ Check.Check.typeOf.object("left", left);
295
+ Check.Check.typeOf.object("right", right);
296
+ //>>includeEnd('debug');
297
+
298
+ const leftX = left.x;
299
+ const leftY = left.y;
300
+ const rightX = right.x;
301
+ const rightY = right.y;
302
+ if (
303
+ !(
304
+ leftX > rightX + right.width ||
305
+ leftX + left.width < rightX ||
306
+ leftY + left.height < rightY ||
307
+ leftY > rightY + right.height
308
+ )
309
+ ) {
310
+ return Transforms.Intersect.INTERSECTING;
311
+ }
312
+
313
+ return Transforms.Intersect.OUTSIDE;
314
+ };
315
+
316
+ /**
317
+ * Compares the provided BoundingRectangles componentwise and returns
318
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
319
+ *
320
+ * @param {BoundingRectangle} [left] The first BoundingRectangle.
321
+ * @param {BoundingRectangle} [right] The second BoundingRectangle.
322
+ * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.
323
+ */
324
+ BoundingRectangle.equals = function (left, right) {
325
+ return (
326
+ left === right ||
327
+ (defaultValue.defined(left) &&
328
+ defaultValue.defined(right) &&
329
+ left.x === right.x &&
330
+ left.y === right.y &&
331
+ left.width === right.width &&
332
+ left.height === right.height)
333
+ );
334
+ };
335
+
336
+ /**
337
+ * Duplicates this BoundingRectangle instance.
338
+ *
339
+ * @param {BoundingRectangle} [result] The object onto which to store the result.
340
+ * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.
341
+ */
342
+ BoundingRectangle.prototype.clone = function (result) {
343
+ return BoundingRectangle.clone(this, result);
344
+ };
345
+
346
+ /**
347
+ * Determines if this rectangle intersects with another.
348
+ *
349
+ * @param {BoundingRectangle} right A rectangle to check for intersection.
350
+ * @returns {Intersect} <code>Intersect.INTERSECTING</code> if the rectangles intersect, <code>Intersect.OUTSIDE</code> otherwise.
351
+ */
352
+ BoundingRectangle.prototype.intersect = function (right) {
353
+ return BoundingRectangle.intersect(this, right);
354
+ };
355
+
356
+ /**
357
+ * Compares this BoundingRectangle against the provided BoundingRectangle componentwise and returns
358
+ * <code>true</code> if they are equal, <code>false</code> otherwise.
359
+ *
360
+ * @param {BoundingRectangle} [right] The right hand side BoundingRectangle.
361
+ * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.
362
+ */
363
+ BoundingRectangle.prototype.equals = function (right) {
364
+ return BoundingRectangle.equals(this, right);
365
+ };
366
+
367
+ exports.BoundingRectangle = BoundingRectangle;
368
+
369
+ }));