@vcmap/ui 5.0.0-rc.18 → 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 (379) 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.adbd45.js} +112161 -108735
  109. package/dist/assets/cesium.js +1 -1
  110. package/dist/assets/{core.cb0408.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.bccdf969.js → index.884a53ef.js} +1 -1
  114. package/dist/assets/{ol.5e3fd0.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.08c48f.js → ui.bf504d.js} +6121 -6785
  119. package/dist/assets/ui.js +1 -1
  120. package/dist/assets/{vue.228ead.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.0b5039.css → vuetify.0d7360.css} +0 -0
  124. package/dist/assets/{vuetify.0b5039.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} +1 -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/{test → @vcmap-show-case/window-tester}/toolbox-data.js +9 -9
  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 +1 -3
  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/components/buttons/VcsActionButtonList.vue +1 -0
  193. package/src/components/form-inputs-controls/VcsCheckbox.vue +3 -1
  194. package/src/components/form-inputs-controls/VcsWizard.vue +17 -20
  195. package/src/components/form-inputs-controls/VcsWizardStep.vue +160 -0
  196. package/src/{icons → components/icons}/+all.js +0 -0
  197. package/src/{icons → components/icons}/2DAreaIcon.vue +0 -0
  198. package/src/{icons → components/icons}/2DDistanceIcon.vue +0 -0
  199. package/src/{icons → components/icons}/3DAreaIcon.vue +0 -0
  200. package/src/{icons → components/icons}/3DDistanceIcon.vue +0 -0
  201. package/src/{icons → components/icons}/3DHeightIcon.vue +0 -0
  202. package/src/{icons → components/icons}/AngleIcon.vue +0 -0
  203. package/src/{icons → components/icons}/AssociationsIcon.vue +0 -0
  204. package/src/{icons → components/icons}/AxisIcon.vue +0 -0
  205. package/src/{icons → components/icons}/BoundingBoxIcon.vue +0 -0
  206. package/src/{icons → components/icons}/CheckboxCheckedIcon.vue +0 -0
  207. package/src/{icons → components/icons}/CheckboxIcon.vue +0 -0
  208. package/src/{icons → components/icons}/CheckboxIndeterminateIcon.vue +0 -0
  209. package/src/{icons → components/icons}/CircleIcon.vue +0 -0
  210. package/src/{icons → components/icons}/ClippingHorizontalIcon.vue +0 -0
  211. package/src/{icons → components/icons}/ClippingIcon.vue +0 -0
  212. package/src/{icons → components/icons}/ClippingVerticalIcon.vue +0 -0
  213. package/src/{icons → components/icons}/ColorPickerIcon.vue +0 -0
  214. package/src/{icons → components/icons}/ColorSwatchIcon.vue +0 -0
  215. package/src/{icons → components/icons}/CommentIcon.vue +0 -0
  216. package/src/{icons → components/icons}/CompassIcon.vue +0 -0
  217. package/src/{icons → components/icons}/ComponentsIcon.vue +0 -0
  218. package/src/{icons → components/icons}/ConeIcon.vue +0 -0
  219. package/src/{icons → components/icons}/DimensionsHouseIcon.vue +0 -0
  220. package/src/{icons → components/icons}/EditIcon.vue +0 -0
  221. package/src/{icons → components/icons}/ElevationProfileIcon.vue +0 -0
  222. package/src/{icons → components/icons}/ExportAreaIcon.vue +0 -0
  223. package/src/{icons → components/icons}/ExportFlightIcon.vue +0 -0
  224. package/src/{icons → components/icons}/ExportIcon.vue +0 -0
  225. package/src/{icons → components/icons}/ExternalLinkIcon.vue +0 -0
  226. package/src/{icons → components/icons}/EyeIcon.vue +0 -0
  227. package/src/{icons → components/icons}/FastForwardIcon.vue +0 -0
  228. package/src/{icons → components/icons}/FilterIcon.vue +0 -0
  229. package/src/{icons → components/icons}/GlobalTerrainIcon.vue +0 -0
  230. package/src/{icons → components/icons}/GlobeNatureIcon.vue +0 -0
  231. package/src/{icons → components/icons}/GroundIcon.vue +0 -0
  232. package/src/{icons → components/icons}/HealthCareIndustriesIcon.vue +0 -0
  233. package/src/{icons → components/icons}/HelpIcon.vue +0 -0
  234. package/src/{icons → components/icons}/HideIcon.vue +0 -0
  235. package/src/{icons → components/icons}/HomePointIcon.vue +0 -0
  236. package/src/{icons → components/icons}/HospitalsIcon.vue +0 -0
  237. package/src/{icons → components/icons}/HouseIcon.vue +0 -0
  238. package/src/{icons → components/icons}/ImportIcon.vue +0 -0
  239. package/src/{icons → components/icons}/InfoIcon.vue +0 -0
  240. package/src/{icons → components/icons}/KebabIcon.vue +0 -0
  241. package/src/{icons → components/icons}/LabelIcon.vue +0 -0
  242. package/src/{icons → components/icons}/LayersIcon.vue +0 -0
  243. package/src/{icons → components/icons}/LegendIcon.vue +0 -0
  244. package/src/{icons → components/icons}/LineIcon.vue +0 -0
  245. package/src/{icons → components/icons}/LinkIcon.vue +0 -0
  246. package/src/{icons → components/icons}/LogoutIcon.vue +0 -0
  247. package/src/{icons → components/icons}/MapIcon.vue +0 -0
  248. package/src/{icons → components/icons}/MenuIcon.vue +0 -0
  249. package/src/{icons → components/icons}/MinusIcon.vue +0 -0
  250. package/src/{icons → components/icons}/ObjectAttributeIcon.vue +0 -0
  251. package/src/{icons → components/icons}/ObjectSelectIcon.vue +0 -0
  252. package/src/{icons → components/icons}/ObliqueViewIcon.vue +0 -0
  253. package/src/{icons → components/icons}/PdfIcon.vue +0 -0
  254. package/src/{icons → components/icons}/PedestrianIcon.vue +0 -0
  255. package/src/{icons → components/icons}/PenIcon.vue +0 -0
  256. package/src/{icons → components/icons}/PlayCircleIcon.vue +0 -0
  257. package/src/{icons → components/icons}/PlusIcon.vue +0 -0
  258. package/src/{icons → components/icons}/PoiIcon.vue +0 -0
  259. package/src/{icons → components/icons}/PointSelectIcon.vue +0 -0
  260. package/src/{icons → components/icons}/PolygonIcon.vue +0 -0
  261. package/src/{icons → components/icons}/PresentationModeIcon.vue +0 -0
  262. package/src/{icons → components/icons}/ProgressIcon.vue +0 -0
  263. package/src/{icons → components/icons}/QueryIcon.vue +0 -0
  264. package/src/{icons → components/icons}/RectangleIcon.vue +0 -0
  265. package/src/{icons → components/icons}/ReturnIcon.vue +0 -0
  266. package/src/{icons → components/icons}/RewindIcon.vue +0 -0
  267. package/src/{icons → components/icons}/RotateLeftIcon.vue +0 -0
  268. package/src/{icons → components/icons}/RotateRightIcon.vue +0 -0
  269. package/src/{icons → components/icons}/ScreenshotIcon.vue +0 -0
  270. package/src/{icons → components/icons}/SearchIcon.vue +0 -0
  271. package/src/{icons → components/icons}/ShadowIcon.vue +0 -0
  272. package/src/{icons → components/icons}/ShapesIcon.vue +0 -0
  273. package/src/{icons → components/icons}/ShareIcon.vue +0 -0
  274. package/src/{icons → components/icons}/SimpleCircleFilledIcon.vue +0 -0
  275. package/src/{icons → components/icons}/SimpleCircleHalfFilledIcon.vue +0 -0
  276. package/src/{icons → components/icons}/SimpleCircleOutlinedIcon.vue +0 -0
  277. package/src/{icons → components/icons}/SkipNextIcon.vue +0 -0
  278. package/src/{icons → components/icons}/SkipPreviousIcon.vue +0 -0
  279. package/src/{icons → components/icons}/SplitViewIcon.vue +0 -0
  280. package/src/{icons → components/icons}/TerrainBoxIcon.vue +0 -0
  281. package/src/{icons → components/icons}/TextStyleIcon.vue +0 -0
  282. package/src/{icons → components/icons}/ThreeDimensionsIcon.vue +0 -0
  283. package/src/{icons → components/icons}/ToolsIcon.vue +0 -0
  284. package/src/{icons → components/icons}/TouchIcon.vue +0 -0
  285. package/src/{icons → components/icons}/TrashCanIcon.vue +0 -0
  286. package/src/{icons → components/icons}/TriangleIcon.vue +0 -0
  287. package/src/{icons → components/icons}/TwoDimensionsIcon.vue +0 -0
  288. package/src/{icons → components/icons}/UploadIcon.vue +0 -0
  289. package/src/{icons → components/icons}/UserProfileIcon.vue +0 -0
  290. package/src/{icons → components/icons}/UserShareIcon.vue +0 -0
  291. package/src/{icons → components/icons}/VideoRecorderIcon.vue +0 -0
  292. package/src/{icons → components/icons}/ViewpointFlightIcon.vue +0 -0
  293. package/src/{icons → components/icons}/ViewpointIcon.vue +0 -0
  294. package/src/{icons → components/icons}/Viewshed360Icon.vue +0 -0
  295. package/src/{icons → components/icons}/ViewshedConeIcon.vue +0 -0
  296. package/src/{icons → components/icons}/ViewshedIcon.vue +0 -0
  297. package/src/{icons → components/icons}/WalkingIcon.vue +0 -0
  298. package/src/{icons → components/icons}/WallIcon.vue +0 -0
  299. package/src/{icons → components/icons}/WandIcon.vue +0 -0
  300. package/src/components/lists/VcsList.vue +21 -12
  301. package/src/components/lists/VcsTreeviewLeaf.vue +14 -2
  302. package/src/components/notification/VcsTooltip.vue +1 -1
  303. package/src/featureInfo/abstractFeatureInfoView.js +1 -1
  304. package/src/featureInfo/addressBalloonFeatureInfoView.js +1 -1
  305. package/src/featureInfo/balloonFeatureInfoView.js +1 -1
  306. package/src/featureInfo/balloonHelper.js +6 -6
  307. package/src/featureInfo/featureInfo.js +2 -2
  308. package/src/i18n/de.js +2 -6
  309. package/src/i18n/en.js +2 -6
  310. package/src/legend/legendHelper.js +4 -3
  311. package/src/legend/vcsLegend.vue +21 -2
  312. package/src/manager/window/WindowComponent.vue +42 -4
  313. package/src/manager/window/WindowComponentHeader.vue +1 -1
  314. package/src/manager/window/windowHelper.js +7 -11
  315. package/src/manager/window/windowManager.js +15 -11
  316. package/src/navigation/mapNavCompass.vue +13 -7
  317. package/src/navigation/mapNavigation.vue +66 -4
  318. package/src/navigation/orientationToolsButton.vue +1 -1
  319. package/src/navigation/overviewMap.js +26 -10
  320. package/src/navigation/vcsCompass.vue +4 -73
  321. package/src/setup.js +1 -1
  322. package/src/vuePlugins/vuetify.js +1 -1
  323. package/dist/assets/cesium/Workers/ArcType-c9b2b290.js +0 -25
  324. package/dist/assets/cesium/Workers/AttributeCompression-7b0f288d.js +0 -25
  325. package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-d0c22774.js +0 -25
  326. package/dist/assets/cesium/Workers/BoundingRectangle-201b1a81.js +0 -25
  327. package/dist/assets/cesium/Workers/BoxGeometry-4985457c.js +0 -25
  328. package/dist/assets/cesium/Workers/Color-cc8c18b3.js +0 -25
  329. package/dist/assets/cesium/Workers/ComponentDatatype-0200bf8c.js +0 -25
  330. package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-4345acdf.js +0 -25
  331. package/dist/assets/cesium/Workers/CorridorGeometryLibrary-850a6c35.js +0 -25
  332. package/dist/assets/cesium/Workers/CylinderGeometry-57a1051a.js +0 -25
  333. package/dist/assets/cesium/Workers/CylinderGeometryLibrary-62ce5a1f.js +0 -25
  334. package/dist/assets/cesium/Workers/EllipseGeometry-8627398f.js +0 -25
  335. package/dist/assets/cesium/Workers/EllipseGeometryLibrary-e5919563.js +0 -25
  336. package/dist/assets/cesium/Workers/EllipseOutlineGeometry-96fd4ae1.js +0 -25
  337. package/dist/assets/cesium/Workers/EllipsoidGeodesic-8bfefbff.js +0 -25
  338. package/dist/assets/cesium/Workers/EllipsoidGeometry-377329b9.js +0 -25
  339. package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-e6e16e49.js +0 -25
  340. package/dist/assets/cesium/Workers/EllipsoidRhumbLine-03528f73.js +0 -25
  341. package/dist/assets/cesium/Workers/EllipsoidTangentPlane-c080fd1b.js +0 -25
  342. package/dist/assets/cesium/Workers/EncodedCartesian3-ea0e408f.js +0 -25
  343. package/dist/assets/cesium/Workers/FrustumGeometry-a8b5d817.js +0 -25
  344. package/dist/assets/cesium/Workers/GeometryAttribute-8458a8fd.js +0 -25
  345. package/dist/assets/cesium/Workers/GeometryAttributes-ac0f8485.js +0 -25
  346. package/dist/assets/cesium/Workers/GeometryInstance-ee3aa3ba.js +0 -25
  347. package/dist/assets/cesium/Workers/GeometryOffsetAttribute-08ae0c50.js +0 -25
  348. package/dist/assets/cesium/Workers/GeometryPipeline-33ca229c.js +0 -25
  349. package/dist/assets/cesium/Workers/IndexDatatype-e713bfd2.js +0 -25
  350. package/dist/assets/cesium/Workers/IntersectionTests-eb4db8e0.js +0 -25
  351. package/dist/assets/cesium/Workers/Matrix2-eefef8eb.js +0 -25
  352. package/dist/assets/cesium/Workers/OrientedBoundingBox-5193f9a2.js +0 -25
  353. package/dist/assets/cesium/Workers/Plane-b0299683.js +0 -25
  354. package/dist/assets/cesium/Workers/PolygonGeometryLibrary-b61295f3.js +0 -25
  355. package/dist/assets/cesium/Workers/PolygonPipeline-eb527514.js +0 -25
  356. package/dist/assets/cesium/Workers/PolylinePipeline-0f23dd84.js +0 -25
  357. package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-2d903430.js +0 -25
  358. package/dist/assets/cesium/Workers/PrimitivePipeline-e2640413.js +0 -25
  359. package/dist/assets/cesium/Workers/RectangleGeometryLibrary-ae8bf8a5.js +0 -25
  360. package/dist/assets/cesium/Workers/RuntimeError-5baf5c66.js +0 -25
  361. package/dist/assets/cesium/Workers/TerrainEncoding-bc10ab54.js +0 -25
  362. package/dist/assets/cesium/Workers/Transforms-d2e5867e.js +0 -63
  363. package/dist/assets/cesium/Workers/VertexFormat-5ec0d9ff.js +0 -25
  364. package/dist/assets/cesium/Workers/WallGeometryLibrary-1a33e416.js +0 -25
  365. package/dist/assets/cesium/Workers/WebGLConstants-5b50ced1.js +0 -25
  366. package/dist/assets/cesium/Workers/WebMercatorProjection-cd2f30c2.js +0 -25
  367. package/dist/assets/cesium/Workers/_commonjsHelpers-bc29abbc.js +0 -25
  368. package/dist/assets/cesium/Workers/arrayRemoveDuplicates-f13aceb1.js +0 -25
  369. package/dist/assets/cesium/Workers/combine-7533016d.js +0 -25
  370. package/dist/assets/cesium/Workers/defaultValue-0c475b81.js +0 -25
  371. package/dist/assets/cesium/Workers/package.json +0 -1
  372. package/dist/assets/ui.08c48f.css +0 -1
  373. package/plugins/@vcmap/pluginExample/config.json +0 -6
  374. package/plugins/@vcmap/pluginExample/package.json +0 -7
  375. package/plugins/categoryTest/ItemEditor.vue +0 -13
  376. package/plugins/test/allIconsComponent.vue +0 -50
  377. package/plugins/test/index.js +0 -209
  378. package/plugins/wizardExample/wizardExample.vue +0 -77
  379. package/src/components/form-inputs-controls/VcsColorPicker.vue +0 -85
