@vcmap/ui 5.0.0-rc.29 → 5.0.0-rc.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/buildHelpers.js +4 -3
- package/config/base.config.json +5 -4
- package/config/dev.config.json +8 -0
- package/config/graphFeatureInfo.config.json +1 -1
- package/config/projects.config.json +2 -2
- package/dist/assets/cesium/ThirdParty/Workers/basis_transcoder.js +1 -1
- package/dist/assets/cesium/Workers/chunk-227AJNOA.js +59 -0
- package/dist/assets/cesium/Workers/chunk-2R5O53JW.js +157 -0
- package/dist/assets/cesium/Workers/chunk-34YUDLRP.js +781 -0
- package/dist/assets/cesium/Workers/chunk-3W63OHNJ.js +100 -0
- package/dist/assets/cesium/Workers/chunk-4MFFIWUA.js +163 -0
- package/dist/assets/cesium/Workers/chunk-66QLLS45.js +218 -0
- package/dist/assets/cesium/Workers/chunk-6BTKZDRG.js +77 -0
- package/dist/assets/cesium/Workers/chunk-A4JVFBQ3.js +101 -0
- package/dist/assets/cesium/Workers/chunk-ABADGKYE.js +58 -0
- package/dist/assets/cesium/Workers/chunk-AFFLIKOH.js +353 -0
- package/dist/assets/cesium/Workers/chunk-AHKEZ2OE.js +629 -0
- package/dist/assets/cesium/Workers/chunk-C3SXRKRW.js +476 -0
- package/dist/assets/cesium/Workers/chunk-CCFQRR6D.js +55 -0
- package/dist/assets/cesium/Workers/chunk-CHHNOC2C.js +1860 -0
- package/dist/assets/cesium/Workers/chunk-CTELOFLA.js +196 -0
- package/dist/assets/cesium/Workers/chunk-DUHWWBQQ.js +3273 -0
- package/dist/assets/cesium/Workers/chunk-EW2GWJYB.js +44 -0
- package/dist/assets/cesium/Workers/chunk-GLZBE3ML.js +421 -0
- package/dist/assets/cesium/Workers/chunk-HARLBUOL.js +236 -0
- package/dist/assets/cesium/Workers/chunk-HQF437NJ.js +117 -0
- package/dist/assets/cesium/Workers/chunk-IPA4EACJ.js +368 -0
- package/dist/assets/cesium/Workers/chunk-J3JY6I2C.js +1009 -0
- package/dist/assets/cesium/Workers/chunk-JB2LWGH4.js +390 -0
- package/dist/assets/cesium/Workers/chunk-JS3AW5BK.js +634 -0
- package/dist/assets/cesium/Workers/chunk-K36FEYS7.js +452 -0
- package/dist/assets/cesium/Workers/chunk-KD4Y7CZL.js +400 -0
- package/dist/assets/cesium/Workers/chunk-KTJSNCK4.js +842 -0
- package/dist/assets/cesium/Workers/chunk-LLUNNUJV.js +258 -0
- package/dist/assets/cesium/Workers/{package.js → chunk-MPAZH4BF.js} +13 -2
- package/dist/assets/cesium/Workers/chunk-MYZB7C4T.js +1258 -0
- package/dist/assets/cesium/Workers/chunk-N3JIFFX2.js +501 -0
- package/dist/assets/cesium/Workers/chunk-O5AMBQ36.js +430 -0
- package/dist/assets/cesium/Workers/chunk-OAVNIRB4.js +124 -0
- package/dist/assets/cesium/Workers/chunk-OYFCF4PL.js +171 -0
- package/dist/assets/cesium/Workers/chunk-OZJDGN5F.js +1477 -0
- package/dist/assets/cesium/Workers/chunk-PCJWUS4M.js +2041 -0
- package/dist/assets/cesium/Workers/chunk-PFQBCKBM.js +8644 -0
- package/dist/assets/cesium/Workers/chunk-QIKODV5G.js +305 -0
- package/dist/assets/cesium/Workers/chunk-QJ3DFBH3.js +73 -0
- package/dist/assets/cesium/Workers/chunk-QMEMZIJI.js +138 -0
- package/dist/assets/cesium/Workers/chunk-QT3MPEMI.js +102 -0
- package/dist/assets/cesium/Workers/chunk-RP2A7BR5.js +289 -0
- package/dist/assets/cesium/Workers/chunk-RW6LU2CJ.js +138 -0
- package/dist/assets/cesium/Workers/chunk-TFC6TZ3S.js +757 -0
- package/dist/assets/cesium/Workers/chunk-V3NGATMV.js +693 -0
- package/dist/assets/cesium/Workers/chunk-VLGOATD6.js +1075 -0
- package/dist/assets/cesium/Workers/chunk-WXTV4ATB.js +39 -0
- package/dist/assets/cesium/Workers/chunk-X4SU25DT.js +302 -0
- package/dist/assets/cesium/Workers/chunk-XTY7B2N6.js +2716 -0
- package/dist/assets/cesium/Workers/chunk-XY7MGBKC.js +513 -0
- package/dist/assets/cesium/Workers/chunk-Z24VKNDO.js +834 -0
- package/dist/assets/cesium/Workers/chunk-ZA25DG4Y.js +684 -0
- package/dist/assets/cesium/Workers/chunk-ZFOBYDGF.js +73 -0
- package/dist/assets/cesium/Workers/combineGeometry.js +65 -15
- package/dist/assets/cesium/Workers/createBoxGeometry.js +55 -10
- package/dist/assets/cesium/Workers/createBoxOutlineGeometry.js +231 -310
- package/dist/assets/cesium/Workers/createCircleGeometry.js +185 -202
- package/dist/assets/cesium/Workers/createCircleOutlineGeometry.js +141 -155
- package/dist/assets/cesium/Workers/createCoplanarPolygonGeometry.js +477 -557
- package/dist/assets/cesium/Workers/createCoplanarPolygonOutlineGeometry.js +218 -230
- package/dist/assets/cesium/Workers/createCorridorGeometry.js +1162 -1307
- package/dist/assets/cesium/Workers/createCorridorOutlineGeometry.js +533 -569
- package/dist/assets/cesium/Workers/createCylinderGeometry.js +57 -10
- package/dist/assets/cesium/Workers/createCylinderOutlineGeometry.js +224 -258
- package/dist/assets/cesium/Workers/createEllipseGeometry.js +68 -12
- package/dist/assets/cesium/Workers/createEllipseOutlineGeometry.js +61 -12
- package/dist/assets/cesium/Workers/createEllipsoidGeometry.js +56 -10
- package/dist/assets/cesium/Workers/createEllipsoidOutlineGeometry.js +58 -13
- package/dist/assets/cesium/Workers/createFrustumGeometry.js +55 -10
- package/dist/assets/cesium/Workers/createFrustumOutlineGeometry.js +226 -243
- package/dist/assets/cesium/Workers/createGeometry.js +143 -48
- package/dist/assets/cesium/Workers/createGroundPolylineGeometry.js +1484 -2011
- package/dist/assets/cesium/Workers/createPlaneGeometry.js +216 -243
- package/dist/assets/cesium/Workers/createPlaneOutlineGeometry.js +121 -113
- package/dist/assets/cesium/Workers/createPolygonGeometry.js +1041 -1327
- package/dist/assets/cesium/Workers/createPolygonOutlineGeometry.js +516 -657
- package/dist/assets/cesium/Workers/createPolylineGeometry.js +471 -547
- package/dist/assets/cesium/Workers/createPolylineVolumeGeometry.js +352 -384
- package/dist/assets/cesium/Workers/createPolylineVolumeOutlineGeometry.js +271 -295
- package/dist/assets/cesium/Workers/createRectangleGeometry.js +1128 -1331
- package/dist/assets/cesium/Workers/createRectangleOutlineGeometry.js +445 -500
- package/dist/assets/cesium/Workers/createSimplePolylineGeometry.js +381 -440
- package/dist/assets/cesium/Workers/createSphereGeometry.js +112 -118
- package/dist/assets/cesium/Workers/createSphereOutlineGeometry.js +112 -121
- package/dist/assets/cesium/Workers/createTaskProcessorWorker.js +32 -127
- package/dist/assets/cesium/Workers/createVectorTileClampedPolylines.js +462 -505
- package/dist/assets/cesium/Workers/createVectorTileGeometries.js +377 -436
- package/dist/assets/cesium/Workers/createVectorTilePoints.js +110 -77
- package/dist/assets/cesium/Workers/createVectorTilePolygons.js +369 -391
- package/dist/assets/cesium/Workers/createVectorTilePolylines.js +252 -244
- package/dist/assets/cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +543 -615
- package/dist/assets/cesium/Workers/createVerticesFromHeightmap.js +2244 -2677
- package/dist/assets/cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +682 -926
- package/dist/assets/cesium/Workers/createWallGeometry.js +459 -593
- package/dist/assets/cesium/Workers/createWallOutlineGeometry.js +324 -419
- package/dist/assets/cesium/Workers/decodeDraco.js +327 -347
- package/dist/assets/cesium/Workers/decodeGoogleEarthEnterprisePacket.js +2530 -3567
- package/dist/assets/cesium/Workers/decodeI3S.js +765 -970
- package/dist/assets/cesium/Workers/transcodeKTX2.js +3353 -1464
- package/dist/assets/cesium/Workers/transferTypedArrayTest.js +3 -4
- package/dist/assets/cesium/Workers/upsampleQuantizedTerrainMesh.js +748 -953
- package/dist/assets/{cesium.16590b.js → cesium.77d0f7.js} +8915 -13165
- package/dist/assets/cesium.js +1 -1
- package/dist/assets/{core.74da2a.js → core.720589.js} +3421 -3365
- package/dist/assets/core.js +1 -1
- package/dist/assets/index-dd539204.js +1 -0
- package/dist/assets/{ol.50a512.js → ol.e48649.js} +4 -4
- package/dist/assets/ol.js +1 -1
- package/dist/assets/{ui.d3054c.css → ui.50452a.css} +2 -2
- package/dist/assets/{ui.d3054c.js → ui.50452a.js} +5312 -4776
- package/dist/assets/ui.js +1 -1
- package/dist/assets/vue.js +2 -2
- package/dist/assets/{vuetify.946bd8.js → vuetify.f0a769.js} +1 -1
- package/dist/assets/vuetify.js +2 -2
- package/dist/index.html +27 -23
- package/index.html +23 -22
- package/index.js +6 -0
- package/package.json +5 -5
- package/plugins/@vcmap-show-case/form-inputs-example/FormInputsExample.vue +37 -1
- package/plugins/@vcmap-show-case/form-inputs-example/index.js +3 -0
- package/plugins/@vcmap-show-case/form-inputs-example/validation.js +11 -0
- package/plugins/@vcmap-show-case/plugin-editors/PluginEditors.vue +119 -0
- package/plugins/@vcmap-show-case/plugin-editors/index.js +41 -0
- package/plugins/@vcmap-show-case/plugin-editors/package.json +5 -0
- package/plugins/{@vcmap → @vcmap-show-case}/project-selector/ProjectSelectorComponent.vue +1 -1
- package/plugins/{@vcmap → @vcmap-show-case}/project-selector/config.json +2 -2
- package/plugins/{@vcmap → @vcmap-show-case}/project-selector/package.json +1 -1
- package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/package.json +1 -1
- package/plugins/@vcmap-show-case/style-input-example/styleExample.vue +0 -1
- package/plugins/@vcmap-show-case/table-example/DataTableExample.vue +1 -1
- package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/ThemeChangerComponent.vue +1 -1
- package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/config.json +2 -2
- package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/package.json +1 -1
- package/plugins/@vcmap-show-case/vector-properties-example/index.js +40 -0
- package/plugins/@vcmap-show-case/vector-properties-example/package.json +5 -0
- package/plugins/@vcmap-show-case/vector-properties-example/vectorPropertiesExample.vue +128 -0
- package/plugins/package.json +6 -2
- package/src/application/VcsAttributions.vue +27 -20
- package/src/components/form-inputs-controls/VcsChipArrayInput.vue +290 -0
- package/src/components/form-inputs-controls/VcsSlider.vue +1 -0
- package/src/components/form-inputs-controls/VcsTextField.vue +9 -3
- package/src/components/icons/2DAreaIcon.vue +2 -17
- package/src/components/icons/2DDistanceIcon.vue +0 -3
- package/src/components/icons/3DAreaIcon.vue +2 -17
- package/src/components/icons/3DDistanceIcon.vue +0 -3
- package/src/components/icons/3DHeightIcon.vue +0 -3
- package/src/components/icons/AngleIcon.vue +0 -1
- package/src/components/icons/AssociationsIcon.vue +1 -3
- package/src/components/icons/AxisIcon.vue +0 -4
- package/src/components/icons/BoundingBoxIcon.vue +1 -4
- package/src/components/icons/CheckboxIcon.vue +0 -2
- package/src/components/icons/CheckboxIndeterminateIcon.vue +1 -5
- package/src/components/icons/CircleIcon.vue +1 -6
- package/src/components/icons/ClippingHorizontalIcon.vue +0 -1
- package/src/components/icons/ClippingIcon.vue +0 -1
- package/src/components/icons/ClippingVerticalIcon.vue +0 -1
- package/src/components/icons/ColorPickerIcon.vue +0 -1
- package/src/components/icons/ColorSwatchIcon.vue +0 -2
- package/src/components/icons/CommentIcon.vue +0 -1
- package/src/components/icons/CompassIcon.vue +0 -2
- package/src/components/icons/ComponentsIcon.vue +0 -1
- package/src/components/icons/ConeIcon.vue +1 -4
- package/src/components/icons/DimensionsHouseIcon.vue +0 -2
- package/src/components/icons/EditIcon.vue +0 -1
- package/src/components/icons/EditVerticesIcon.vue +0 -4
- package/src/components/icons/ElevationProfileIcon.vue +1 -13
- package/src/components/icons/ExportAreaIcon.vue +0 -1
- package/src/components/icons/ExportFlightIcon.vue +0 -1
- package/src/components/icons/ExportIcon.vue +12 -8
- package/src/components/icons/ExternalLinkIcon.vue +0 -2
- package/src/components/icons/FastForwardIcon.vue +0 -1
- package/src/components/icons/FilterIcon.vue +0 -1
- package/src/components/icons/GlobeNatureIcon.vue +0 -3
- package/src/components/icons/GroundIcon.vue +0 -1
- package/src/components/icons/HealthCareIndustriesIcon.vue +1 -11
- package/src/components/icons/HideIcon.vue +0 -1
- package/src/components/icons/HomePointIcon.vue +0 -1
- package/src/components/icons/HospitalsIcon.vue +1 -20
- package/src/components/icons/HouseIcon.vue +3 -13
- package/src/components/icons/ImportIcon.vue +6 -14
- package/src/components/icons/InfoIcon.vue +0 -2
- package/src/components/icons/KebabIcon.vue +1 -9
- package/src/components/icons/LabelIcon.vue +0 -2
- package/src/components/icons/LayersIcon.vue +1 -9
- package/src/components/icons/LegendIcon.vue +0 -1
- package/src/components/icons/LineIcon.vue +0 -2
- package/src/components/icons/LinkIcon.vue +0 -1
- package/src/components/icons/LogoutIcon.vue +0 -1
- package/src/components/icons/MapIcon.vue +0 -2
- package/src/components/icons/MenuIcon.vue +1 -5
- package/src/components/icons/MinusIcon.vue +0 -2
- package/src/components/icons/ObjectSelectIcon.vue +0 -2
- package/src/components/icons/ObliqueViewIcon.vue +0 -1
- package/src/components/icons/PdfIcon.vue +0 -1
- package/src/components/icons/PedestrianIcon.vue +0 -1
- package/src/components/icons/PenIcon.vue +0 -1
- package/src/components/icons/PlayCircleIcon.vue +1 -8
- package/src/components/icons/PlusIcon.vue +0 -2
- package/src/components/icons/PoiIcon.vue +0 -1
- package/src/components/icons/PointIcon.vue +2 -6
- package/src/components/icons/PointSelectIcon.vue +0 -1
- package/src/components/icons/PresentationModeIcon.vue +0 -1
- package/src/components/icons/ProgressIcon.vue +1 -1
- package/src/components/icons/QueryIcon.vue +0 -1
- package/src/components/icons/RectangleIcon.vue +1 -6
- package/src/components/icons/ReturnIcon.vue +0 -1
- package/src/components/icons/RewindIcon.vue +0 -1
- package/src/components/icons/RotateLeftIcon.vue +0 -1
- package/src/components/icons/RotateRightIcon.vue +0 -1
- package/src/components/icons/ScreenshotIcon.vue +1 -6
- package/src/components/icons/SearchIcon.vue +0 -1
- package/src/components/icons/ShadowIcon.vue +0 -2
- package/src/components/icons/ShapesIcon.vue +1 -4
- package/src/components/icons/ShareIcon.vue +0 -1
- package/src/components/icons/SimpleCircleFilledIcon.vue +0 -1
- package/src/components/icons/SimpleCircleHalfFilledIcon.vue +0 -1
- package/src/components/icons/SimpleCircleOutlinedIcon.vue +1 -7
- package/src/components/icons/SkipPreviousIcon.vue +1 -6
- package/src/components/icons/SplitViewIcon.vue +0 -1
- package/src/components/icons/TextStyleIcon.vue +0 -3
- package/src/components/icons/ThreeDimensionsIcon.vue +0 -1
- package/src/components/icons/ToolsIcon.vue +0 -1
- package/src/components/icons/TouchIcon.vue +0 -1
- package/src/components/icons/TriangleIcon.vue +0 -3
- package/src/components/icons/TwoDimensionsIcon.vue +0 -2
- package/src/components/icons/UploadIcon.vue +0 -1
- package/src/components/icons/UserProfileIcon.vue +0 -1
- package/src/components/icons/UserShareIcon.vue +0 -1
- package/src/components/icons/ViewpointFlightIcon.vue +0 -1
- package/src/components/icons/ViewpointIcon.vue +0 -1
- package/src/components/icons/Viewshed360Icon.vue +0 -1
- package/src/components/icons/ViewshedConeIcon.vue +0 -1
- package/src/components/icons/ViewshedIcon.vue +0 -1
- package/src/components/icons/WalkingIcon.vue +0 -1
- package/src/components/icons/WallIcon.vue +1 -4
- package/src/components/icons/WandIcon.vue +22 -70
- package/src/components/lists/VcsList.vue +18 -12
- package/src/components/plugins/AbstractConfigEditor.vue +84 -0
- package/src/components/style/VcsImageSelector.vue +6 -5
- package/src/components/style/VcsTextSelector.vue +1 -1
- package/src/components/tables/VcsDataTable.vue +1 -1
- package/src/components/vector-properties/VcsVectorPropertiesComponent.vue +780 -0
- package/src/components/vector-properties/composables.js +93 -0
- package/src/contentTree/contentTreeCollection.js +30 -9
- package/src/i18n/de.js +41 -7
- package/src/i18n/en.js +39 -5
- package/src/i18n/i18nCollection.js +19 -65
- package/src/manager/buttonManager.js +4 -0
- package/src/manager/collectionManager/collectionComponent.js +1 -1
- package/src/manager/contextMenu/contextMenuManager.js +2 -0
- package/src/pluginHelper.js +57 -17
- package/src/vcsUiApp.js +25 -30
- package/src/vuePlugins/i18n.js +0 -8
- package/dist/assets/cesium/ThirdParty/Workers/draco_decoder_nodejs.js +0 -117
- package/dist/assets/cesium/Workers/ArcType-2d9abbbc.js +0 -37
- package/dist/assets/cesium/Workers/AttributeCompression-f9f6c717.js +0 -716
- package/dist/assets/cesium/Workers/AxisAlignedBoundingBox-4140c51f.js +0 -258
- package/dist/assets/cesium/Workers/BoundingRectangle-c714b156.js +0 -369
- package/dist/assets/cesium/Workers/BoxGeometry-6f3da43d.js +0 -884
- package/dist/assets/cesium/Workers/Check-6ede7e26.js +0 -290
- package/dist/assets/cesium/Workers/Color-8a565ff2.js +0 -2262
- package/dist/assets/cesium/Workers/ComponentDatatype-cf1fa08e.js +0 -341
- package/dist/assets/cesium/Workers/CoplanarPolygonGeometryLibrary-4b4d4096.js +0 -132
- package/dist/assets/cesium/Workers/CorridorGeometryLibrary-7b94502b.js +0 -498
- package/dist/assets/cesium/Workers/CylinderGeometry-ca070b87.js +0 -467
- package/dist/assets/cesium/Workers/CylinderGeometryLibrary-7bf291b4.js +0 -63
- package/dist/assets/cesium/Workers/EllipseGeometry-122e51fa.js +0 -1304
- package/dist/assets/cesium/Workers/EllipseGeometryLibrary-4d326efc.js +0 -366
- package/dist/assets/cesium/Workers/EllipseOutlineGeometry-16cc2bd7.js +0 -443
- package/dist/assets/cesium/Workers/EllipsoidGeodesic-5b3623dc.js +0 -520
- package/dist/assets/cesium/Workers/EllipsoidGeometry-cb148ca2.js +0 -637
- package/dist/assets/cesium/Workers/EllipsoidOutlineGeometry-0fa10c79.js +0 -454
- package/dist/assets/cesium/Workers/EllipsoidRhumbLine-ef872433.js +0 -741
- package/dist/assets/cesium/Workers/EllipsoidTangentPlane-6dd1b7af.js +0 -373
- package/dist/assets/cesium/Workers/EncodedCartesian3-57415c8a.js +0 -171
- package/dist/assets/cesium/Workers/FrustumGeometry-ee73037c.js +0 -2540
- package/dist/assets/cesium/Workers/GeometryAttribute-ff5b4fb1.js +0 -619
- package/dist/assets/cesium/Workers/GeometryAttributes-ad136444.js +0 -91
- package/dist/assets/cesium/Workers/GeometryInstance-34d9e21e.js +0 -121
- package/dist/assets/cesium/Workers/GeometryOffsetAttribute-9ad0019c.js +0 -16
- package/dist/assets/cesium/Workers/GeometryPipeline-1f8fbf05.js +0 -3690
- package/dist/assets/cesium/Workers/IndexDatatype-2643aa47.js +0 -200
- package/dist/assets/cesium/Workers/IntersectionTests-70d39ba9.js +0 -1836
- package/dist/assets/cesium/Workers/Math-0a2ac845.js +0 -1340
- package/dist/assets/cesium/Workers/Matrix2-e1298525.js +0 -7086
- package/dist/assets/cesium/Workers/Matrix3-41c58dde.js +0 -4283
- package/dist/assets/cesium/Workers/OrientedBoundingBox-159cf1d6.js +0 -1259
- package/dist/assets/cesium/Workers/Plane-4c3d403b.js +0 -309
- package/dist/assets/cesium/Workers/PolygonGeometryLibrary-076a5d25.js +0 -1074
- package/dist/assets/cesium/Workers/PolygonPipeline-b9f2810a.js +0 -1344
- package/dist/assets/cesium/Workers/PolylinePipeline-639192e0.js +0 -573
- package/dist/assets/cesium/Workers/PolylineVolumeGeometryLibrary-b73549fb.js +0 -781
- package/dist/assets/cesium/Workers/PrimitivePipeline-10ede1b6.js +0 -966
- package/dist/assets/cesium/Workers/RectangleGeometryLibrary-c35a7356.js +0 -280
- package/dist/assets/cesium/Workers/RuntimeError-ef395448.js +0 -68
- package/dist/assets/cesium/Workers/TerrainEncoding-668d242f.js +0 -1227
- package/dist/assets/cesium/Workers/Transforms-a2a85221.js +0 -14712
- package/dist/assets/cesium/Workers/VertexFormat-030f11ff.js +0 -312
- package/dist/assets/cesium/Workers/WallGeometryLibrary-1938bf0d.js +0 -211
- package/dist/assets/cesium/Workers/WebGLConstants-0b1ce7ba.js +0 -620
- package/dist/assets/cesium/Workers/WebMercatorProjection-13ed1a6e.js +0 -151
- package/dist/assets/cesium/Workers/arrayRemoveDuplicates-d2061e85.js +0 -129
- package/dist/assets/cesium/Workers/cesiumWorkerBootstrapper.js +0 -1363
- package/dist/assets/cesium/Workers/combine-d9581036.js +0 -82
- package/dist/assets/cesium/Workers/defaultValue-fe22d8c0.js +0 -51
- package/dist/assets/index-cb070eff.js +0 -1
- package/plugins/@vcmap/create-link/fallbackCreateLink.vue +0 -76
- package/plugins/@vcmap/create-link/index.js +0 -95
- package/plugins/@vcmap/create-link/package.json +0 -6
- package/plugins/@vcmap/search-nominatim/LICENSE.md +0 -13
- package/plugins/@vcmap/search-nominatim/README.md +0 -3
- package/plugins/@vcmap/search-nominatim/config.json +0 -3
- package/plugins/@vcmap/search-nominatim/index.js +0 -29
- package/plugins/@vcmap/search-nominatim/nominatim.js +0 -175
- package/plugins/@vcmap/search-nominatim/package.json +0 -9
- /package/dist/assets/{vue.30740e.js → vue.5d696e.js} +0 -0
- /package/dist/assets/{vuetify.946bd8.css → vuetify.f0a769.css} +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/ModulesListComponent.vue +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/README.md +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/de.json +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/en.json +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/project-selector/index.js +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/README.md +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/SimpleGraphComponent.vue +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/index.js +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/simple-graph/simpleGraphView.js +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/README.md +0 -0
- /package/plugins/{@vcmap → @vcmap-show-case}/theme-changer/index.js +0 -0
@@ -1,683 +1,542 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Cesium - https://github.com/CesiumGS/cesium
|
4
|
+
* Version 1.109.3
|
5
|
+
*
|
6
|
+
* Copyright 2011-2022 Cesium Contributors
|
7
|
+
*
|
8
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
9
|
+
* you may not use this file except in compliance with the License.
|
10
|
+
* You may obtain a copy of the License at
|
11
|
+
*
|
12
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
13
|
+
*
|
14
|
+
* Unless required by applicable law or agreed to in writing, software
|
15
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
16
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
17
|
+
* See the License for the specific language governing permissions and
|
18
|
+
* limitations under the License.
|
19
|
+
*
|
20
|
+
* Columbus View (Pat. Pend.)
|
21
|
+
*
|
22
|
+
* Portions licensed separately.
|
23
|
+
* See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
|
24
|
+
*/
|
25
|
+
|
26
|
+
import {
|
27
|
+
PolygonGeometryLibrary_default
|
28
|
+
} from "./chunk-KTJSNCK4.js";
|
29
|
+
import {
|
30
|
+
ArcType_default
|
31
|
+
} from "./chunk-CCFQRR6D.js";
|
32
|
+
import {
|
33
|
+
GeometryInstance_default
|
34
|
+
} from "./chunk-227AJNOA.js";
|
35
|
+
import {
|
36
|
+
GeometryPipeline_default
|
37
|
+
} from "./chunk-XTY7B2N6.js";
|
38
|
+
import "./chunk-O5AMBQ36.js";
|
39
|
+
import "./chunk-QT3MPEMI.js";
|
40
|
+
import {
|
41
|
+
GeometryOffsetAttribute_default
|
42
|
+
} from "./chunk-MPAZH4BF.js";
|
43
|
+
import {
|
44
|
+
EllipsoidTangentPlane_default
|
45
|
+
} from "./chunk-RP2A7BR5.js";
|
46
|
+
import "./chunk-2R5O53JW.js";
|
47
|
+
import {
|
48
|
+
PolygonPipeline_default,
|
49
|
+
WindingOrder_default
|
50
|
+
} from "./chunk-J3JY6I2C.js";
|
51
|
+
import "./chunk-3W63OHNJ.js";
|
52
|
+
import "./chunk-K36FEYS7.js";
|
53
|
+
import "./chunk-MYZB7C4T.js";
|
54
|
+
import "./chunk-OYFCF4PL.js";
|
55
|
+
import {
|
56
|
+
IndexDatatype_default
|
57
|
+
} from "./chunk-RW6LU2CJ.js";
|
58
|
+
import {
|
59
|
+
GeometryAttributes_default
|
60
|
+
} from "./chunk-EW2GWJYB.js";
|
61
|
+
import {
|
62
|
+
GeometryAttribute_default,
|
63
|
+
Geometry_default,
|
64
|
+
PrimitiveType_default
|
65
|
+
} from "./chunk-X4SU25DT.js";
|
66
|
+
import {
|
67
|
+
BoundingSphere_default
|
68
|
+
} from "./chunk-PFQBCKBM.js";
|
69
|
+
import "./chunk-QJ3DFBH3.js";
|
70
|
+
import "./chunk-DUHWWBQQ.js";
|
71
|
+
import {
|
72
|
+
ComponentDatatype_default
|
73
|
+
} from "./chunk-LLUNNUJV.js";
|
74
|
+
import {
|
75
|
+
Cartesian3_default,
|
76
|
+
Ellipsoid_default
|
77
|
+
} from "./chunk-PCJWUS4M.js";
|
78
|
+
import {
|
79
|
+
Math_default
|
80
|
+
} from "./chunk-N3JIFFX2.js";
|
81
|
+
import "./chunk-AHKEZ2OE.js";
|
82
|
+
import "./chunk-ABADGKYE.js";
|
83
|
+
import {
|
84
|
+
defaultValue_default
|
85
|
+
} from "./chunk-WXTV4ATB.js";
|
86
|
+
import {
|
87
|
+
Check_default,
|
88
|
+
DeveloperError_default
|
89
|
+
} from "./chunk-4MFFIWUA.js";
|
90
|
+
import {
|
91
|
+
defined_default
|
92
|
+
} from "./chunk-6BTKZDRG.js";
|
93
|
+
|
94
|
+
// packages/engine/Source/Core/PolygonOutlineGeometry.js
|
95
|
+
var createGeometryFromPositionsPositions = [];
|
96
|
+
var createGeometryFromPositionsSubdivided = [];
|
97
|
+
function createGeometryFromPositions(ellipsoid, positions, minDistance, perPositionHeight, arcType) {
|
98
|
+
const tangentPlane = EllipsoidTangentPlane_default.fromPoints(positions, ellipsoid);
|
99
|
+
const positions2D = tangentPlane.projectPointsOntoPlane(
|
8
100
|
positions,
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
}
|
26
|
-
|
27
|
-
let subdividedPositions;
|
28
|
-
let i;
|
29
|
-
|
30
|
-
let length = positions.length;
|
31
|
-
let index = 0;
|
32
|
-
|
33
|
-
if (!perPositionHeight) {
|
34
|
-
let numVertices = 0;
|
35
|
-
if (arcType === ArcType.ArcType.GEODESIC) {
|
36
|
-
for (i = 0; i < length; i++) {
|
37
|
-
numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLineCount(
|
38
|
-
positions[i],
|
39
|
-
positions[(i + 1) % length],
|
40
|
-
minDistance
|
41
|
-
);
|
42
|
-
}
|
43
|
-
} else if (arcType === ArcType.ArcType.RHUMB) {
|
44
|
-
for (i = 0; i < length; i++) {
|
45
|
-
numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLineCount(
|
46
|
-
ellipsoid,
|
47
|
-
positions[i],
|
48
|
-
positions[(i + 1) % length],
|
49
|
-
minDistance
|
50
|
-
);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
subdividedPositions = new Float64Array(numVertices * 3);
|
101
|
+
createGeometryFromPositionsPositions
|
102
|
+
);
|
103
|
+
const originalWindingOrder = PolygonPipeline_default.computeWindingOrder2D(
|
104
|
+
positions2D
|
105
|
+
);
|
106
|
+
if (originalWindingOrder === WindingOrder_default.CLOCKWISE) {
|
107
|
+
positions2D.reverse();
|
108
|
+
positions = positions.slice().reverse();
|
109
|
+
}
|
110
|
+
let subdividedPositions;
|
111
|
+
let i;
|
112
|
+
let length = positions.length;
|
113
|
+
let index = 0;
|
114
|
+
if (!perPositionHeight) {
|
115
|
+
let numVertices = 0;
|
116
|
+
if (arcType === ArcType_default.GEODESIC) {
|
54
117
|
for (i = 0; i < length; i++) {
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
minDistance,
|
61
|
-
createGeometryFromPositionsSubdivided
|
62
|
-
);
|
63
|
-
} else if (arcType === ArcType.ArcType.RHUMB) {
|
64
|
-
tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLine(
|
65
|
-
ellipsoid,
|
66
|
-
positions[i],
|
67
|
-
positions[(i + 1) % length],
|
68
|
-
minDistance,
|
69
|
-
createGeometryFromPositionsSubdivided
|
70
|
-
);
|
71
|
-
}
|
72
|
-
const tempPositionsLength = tempPositions.length;
|
73
|
-
for (let j = 0; j < tempPositionsLength; ++j) {
|
74
|
-
subdividedPositions[index++] = tempPositions[j];
|
75
|
-
}
|
118
|
+
numVertices += PolygonGeometryLibrary_default.subdivideLineCount(
|
119
|
+
positions[i],
|
120
|
+
positions[(i + 1) % length],
|
121
|
+
minDistance
|
122
|
+
);
|
76
123
|
}
|
77
|
-
} else {
|
78
|
-
subdividedPositions = new Float64Array(length * 2 * 3);
|
124
|
+
} else if (arcType === ArcType_default.RHUMB) {
|
79
125
|
for (i = 0; i < length; i++) {
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
subdividedPositions[index++] = p1.y;
|
87
|
-
subdividedPositions[index++] = p1.z;
|
126
|
+
numVertices += PolygonGeometryLibrary_default.subdivideRhumbLineCount(
|
127
|
+
ellipsoid,
|
128
|
+
positions[i],
|
129
|
+
positions[(i + 1) % length],
|
130
|
+
minDistance
|
131
|
+
);
|
88
132
|
}
|
89
133
|
}
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
values: subdividedPositions,
|
109
|
-
}),
|
110
|
-
}),
|
111
|
-
indices: indices,
|
112
|
-
primitiveType: GeometryAttribute.PrimitiveType.LINES,
|
113
|
-
}),
|
114
|
-
});
|
115
|
-
}
|
116
|
-
|
117
|
-
function createGeometryFromPositionsExtruded(
|
118
|
-
ellipsoid,
|
119
|
-
positions,
|
120
|
-
minDistance,
|
121
|
-
perPositionHeight,
|
122
|
-
arcType
|
123
|
-
) {
|
124
|
-
const tangentPlane = EllipsoidTangentPlane.EllipsoidTangentPlane.fromPoints(positions, ellipsoid);
|
125
|
-
const positions2D = tangentPlane.projectPointsOntoPlane(
|
126
|
-
positions,
|
127
|
-
createGeometryFromPositionsPositions
|
128
|
-
);
|
129
|
-
|
130
|
-
const originalWindingOrder = PolygonPipeline.PolygonPipeline.computeWindingOrder2D(
|
131
|
-
positions2D
|
132
|
-
);
|
133
|
-
if (originalWindingOrder === PolygonPipeline.WindingOrder.CLOCKWISE) {
|
134
|
-
positions2D.reverse();
|
135
|
-
positions = positions.slice().reverse();
|
136
|
-
}
|
137
|
-
|
138
|
-
let subdividedPositions;
|
139
|
-
let i;
|
140
|
-
|
141
|
-
let length = positions.length;
|
142
|
-
const corners = new Array(length);
|
143
|
-
let index = 0;
|
144
|
-
|
145
|
-
if (!perPositionHeight) {
|
146
|
-
let numVertices = 0;
|
147
|
-
if (arcType === ArcType.ArcType.GEODESIC) {
|
148
|
-
for (i = 0; i < length; i++) {
|
149
|
-
numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLineCount(
|
150
|
-
positions[i],
|
151
|
-
positions[(i + 1) % length],
|
152
|
-
minDistance
|
153
|
-
);
|
154
|
-
}
|
155
|
-
} else if (arcType === ArcType.ArcType.RHUMB) {
|
156
|
-
for (i = 0; i < length; i++) {
|
157
|
-
numVertices += PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLineCount(
|
158
|
-
ellipsoid,
|
159
|
-
positions[i],
|
160
|
-
positions[(i + 1) % length],
|
161
|
-
minDistance
|
162
|
-
);
|
163
|
-
}
|
164
|
-
}
|
165
|
-
|
166
|
-
subdividedPositions = new Float64Array(numVertices * 3 * 2);
|
167
|
-
for (i = 0; i < length; ++i) {
|
168
|
-
corners[i] = index / 3;
|
169
|
-
let tempPositions;
|
170
|
-
if (arcType === ArcType.ArcType.GEODESIC) {
|
171
|
-
tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideLine(
|
172
|
-
positions[i],
|
173
|
-
positions[(i + 1) % length],
|
174
|
-
minDistance,
|
175
|
-
createGeometryFromPositionsSubdivided
|
176
|
-
);
|
177
|
-
} else if (arcType === ArcType.ArcType.RHUMB) {
|
178
|
-
tempPositions = PolygonGeometryLibrary.PolygonGeometryLibrary.subdivideRhumbLine(
|
179
|
-
ellipsoid,
|
180
|
-
positions[i],
|
181
|
-
positions[(i + 1) % length],
|
182
|
-
minDistance,
|
183
|
-
createGeometryFromPositionsSubdivided
|
184
|
-
);
|
185
|
-
}
|
186
|
-
const tempPositionsLength = tempPositions.length;
|
187
|
-
for (let j = 0; j < tempPositionsLength; ++j) {
|
188
|
-
subdividedPositions[index++] = tempPositions[j];
|
189
|
-
}
|
134
|
+
subdividedPositions = new Float64Array(numVertices * 3);
|
135
|
+
for (i = 0; i < length; i++) {
|
136
|
+
let tempPositions;
|
137
|
+
if (arcType === ArcType_default.GEODESIC) {
|
138
|
+
tempPositions = PolygonGeometryLibrary_default.subdivideLine(
|
139
|
+
positions[i],
|
140
|
+
positions[(i + 1) % length],
|
141
|
+
minDistance,
|
142
|
+
createGeometryFromPositionsSubdivided
|
143
|
+
);
|
144
|
+
} else if (arcType === ArcType_default.RHUMB) {
|
145
|
+
tempPositions = PolygonGeometryLibrary_default.subdivideRhumbLine(
|
146
|
+
ellipsoid,
|
147
|
+
positions[i],
|
148
|
+
positions[(i + 1) % length],
|
149
|
+
minDistance,
|
150
|
+
createGeometryFromPositionsSubdivided
|
151
|
+
);
|
190
152
|
}
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
corners[i] = index / 3;
|
195
|
-
const p0 = positions[i];
|
196
|
-
const p1 = positions[(i + 1) % length];
|
197
|
-
|
198
|
-
subdividedPositions[index++] = p0.x;
|
199
|
-
subdividedPositions[index++] = p0.y;
|
200
|
-
subdividedPositions[index++] = p0.z;
|
201
|
-
subdividedPositions[index++] = p1.x;
|
202
|
-
subdividedPositions[index++] = p1.y;
|
203
|
-
subdividedPositions[index++] = p1.z;
|
153
|
+
const tempPositionsLength = tempPositions.length;
|
154
|
+
for (let j = 0; j < tempPositionsLength; ++j) {
|
155
|
+
subdividedPositions[index++] = tempPositions[j];
|
204
156
|
}
|
205
157
|
}
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
for (i = 0; i < length; ++i) {
|
218
|
-
indices[index++] = i;
|
219
|
-
indices[index++] = (i + 1) % length;
|
220
|
-
indices[index++] = i + length;
|
221
|
-
indices[index++] = ((i + 1) % length) + length;
|
158
|
+
} else {
|
159
|
+
subdividedPositions = new Float64Array(length * 2 * 3);
|
160
|
+
for (i = 0; i < length; i++) {
|
161
|
+
const p0 = positions[i];
|
162
|
+
const p1 = positions[(i + 1) % length];
|
163
|
+
subdividedPositions[index++] = p0.x;
|
164
|
+
subdividedPositions[index++] = p0.y;
|
165
|
+
subdividedPositions[index++] = p0.z;
|
166
|
+
subdividedPositions[index++] = p1.x;
|
167
|
+
subdividedPositions[index++] = p1.y;
|
168
|
+
subdividedPositions[index++] = p1.z;
|
222
169
|
}
|
223
|
-
|
224
|
-
for (i = 0; i < cornersLength; i++) {
|
225
|
-
const corner = corners[i];
|
226
|
-
indices[index++] = corner;
|
227
|
-
indices[index++] = corner + length;
|
228
|
-
}
|
229
|
-
|
230
|
-
return new GeometryInstance.GeometryInstance({
|
231
|
-
geometry: new GeometryAttribute.Geometry({
|
232
|
-
attributes: new GeometryAttributes.GeometryAttributes({
|
233
|
-
position: new GeometryAttribute.GeometryAttribute({
|
234
|
-
componentDatatype: ComponentDatatype.ComponentDatatype.DOUBLE,
|
235
|
-
componentsPerAttribute: 3,
|
236
|
-
values: subdividedPositions,
|
237
|
-
}),
|
238
|
-
}),
|
239
|
-
indices: indices,
|
240
|
-
primitiveType: GeometryAttribute.PrimitiveType.LINES,
|
241
|
-
}),
|
242
|
-
});
|
243
170
|
}
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
* @param {object} options Object with the following properties:
|
252
|
-
* @param {PolygonHierarchy} options.polygonHierarchy A polygon hierarchy that can include holes.
|
253
|
-
* @param {number} [options.height=0.0] The distance in meters between the polygon and the ellipsoid surface.
|
254
|
-
* @param {number} [options.extrudedHeight] The distance in meters between the polygon's extruded face and the ellipsoid surface.
|
255
|
-
* @param {VertexFormat} [options.vertexFormat=VertexFormat.DEFAULT] The vertex attributes to be computed.
|
256
|
-
* @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
|
257
|
-
* @param {number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
|
258
|
-
* @param {boolean} [options.perPositionHeight=false] Use the height of options.positions for each position instead of using options.height to determine the height.
|
259
|
-
* @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of path the outline must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
|
260
|
-
*
|
261
|
-
* @see PolygonOutlineGeometry#createGeometry
|
262
|
-
* @see PolygonOutlineGeometry#fromPositions
|
263
|
-
*
|
264
|
-
* @example
|
265
|
-
* // 1. create a polygon outline from points
|
266
|
-
* const polygon = new Cesium.PolygonOutlineGeometry({
|
267
|
-
* polygonHierarchy : new Cesium.PolygonHierarchy(
|
268
|
-
* Cesium.Cartesian3.fromDegreesArray([
|
269
|
-
* -72.0, 40.0,
|
270
|
-
* -70.0, 35.0,
|
271
|
-
* -75.0, 30.0,
|
272
|
-
* -70.0, 30.0,
|
273
|
-
* -68.0, 40.0
|
274
|
-
* ])
|
275
|
-
* )
|
276
|
-
* });
|
277
|
-
* const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);
|
278
|
-
*
|
279
|
-
* // 2. create a nested polygon with holes outline
|
280
|
-
* const polygonWithHole = new Cesium.PolygonOutlineGeometry({
|
281
|
-
* polygonHierarchy : new Cesium.PolygonHierarchy(
|
282
|
-
* Cesium.Cartesian3.fromDegreesArray([
|
283
|
-
* -109.0, 30.0,
|
284
|
-
* -95.0, 30.0,
|
285
|
-
* -95.0, 40.0,
|
286
|
-
* -109.0, 40.0
|
287
|
-
* ]),
|
288
|
-
* [new Cesium.PolygonHierarchy(
|
289
|
-
* Cesium.Cartesian3.fromDegreesArray([
|
290
|
-
* -107.0, 31.0,
|
291
|
-
* -107.0, 39.0,
|
292
|
-
* -97.0, 39.0,
|
293
|
-
* -97.0, 31.0
|
294
|
-
* ]),
|
295
|
-
* [new Cesium.PolygonHierarchy(
|
296
|
-
* Cesium.Cartesian3.fromDegreesArray([
|
297
|
-
* -105.0, 33.0,
|
298
|
-
* -99.0, 33.0,
|
299
|
-
* -99.0, 37.0,
|
300
|
-
* -105.0, 37.0
|
301
|
-
* ]),
|
302
|
-
* [new Cesium.PolygonHierarchy(
|
303
|
-
* Cesium.Cartesian3.fromDegreesArray([
|
304
|
-
* -103.0, 34.0,
|
305
|
-
* -101.0, 34.0,
|
306
|
-
* -101.0, 36.0,
|
307
|
-
* -103.0, 36.0
|
308
|
-
* ])
|
309
|
-
* )]
|
310
|
-
* )]
|
311
|
-
* )]
|
312
|
-
* )
|
313
|
-
* });
|
314
|
-
* const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygonWithHole);
|
315
|
-
*
|
316
|
-
* // 3. create extruded polygon outline
|
317
|
-
* const extrudedPolygon = new Cesium.PolygonOutlineGeometry({
|
318
|
-
* polygonHierarchy : new Cesium.PolygonHierarchy(
|
319
|
-
* Cesium.Cartesian3.fromDegreesArray([
|
320
|
-
* -72.0, 40.0,
|
321
|
-
* -70.0, 35.0,
|
322
|
-
* -75.0, 30.0,
|
323
|
-
* -70.0, 30.0,
|
324
|
-
* -68.0, 40.0
|
325
|
-
* ])
|
326
|
-
* ),
|
327
|
-
* extrudedHeight: 300000
|
328
|
-
* });
|
329
|
-
* const geometry = Cesium.PolygonOutlineGeometry.createGeometry(extrudedPolygon);
|
330
|
-
*/
|
331
|
-
function PolygonOutlineGeometry(options) {
|
332
|
-
//>>includeStart('debug', pragmas.debug);
|
333
|
-
Check.Check.typeOf.object("options", options);
|
334
|
-
Check.Check.typeOf.object("options.polygonHierarchy", options.polygonHierarchy);
|
335
|
-
|
336
|
-
if (options.perPositionHeight && defaultValue.defined(options.height)) {
|
337
|
-
throw new Check.DeveloperError(
|
338
|
-
"Cannot use both options.perPositionHeight and options.height"
|
339
|
-
);
|
340
|
-
}
|
341
|
-
if (
|
342
|
-
defaultValue.defined(options.arcType) &&
|
343
|
-
options.arcType !== ArcType.ArcType.GEODESIC &&
|
344
|
-
options.arcType !== ArcType.ArcType.RHUMB
|
345
|
-
) {
|
346
|
-
throw new Check.DeveloperError(
|
347
|
-
"Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB."
|
348
|
-
);
|
349
|
-
}
|
350
|
-
//>>includeEnd('debug');
|
351
|
-
|
352
|
-
const polygonHierarchy = options.polygonHierarchy;
|
353
|
-
const ellipsoid = defaultValue.defaultValue(options.ellipsoid, Matrix3.Ellipsoid.WGS84);
|
354
|
-
const granularity = defaultValue.defaultValue(
|
355
|
-
options.granularity,
|
356
|
-
Math$1.CesiumMath.RADIANS_PER_DEGREE
|
357
|
-
);
|
358
|
-
const perPositionHeight = defaultValue.defaultValue(options.perPositionHeight, false);
|
359
|
-
const perPositionHeightExtrude =
|
360
|
-
perPositionHeight && defaultValue.defined(options.extrudedHeight);
|
361
|
-
const arcType = defaultValue.defaultValue(options.arcType, ArcType.ArcType.GEODESIC);
|
362
|
-
|
363
|
-
let height = defaultValue.defaultValue(options.height, 0.0);
|
364
|
-
let extrudedHeight = defaultValue.defaultValue(options.extrudedHeight, height);
|
365
|
-
|
366
|
-
if (!perPositionHeightExtrude) {
|
367
|
-
const h = Math.max(height, extrudedHeight);
|
368
|
-
extrudedHeight = Math.min(height, extrudedHeight);
|
369
|
-
height = h;
|
370
|
-
}
|
371
|
-
|
372
|
-
this._ellipsoid = Matrix3.Ellipsoid.clone(ellipsoid);
|
373
|
-
this._granularity = granularity;
|
374
|
-
this._height = height;
|
375
|
-
this._extrudedHeight = extrudedHeight;
|
376
|
-
this._arcType = arcType;
|
377
|
-
this._polygonHierarchy = polygonHierarchy;
|
378
|
-
this._perPositionHeight = perPositionHeight;
|
379
|
-
this._perPositionHeightExtrude = perPositionHeightExtrude;
|
380
|
-
this._offsetAttribute = options.offsetAttribute;
|
381
|
-
this._workerName = "createPolygonOutlineGeometry";
|
382
|
-
|
383
|
-
/**
|
384
|
-
* The number of elements used to pack the object into an array.
|
385
|
-
* @type {number}
|
386
|
-
*/
|
387
|
-
this.packedLength =
|
388
|
-
PolygonGeometryLibrary.PolygonGeometryLibrary.computeHierarchyPackedLength(
|
389
|
-
polygonHierarchy,
|
390
|
-
Matrix3.Cartesian3
|
391
|
-
) +
|
392
|
-
Matrix3.Ellipsoid.packedLength +
|
393
|
-
8;
|
171
|
+
length = subdividedPositions.length / 3;
|
172
|
+
const indicesSize = length * 2;
|
173
|
+
const indices = IndexDatatype_default.createTypedArray(length, indicesSize);
|
174
|
+
index = 0;
|
175
|
+
for (i = 0; i < length - 1; i++) {
|
176
|
+
indices[index++] = i;
|
177
|
+
indices[index++] = i + 1;
|
394
178
|
}
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
polygonHierarchy: {},
|
438
|
-
};
|
439
|
-
|
440
|
-
/**
|
441
|
-
* Retrieves an instance from a packed array.
|
442
|
-
*
|
443
|
-
* @param {number[]} array The packed array.
|
444
|
-
* @param {number} [startingIndex=0] The starting index of the element to be unpacked.
|
445
|
-
* @param {PolygonOutlineGeometry} [result] The object into which to store the result.
|
446
|
-
* @returns {PolygonOutlineGeometry} The modified result parameter or a new PolygonOutlineGeometry instance if one was not provided.
|
447
|
-
*/
|
448
|
-
PolygonOutlineGeometry.unpack = function (array, startingIndex, result) {
|
449
|
-
//>>includeStart('debug', pragmas.debug);
|
450
|
-
Check.Check.defined("array", array);
|
451
|
-
//>>includeEnd('debug');
|
452
|
-
|
453
|
-
startingIndex = defaultValue.defaultValue(startingIndex, 0);
|
454
|
-
|
455
|
-
const polygonHierarchy = PolygonGeometryLibrary.PolygonGeometryLibrary.unpackPolygonHierarchy(
|
456
|
-
array,
|
457
|
-
startingIndex,
|
458
|
-
Matrix3.Cartesian3
|
459
|
-
);
|
460
|
-
startingIndex = polygonHierarchy.startingIndex;
|
461
|
-
delete polygonHierarchy.startingIndex;
|
462
|
-
|
463
|
-
const ellipsoid = Matrix3.Ellipsoid.unpack(array, startingIndex, scratchEllipsoid);
|
464
|
-
startingIndex += Matrix3.Ellipsoid.packedLength;
|
465
|
-
|
466
|
-
const height = array[startingIndex++];
|
467
|
-
const extrudedHeight = array[startingIndex++];
|
468
|
-
const granularity = array[startingIndex++];
|
469
|
-
const perPositionHeightExtrude = array[startingIndex++] === 1.0;
|
470
|
-
const perPositionHeight = array[startingIndex++] === 1.0;
|
471
|
-
const arcType = array[startingIndex++];
|
472
|
-
const offsetAttribute = array[startingIndex++];
|
473
|
-
const packedLength = array[startingIndex];
|
474
|
-
|
475
|
-
if (!defaultValue.defined(result)) {
|
476
|
-
result = new PolygonOutlineGeometry(dummyOptions);
|
477
|
-
}
|
478
|
-
|
479
|
-
result._polygonHierarchy = polygonHierarchy;
|
480
|
-
result._ellipsoid = Matrix3.Ellipsoid.clone(ellipsoid, result._ellipsoid);
|
481
|
-
result._height = height;
|
482
|
-
result._extrudedHeight = extrudedHeight;
|
483
|
-
result._granularity = granularity;
|
484
|
-
result._perPositionHeight = perPositionHeight;
|
485
|
-
result._perPositionHeightExtrude = perPositionHeightExtrude;
|
486
|
-
result._arcType = arcType;
|
487
|
-
result._offsetAttribute =
|
488
|
-
offsetAttribute === -1 ? undefined : offsetAttribute;
|
489
|
-
result.packedLength = packedLength;
|
490
|
-
|
491
|
-
return result;
|
492
|
-
};
|
493
|
-
|
494
|
-
/**
|
495
|
-
* A description of a polygon outline from an array of positions.
|
496
|
-
*
|
497
|
-
* @param {object} options Object with the following properties:
|
498
|
-
* @param {Cartesian3[]} options.positions An array of positions that defined the corner points of the polygon.
|
499
|
-
* @param {number} [options.height=0.0] The height of the polygon.
|
500
|
-
* @param {number} [options.extrudedHeight] The height of the polygon extrusion.
|
501
|
-
* @param {Ellipsoid} [options.ellipsoid=Ellipsoid.WGS84] The ellipsoid to be used as a reference.
|
502
|
-
* @param {number} [options.granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
|
503
|
-
* @param {boolean} [options.perPositionHeight=false] Use the height of options.positions for each position instead of using options.height to determine the height.
|
504
|
-
* @param {ArcType} [options.arcType=ArcType.GEODESIC] The type of path the outline must follow. Valid options are {@link LinkType.GEODESIC} and {@link ArcType.RHUMB}.
|
505
|
-
* @returns {PolygonOutlineGeometry}
|
506
|
-
*
|
507
|
-
*
|
508
|
-
* @example
|
509
|
-
* // create a polygon from points
|
510
|
-
* const polygon = Cesium.PolygonOutlineGeometry.fromPositions({
|
511
|
-
* positions : Cesium.Cartesian3.fromDegreesArray([
|
512
|
-
* -72.0, 40.0,
|
513
|
-
* -70.0, 35.0,
|
514
|
-
* -75.0, 30.0,
|
515
|
-
* -70.0, 30.0,
|
516
|
-
* -68.0, 40.0
|
517
|
-
* ])
|
518
|
-
* });
|
519
|
-
* const geometry = Cesium.PolygonOutlineGeometry.createGeometry(polygon);
|
520
|
-
*
|
521
|
-
* @see PolygonOutlineGeometry#createGeometry
|
522
|
-
*/
|
523
|
-
PolygonOutlineGeometry.fromPositions = function (options) {
|
524
|
-
options = defaultValue.defaultValue(options, defaultValue.defaultValue.EMPTY_OBJECT);
|
525
|
-
|
526
|
-
//>>includeStart('debug', pragmas.debug);
|
527
|
-
Check.Check.defined("options.positions", options.positions);
|
528
|
-
//>>includeEnd('debug');
|
529
|
-
|
530
|
-
const newOptions = {
|
531
|
-
polygonHierarchy: {
|
532
|
-
positions: options.positions,
|
533
|
-
},
|
534
|
-
height: options.height,
|
535
|
-
extrudedHeight: options.extrudedHeight,
|
536
|
-
ellipsoid: options.ellipsoid,
|
537
|
-
granularity: options.granularity,
|
538
|
-
perPositionHeight: options.perPositionHeight,
|
539
|
-
arcType: options.arcType,
|
540
|
-
offsetAttribute: options.offsetAttribute,
|
541
|
-
};
|
542
|
-
return new PolygonOutlineGeometry(newOptions);
|
543
|
-
};
|
544
|
-
|
545
|
-
/**
|
546
|
-
* Computes the geometric representation of a polygon outline, including its vertices, indices, and a bounding sphere.
|
547
|
-
*
|
548
|
-
* @param {PolygonOutlineGeometry} polygonGeometry A description of the polygon outline.
|
549
|
-
* @returns {Geometry|undefined} The computed vertices and indices.
|
550
|
-
*/
|
551
|
-
PolygonOutlineGeometry.createGeometry = function (polygonGeometry) {
|
552
|
-
const ellipsoid = polygonGeometry._ellipsoid;
|
553
|
-
const granularity = polygonGeometry._granularity;
|
554
|
-
const polygonHierarchy = polygonGeometry._polygonHierarchy;
|
555
|
-
const perPositionHeight = polygonGeometry._perPositionHeight;
|
556
|
-
const arcType = polygonGeometry._arcType;
|
557
|
-
|
558
|
-
const polygons = PolygonGeometryLibrary.PolygonGeometryLibrary.polygonOutlinesFromHierarchy(
|
559
|
-
polygonHierarchy,
|
560
|
-
!perPositionHeight,
|
561
|
-
ellipsoid
|
562
|
-
);
|
563
|
-
|
564
|
-
if (polygons.length === 0) {
|
565
|
-
return undefined;
|
566
|
-
}
|
567
|
-
|
568
|
-
let geometryInstance;
|
569
|
-
const geometries = [];
|
570
|
-
const minDistance = Math$1.CesiumMath.chordLength(
|
571
|
-
granularity,
|
572
|
-
ellipsoid.maximumRadius
|
573
|
-
);
|
574
|
-
|
575
|
-
const height = polygonGeometry._height;
|
576
|
-
const extrudedHeight = polygonGeometry._extrudedHeight;
|
577
|
-
const extrude =
|
578
|
-
polygonGeometry._perPositionHeightExtrude ||
|
579
|
-
!Math$1.CesiumMath.equalsEpsilon(height, extrudedHeight, 0, Math$1.CesiumMath.EPSILON2);
|
580
|
-
let offsetValue;
|
581
|
-
let i;
|
582
|
-
if (extrude) {
|
583
|
-
for (i = 0; i < polygons.length; i++) {
|
584
|
-
geometryInstance = createGeometryFromPositionsExtruded(
|
585
|
-
ellipsoid,
|
586
|
-
polygons[i],
|
587
|
-
minDistance,
|
588
|
-
perPositionHeight,
|
589
|
-
arcType
|
179
|
+
indices[index++] = length - 1;
|
180
|
+
indices[index++] = 0;
|
181
|
+
return new GeometryInstance_default({
|
182
|
+
geometry: new Geometry_default({
|
183
|
+
attributes: new GeometryAttributes_default({
|
184
|
+
position: new GeometryAttribute_default({
|
185
|
+
componentDatatype: ComponentDatatype_default.DOUBLE,
|
186
|
+
componentsPerAttribute: 3,
|
187
|
+
values: subdividedPositions
|
188
|
+
})
|
189
|
+
}),
|
190
|
+
indices,
|
191
|
+
primitiveType: PrimitiveType_default.LINES
|
192
|
+
})
|
193
|
+
});
|
194
|
+
}
|
195
|
+
function createGeometryFromPositionsExtruded(ellipsoid, positions, minDistance, perPositionHeight, arcType) {
|
196
|
+
const tangentPlane = EllipsoidTangentPlane_default.fromPoints(positions, ellipsoid);
|
197
|
+
const positions2D = tangentPlane.projectPointsOntoPlane(
|
198
|
+
positions,
|
199
|
+
createGeometryFromPositionsPositions
|
200
|
+
);
|
201
|
+
const originalWindingOrder = PolygonPipeline_default.computeWindingOrder2D(
|
202
|
+
positions2D
|
203
|
+
);
|
204
|
+
if (originalWindingOrder === WindingOrder_default.CLOCKWISE) {
|
205
|
+
positions2D.reverse();
|
206
|
+
positions = positions.slice().reverse();
|
207
|
+
}
|
208
|
+
let subdividedPositions;
|
209
|
+
let i;
|
210
|
+
let length = positions.length;
|
211
|
+
const corners = new Array(length);
|
212
|
+
let index = 0;
|
213
|
+
if (!perPositionHeight) {
|
214
|
+
let numVertices = 0;
|
215
|
+
if (arcType === ArcType_default.GEODESIC) {
|
216
|
+
for (i = 0; i < length; i++) {
|
217
|
+
numVertices += PolygonGeometryLibrary_default.subdivideLineCount(
|
218
|
+
positions[i],
|
219
|
+
positions[(i + 1) % length],
|
220
|
+
minDistance
|
590
221
|
);
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
222
|
+
}
|
223
|
+
} else if (arcType === ArcType_default.RHUMB) {
|
224
|
+
for (i = 0; i < length; i++) {
|
225
|
+
numVertices += PolygonGeometryLibrary_default.subdivideRhumbLineCount(
|
595
226
|
ellipsoid,
|
596
|
-
|
227
|
+
positions[i],
|
228
|
+
positions[(i + 1) % length],
|
229
|
+
minDistance
|
597
230
|
);
|
598
|
-
if (defaultValue.defined(polygonGeometry._offsetAttribute)) {
|
599
|
-
const size =
|
600
|
-
geometryInstance.geometry.attributes.position.values.length / 3;
|
601
|
-
let offsetAttribute = new Uint8Array(size);
|
602
|
-
if (polygonGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.TOP) {
|
603
|
-
offsetAttribute = offsetAttribute.fill(1, 0, size / 2);
|
604
|
-
} else {
|
605
|
-
offsetValue =
|
606
|
-
polygonGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE
|
607
|
-
? 0
|
608
|
-
: 1;
|
609
|
-
offsetAttribute = offsetAttribute.fill(offsetValue);
|
610
|
-
}
|
611
|
-
|
612
|
-
geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute(
|
613
|
-
{
|
614
|
-
componentDatatype: ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
|
615
|
-
componentsPerAttribute: 1,
|
616
|
-
values: offsetAttribute,
|
617
|
-
}
|
618
|
-
);
|
619
|
-
}
|
620
|
-
geometries.push(geometryInstance);
|
621
231
|
}
|
622
|
-
}
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
232
|
+
}
|
233
|
+
subdividedPositions = new Float64Array(numVertices * 3 * 2);
|
234
|
+
for (i = 0; i < length; ++i) {
|
235
|
+
corners[i] = index / 3;
|
236
|
+
let tempPositions;
|
237
|
+
if (arcType === ArcType_default.GEODESIC) {
|
238
|
+
tempPositions = PolygonGeometryLibrary_default.subdivideLine(
|
239
|
+
positions[i],
|
240
|
+
positions[(i + 1) % length],
|
627
241
|
minDistance,
|
628
|
-
|
629
|
-
arcType
|
242
|
+
createGeometryFromPositionsSubdivided
|
630
243
|
);
|
631
|
-
|
632
|
-
|
633
|
-
height,
|
244
|
+
} else if (arcType === ArcType_default.RHUMB) {
|
245
|
+
tempPositions = PolygonGeometryLibrary_default.subdivideRhumbLine(
|
634
246
|
ellipsoid,
|
635
|
-
|
247
|
+
positions[i],
|
248
|
+
positions[(i + 1) % length],
|
249
|
+
minDistance,
|
250
|
+
createGeometryFromPositionsSubdivided
|
636
251
|
);
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
offsetValue =
|
642
|
-
polygonGeometry._offsetAttribute === GeometryOffsetAttribute.GeometryOffsetAttribute.NONE
|
643
|
-
? 0
|
644
|
-
: 1;
|
645
|
-
const applyOffset = new Uint8Array(length / 3).fill(offsetValue);
|
646
|
-
geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute.GeometryAttribute(
|
647
|
-
{
|
648
|
-
componentDatatype: ComponentDatatype.ComponentDatatype.UNSIGNED_BYTE,
|
649
|
-
componentsPerAttribute: 1,
|
650
|
-
values: applyOffset,
|
651
|
-
}
|
652
|
-
);
|
653
|
-
}
|
654
|
-
|
655
|
-
geometries.push(geometryInstance);
|
252
|
+
}
|
253
|
+
const tempPositionsLength = tempPositions.length;
|
254
|
+
for (let j = 0; j < tempPositionsLength; ++j) {
|
255
|
+
subdividedPositions[index++] = tempPositions[j];
|
656
256
|
}
|
657
257
|
}
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
258
|
+
} else {
|
259
|
+
subdividedPositions = new Float64Array(length * 2 * 3 * 2);
|
260
|
+
for (i = 0; i < length; ++i) {
|
261
|
+
corners[i] = index / 3;
|
262
|
+
const p0 = positions[i];
|
263
|
+
const p1 = positions[(i + 1) % length];
|
264
|
+
subdividedPositions[index++] = p0.x;
|
265
|
+
subdividedPositions[index++] = p0.y;
|
266
|
+
subdividedPositions[index++] = p0.z;
|
267
|
+
subdividedPositions[index++] = p1.x;
|
268
|
+
subdividedPositions[index++] = p1.y;
|
269
|
+
subdividedPositions[index++] = p1.z;
|
270
|
+
}
|
271
|
+
}
|
272
|
+
length = subdividedPositions.length / (3 * 2);
|
273
|
+
const cornersLength = corners.length;
|
274
|
+
const indicesSize = (length * 2 + cornersLength) * 2;
|
275
|
+
const indices = IndexDatatype_default.createTypedArray(
|
276
|
+
length + cornersLength,
|
277
|
+
indicesSize
|
278
|
+
);
|
279
|
+
index = 0;
|
280
|
+
for (i = 0; i < length; ++i) {
|
281
|
+
indices[index++] = i;
|
282
|
+
indices[index++] = (i + 1) % length;
|
283
|
+
indices[index++] = i + length;
|
284
|
+
indices[index++] = (i + 1) % length + length;
|
285
|
+
}
|
286
|
+
for (i = 0; i < cornersLength; i++) {
|
287
|
+
const corner = corners[i];
|
288
|
+
indices[index++] = corner;
|
289
|
+
indices[index++] = corner + length;
|
290
|
+
}
|
291
|
+
return new GeometryInstance_default({
|
292
|
+
geometry: new Geometry_default({
|
293
|
+
attributes: new GeometryAttributes_default({
|
294
|
+
position: new GeometryAttribute_default({
|
295
|
+
componentDatatype: ComponentDatatype_default.DOUBLE,
|
296
|
+
componentsPerAttribute: 3,
|
297
|
+
values: subdividedPositions
|
298
|
+
})
|
299
|
+
}),
|
300
|
+
indices,
|
301
|
+
primitiveType: PrimitiveType_default.LINES
|
302
|
+
})
|
303
|
+
});
|
304
|
+
}
|
305
|
+
function PolygonOutlineGeometry(options) {
|
306
|
+
Check_default.typeOf.object("options", options);
|
307
|
+
Check_default.typeOf.object("options.polygonHierarchy", options.polygonHierarchy);
|
308
|
+
if (options.perPositionHeight && defined_default(options.height)) {
|
309
|
+
throw new DeveloperError_default(
|
310
|
+
"Cannot use both options.perPositionHeight and options.height"
|
662
311
|
);
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
312
|
+
}
|
313
|
+
if (defined_default(options.arcType) && options.arcType !== ArcType_default.GEODESIC && options.arcType !== ArcType_default.RHUMB) {
|
314
|
+
throw new DeveloperError_default(
|
315
|
+
"Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB."
|
316
|
+
);
|
317
|
+
}
|
318
|
+
const polygonHierarchy = options.polygonHierarchy;
|
319
|
+
const ellipsoid = defaultValue_default(options.ellipsoid, Ellipsoid_default.WGS84);
|
320
|
+
const granularity = defaultValue_default(
|
321
|
+
options.granularity,
|
322
|
+
Math_default.RADIANS_PER_DEGREE
|
323
|
+
);
|
324
|
+
const perPositionHeight = defaultValue_default(options.perPositionHeight, false);
|
325
|
+
const perPositionHeightExtrude = perPositionHeight && defined_default(options.extrudedHeight);
|
326
|
+
const arcType = defaultValue_default(options.arcType, ArcType_default.GEODESIC);
|
327
|
+
let height = defaultValue_default(options.height, 0);
|
328
|
+
let extrudedHeight = defaultValue_default(options.extrudedHeight, height);
|
329
|
+
if (!perPositionHeightExtrude) {
|
330
|
+
const h = Math.max(height, extrudedHeight);
|
331
|
+
extrudedHeight = Math.min(height, extrudedHeight);
|
332
|
+
height = h;
|
333
|
+
}
|
334
|
+
this._ellipsoid = Ellipsoid_default.clone(ellipsoid);
|
335
|
+
this._granularity = granularity;
|
336
|
+
this._height = height;
|
337
|
+
this._extrudedHeight = extrudedHeight;
|
338
|
+
this._arcType = arcType;
|
339
|
+
this._polygonHierarchy = polygonHierarchy;
|
340
|
+
this._perPositionHeight = perPositionHeight;
|
341
|
+
this._perPositionHeightExtrude = perPositionHeightExtrude;
|
342
|
+
this._offsetAttribute = options.offsetAttribute;
|
343
|
+
this._workerName = "createPolygonOutlineGeometry";
|
344
|
+
this.packedLength = PolygonGeometryLibrary_default.computeHierarchyPackedLength(
|
345
|
+
polygonHierarchy,
|
346
|
+
Cartesian3_default
|
347
|
+
) + Ellipsoid_default.packedLength + 8;
|
348
|
+
}
|
349
|
+
PolygonOutlineGeometry.pack = function(value, array, startingIndex) {
|
350
|
+
Check_default.typeOf.object("value", value);
|
351
|
+
Check_default.defined("array", array);
|
352
|
+
startingIndex = defaultValue_default(startingIndex, 0);
|
353
|
+
startingIndex = PolygonGeometryLibrary_default.packPolygonHierarchy(
|
354
|
+
value._polygonHierarchy,
|
355
|
+
array,
|
356
|
+
startingIndex,
|
357
|
+
Cartesian3_default
|
358
|
+
);
|
359
|
+
Ellipsoid_default.pack(value._ellipsoid, array, startingIndex);
|
360
|
+
startingIndex += Ellipsoid_default.packedLength;
|
361
|
+
array[startingIndex++] = value._height;
|
362
|
+
array[startingIndex++] = value._extrudedHeight;
|
363
|
+
array[startingIndex++] = value._granularity;
|
364
|
+
array[startingIndex++] = value._perPositionHeightExtrude ? 1 : 0;
|
365
|
+
array[startingIndex++] = value._perPositionHeight ? 1 : 0;
|
366
|
+
array[startingIndex++] = value._arcType;
|
367
|
+
array[startingIndex++] = defaultValue_default(value._offsetAttribute, -1);
|
368
|
+
array[startingIndex] = value.packedLength;
|
369
|
+
return array;
|
370
|
+
};
|
371
|
+
var scratchEllipsoid = Ellipsoid_default.clone(Ellipsoid_default.UNIT_SPHERE);
|
372
|
+
var dummyOptions = {
|
373
|
+
polygonHierarchy: {}
|
374
|
+
};
|
375
|
+
PolygonOutlineGeometry.unpack = function(array, startingIndex, result) {
|
376
|
+
Check_default.defined("array", array);
|
377
|
+
startingIndex = defaultValue_default(startingIndex, 0);
|
378
|
+
const polygonHierarchy = PolygonGeometryLibrary_default.unpackPolygonHierarchy(
|
379
|
+
array,
|
380
|
+
startingIndex,
|
381
|
+
Cartesian3_default
|
382
|
+
);
|
383
|
+
startingIndex = polygonHierarchy.startingIndex;
|
384
|
+
delete polygonHierarchy.startingIndex;
|
385
|
+
const ellipsoid = Ellipsoid_default.unpack(array, startingIndex, scratchEllipsoid);
|
386
|
+
startingIndex += Ellipsoid_default.packedLength;
|
387
|
+
const height = array[startingIndex++];
|
388
|
+
const extrudedHeight = array[startingIndex++];
|
389
|
+
const granularity = array[startingIndex++];
|
390
|
+
const perPositionHeightExtrude = array[startingIndex++] === 1;
|
391
|
+
const perPositionHeight = array[startingIndex++] === 1;
|
392
|
+
const arcType = array[startingIndex++];
|
393
|
+
const offsetAttribute = array[startingIndex++];
|
394
|
+
const packedLength = array[startingIndex];
|
395
|
+
if (!defined_default(result)) {
|
396
|
+
result = new PolygonOutlineGeometry(dummyOptions);
|
397
|
+
}
|
398
|
+
result._polygonHierarchy = polygonHierarchy;
|
399
|
+
result._ellipsoid = Ellipsoid_default.clone(ellipsoid, result._ellipsoid);
|
400
|
+
result._height = height;
|
401
|
+
result._extrudedHeight = extrudedHeight;
|
402
|
+
result._granularity = granularity;
|
403
|
+
result._perPositionHeight = perPositionHeight;
|
404
|
+
result._perPositionHeightExtrude = perPositionHeightExtrude;
|
405
|
+
result._arcType = arcType;
|
406
|
+
result._offsetAttribute = offsetAttribute === -1 ? void 0 : offsetAttribute;
|
407
|
+
result.packedLength = packedLength;
|
408
|
+
return result;
|
409
|
+
};
|
410
|
+
PolygonOutlineGeometry.fromPositions = function(options) {
|
411
|
+
options = defaultValue_default(options, defaultValue_default.EMPTY_OBJECT);
|
412
|
+
Check_default.defined("options.positions", options.positions);
|
413
|
+
const newOptions = {
|
414
|
+
polygonHierarchy: {
|
415
|
+
positions: options.positions
|
416
|
+
},
|
417
|
+
height: options.height,
|
418
|
+
extrudedHeight: options.extrudedHeight,
|
419
|
+
ellipsoid: options.ellipsoid,
|
420
|
+
granularity: options.granularity,
|
421
|
+
perPositionHeight: options.perPositionHeight,
|
422
|
+
arcType: options.arcType,
|
423
|
+
offsetAttribute: options.offsetAttribute
|
671
424
|
};
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
425
|
+
return new PolygonOutlineGeometry(newOptions);
|
426
|
+
};
|
427
|
+
PolygonOutlineGeometry.createGeometry = function(polygonGeometry) {
|
428
|
+
const ellipsoid = polygonGeometry._ellipsoid;
|
429
|
+
const granularity = polygonGeometry._granularity;
|
430
|
+
const polygonHierarchy = polygonGeometry._polygonHierarchy;
|
431
|
+
const perPositionHeight = polygonGeometry._perPositionHeight;
|
432
|
+
const arcType = polygonGeometry._arcType;
|
433
|
+
const polygons = PolygonGeometryLibrary_default.polygonOutlinesFromHierarchy(
|
434
|
+
polygonHierarchy,
|
435
|
+
!perPositionHeight,
|
436
|
+
ellipsoid
|
437
|
+
);
|
438
|
+
if (polygons.length === 0) {
|
439
|
+
return void 0;
|
440
|
+
}
|
441
|
+
let geometryInstance;
|
442
|
+
const geometries = [];
|
443
|
+
const minDistance = Math_default.chordLength(
|
444
|
+
granularity,
|
445
|
+
ellipsoid.maximumRadius
|
446
|
+
);
|
447
|
+
const height = polygonGeometry._height;
|
448
|
+
const extrudedHeight = polygonGeometry._extrudedHeight;
|
449
|
+
const extrude = polygonGeometry._perPositionHeightExtrude || !Math_default.equalsEpsilon(height, extrudedHeight, 0, Math_default.EPSILON2);
|
450
|
+
let offsetValue;
|
451
|
+
let i;
|
452
|
+
if (extrude) {
|
453
|
+
for (i = 0; i < polygons.length; i++) {
|
454
|
+
geometryInstance = createGeometryFromPositionsExtruded(
|
455
|
+
ellipsoid,
|
456
|
+
polygons[i],
|
457
|
+
minDistance,
|
458
|
+
perPositionHeight,
|
459
|
+
arcType
|
460
|
+
);
|
461
|
+
geometryInstance.geometry = PolygonGeometryLibrary_default.scaleToGeodeticHeightExtruded(
|
462
|
+
geometryInstance.geometry,
|
463
|
+
height,
|
464
|
+
extrudedHeight,
|
465
|
+
ellipsoid,
|
466
|
+
perPositionHeight
|
467
|
+
);
|
468
|
+
if (defined_default(polygonGeometry._offsetAttribute)) {
|
469
|
+
const size = geometryInstance.geometry.attributes.position.values.length / 3;
|
470
|
+
let offsetAttribute = new Uint8Array(size);
|
471
|
+
if (polygonGeometry._offsetAttribute === GeometryOffsetAttribute_default.TOP) {
|
472
|
+
offsetAttribute = offsetAttribute.fill(1, 0, size / 2);
|
473
|
+
} else {
|
474
|
+
offsetValue = polygonGeometry._offsetAttribute === GeometryOffsetAttribute_default.NONE ? 0 : 1;
|
475
|
+
offsetAttribute = offsetAttribute.fill(offsetValue);
|
476
|
+
}
|
477
|
+
geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute_default(
|
478
|
+
{
|
479
|
+
componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
|
480
|
+
componentsPerAttribute: 1,
|
481
|
+
values: offsetAttribute
|
482
|
+
}
|
483
|
+
);
|
484
|
+
}
|
485
|
+
geometries.push(geometryInstance);
|
486
|
+
}
|
487
|
+
} else {
|
488
|
+
for (i = 0; i < polygons.length; i++) {
|
489
|
+
geometryInstance = createGeometryFromPositions(
|
490
|
+
ellipsoid,
|
491
|
+
polygons[i],
|
492
|
+
minDistance,
|
493
|
+
perPositionHeight,
|
494
|
+
arcType
|
495
|
+
);
|
496
|
+
geometryInstance.geometry.attributes.position.values = PolygonPipeline_default.scaleToGeodeticHeight(
|
497
|
+
geometryInstance.geometry.attributes.position.values,
|
498
|
+
height,
|
499
|
+
ellipsoid,
|
500
|
+
!perPositionHeight
|
501
|
+
);
|
502
|
+
if (defined_default(polygonGeometry._offsetAttribute)) {
|
503
|
+
const length = geometryInstance.geometry.attributes.position.values.length;
|
504
|
+
offsetValue = polygonGeometry._offsetAttribute === GeometryOffsetAttribute_default.NONE ? 0 : 1;
|
505
|
+
const applyOffset = new Uint8Array(length / 3).fill(offsetValue);
|
506
|
+
geometryInstance.geometry.attributes.applyOffset = new GeometryAttribute_default(
|
507
|
+
{
|
508
|
+
componentDatatype: ComponentDatatype_default.UNSIGNED_BYTE,
|
509
|
+
componentsPerAttribute: 1,
|
510
|
+
values: applyOffset
|
511
|
+
}
|
512
|
+
);
|
513
|
+
}
|
514
|
+
geometries.push(geometryInstance);
|
676
515
|
}
|
677
|
-
polygonGeometry._ellipsoid = Matrix3.Ellipsoid.clone(polygonGeometry._ellipsoid);
|
678
|
-
return PolygonOutlineGeometry.createGeometry(polygonGeometry);
|
679
516
|
}
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
|
517
|
+
const geometry = GeometryPipeline_default.combineInstances(geometries)[0];
|
518
|
+
const boundingSphere = BoundingSphere_default.fromVertices(
|
519
|
+
geometry.attributes.position.values
|
520
|
+
);
|
521
|
+
return new Geometry_default({
|
522
|
+
attributes: geometry.attributes,
|
523
|
+
indices: geometry.indices,
|
524
|
+
primitiveType: geometry.primitiveType,
|
525
|
+
boundingSphere,
|
526
|
+
offsetAttribute: polygonGeometry._offsetAttribute
|
527
|
+
});
|
528
|
+
};
|
529
|
+
var PolygonOutlineGeometry_default = PolygonOutlineGeometry;
|
530
|
+
|
531
|
+
// packages/engine/Source/Workers/createPolygonOutlineGeometry.js
|
532
|
+
function createPolygonOutlineGeometry(polygonGeometry, offset) {
|
533
|
+
if (defined_default(offset)) {
|
534
|
+
polygonGeometry = PolygonOutlineGeometry_default.unpack(polygonGeometry, offset);
|
535
|
+
}
|
536
|
+
polygonGeometry._ellipsoid = Ellipsoid_default.clone(polygonGeometry._ellipsoid);
|
537
|
+
return PolygonOutlineGeometry_default.createGeometry(polygonGeometry);
|
538
|
+
}
|
539
|
+
var createPolygonOutlineGeometry_default = createPolygonOutlineGeometry;
|
540
|
+
export {
|
541
|
+
createPolygonOutlineGeometry_default as default
|
542
|
+
};
|