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