@@ -1,25 +1,1023 @@
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(["./AttributeCompression-7b0f288d","./Transforms-d2e5867e","./Matrix2-eefef8eb","./defaultValue-0c475b81","./TerrainEncoding-bc10ab54","./IndexDatatype-e713bfd2","./ComponentDatatype-0200bf8c","./OrientedBoundingBox-5193f9a2","./createTaskProcessorWorker","./_commonjsHelpers-bc29abbc","./combine-7533016d","./RuntimeError-5baf5c66","./WebGLConstants-5b50ced1","./EllipsoidTangentPlane-c080fd1b","./AxisAlignedBoundingBox-d0c22774","./IntersectionTests-eb4db8e0","./Plane-b0299683"],(function(e,t,n,i,s,r,h,o,u,d,p,l,a,c,f,g,m){"use strict";const x={clipTriangleAtAxisAlignedThreshold:function(e,t,n,s,r,h){let o,u,d;i.defined(h)?h.length=0:h=[],t?(o=n<e,u=s<e,d=r<e):(o=n>e,u=s>e,d=r>e);const p=o+u+d;let l,a,c,f,g,m;return 1===p?o?(l=(e-n)/(s-n),a=(e-n)/(r-n),h.push(1),h.push(2),1!==a&&(h.push(-1),h.push(0),h.push(2),h.push(a)),1!==l&&(h.push(-1),h.push(0),h.push(1),h.push(l))):u?(c=(e-s)/(r-s),f=(e-s)/(n-s),h.push(2),h.push(0),1!==f&&(h.push(-1),h.push(1),h.push(0),h.push(f)),1!==c&&(h.push(-1),h.push(1),h.push(2),h.push(c))):d&&(g=(e-r)/(n-r),m=(e-r)/(s-r),h.push(0),h.push(1),1!==m&&(h.push(-1),h.push(2),h.push(1),h.push(m)),1!==g&&(h.push(-1),h.push(2),h.push(0),h.push(g))):2===p?o||n===e?u||s===e?d||r===e||(a=(e-n)/(r-n),c=(e-s)/(r-s),h.push(2),h.push(-1),h.push(0),h.push(2),h.push(a),h.push(-1),h.push(1),h.push(2),h.push(c)):(m=(e-r)/(s-r),l=(e-n)/(s-n),h.push(1),h.push(-1),h.push(2),h.push(1),h.push(m),h.push(-1),h.push(0),h.push(1),h.push(l)):(f=(e-s)/(n-s),g=(e-r)/(n-r),h.push(0),h.push(-1),h.push(1),h.push(0),h.push(f),h.push(-1),h.push(2),h.push(0),h.push(g)):3!==p&&(h.push(0),h.push(1),h.push(2)),h},computeBarycentricCoordinates:function(e,t,s,r,h,o,u,d,p){const l=s-u,a=u-h,c=o-d,f=r-d,g=1/(c*l+a*f),m=t-d,x=e-u,w=(c*x+a*m)*g,C=(-f*x+l*m)*g,B=1-w-C;return i.defined(p)?(p.x=w,p.y=C,p.z=B,p):new n.Cartesian3(w,C,B)},computeLineSegmentLineSegmentIntersection:function(e,t,s,r,h,o,u,d,p){const l=(d-o)*(s-e)-(u-h)*(r-t);if(0===l)return;const a=((u-h)*(t-o)-(d-o)*(e-h))/l,c=((s-e)*(t-o)-(r-t)*(e-h))/l;return a>=0&&a<=1&&c>=0&&c<=1?(i.defined(p)||(p=new n.Cartesian2),p.x=e+a*(s-e),p.y=t+a*(r-t),p):void 0}};var w=x;const C=32767,B=16383,y=[],b=[],I=[],A=new n.Cartographic;let v=new n.Cartesian3;const T=[],z=[],V=[],M=[],N=[],E=new n.Cartesian3,H=new t.BoundingSphere,R=new o.OrientedBoundingBox,O=new n.Cartesian2,S=new n.Cartesian3;function U(){this.vertexBuffer=void 0,this.index=void 0,this.first=void 0,this.second=void 0,this.ratio=void 0}U.prototype.clone=function(e){return i.defined(e)||(e=new U),e.uBuffer=this.uBuffer,e.vBuffer=this.vBuffer,e.heightBuffer=this.heightBuffer,e.normalBuffer=this.normalBuffer,e.index=this.index,e.first=this.first,e.second=this.second,e.ratio=this.ratio,e},U.prototype.initializeIndexed=function(e,t,n,i,s){this.uBuffer=e,this.vBuffer=t,this.heightBuffer=n,this.normalBuffer=i,this.index=s,this.first=void 0,this.second=void 0,this.ratio=void 0},U.prototype.initializeFromClipResult=function(e,t,n){let i=t+1;return-1!==e[t]?n[e[t]].clone(this):(this.vertexBuffer=void 0,this.index=void 0,this.first=n[e[i]],++i,this.second=n[e[i]],++i,this.ratio=e[i],++i),i},U.prototype.getKey=function(){return this.isIndexed()?this.index:JSON.stringify({first:this.first.getKey(),second:this.second.getKey(),ratio:this.ratio})},U.prototype.isIndexed=function(){return i.defined(this.index)},U.prototype.getH=function(){return i.defined(this.index)?this.heightBuffer[this.index]:h.CesiumMath.lerp(this.first.getH(),this.second.getH(),this.ratio)},U.prototype.getU=function(){return i.defined(this.index)?this.uBuffer[this.index]:h.CesiumMath.lerp(this.first.getU(),this.second.getU(),this.ratio)},U.prototype.getV=function(){return i.defined(this.index)?this.vBuffer[this.index]:h.CesiumMath.lerp(this.first.getV(),this.second.getV(),this.ratio)};let F=new n.Cartesian2,P=-1;const D=[new n.Cartesian3,new n.Cartesian3],W=[new n.Cartesian3,new n.Cartesian3];function X(t,i){++P;let s=D[P],r=W[P];return s=e.AttributeCompression.octDecode(t.first.getNormalX(),t.first.getNormalY(),s),r=e.AttributeCompression.octDecode(t.second.getNormalX(),t.second.getNormalY(),r),v=n.Cartesian3.lerp(s,r,t.ratio,v),n.Cartesian3.normalize(v,v),e.AttributeCompression.octEncode(v,i),--P,i}U.prototype.getNormalX=function(){return i.defined(this.index)?this.normalBuffer[2*this.index]:(F=X(this,F),F.x)},U.prototype.getNormalY=function(){return i.defined(this.index)?this.normalBuffer[2*this.index+1]:(F=X(this,F),F.y)};const k=[];function K(e,t,n,s,r,h,o,u,d){if(0===o.length)return;let p=0,l=0;for(;l<o.length;)l=k[p++].initializeFromClipResult(o,l,u);for(let r=0;r<p;++r){const o=k[r];if(o.isIndexed())o.newIndex=h[o.index],o.uBuffer=e,o.vBuffer=t,o.heightBuffer=n,d&&(o.normalBuffer=s);else{const r=o.getKey();if(i.defined(h[r]))o.newIndex=h[r];else{const i=e.length;e.push(o.getU()),t.push(o.getV()),n.push(o.getH()),d&&(s.push(o.getNormalX()),s.push(o.getNormalY())),o.newIndex=i,h[r]=i}}}3===p?(r.push(k[0].newIndex),r.push(k[1].newIndex),r.push(k[2].newIndex)):4===p&&(r.push(k[0].newIndex),r.push(k[1].newIndex),r.push(k[2].newIndex),r.push(k[0].newIndex),r.push(k[2].newIndex),r.push(k[3].newIndex))}return k.push(new U),k.push(new U),k.push(new U),k.push(new U),u((function(e,i){const u=e.isEastChild,d=e.isNorthChild,p=u?B:0,l=u?C:B,a=d?B:0,c=d?C:B,f=T,g=z,m=V,x=N;f.length=0,g.length=0,m.length=0,x.length=0;const F=M;F.length=0;const P={},D=e.vertices;let W=e.indices;W=W.subarray(0,e.indexCountWithoutSkirts);const X=s.TerrainEncoding.clone(e.encoding),k=X.hasVertexNormals;let L=0;const Y=e.vertexCountWithoutSkirts,_=e.minimumHeight,j=e.maximumHeight,G=new Array(Y),J=new Array(Y),Z=new Array(Y),q=k?new Array(2*Y):void 0;let Q,$,ee,te,ne;for($=0,ee=0;$<Y;++$,ee+=2){const e=X.decodeTextureCoordinates(D,$,O);if(Q=X.decodeHeight(D,$),te=h.CesiumMath.clamp(e.x*C|0,0,C),ne=h.CesiumMath.clamp(e.y*C|0,0,C),Z[$]=h.CesiumMath.clamp((Q-_)/(j-_)*C|0,0,C),te<20&&(te=0),ne<20&&(ne=0),C-te<20&&(te=C),C-ne<20&&(ne=C),G[$]=te,J[$]=ne,k){const e=X.getOctEncodedNormal(D,$,S);q[ee]=e.x,q[ee+1]=e.y}(u&&te>=B||!u&&te<=B)&&(d&&ne>=B||!d&&ne<=B)&&(P[$]=L,f.push(te),g.push(ne),m.push(Z[$]),k&&(x.push(q[ee]),x.push(q[ee+1])),++L)}const ie=[];ie.push(new U),ie.push(new U),ie.push(new U);const se=[];let re,he;for(se.push(new U),se.push(new U),se.push(new U),$=0;$<W.length;$+=3){const e=W[$],t=W[$+1],n=W[$+2],i=G[e],s=G[t],r=G[n];ie[0].initializeIndexed(G,J,Z,q,e),ie[1].initializeIndexed(G,J,Z,q,t),ie[2].initializeIndexed(G,J,Z,q,n);const h=w.clipTriangleAtAxisAlignedThreshold(B,u,i,s,r,y);re=0,re>=h.length||(re=se[0].initializeFromClipResult(h,re,ie),re>=h.length||(re=se[1].initializeFromClipResult(h,re,ie),re>=h.length||(re=se[2].initializeFromClipResult(h,re,ie),he=w.clipTriangleAtAxisAlignedThreshold(B,d,se[0].getV(),se[1].getV(),se[2].getV(),b),K(f,g,m,x,F,P,he,se,k),re<h.length&&(se[2].clone(se[1]),se[2].initializeFromClipResult(h,re,ie),he=w.clipTriangleAtAxisAlignedThreshold(B,d,se[0].getV(),se[1].getV(),se[2].getV(),b),K(f,g,m,x,F,P,he,se,k)))))}const oe=u?-32767:0,ue=d?-32767:0,de=[],pe=[],le=[],ae=[];let ce=Number.MAX_VALUE,fe=-ce;const ge=I;ge.length=0;const me=n.Ellipsoid.clone(e.ellipsoid),xe=n.Rectangle.clone(e.childRectangle),we=xe.north,Ce=xe.south;let Be=xe.east;const ye=xe.west;for(Be<ye&&(Be+=h.CesiumMath.TWO_PI),$=0;$<f.length;++$)te=Math.round(f[$]),te<=p?(de.push($),te=0):te>=l?(le.push($),te=C):te=2*te+oe,f[$]=te,ne=Math.round(g[$]),ne<=a?(pe.push($),ne=0):ne>=c?(ae.push($),ne=C):ne=2*ne+ue,g[$]=ne,Q=h.CesiumMath.lerp(_,j,m[$]/C),Q<ce&&(ce=Q),Q>fe&&(fe=Q),m[$]=Q,A.longitude=h.CesiumMath.lerp(ye,Be,te/C),A.latitude=h.CesiumMath.lerp(Ce,we,ne/C),A.height=Q,me.cartographicToCartesian(A,v),ge.push(v.x),ge.push(v.y),ge.push(v.z);const be=t.BoundingSphere.fromVertices(ge,n.Cartesian3.ZERO,3,H),Ie=o.OrientedBoundingBox.fromRectangle(xe,ce,fe,me,R),Ae=new s.EllipsoidalOccluder(me).computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid(be.center,ge,3,be.center,ce,E),ve=fe-ce,Te=new Uint16Array(f.length+g.length+m.length);for($=0;$<f.length;++$)Te[$]=f[$];let ze=f.length;for($=0;$<g.length;++$)Te[ze+$]=g[$];for(ze+=g.length,$=0;$<m.length;++$)Te[ze+$]=C*(m[$]-ce)/ve;const Ve=r.IndexDatatype.createTypedArray(f.length,F);let Me;if(k){const e=new Uint8Array(x);i.push(Te.buffer,Ve.buffer,e.buffer),Me=e.buffer}else i.push(Te.buffer,Ve.buffer);return{vertices:Te.buffer,encodedNormals:Me,indices:Ve.buffer,minimumHeight:ce,maximumHeight:fe,westIndices:de,southIndices:pe,eastIndices:le,northIndices:ae,boundingSphere:be,orientedBoundingBox:Ie,horizonOcclusionPoint:Ae}}))}));
1
+ define(['./AttributeCompression-b646d393', './Transforms-40229881', './Matrix2-13178034', './Matrix3-315394f6', './defaultValue-0a909f67', './TerrainEncoding-833187da', './IndexDatatype-a55ceaa1', './Check-666ab1a0', './Math-2dbd6b93', './OrientedBoundingBox-04920dc7', './createTaskProcessorWorker', './ComponentDatatype-f7b11d02', './WebGLConstants-a8cc3e8c', './combine-ca22a614', './RuntimeError-06c93819', './EllipsoidTangentPlane-214683dc', './AxisAlignedBoundingBox-ff186ccc', './IntersectionTests-f6e6bd8a', './Plane-900aa728'], (function (AttributeCompression, Transforms, Matrix2, Matrix3, defaultValue, TerrainEncoding, IndexDatatype, Check, Math$1, OrientedBoundingBox, createTaskProcessorWorker, ComponentDatatype, WebGLConstants, combine, RuntimeError, EllipsoidTangentPlane, AxisAlignedBoundingBox, IntersectionTests, Plane) { 'use strict';
2
+
3
+ /**
4
+ * Contains functions for operating on 2D triangles.
5
+ *
6
+ * @namespace Intersections2D
7
+ */
8
+ const Intersections2D = {};
9
+
10
+ /**
11
+ * Splits a 2D triangle at given axis-aligned threshold value and returns the resulting
12
+ * polygon on a given side of the threshold. The resulting polygon may have 0, 1, 2,
13
+ * 3, or 4 vertices.
14
+ *
15
+ * @param {Number} threshold The threshold coordinate value at which to clip the triangle.
16
+ * @param {Boolean} keepAbove true to keep the portion of the triangle above the threshold, or false
17
+ * to keep the portion below.
18
+ * @param {Number} u0 The coordinate of the first vertex in the triangle, in counter-clockwise order.
19
+ * @param {Number} u1 The coordinate of the second vertex in the triangle, in counter-clockwise order.
20
+ * @param {Number} u2 The coordinate of the third vertex in the triangle, in counter-clockwise order.
21
+ * @param {Number[]} [result] The array into which to copy the result. If this parameter is not supplied,
22
+ * a new array is constructed and returned.
23
+ * @returns {Number[]} The polygon that results after the clip, specified as a list of
24
+ * vertices. The vertices are specified in counter-clockwise order.
25
+ * Each vertex is either an index from the existing list (identified as
26
+ * a 0, 1, or 2) or -1 indicating a new vertex not in the original triangle.
27
+ * For new vertices, the -1 is followed by three additional numbers: the
28
+ * index of each of the two original vertices forming the line segment that
29
+ * the new vertex lies on, and the fraction of the distance from the first
30
+ * vertex to the second one.
31
+ *
32
+ * @example
33
+ * const result = Cesium.Intersections2D.clipTriangleAtAxisAlignedThreshold(0.5, false, 0.2, 0.6, 0.4);
34
+ * // result === [2, 0, -1, 1, 0, 0.25, -1, 1, 2, 0.5]
35
+ */
36
+ Intersections2D.clipTriangleAtAxisAlignedThreshold = function (
37
+ threshold,
38
+ keepAbove,
39
+ u0,
40
+ u1,
41
+ u2,
42
+ result
43
+ ) {
44
+ //>>includeStart('debug', pragmas.debug);
45
+ if (!defaultValue.defined(threshold)) {
46
+ throw new Check.DeveloperError("threshold is required.");
47
+ }
48
+ if (!defaultValue.defined(keepAbove)) {
49
+ throw new Check.DeveloperError("keepAbove is required.");
50
+ }
51
+ if (!defaultValue.defined(u0)) {
52
+ throw new Check.DeveloperError("u0 is required.");
53
+ }
54
+ if (!defaultValue.defined(u1)) {
55
+ throw new Check.DeveloperError("u1 is required.");
56
+ }
57
+ if (!defaultValue.defined(u2)) {
58
+ throw new Check.DeveloperError("u2 is required.");
59
+ }
60
+ //>>includeEnd('debug');
61
+
62
+ if (!defaultValue.defined(result)) {
63
+ result = [];
64
+ } else {
65
+ result.length = 0;
66
+ }
67
+
68
+ let u0Behind;
69
+ let u1Behind;
70
+ let u2Behind;
71
+ if (keepAbove) {
72
+ u0Behind = u0 < threshold;
73
+ u1Behind = u1 < threshold;
74
+ u2Behind = u2 < threshold;
75
+ } else {
76
+ u0Behind = u0 > threshold;
77
+ u1Behind = u1 > threshold;
78
+ u2Behind = u2 > threshold;
79
+ }
80
+
81
+ const numBehind = u0Behind + u1Behind + u2Behind;
82
+
83
+ let u01Ratio;
84
+ let u02Ratio;
85
+ let u12Ratio;
86
+ let u10Ratio;
87
+ let u20Ratio;
88
+ let u21Ratio;
89
+
90
+ if (numBehind === 1) {
91
+ if (u0Behind) {
92
+ u01Ratio = (threshold - u0) / (u1 - u0);
93
+ u02Ratio = (threshold - u0) / (u2 - u0);
94
+
95
+ result.push(1);
96
+
97
+ result.push(2);
98
+
99
+ if (u02Ratio !== 1.0) {
100
+ result.push(-1);
101
+ result.push(0);
102
+ result.push(2);
103
+ result.push(u02Ratio);
104
+ }
105
+
106
+ if (u01Ratio !== 1.0) {
107
+ result.push(-1);
108
+ result.push(0);
109
+ result.push(1);
110
+ result.push(u01Ratio);
111
+ }
112
+ } else if (u1Behind) {
113
+ u12Ratio = (threshold - u1) / (u2 - u1);
114
+ u10Ratio = (threshold - u1) / (u0 - u1);
115
+
116
+ result.push(2);
117
+
118
+ result.push(0);
119
+
120
+ if (u10Ratio !== 1.0) {
121
+ result.push(-1);
122
+ result.push(1);
123
+ result.push(0);
124
+ result.push(u10Ratio);
125
+ }
126
+
127
+ if (u12Ratio !== 1.0) {
128
+ result.push(-1);
129
+ result.push(1);
130
+ result.push(2);
131
+ result.push(u12Ratio);
132
+ }
133
+ } else if (u2Behind) {
134
+ u20Ratio = (threshold - u2) / (u0 - u2);
135
+ u21Ratio = (threshold - u2) / (u1 - u2);
136
+
137
+ result.push(0);
138
+
139
+ result.push(1);
140
+
141
+ if (u21Ratio !== 1.0) {
142
+ result.push(-1);
143
+ result.push(2);
144
+ result.push(1);
145
+ result.push(u21Ratio);
146
+ }
147
+
148
+ if (u20Ratio !== 1.0) {
149
+ result.push(-1);
150
+ result.push(2);
151
+ result.push(0);
152
+ result.push(u20Ratio);
153
+ }
154
+ }
155
+ } else if (numBehind === 2) {
156
+ if (!u0Behind && u0 !== threshold) {
157
+ u10Ratio = (threshold - u1) / (u0 - u1);
158
+ u20Ratio = (threshold - u2) / (u0 - u2);
159
+
160
+ result.push(0);
161
+
162
+ result.push(-1);
163
+ result.push(1);
164
+ result.push(0);
165
+ result.push(u10Ratio);
166
+
167
+ result.push(-1);
168
+ result.push(2);
169
+ result.push(0);
170
+ result.push(u20Ratio);
171
+ } else if (!u1Behind && u1 !== threshold) {
172
+ u21Ratio = (threshold - u2) / (u1 - u2);
173
+ u01Ratio = (threshold - u0) / (u1 - u0);
174
+
175
+ result.push(1);
176
+
177
+ result.push(-1);
178
+ result.push(2);
179
+ result.push(1);
180
+ result.push(u21Ratio);
181
+
182
+ result.push(-1);
183
+ result.push(0);
184
+ result.push(1);
185
+ result.push(u01Ratio);
186
+ } else if (!u2Behind && u2 !== threshold) {
187
+ u02Ratio = (threshold - u0) / (u2 - u0);
188
+ u12Ratio = (threshold - u1) / (u2 - u1);
189
+
190
+ result.push(2);
191
+
192
+ result.push(-1);
193
+ result.push(0);
194
+ result.push(2);
195
+ result.push(u02Ratio);
196
+
197
+ result.push(-1);
198
+ result.push(1);
199
+ result.push(2);
200
+ result.push(u12Ratio);
201
+ }
202
+ } else if (numBehind !== 3) {
203
+ // Completely in front of threshold
204
+ result.push(0);
205
+ result.push(1);
206
+ result.push(2);
207
+ }
208
+ // else Completely behind threshold
209
+
210
+ return result;
211
+ };
212
+
213
+ /**
214
+ * Compute the barycentric coordinates of a 2D position within a 2D triangle.
215
+ *
216
+ * @param {Number} x The x coordinate of the position for which to find the barycentric coordinates.
217
+ * @param {Number} y The y coordinate of the position for which to find the barycentric coordinates.
218
+ * @param {Number} x1 The x coordinate of the triangle's first vertex.
219
+ * @param {Number} y1 The y coordinate of the triangle's first vertex.
220
+ * @param {Number} x2 The x coordinate of the triangle's second vertex.
221
+ * @param {Number} y2 The y coordinate of the triangle's second vertex.
222
+ * @param {Number} x3 The x coordinate of the triangle's third vertex.
223
+ * @param {Number} y3 The y coordinate of the triangle's third vertex.
224
+ * @param {Cartesian3} [result] The instance into to which to copy the result. If this parameter
225
+ * is undefined, a new instance is created and returned.
226
+ * @returns {Cartesian3} The barycentric coordinates of the position within the triangle.
227
+ *
228
+ * @example
229
+ * const result = Cesium.Intersections2D.computeBarycentricCoordinates(0.0, 0.0, 0.0, 1.0, -1, -0.5, 1, -0.5);
230
+ * // result === new Cesium.Cartesian3(1.0 / 3.0, 1.0 / 3.0, 1.0 / 3.0);
231
+ */
232
+ Intersections2D.computeBarycentricCoordinates = function (
233
+ x,
234
+ y,
235
+ x1,
236
+ y1,
237
+ x2,
238
+ y2,
239
+ x3,
240
+ y3,
241
+ result
242
+ ) {
243
+ //>>includeStart('debug', pragmas.debug);
244
+ if (!defaultValue.defined(x)) {
245
+ throw new Check.DeveloperError("x is required.");
246
+ }
247
+ if (!defaultValue.defined(y)) {
248
+ throw new Check.DeveloperError("y is required.");
249
+ }
250
+ if (!defaultValue.defined(x1)) {
251
+ throw new Check.DeveloperError("x1 is required.");
252
+ }
253
+ if (!defaultValue.defined(y1)) {
254
+ throw new Check.DeveloperError("y1 is required.");
255
+ }
256
+ if (!defaultValue.defined(x2)) {
257
+ throw new Check.DeveloperError("x2 is required.");
258
+ }
259
+ if (!defaultValue.defined(y2)) {
260
+ throw new Check.DeveloperError("y2 is required.");
261
+ }
262
+ if (!defaultValue.defined(x3)) {
263
+ throw new Check.DeveloperError("x3 is required.");
264
+ }
265
+ if (!defaultValue.defined(y3)) {
266
+ throw new Check.DeveloperError("y3 is required.");
267
+ }
268
+ //>>includeEnd('debug');
269
+
270
+ const x1mx3 = x1 - x3;
271
+ const x3mx2 = x3 - x2;
272
+ const y2my3 = y2 - y3;
273
+ const y1my3 = y1 - y3;
274
+ const inverseDeterminant = 1.0 / (y2my3 * x1mx3 + x3mx2 * y1my3);
275
+ const ymy3 = y - y3;
276
+ const xmx3 = x - x3;
277
+ const l1 = (y2my3 * xmx3 + x3mx2 * ymy3) * inverseDeterminant;
278
+ const l2 = (-y1my3 * xmx3 + x1mx3 * ymy3) * inverseDeterminant;
279
+ const l3 = 1.0 - l1 - l2;
280
+
281
+ if (defaultValue.defined(result)) {
282
+ result.x = l1;
283
+ result.y = l2;
284
+ result.z = l3;
285
+ return result;
286
+ }
287
+ return new Matrix3.Cartesian3(l1, l2, l3);
288
+ };
289
+
290
+ /**
291
+ * Compute the intersection between 2 line segments
292
+ *
293
+ * @param {Number} x00 The x coordinate of the first line's first vertex.
294
+ * @param {Number} y00 The y coordinate of the first line's first vertex.
295
+ * @param {Number} x01 The x coordinate of the first line's second vertex.
296
+ * @param {Number} y01 The y coordinate of the first line's second vertex.
297
+ * @param {Number} x10 The x coordinate of the second line's first vertex.
298
+ * @param {Number} y10 The y coordinate of the second line's first vertex.
299
+ * @param {Number} x11 The x coordinate of the second line's second vertex.
300
+ * @param {Number} y11 The y coordinate of the second line's second vertex.
301
+ * @param {Cartesian2} [result] The instance into to which to copy the result. If this parameter
302
+ * is undefined, a new instance is created and returned.
303
+ * @returns {Cartesian2} The intersection point, undefined if there is no intersection point or lines are coincident.
304
+ *
305
+ * @example
306
+ * const result = Cesium.Intersections2D.computeLineSegmentLineSegmentIntersection(0.0, 0.0, 0.0, 2.0, -1, 1, 1, 1);
307
+ * // result === new Cesium.Cartesian2(0.0, 1.0);
308
+ */
309
+ Intersections2D.computeLineSegmentLineSegmentIntersection = function (
310
+ x00,
311
+ y00,
312
+ x01,
313
+ y01,
314
+ x10,
315
+ y10,
316
+ x11,
317
+ y11,
318
+ result
319
+ ) {
320
+ //>>includeStart('debug', pragmas.debug);
321
+ Check.Check.typeOf.number("x00", x00);
322
+ Check.Check.typeOf.number("y00", y00);
323
+ Check.Check.typeOf.number("x01", x01);
324
+ Check.Check.typeOf.number("y01", y01);
325
+ Check.Check.typeOf.number("x10", x10);
326
+ Check.Check.typeOf.number("y10", y10);
327
+ Check.Check.typeOf.number("x11", x11);
328
+ Check.Check.typeOf.number("y11", y11);
329
+ //>>includeEnd('debug');
330
+
331
+ const numerator1A = (x11 - x10) * (y00 - y10) - (y11 - y10) * (x00 - x10);
332
+ const numerator1B = (x01 - x00) * (y00 - y10) - (y01 - y00) * (x00 - x10);
333
+ const denominator1 = (y11 - y10) * (x01 - x00) - (x11 - x10) * (y01 - y00);
334
+
335
+ // If denominator = 0, then lines are parallel. If denominator = 0 and both numerators are 0, then coincident
336
+ if (denominator1 === 0) {
337
+ return;
338
+ }
339
+
340
+ const ua1 = numerator1A / denominator1;
341
+ const ub1 = numerator1B / denominator1;
342
+
343
+ if (ua1 >= 0 && ua1 <= 1 && ub1 >= 0 && ub1 <= 1) {
344
+ if (!defaultValue.defined(result)) {
345
+ result = new Matrix2.Cartesian2();
346
+ }
347
+
348
+ result.x = x00 + ua1 * (x01 - x00);
349
+ result.y = y00 + ua1 * (y01 - y00);
350
+
351
+ return result;
352
+ }
353
+ };
354
+ var Intersections2D$1 = Intersections2D;
355
+
356
+ const maxShort = 32767;
357
+ const halfMaxShort = (maxShort / 2) | 0;
358
+
359
+ const clipScratch = [];
360
+ const clipScratch2 = [];
361
+ const verticesScratch = [];
362
+ const cartographicScratch = new Matrix3.Cartographic();
363
+ let cartesian3Scratch = new Matrix3.Cartesian3();
364
+ const uScratch = [];
365
+ const vScratch = [];
366
+ const heightScratch = [];
367
+ const indicesScratch = [];
368
+ const normalsScratch = [];
369
+ const horizonOcclusionPointScratch = new Matrix3.Cartesian3();
370
+ const boundingSphereScratch = new Transforms.BoundingSphere();
371
+ const orientedBoundingBoxScratch = new OrientedBoundingBox.OrientedBoundingBox();
372
+ const decodeTexCoordsScratch = new Matrix2.Cartesian2();
373
+ const octEncodedNormalScratch = new Matrix3.Cartesian3();
374
+
375
+ function upsampleQuantizedTerrainMesh(parameters, transferableObjects) {
376
+ const isEastChild = parameters.isEastChild;
377
+ const isNorthChild = parameters.isNorthChild;
378
+
379
+ const minU = isEastChild ? halfMaxShort : 0;
380
+ const maxU = isEastChild ? maxShort : halfMaxShort;
381
+ const minV = isNorthChild ? halfMaxShort : 0;
382
+ const maxV = isNorthChild ? maxShort : halfMaxShort;
383
+
384
+ const uBuffer = uScratch;
385
+ const vBuffer = vScratch;
386
+ const heightBuffer = heightScratch;
387
+ const normalBuffer = normalsScratch;
388
+
389
+ uBuffer.length = 0;
390
+ vBuffer.length = 0;
391
+ heightBuffer.length = 0;
392
+ normalBuffer.length = 0;
393
+
394
+ const indices = indicesScratch;
395
+ indices.length = 0;
396
+
397
+ const vertexMap = {};
398
+
399
+ const parentVertices = parameters.vertices;
400
+ let parentIndices = parameters.indices;
401
+ parentIndices = parentIndices.subarray(0, parameters.indexCountWithoutSkirts);
402
+
403
+ const encoding = TerrainEncoding.TerrainEncoding.clone(parameters.encoding);
404
+ const hasVertexNormals = encoding.hasVertexNormals;
405
+
406
+ let vertexCount = 0;
407
+ const quantizedVertexCount = parameters.vertexCountWithoutSkirts;
408
+
409
+ const parentMinimumHeight = parameters.minimumHeight;
410
+ const parentMaximumHeight = parameters.maximumHeight;
411
+
412
+ const parentUBuffer = new Array(quantizedVertexCount);
413
+ const parentVBuffer = new Array(quantizedVertexCount);
414
+ const parentHeightBuffer = new Array(quantizedVertexCount);
415
+ const parentNormalBuffer = hasVertexNormals
416
+ ? new Array(quantizedVertexCount * 2)
417
+ : undefined;
418
+
419
+ const threshold = 20;
420
+ let height;
421
+
422
+ let i, n;
423
+ let u, v;
424
+ for (i = 0, n = 0; i < quantizedVertexCount; ++i, n += 2) {
425
+ const texCoords = encoding.decodeTextureCoordinates(
426
+ parentVertices,
427
+ i,
428
+ decodeTexCoordsScratch
429
+ );
430
+ height = encoding.decodeHeight(parentVertices, i);
431
+
432
+ u = Math$1.CesiumMath.clamp((texCoords.x * maxShort) | 0, 0, maxShort);
433
+ v = Math$1.CesiumMath.clamp((texCoords.y * maxShort) | 0, 0, maxShort);
434
+ parentHeightBuffer[i] = Math$1.CesiumMath.clamp(
435
+ (((height - parentMinimumHeight) /
436
+ (parentMaximumHeight - parentMinimumHeight)) *
437
+ maxShort) |
438
+ 0,
439
+ 0,
440
+ maxShort
441
+ );
442
+
443
+ if (u < threshold) {
444
+ u = 0;
445
+ }
446
+
447
+ if (v < threshold) {
448
+ v = 0;
449
+ }
450
+
451
+ if (maxShort - u < threshold) {
452
+ u = maxShort;
453
+ }
454
+
455
+ if (maxShort - v < threshold) {
456
+ v = maxShort;
457
+ }
458
+
459
+ parentUBuffer[i] = u;
460
+ parentVBuffer[i] = v;
461
+
462
+ if (hasVertexNormals) {
463
+ const encodedNormal = encoding.getOctEncodedNormal(
464
+ parentVertices,
465
+ i,
466
+ octEncodedNormalScratch
467
+ );
468
+ parentNormalBuffer[n] = encodedNormal.x;
469
+ parentNormalBuffer[n + 1] = encodedNormal.y;
470
+ }
471
+
472
+ if (
473
+ ((isEastChild && u >= halfMaxShort) ||
474
+ (!isEastChild && u <= halfMaxShort)) &&
475
+ ((isNorthChild && v >= halfMaxShort) ||
476
+ (!isNorthChild && v <= halfMaxShort))
477
+ ) {
478
+ vertexMap[i] = vertexCount;
479
+ uBuffer.push(u);
480
+ vBuffer.push(v);
481
+ heightBuffer.push(parentHeightBuffer[i]);
482
+ if (hasVertexNormals) {
483
+ normalBuffer.push(parentNormalBuffer[n]);
484
+ normalBuffer.push(parentNormalBuffer[n + 1]);
485
+ }
486
+
487
+ ++vertexCount;
488
+ }
489
+ }
490
+
491
+ const triangleVertices = [];
492
+ triangleVertices.push(new Vertex());
493
+ triangleVertices.push(new Vertex());
494
+ triangleVertices.push(new Vertex());
495
+
496
+ const clippedTriangleVertices = [];
497
+ clippedTriangleVertices.push(new Vertex());
498
+ clippedTriangleVertices.push(new Vertex());
499
+ clippedTriangleVertices.push(new Vertex());
500
+
501
+ let clippedIndex;
502
+ let clipped2;
503
+
504
+ for (i = 0; i < parentIndices.length; i += 3) {
505
+ const i0 = parentIndices[i];
506
+ const i1 = parentIndices[i + 1];
507
+ const i2 = parentIndices[i + 2];
508
+
509
+ const u0 = parentUBuffer[i0];
510
+ const u1 = parentUBuffer[i1];
511
+ const u2 = parentUBuffer[i2];
512
+
513
+ triangleVertices[0].initializeIndexed(
514
+ parentUBuffer,
515
+ parentVBuffer,
516
+ parentHeightBuffer,
517
+ parentNormalBuffer,
518
+ i0
519
+ );
520
+ triangleVertices[1].initializeIndexed(
521
+ parentUBuffer,
522
+ parentVBuffer,
523
+ parentHeightBuffer,
524
+ parentNormalBuffer,
525
+ i1
526
+ );
527
+ triangleVertices[2].initializeIndexed(
528
+ parentUBuffer,
529
+ parentVBuffer,
530
+ parentHeightBuffer,
531
+ parentNormalBuffer,
532
+ i2
533
+ );
534
+
535
+ // Clip triangle on the east-west boundary.
536
+ const clipped = Intersections2D$1.clipTriangleAtAxisAlignedThreshold(
537
+ halfMaxShort,
538
+ isEastChild,
539
+ u0,
540
+ u1,
541
+ u2,
542
+ clipScratch
543
+ );
544
+
545
+ // Get the first clipped triangle, if any.
546
+ clippedIndex = 0;
547
+
548
+ if (clippedIndex >= clipped.length) {
549
+ continue;
550
+ }
551
+ clippedIndex = clippedTriangleVertices[0].initializeFromClipResult(
552
+ clipped,
553
+ clippedIndex,
554
+ triangleVertices
555
+ );
556
+
557
+ if (clippedIndex >= clipped.length) {
558
+ continue;
559
+ }
560
+ clippedIndex = clippedTriangleVertices[1].initializeFromClipResult(
561
+ clipped,
562
+ clippedIndex,
563
+ triangleVertices
564
+ );
565
+
566
+ if (clippedIndex >= clipped.length) {
567
+ continue;
568
+ }
569
+ clippedIndex = clippedTriangleVertices[2].initializeFromClipResult(
570
+ clipped,
571
+ clippedIndex,
572
+ triangleVertices
573
+ );
574
+
575
+ // Clip the triangle against the North-south boundary.
576
+ clipped2 = Intersections2D$1.clipTriangleAtAxisAlignedThreshold(
577
+ halfMaxShort,
578
+ isNorthChild,
579
+ clippedTriangleVertices[0].getV(),
580
+ clippedTriangleVertices[1].getV(),
581
+ clippedTriangleVertices[2].getV(),
582
+ clipScratch2
583
+ );
584
+ addClippedPolygon(
585
+ uBuffer,
586
+ vBuffer,
587
+ heightBuffer,
588
+ normalBuffer,
589
+ indices,
590
+ vertexMap,
591
+ clipped2,
592
+ clippedTriangleVertices,
593
+ hasVertexNormals
594
+ );
595
+
596
+ // If there's another vertex in the original clipped result,
597
+ // it forms a second triangle. Clip it as well.
598
+ if (clippedIndex < clipped.length) {
599
+ clippedTriangleVertices[2].clone(clippedTriangleVertices[1]);
600
+ clippedTriangleVertices[2].initializeFromClipResult(
601
+ clipped,
602
+ clippedIndex,
603
+ triangleVertices
604
+ );
605
+
606
+ clipped2 = Intersections2D$1.clipTriangleAtAxisAlignedThreshold(
607
+ halfMaxShort,
608
+ isNorthChild,
609
+ clippedTriangleVertices[0].getV(),
610
+ clippedTriangleVertices[1].getV(),
611
+ clippedTriangleVertices[2].getV(),
612
+ clipScratch2
613
+ );
614
+ addClippedPolygon(
615
+ uBuffer,
616
+ vBuffer,
617
+ heightBuffer,
618
+ normalBuffer,
619
+ indices,
620
+ vertexMap,
621
+ clipped2,
622
+ clippedTriangleVertices,
623
+ hasVertexNormals
624
+ );
625
+ }
626
+ }
627
+
628
+ const uOffset = isEastChild ? -maxShort : 0;
629
+ const vOffset = isNorthChild ? -maxShort : 0;
630
+
631
+ const westIndices = [];
632
+ const southIndices = [];
633
+ const eastIndices = [];
634
+ const northIndices = [];
635
+
636
+ let minimumHeight = Number.MAX_VALUE;
637
+ let maximumHeight = -minimumHeight;
638
+
639
+ const cartesianVertices = verticesScratch;
640
+ cartesianVertices.length = 0;
641
+
642
+ const ellipsoid = Matrix3.Ellipsoid.clone(parameters.ellipsoid);
643
+ const rectangle = Matrix2.Rectangle.clone(parameters.childRectangle);
644
+
645
+ const north = rectangle.north;
646
+ const south = rectangle.south;
647
+ let east = rectangle.east;
648
+ const west = rectangle.west;
649
+
650
+ if (east < west) {
651
+ east += Math$1.CesiumMath.TWO_PI;
652
+ }
653
+
654
+ for (i = 0; i < uBuffer.length; ++i) {
655
+ u = Math.round(uBuffer[i]);
656
+ if (u <= minU) {
657
+ westIndices.push(i);
658
+ u = 0;
659
+ } else if (u >= maxU) {
660
+ eastIndices.push(i);
661
+ u = maxShort;
662
+ } else {
663
+ u = u * 2 + uOffset;
664
+ }
665
+
666
+ uBuffer[i] = u;
667
+
668
+ v = Math.round(vBuffer[i]);
669
+ if (v <= minV) {
670
+ southIndices.push(i);
671
+ v = 0;
672
+ } else if (v >= maxV) {
673
+ northIndices.push(i);
674
+ v = maxShort;
675
+ } else {
676
+ v = v * 2 + vOffset;
677
+ }
678
+
679
+ vBuffer[i] = v;
680
+
681
+ height = Math$1.CesiumMath.lerp(
682
+ parentMinimumHeight,
683
+ parentMaximumHeight,
684
+ heightBuffer[i] / maxShort
685
+ );
686
+ if (height < minimumHeight) {
687
+ minimumHeight = height;
688
+ }
689
+ if (height > maximumHeight) {
690
+ maximumHeight = height;
691
+ }
692
+
693
+ heightBuffer[i] = height;
694
+
695
+ cartographicScratch.longitude = Math$1.CesiumMath.lerp(west, east, u / maxShort);
696
+ cartographicScratch.latitude = Math$1.CesiumMath.lerp(south, north, v / maxShort);
697
+ cartographicScratch.height = height;
698
+
699
+ ellipsoid.cartographicToCartesian(cartographicScratch, cartesian3Scratch);
700
+
701
+ cartesianVertices.push(cartesian3Scratch.x);
702
+ cartesianVertices.push(cartesian3Scratch.y);
703
+ cartesianVertices.push(cartesian3Scratch.z);
704
+ }
705
+
706
+ const boundingSphere = Transforms.BoundingSphere.fromVertices(
707
+ cartesianVertices,
708
+ Matrix3.Cartesian3.ZERO,
709
+ 3,
710
+ boundingSphereScratch
711
+ );
712
+ const orientedBoundingBox = OrientedBoundingBox.OrientedBoundingBox.fromRectangle(
713
+ rectangle,
714
+ minimumHeight,
715
+ maximumHeight,
716
+ ellipsoid,
717
+ orientedBoundingBoxScratch
718
+ );
719
+
720
+ const occluder = new TerrainEncoding.EllipsoidalOccluder(ellipsoid);
721
+ const horizonOcclusionPoint = occluder.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid(
722
+ boundingSphere.center,
723
+ cartesianVertices,
724
+ 3,
725
+ boundingSphere.center,
726
+ minimumHeight,
727
+ horizonOcclusionPointScratch
728
+ );
729
+
730
+ const heightRange = maximumHeight - minimumHeight;
731
+
732
+ const vertices = new Uint16Array(
733
+ uBuffer.length + vBuffer.length + heightBuffer.length
734
+ );
735
+
736
+ for (i = 0; i < uBuffer.length; ++i) {
737
+ vertices[i] = uBuffer[i];
738
+ }
739
+
740
+ let start = uBuffer.length;
741
+
742
+ for (i = 0; i < vBuffer.length; ++i) {
743
+ vertices[start + i] = vBuffer[i];
744
+ }
745
+
746
+ start += vBuffer.length;
747
+
748
+ for (i = 0; i < heightBuffer.length; ++i) {
749
+ vertices[start + i] =
750
+ (maxShort * (heightBuffer[i] - minimumHeight)) / heightRange;
751
+ }
752
+
753
+ const indicesTypedArray = IndexDatatype.IndexDatatype.createTypedArray(
754
+ uBuffer.length,
755
+ indices
756
+ );
757
+
758
+ let encodedNormals;
759
+ if (hasVertexNormals) {
760
+ const normalArray = new Uint8Array(normalBuffer);
761
+ transferableObjects.push(
762
+ vertices.buffer,
763
+ indicesTypedArray.buffer,
764
+ normalArray.buffer
765
+ );
766
+ encodedNormals = normalArray.buffer;
767
+ } else {
768
+ transferableObjects.push(vertices.buffer, indicesTypedArray.buffer);
769
+ }
770
+
771
+ return {
772
+ vertices: vertices.buffer,
773
+ encodedNormals: encodedNormals,
774
+ indices: indicesTypedArray.buffer,
775
+ minimumHeight: minimumHeight,
776
+ maximumHeight: maximumHeight,
777
+ westIndices: westIndices,
778
+ southIndices: southIndices,
779
+ eastIndices: eastIndices,
780
+ northIndices: northIndices,
781
+ boundingSphere: boundingSphere,
782
+ orientedBoundingBox: orientedBoundingBox,
783
+ horizonOcclusionPoint: horizonOcclusionPoint,
784
+ };
785
+ }
786
+
787
+ function Vertex() {
788
+ this.vertexBuffer = undefined;
789
+ this.index = undefined;
790
+ this.first = undefined;
791
+ this.second = undefined;
792
+ this.ratio = undefined;
793
+ }
794
+
795
+ Vertex.prototype.clone = function (result) {
796
+ if (!defaultValue.defined(result)) {
797
+ result = new Vertex();
798
+ }
799
+
800
+ result.uBuffer = this.uBuffer;
801
+ result.vBuffer = this.vBuffer;
802
+ result.heightBuffer = this.heightBuffer;
803
+ result.normalBuffer = this.normalBuffer;
804
+ result.index = this.index;
805
+ result.first = this.first;
806
+ result.second = this.second;
807
+ result.ratio = this.ratio;
808
+
809
+ return result;
810
+ };
811
+
812
+ Vertex.prototype.initializeIndexed = function (
813
+ uBuffer,
814
+ vBuffer,
815
+ heightBuffer,
816
+ normalBuffer,
817
+ index
818
+ ) {
819
+ this.uBuffer = uBuffer;
820
+ this.vBuffer = vBuffer;
821
+ this.heightBuffer = heightBuffer;
822
+ this.normalBuffer = normalBuffer;
823
+ this.index = index;
824
+ this.first = undefined;
825
+ this.second = undefined;
826
+ this.ratio = undefined;
827
+ };
828
+
829
+ Vertex.prototype.initializeFromClipResult = function (
830
+ clipResult,
831
+ index,
832
+ vertices
833
+ ) {
834
+ let nextIndex = index + 1;
835
+
836
+ if (clipResult[index] !== -1) {
837
+ vertices[clipResult[index]].clone(this);
838
+ } else {
839
+ this.vertexBuffer = undefined;
840
+ this.index = undefined;
841
+ this.first = vertices[clipResult[nextIndex]];
842
+ ++nextIndex;
843
+ this.second = vertices[clipResult[nextIndex]];
844
+ ++nextIndex;
845
+ this.ratio = clipResult[nextIndex];
846
+ ++nextIndex;
847
+ }
848
+
849
+ return nextIndex;
850
+ };
851
+
852
+ Vertex.prototype.getKey = function () {
853
+ if (this.isIndexed()) {
854
+ return this.index;
855
+ }
856
+ return JSON.stringify({
857
+ first: this.first.getKey(),
858
+ second: this.second.getKey(),
859
+ ratio: this.ratio,
860
+ });
861
+ };
862
+
863
+ Vertex.prototype.isIndexed = function () {
864
+ return defaultValue.defined(this.index);
865
+ };
866
+
867
+ Vertex.prototype.getH = function () {
868
+ if (defaultValue.defined(this.index)) {
869
+ return this.heightBuffer[this.index];
870
+ }
871
+ return Math$1.CesiumMath.lerp(this.first.getH(), this.second.getH(), this.ratio);
872
+ };
873
+
874
+ Vertex.prototype.getU = function () {
875
+ if (defaultValue.defined(this.index)) {
876
+ return this.uBuffer[this.index];
877
+ }
878
+ return Math$1.CesiumMath.lerp(this.first.getU(), this.second.getU(), this.ratio);
879
+ };
880
+
881
+ Vertex.prototype.getV = function () {
882
+ if (defaultValue.defined(this.index)) {
883
+ return this.vBuffer[this.index];
884
+ }
885
+ return Math$1.CesiumMath.lerp(this.first.getV(), this.second.getV(), this.ratio);
886
+ };
887
+
888
+ let encodedScratch = new Matrix2.Cartesian2();
889
+ // An upsampled triangle may be clipped twice before it is assigned an index
890
+ // In this case, we need a buffer to handle the recursion of getNormalX() and getNormalY().
891
+ let depth = -1;
892
+ const cartesianScratch1 = [new Matrix3.Cartesian3(), new Matrix3.Cartesian3()];
893
+ const cartesianScratch2 = [new Matrix3.Cartesian3(), new Matrix3.Cartesian3()];
894
+ function lerpOctEncodedNormal(vertex, result) {
895
+ ++depth;
896
+
897
+ let first = cartesianScratch1[depth];
898
+ let second = cartesianScratch2[depth];
899
+
900
+ first = AttributeCompression.AttributeCompression.octDecode(
901
+ vertex.first.getNormalX(),
902
+ vertex.first.getNormalY(),
903
+ first
904
+ );
905
+ second = AttributeCompression.AttributeCompression.octDecode(
906
+ vertex.second.getNormalX(),
907
+ vertex.second.getNormalY(),
908
+ second
909
+ );
910
+ cartesian3Scratch = Matrix3.Cartesian3.lerp(
911
+ first,
912
+ second,
913
+ vertex.ratio,
914
+ cartesian3Scratch
915
+ );
916
+ Matrix3.Cartesian3.normalize(cartesian3Scratch, cartesian3Scratch);
917
+
918
+ AttributeCompression.AttributeCompression.octEncode(cartesian3Scratch, result);
919
+
920
+ --depth;
921
+
922
+ return result;
923
+ }
924
+
925
+ Vertex.prototype.getNormalX = function () {
926
+ if (defaultValue.defined(this.index)) {
927
+ return this.normalBuffer[this.index * 2];
928
+ }
929
+
930
+ encodedScratch = lerpOctEncodedNormal(this, encodedScratch);
931
+ return encodedScratch.x;
932
+ };
933
+
934
+ Vertex.prototype.getNormalY = function () {
935
+ if (defaultValue.defined(this.index)) {
936
+ return this.normalBuffer[this.index * 2 + 1];
937
+ }
938
+
939
+ encodedScratch = lerpOctEncodedNormal(this, encodedScratch);
940
+ return encodedScratch.y;
941
+ };
942
+
943
+ const polygonVertices = [];
944
+ polygonVertices.push(new Vertex());
945
+ polygonVertices.push(new Vertex());
946
+ polygonVertices.push(new Vertex());
947
+ polygonVertices.push(new Vertex());
948
+
949
+ function addClippedPolygon(
950
+ uBuffer,
951
+ vBuffer,
952
+ heightBuffer,
953
+ normalBuffer,
954
+ indices,
955
+ vertexMap,
956
+ clipped,
957
+ triangleVertices,
958
+ hasVertexNormals
959
+ ) {
960
+ if (clipped.length === 0) {
961
+ return;
962
+ }
963
+
964
+ let numVertices = 0;
965
+ let clippedIndex = 0;
966
+ while (clippedIndex < clipped.length) {
967
+ clippedIndex = polygonVertices[numVertices++].initializeFromClipResult(
968
+ clipped,
969
+ clippedIndex,
970
+ triangleVertices
971
+ );
972
+ }
973
+
974
+ for (let i = 0; i < numVertices; ++i) {
975
+ const polygonVertex = polygonVertices[i];
976
+ if (!polygonVertex.isIndexed()) {
977
+ const key = polygonVertex.getKey();
978
+ if (defaultValue.defined(vertexMap[key])) {
979
+ polygonVertex.newIndex = vertexMap[key];
980
+ } else {
981
+ const newIndex = uBuffer.length;
982
+ uBuffer.push(polygonVertex.getU());
983
+ vBuffer.push(polygonVertex.getV());
984
+ heightBuffer.push(polygonVertex.getH());
985
+ if (hasVertexNormals) {
986
+ normalBuffer.push(polygonVertex.getNormalX());
987
+ normalBuffer.push(polygonVertex.getNormalY());
988
+ }
989
+ polygonVertex.newIndex = newIndex;
990
+ vertexMap[key] = newIndex;
991
+ }
992
+ } else {
993
+ polygonVertex.newIndex = vertexMap[polygonVertex.index];
994
+ polygonVertex.uBuffer = uBuffer;
995
+ polygonVertex.vBuffer = vBuffer;
996
+ polygonVertex.heightBuffer = heightBuffer;
997
+ if (hasVertexNormals) {
998
+ polygonVertex.normalBuffer = normalBuffer;
999
+ }
1000
+ }
1001
+ }
1002
+
1003
+ if (numVertices === 3) {
1004
+ // A triangle.
1005
+ indices.push(polygonVertices[0].newIndex);
1006
+ indices.push(polygonVertices[1].newIndex);
1007
+ indices.push(polygonVertices[2].newIndex);
1008
+ } else if (numVertices === 4) {
1009
+ // A quad - two triangles.
1010
+ indices.push(polygonVertices[0].newIndex);
1011
+ indices.push(polygonVertices[1].newIndex);
1012
+ indices.push(polygonVertices[2].newIndex);
1013
+
1014
+ indices.push(polygonVertices[0].newIndex);
1015
+ indices.push(polygonVertices[2].newIndex);
1016
+ indices.push(polygonVertices[3].newIndex);
1017
+ }
1018
+ }
1019
+ var upsampleQuantizedTerrainMesh$1 = createTaskProcessorWorker(upsampleQuantizedTerrainMesh);
1020
+
1021
+ return upsampleQuantizedTerrainMesh$1;
1022
+
1023
+ }));