@giro3d/piero 1.0.0-beta.0
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/LICENSE +9 -0
- package/README.md +134 -0
- package/dist/Components.cjs.js +2 -0
- package/dist/Components.cjs.js.map +1 -0
- package/dist/Components.es.js +608 -0
- package/dist/Components.es.js.map +1 -0
- package/dist/assets/piero.css +9 -0
- package/dist/index.cjs.js +9 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.es.js +6971 -0
- package/dist/index.es.js.map +1 -0
- package/dist/modules.cjs.js +2 -0
- package/dist/modules.cjs.js.map +1 -0
- package/dist/modules.d.ts +2 -0
- package/dist/modules.es.js +856 -0
- package/dist/modules.es.js.map +1 -0
- package/dist/src/App.vue.d.ts +6 -0
- package/dist/src/api/BookmarkApi.d.ts +6 -0
- package/dist/src/api/DatasetApi.d.ts +61 -0
- package/dist/src/api/ViewApi.d.ts +4 -0
- package/dist/src/api/index.d.ts +4 -0
- package/dist/src/components/AlertToast.vue.d.ts +4 -0
- package/dist/src/components/AttributeGroup.vue.d.ts +7 -0
- package/dist/src/components/AttributeItem.vue.d.ts +6 -0
- package/dist/src/components/AttributePanel.vue.d.ts +14 -0
- package/dist/src/components/ColorFragment.vue.d.ts +6 -0
- package/dist/src/components/Configuration.d.ts +14 -0
- package/dist/src/components/CoordinateFragment.vue.d.ts +10 -0
- package/dist/src/components/DropdownView.vue.d.ts +13 -0
- package/dist/src/components/LinkFragment.vue.d.ts +10 -0
- package/dist/src/components/LoadingScreen.vue.d.ts +2 -0
- package/dist/src/components/MainView.vue.d.ts +5 -0
- package/dist/src/components/MinimapView.vue.d.ts +4 -0
- package/dist/src/components/ModalOverlay.vue.d.ts +25 -0
- package/dist/src/components/NavigationButtons.vue.d.ts +2 -0
- package/dist/src/components/OpacitySlider.vue.d.ts +10 -0
- package/dist/src/components/PanelContainer.vue.d.ts +10 -0
- package/dist/src/components/ProgressBar.vue.d.ts +14 -0
- package/dist/src/components/SearchOverlay.vue.d.ts +8 -0
- package/dist/src/components/SpinnerControl.vue.d.ts +2 -0
- package/dist/src/components/StatusBar.vue.d.ts +10 -0
- package/dist/src/components/SwitchToggle.vue.d.ts +25 -0
- package/dist/src/components/VisibilityControl.vue.d.ts +9 -0
- package/dist/src/components/atoms/ButtonArea.vue.d.ts +17 -0
- package/dist/src/components/atoms/ButtonWithIcon.vue.d.ts +11 -0
- package/dist/src/components/atoms/CompactList.vue.d.ts +17 -0
- package/dist/src/components/atoms/Icon.vue.d.ts +6 -0
- package/dist/src/components/atoms/IconList.vue.d.ts +17 -0
- package/dist/src/components/atoms/IconListButton.vue.d.ts +10 -0
- package/dist/src/components/atoms/ImportButton.vue.d.ts +13 -0
- package/dist/src/components/atoms/ListLabel.vue.d.ts +5 -0
- package/dist/src/components/atoms/ListLabelButton.vue.d.ts +11 -0
- package/dist/src/components/atoms/SectionCollapsible.vue.d.ts +30 -0
- package/dist/src/components/charts/BarChart.vue.d.ts +4 -0
- package/dist/src/components/charts/DoughnutChart.vue.d.ts +4 -0
- package/dist/src/components/panels/AboutPanel.vue.d.ts +2 -0
- package/dist/src/components/panels/AnalysisPanel.vue.d.ts +2 -0
- package/dist/src/components/panels/AnnotationItem.vue.d.ts +21 -0
- package/dist/src/components/panels/AnnotationPanel.vue.d.ts +2 -0
- package/dist/src/components/panels/BasemapItem.vue.d.ts +17 -0
- package/dist/src/components/panels/BookmarkItem.vue.d.ts +16 -0
- package/dist/src/components/panels/BookmarkPanel.vue.d.ts +2 -0
- package/dist/src/components/panels/DatagroupItem.vue.d.ts +18 -0
- package/dist/src/components/panels/DatasetItem.vue.d.ts +18 -0
- package/dist/src/components/panels/DatasetOrGroupItem.vue.d.ts +18 -0
- package/dist/src/components/panels/DatasetPanel.vue.d.ts +2 -0
- package/dist/src/components/panels/EmptyIndicator.vue.d.ts +6 -0
- package/dist/src/components/panels/LoadingIndicator.vue.d.ts +6 -0
- package/dist/src/components/panels/MeasurementItem.vue.d.ts +17 -0
- package/dist/src/components/panels/MeasurementPanel.vue.d.ts +2 -0
- package/dist/src/components/panels/OverlayItem.vue.d.ts +19 -0
- package/dist/src/components/panels/ShareBookmarkModal.vue.d.ts +5 -0
- package/dist/src/components/panels/analysis/ClippingBox.vue.d.ts +2 -0
- package/dist/src/components/panels/analysis/CrossSection.vue.d.ts +2 -0
- package/dist/src/components/panels/analysis/FloodingPlane.vue.d.ts +2 -0
- package/dist/src/components/panels/analysis/Statistics.vue.d.ts +2 -0
- package/dist/src/components/panels/analysis/ToolWrapper.vue.d.ts +28 -0
- package/dist/src/components/toolbar/ToolBar.vue.d.ts +9 -0
- package/dist/src/components/toolbar/ToolbarButton.vue.d.ts +12 -0
- package/dist/src/config-loader.d.ts +7 -0
- package/dist/src/constants.d.ts +7 -0
- package/dist/src/context.d.ts +35 -0
- package/dist/src/createPieroApp.d.ts +31 -0
- package/dist/src/events.d.ts +30 -0
- package/dist/src/giro3d/CameraControlsInspector.d.ts +17 -0
- package/dist/src/giro3d/EntityBuilder.d.ts +21 -0
- package/dist/src/giro3d/Graticule.d.ts +20 -0
- package/dist/src/giro3d/Grid.d.ts +11 -0
- package/dist/src/giro3d/LayerBuilder.d.ts +46 -0
- package/dist/src/giro3d/Measure3D.d.ts +20 -0
- package/dist/src/giro3d/Plane.d.ts +11 -0
- package/dist/src/giro3d/Skybox.d.ts +6 -0
- package/dist/src/giro3d/entities/FeatureCollectionEntity.d.ts +41 -0
- package/dist/src/giro3d/entities/PointCloudEntity.d.ts +45 -0
- package/dist/src/giro3d/entities/TiledPointCloudEntity.d.ts +13 -0
- package/dist/src/giro3d/entities/Tiles3dEntity.d.ts +11 -0
- package/dist/src/giro3d/entities/VectorLabelsEntity.d.ts +48 -0
- package/dist/src/giro3d/entities/VectorMeshEntity.d.ts +97 -0
- package/dist/src/giro3d/entities/VectorShapeEntity.d.ts +8 -0
- package/dist/src/giro3d/entities/flatPointCloud.d.ts +2 -0
- package/dist/src/giro3d/entities/tiledIfc.d.ts +2 -0
- package/dist/src/giro3d/entities/vector.d.ts +2 -0
- package/dist/src/giro3d/sources/GeopackageSource.d.ts +20 -0
- package/dist/src/giro3d/sources/ShapefileSource.d.ts +20 -0
- package/dist/src/giro3d/sources/mixins.d.ts +60 -0
- package/dist/src/index.d.ts +17 -0
- package/dist/src/loaders/csv.d.ts +3 -0
- package/dist/src/loaders/las.d.ts +3 -0
- package/dist/src/loaders/loader.d.ts +29 -0
- package/dist/src/loaders/loader.test.d.ts +1 -0
- package/dist/src/loaders/userData.d.ts +8 -0
- package/dist/src/loaders/vector.d.ts +4 -0
- package/dist/src/module.d.ts +11 -0
- package/dist/src/modules/IFCLoader.d.ts +9 -0
- package/dist/src/modules/PLYLoader.d.ts +9 -0
- package/dist/src/modules/PotreeLoader.d.ts +9 -0
- package/dist/src/modules/Tour.d.ts +17 -0
- package/dist/src/modules/ifc/IfcEntity.d.ts +84 -0
- package/dist/src/modules/ifc/IfcEntityInspector.d.ts +7 -0
- package/dist/src/modules/ifc/IfcPropertyView.vue.d.ts +6 -0
- package/dist/src/modules/ifc/IfcSubtree.vue.d.ts +7 -0
- package/dist/src/modules/index.d.ts +5 -0
- package/dist/src/modules/ply/PlyEntity.d.ts +33 -0
- package/dist/src/providers/Alticoding.d.ts +32 -0
- package/dist/src/providers/BanProvider.d.ts +11 -0
- package/dist/src/providers/Geocoding.d.ts +7 -0
- package/dist/src/providers/IgnProvider.d.ts +11 -0
- package/dist/src/services/AnalysisManager.d.ts +10 -0
- package/dist/src/services/AnnotationManager.d.ts +48 -0
- package/dist/src/services/CameraController.d.ts +99 -0
- package/dist/src/services/DatasetManager.d.ts +27 -0
- package/dist/src/services/Giro3DManager.d.ts +42 -0
- package/dist/src/services/Highlighter.d.ts +11 -0
- package/dist/src/services/LayerManager.d.ts +37 -0
- package/dist/src/services/MeasureTool.d.ts +13 -0
- package/dist/src/services/MeasurementManager.d.ts +31 -0
- package/dist/src/services/MinimapController.d.ts +19 -0
- package/dist/src/services/Picker.d.ts +53 -0
- package/dist/src/services/analysis/ClippingBoxManager.d.ts +41 -0
- package/dist/src/services/analysis/CrossSectionManager.d.ts +9 -0
- package/dist/src/services/analysis/FloodingPlaneManager.d.ts +11 -0
- package/dist/src/stores/analysis.d.ts +1571 -0
- package/dist/src/stores/annotations.d.ts +60 -0
- package/dist/src/stores/bookmarks.d.ts +21 -0
- package/dist/src/stores/camera.d.ts +39 -0
- package/dist/src/stores/datasets.d.ts +49 -0
- package/dist/src/stores/giro3d.d.ts +45 -0
- package/dist/src/stores/layers.d.ts +40 -0
- package/dist/src/stores/measurement.d.ts +45 -0
- package/dist/src/stores/modules.d.ts +11 -0
- package/dist/src/stores/notifications.d.ts +8 -0
- package/dist/src/stores/statistics.d.ts +8 -0
- package/dist/src/types/Annotation.d.ts +35 -0
- package/dist/src/types/AnnotationMode.d.ts +7 -0
- package/dist/src/types/BaseLayer.d.ts +30 -0
- package/dist/src/types/Bookmark.d.ts +19 -0
- package/dist/src/types/CameraPosition.d.ts +7 -0
- package/dist/src/types/Configuration.d.ts +106 -0
- package/dist/src/types/Dataset.d.ts +78 -0
- package/dist/src/types/Feature.d.ts +13 -0
- package/dist/src/types/FloodingPlane.d.ts +14 -0
- package/dist/src/types/IFCTypes.d.ts +5 -0
- package/dist/src/types/LayerObject.d.ts +20 -0
- package/dist/src/types/Measure.d.ts +20 -0
- package/dist/src/types/MeasurementMode.d.ts +7 -0
- package/dist/src/types/Named.d.ts +5 -0
- package/dist/src/types/NavigationMode.d.ts +2 -0
- package/dist/src/types/Notification.d.ts +8 -0
- package/dist/src/types/OLGeometry.d.ts +1 -0
- package/dist/src/types/Overlay.d.ts +24 -0
- package/dist/src/types/VectorStyle.d.ts +31 -0
- package/dist/src/types/Viewbox.d.ts +7 -0
- package/dist/src/types/configuration/analysis.d.ts +26 -0
- package/dist/src/types/configuration/bookmark.d.ts +16 -0
- package/dist/src/types/configuration/camera.d.ts +19 -0
- package/dist/src/types/configuration/color.d.ts +18 -0
- package/dist/src/types/configuration/datasets/cityjson.d.ts +9 -0
- package/dist/src/types/configuration/datasets/core.d.ts +49 -0
- package/dist/src/types/configuration/datasets/featureCollection.d.ts +6 -0
- package/dist/src/types/configuration/datasets/ifc.d.ts +10 -0
- package/dist/src/types/configuration/datasets/index.d.ts +27 -0
- package/dist/src/types/configuration/datasets/layer.d.ts +43 -0
- package/dist/src/types/configuration/datasets/ply.d.ts +10 -0
- package/dist/src/types/configuration/datasets/pointCloud.d.ts +12 -0
- package/dist/src/types/configuration/datasets/potreePointCloud.d.ts +10 -0
- package/dist/src/types/configuration/datasets/tiledIfc.d.ts +9 -0
- package/dist/src/types/configuration/datasets/tiledPointCloud.d.ts +9 -0
- package/dist/src/types/configuration/datasets/vector.d.ts +34 -0
- package/dist/src/types/configuration/features.d.ts +2 -0
- package/dist/src/types/configuration/geographic.d.ts +51 -0
- package/dist/src/types/configuration/layers/core.d.ts +50 -0
- package/dist/src/types/configuration/layers/index.d.ts +51 -0
- package/dist/src/types/configuration/sources/bingMaps.d.ts +5 -0
- package/dist/src/types/configuration/sources/core/baseConfig.d.ts +70 -0
- package/dist/src/types/configuration/sources/core/tiled.d.ts +19 -0
- package/dist/src/types/configuration/sources/core/vector.d.ts +13 -0
- package/dist/src/types/configuration/sources/core/vectorTile.d.ts +8 -0
- package/dist/src/types/configuration/sources/customVector.d.ts +7 -0
- package/dist/src/types/configuration/sources/customVectorTile.d.ts +8 -0
- package/dist/src/types/configuration/sources/geojson.d.ts +5 -0
- package/dist/src/types/configuration/sources/geotiff.d.ts +8 -0
- package/dist/src/types/configuration/sources/gpx.d.ts +5 -0
- package/dist/src/types/configuration/sources/kml.d.ts +5 -0
- package/dist/src/types/configuration/sources/mvt.d.ts +10 -0
- package/dist/src/types/configuration/sources/osm.d.ts +5 -0
- package/dist/src/types/configuration/sources/stadiaMaps.d.ts +5 -0
- package/dist/src/types/configuration/sources/wms.d.ts +15 -0
- package/dist/src/types/configuration/sources/wmts.d.ts +15 -0
- package/dist/src/types/configuration/sources/xyz.d.ts +9 -0
- package/dist/src/types/utilities.d.ts +5 -0
- package/dist/src/utils/Components.d.ts +8 -0
- package/dist/src/utils/Configuration.d.ts +15 -0
- package/dist/src/utils/Download.d.ts +11 -0
- package/dist/src/utils/Fetcher.d.ts +77 -0
- package/dist/src/utils/Measure.d.ts +7 -0
- package/dist/src/utils/OLFeatures.d.ts +57 -0
- package/dist/src/utils/Projections.d.ts +10 -0
- package/dist/src/utils/Types.d.ts +11 -0
- package/package.json +103 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { default as Annotation } from '../types/Annotation';
|
|
2
|
+
import { default as AnnotationMode } from '../types/AnnotationMode';
|
|
3
|
+
export declare const useAnnotationStore: import('pinia').StoreDefinition<"annotations", Pick<{
|
|
4
|
+
add: (annotation: Annotation) => void;
|
|
5
|
+
count: import('vue').ComputedRef<number>;
|
|
6
|
+
createLine: () => void;
|
|
7
|
+
createPoint: () => void;
|
|
8
|
+
createPolygon: () => void;
|
|
9
|
+
edit: (annotation: Annotation) => void;
|
|
10
|
+
getAnnotationMode: () => AnnotationMode;
|
|
11
|
+
getAnnotations: () => Annotation[];
|
|
12
|
+
hasAnnotation: (name: string) => boolean;
|
|
13
|
+
importAnnotationFile: (file: Blob) => void;
|
|
14
|
+
importAnnotationsFiles: (files: File[]) => void;
|
|
15
|
+
isUserDrawing: () => boolean;
|
|
16
|
+
remove: (annotation: Annotation) => void;
|
|
17
|
+
setAnnotationMode: (mode: AnnotationMode) => void;
|
|
18
|
+
setIsUserDrawing: (value: boolean) => void;
|
|
19
|
+
setShowLabels: (v: boolean) => void;
|
|
20
|
+
showLabels: () => boolean;
|
|
21
|
+
stopEdition: () => void;
|
|
22
|
+
}, never>, Pick<{
|
|
23
|
+
add: (annotation: Annotation) => void;
|
|
24
|
+
count: import('vue').ComputedRef<number>;
|
|
25
|
+
createLine: () => void;
|
|
26
|
+
createPoint: () => void;
|
|
27
|
+
createPolygon: () => void;
|
|
28
|
+
edit: (annotation: Annotation) => void;
|
|
29
|
+
getAnnotationMode: () => AnnotationMode;
|
|
30
|
+
getAnnotations: () => Annotation[];
|
|
31
|
+
hasAnnotation: (name: string) => boolean;
|
|
32
|
+
importAnnotationFile: (file: Blob) => void;
|
|
33
|
+
importAnnotationsFiles: (files: File[]) => void;
|
|
34
|
+
isUserDrawing: () => boolean;
|
|
35
|
+
remove: (annotation: Annotation) => void;
|
|
36
|
+
setAnnotationMode: (mode: AnnotationMode) => void;
|
|
37
|
+
setIsUserDrawing: (value: boolean) => void;
|
|
38
|
+
setShowLabels: (v: boolean) => void;
|
|
39
|
+
showLabels: () => boolean;
|
|
40
|
+
stopEdition: () => void;
|
|
41
|
+
}, "count">, Pick<{
|
|
42
|
+
add: (annotation: Annotation) => void;
|
|
43
|
+
count: import('vue').ComputedRef<number>;
|
|
44
|
+
createLine: () => void;
|
|
45
|
+
createPoint: () => void;
|
|
46
|
+
createPolygon: () => void;
|
|
47
|
+
edit: (annotation: Annotation) => void;
|
|
48
|
+
getAnnotationMode: () => AnnotationMode;
|
|
49
|
+
getAnnotations: () => Annotation[];
|
|
50
|
+
hasAnnotation: (name: string) => boolean;
|
|
51
|
+
importAnnotationFile: (file: Blob) => void;
|
|
52
|
+
importAnnotationsFiles: (files: File[]) => void;
|
|
53
|
+
isUserDrawing: () => boolean;
|
|
54
|
+
remove: (annotation: Annotation) => void;
|
|
55
|
+
setAnnotationMode: (mode: AnnotationMode) => void;
|
|
56
|
+
setIsUserDrawing: (value: boolean) => void;
|
|
57
|
+
setShowLabels: (v: boolean) => void;
|
|
58
|
+
showLabels: () => boolean;
|
|
59
|
+
stopEdition: () => void;
|
|
60
|
+
}, "add" | "remove" | "createLine" | "createPoint" | "createPolygon" | "edit" | "getAnnotationMode" | "getAnnotations" | "hasAnnotation" | "importAnnotationFile" | "importAnnotationsFiles" | "isUserDrawing" | "setAnnotationMode" | "setIsUserDrawing" | "setShowLabels" | "showLabels" | "stopEdition">>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as Bookmark } from '../types/Bookmark';
|
|
2
|
+
export declare const useBookmarkStore: import('pinia').StoreDefinition<"bookmarks", Pick<{
|
|
3
|
+
add: (bookmark: Bookmark) => void;
|
|
4
|
+
clear: () => void;
|
|
5
|
+
count: import('vue').ComputedRef<number>;
|
|
6
|
+
getBookmarks: () => Bookmark[];
|
|
7
|
+
remove: (bookmark: Bookmark) => void;
|
|
8
|
+
}, never>, Pick<{
|
|
9
|
+
add: (bookmark: Bookmark) => void;
|
|
10
|
+
clear: () => void;
|
|
11
|
+
count: import('vue').ComputedRef<number>;
|
|
12
|
+
getBookmarks: () => Bookmark[];
|
|
13
|
+
remove: (bookmark: Bookmark) => void;
|
|
14
|
+
}, "count">, Pick<{
|
|
15
|
+
add: (bookmark: Bookmark) => void;
|
|
16
|
+
clear: () => void;
|
|
17
|
+
count: import('vue').ComputedRef<number>;
|
|
18
|
+
getBookmarks: () => Bookmark[];
|
|
19
|
+
remove: (bookmark: Bookmark) => void;
|
|
20
|
+
}, "add" | "clear" | "getBookmarks" | "remove">>;
|
|
21
|
+
export type BookmarkStore = ReturnType<typeof useBookmarkStore>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { default as Entity3D } from '@giro3d/giro3d/entities/Entity3D';
|
|
2
|
+
import { Box3, Object3D, Vector3 } from '../../../../node_modules/three';
|
|
3
|
+
import { Ref } from 'vue';
|
|
4
|
+
import { default as CameraPosition } from '../types/CameraPosition';
|
|
5
|
+
import { default as NavigationMode } from '../types/NavigationMode';
|
|
6
|
+
export declare const useCameraStore: import('pinia').StoreDefinition<"camera", Pick<{
|
|
7
|
+
getCamera3dPosition: () => Vector3;
|
|
8
|
+
getCameraPosition: () => CameraPosition;
|
|
9
|
+
getNavigationMode: () => NavigationMode;
|
|
10
|
+
getNavigationModeRef: () => Ref<NavigationMode>;
|
|
11
|
+
isUserInteracting: () => boolean;
|
|
12
|
+
lookTopDownAt: (obj: Box3 | Entity3D | Object3D) => void;
|
|
13
|
+
setCameraPosition: (pos: CameraPosition) => void;
|
|
14
|
+
setCurrentPosition: (pos: CameraPosition, position3d: Vector3) => void;
|
|
15
|
+
setIsUserInteracting: (value: boolean) => void;
|
|
16
|
+
setNavigationMode: (mode: NavigationMode) => void;
|
|
17
|
+
}, never>, Pick<{
|
|
18
|
+
getCamera3dPosition: () => Vector3;
|
|
19
|
+
getCameraPosition: () => CameraPosition;
|
|
20
|
+
getNavigationMode: () => NavigationMode;
|
|
21
|
+
getNavigationModeRef: () => Ref<NavigationMode>;
|
|
22
|
+
isUserInteracting: () => boolean;
|
|
23
|
+
lookTopDownAt: (obj: Box3 | Entity3D | Object3D) => void;
|
|
24
|
+
setCameraPosition: (pos: CameraPosition) => void;
|
|
25
|
+
setCurrentPosition: (pos: CameraPosition, position3d: Vector3) => void;
|
|
26
|
+
setIsUserInteracting: (value: boolean) => void;
|
|
27
|
+
setNavigationMode: (mode: NavigationMode) => void;
|
|
28
|
+
}, never>, Pick<{
|
|
29
|
+
getCamera3dPosition: () => Vector3;
|
|
30
|
+
getCameraPosition: () => CameraPosition;
|
|
31
|
+
getNavigationMode: () => NavigationMode;
|
|
32
|
+
getNavigationModeRef: () => Ref<NavigationMode>;
|
|
33
|
+
isUserInteracting: () => boolean;
|
|
34
|
+
lookTopDownAt: (obj: Box3 | Entity3D | Object3D) => void;
|
|
35
|
+
setCameraPosition: (pos: CameraPosition) => void;
|
|
36
|
+
setCurrentPosition: (pos: CameraPosition, position3d: Vector3) => void;
|
|
37
|
+
setIsUserInteracting: (value: boolean) => void;
|
|
38
|
+
setNavigationMode: (mode: NavigationMode) => void;
|
|
39
|
+
}, "getCamera3dPosition" | "getCameraPosition" | "getNavigationMode" | "getNavigationModeRef" | "isUserInteracting" | "lookTopDownAt" | "setCameraPosition" | "setCurrentPosition" | "setIsUserInteracting" | "setNavigationMode">>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { default as Entity3D } from '@giro3d/giro3d/entities/Entity3D';
|
|
2
|
+
import { Box3 } from '../../../../node_modules/three';
|
|
3
|
+
import { Dataset, DatasetLayer, DatasetOrGroup } from '../types/Dataset';
|
|
4
|
+
export declare const useDatasetStore: import('pinia').StoreDefinition<"datasets", Pick<{
|
|
5
|
+
add: (ds: DatasetOrGroup) => DatasetOrGroup;
|
|
6
|
+
attachEntity: (ds: DatasetOrGroup, entity: Entity3D) => void;
|
|
7
|
+
attachLayer: (ds: DatasetOrGroup, layer: DatasetLayer) => void;
|
|
8
|
+
count: import('vue').ComputedRef<number>;
|
|
9
|
+
getBoundingBox: (dataset: DatasetOrGroup) => Box3;
|
|
10
|
+
getDatasets: () => Dataset[];
|
|
11
|
+
getEntity: (ds: DatasetOrGroup) => Entity3D | undefined;
|
|
12
|
+
getLayer: (ds: DatasetOrGroup) => DatasetLayer | undefined;
|
|
13
|
+
getTree: () => DatasetOrGroup[];
|
|
14
|
+
importFromFile: (file: File | string) => void;
|
|
15
|
+
remove: (ds: DatasetOrGroup) => void;
|
|
16
|
+
setVisible: (ds: DatasetOrGroup, newVisibility: boolean) => void;
|
|
17
|
+
toggleGrid: (ds: DatasetOrGroup) => void;
|
|
18
|
+
toggleMask: (ds: DatasetOrGroup) => void;
|
|
19
|
+
}, never>, Pick<{
|
|
20
|
+
add: (ds: DatasetOrGroup) => DatasetOrGroup;
|
|
21
|
+
attachEntity: (ds: DatasetOrGroup, entity: Entity3D) => void;
|
|
22
|
+
attachLayer: (ds: DatasetOrGroup, layer: DatasetLayer) => void;
|
|
23
|
+
count: import('vue').ComputedRef<number>;
|
|
24
|
+
getBoundingBox: (dataset: DatasetOrGroup) => Box3;
|
|
25
|
+
getDatasets: () => Dataset[];
|
|
26
|
+
getEntity: (ds: DatasetOrGroup) => Entity3D | undefined;
|
|
27
|
+
getLayer: (ds: DatasetOrGroup) => DatasetLayer | undefined;
|
|
28
|
+
getTree: () => DatasetOrGroup[];
|
|
29
|
+
importFromFile: (file: File | string) => void;
|
|
30
|
+
remove: (ds: DatasetOrGroup) => void;
|
|
31
|
+
setVisible: (ds: DatasetOrGroup, newVisibility: boolean) => void;
|
|
32
|
+
toggleGrid: (ds: DatasetOrGroup) => void;
|
|
33
|
+
toggleMask: (ds: DatasetOrGroup) => void;
|
|
34
|
+
}, "count">, Pick<{
|
|
35
|
+
add: (ds: DatasetOrGroup) => DatasetOrGroup;
|
|
36
|
+
attachEntity: (ds: DatasetOrGroup, entity: Entity3D) => void;
|
|
37
|
+
attachLayer: (ds: DatasetOrGroup, layer: DatasetLayer) => void;
|
|
38
|
+
count: import('vue').ComputedRef<number>;
|
|
39
|
+
getBoundingBox: (dataset: DatasetOrGroup) => Box3;
|
|
40
|
+
getDatasets: () => Dataset[];
|
|
41
|
+
getEntity: (ds: DatasetOrGroup) => Entity3D | undefined;
|
|
42
|
+
getLayer: (ds: DatasetOrGroup) => DatasetLayer | undefined;
|
|
43
|
+
getTree: () => DatasetOrGroup[];
|
|
44
|
+
importFromFile: (file: File | string) => void;
|
|
45
|
+
remove: (ds: DatasetOrGroup) => void;
|
|
46
|
+
setVisible: (ds: DatasetOrGroup, newVisibility: boolean) => void;
|
|
47
|
+
toggleGrid: (ds: DatasetOrGroup) => void;
|
|
48
|
+
toggleMask: (ds: DatasetOrGroup) => void;
|
|
49
|
+
}, "add" | "remove" | "attachEntity" | "attachLayer" | "getBoundingBox" | "getDatasets" | "getEntity" | "getLayer" | "getTree" | "importFromFile" | "setVisible" | "toggleGrid" | "toggleMask">>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { default as Instance } from '@giro3d/giro3d/core/Instance';
|
|
2
|
+
import { MapConstructorOptions } from '@giro3d/giro3d/entities/Map';
|
|
3
|
+
import { default as Inspector } from '@giro3d/giro3d/gui/Inspector';
|
|
4
|
+
import { default as Coordinates } from '@giro3d/giro3d/core/geographic/Coordinates';
|
|
5
|
+
import { default as Extent } from '@giro3d/giro3d/core/geographic/Extent';
|
|
6
|
+
export declare const useGiro3dStore: import('pinia').StoreDefinition<"giro3d", Pick<{
|
|
7
|
+
getCRS: () => string;
|
|
8
|
+
getDefaultBasemapExtent: () => Extent;
|
|
9
|
+
getDefaultBasemapOptions: () => Omit<MapConstructorOptions, "extent">;
|
|
10
|
+
getDefaultCameraLookAt: () => Coordinates;
|
|
11
|
+
getDefaultCameraPosition: () => Coordinates;
|
|
12
|
+
getInspector: () => Inspector | null;
|
|
13
|
+
getMainView: () => Instance | null;
|
|
14
|
+
getMinimapView: () => Instance | null;
|
|
15
|
+
notifyChange: () => void;
|
|
16
|
+
setInspector: (i: Inspector | null) => void;
|
|
17
|
+
setMainView: (instance: Instance | null) => void;
|
|
18
|
+
setMinimapView: (instance: Instance | null) => void;
|
|
19
|
+
}, never>, Pick<{
|
|
20
|
+
getCRS: () => string;
|
|
21
|
+
getDefaultBasemapExtent: () => Extent;
|
|
22
|
+
getDefaultBasemapOptions: () => Omit<MapConstructorOptions, "extent">;
|
|
23
|
+
getDefaultCameraLookAt: () => Coordinates;
|
|
24
|
+
getDefaultCameraPosition: () => Coordinates;
|
|
25
|
+
getInspector: () => Inspector | null;
|
|
26
|
+
getMainView: () => Instance | null;
|
|
27
|
+
getMinimapView: () => Instance | null;
|
|
28
|
+
notifyChange: () => void;
|
|
29
|
+
setInspector: (i: Inspector | null) => void;
|
|
30
|
+
setMainView: (instance: Instance | null) => void;
|
|
31
|
+
setMinimapView: (instance: Instance | null) => void;
|
|
32
|
+
}, never>, Pick<{
|
|
33
|
+
getCRS: () => string;
|
|
34
|
+
getDefaultBasemapExtent: () => Extent;
|
|
35
|
+
getDefaultBasemapOptions: () => Omit<MapConstructorOptions, "extent">;
|
|
36
|
+
getDefaultCameraLookAt: () => Coordinates;
|
|
37
|
+
getDefaultCameraPosition: () => Coordinates;
|
|
38
|
+
getInspector: () => Inspector | null;
|
|
39
|
+
getMainView: () => Instance | null;
|
|
40
|
+
getMinimapView: () => Instance | null;
|
|
41
|
+
notifyChange: () => void;
|
|
42
|
+
setInspector: (i: Inspector | null) => void;
|
|
43
|
+
setMainView: (instance: Instance | null) => void;
|
|
44
|
+
setMinimapView: (instance: Instance | null) => void;
|
|
45
|
+
}, "getCRS" | "getDefaultBasemapExtent" | "getDefaultBasemapOptions" | "getDefaultCameraLookAt" | "getDefaultCameraPosition" | "getInspector" | "getMainView" | "getMinimapView" | "notifyChange" | "setInspector" | "setMainView" | "setMinimapView">>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { GraticuleLayer } from '../giro3d/Graticule';
|
|
2
|
+
import { BaseLayer } from '../types/BaseLayer';
|
|
3
|
+
import { Overlay } from '../types/Overlay';
|
|
4
|
+
export declare const useLayerStore: import('pinia').StoreDefinition<"layers", Pick<{
|
|
5
|
+
basemapCount: import('vue').ComputedRef<number>;
|
|
6
|
+
getBasemaps: () => BaseLayer[];
|
|
7
|
+
getGraticuleLayer: () => GraticuleLayer | undefined;
|
|
8
|
+
getOverlays: () => Overlay[];
|
|
9
|
+
moveOverlayDown: (layer: Overlay) => void;
|
|
10
|
+
moveOverlayUp: (layer: Overlay) => void;
|
|
11
|
+
overlayCount: import('vue').ComputedRef<number>;
|
|
12
|
+
setBasemapOpacity: (layer: BaseLayer, opacity: number) => void;
|
|
13
|
+
setBasemapVisibility: (layer: BaseLayer, visible: boolean) => void;
|
|
14
|
+
setOverlayOpacity: (layer: Overlay, opacity: number) => void;
|
|
15
|
+
setOverlayVisibility: (layer: Overlay, visible: boolean) => void;
|
|
16
|
+
}, never>, Pick<{
|
|
17
|
+
basemapCount: import('vue').ComputedRef<number>;
|
|
18
|
+
getBasemaps: () => BaseLayer[];
|
|
19
|
+
getGraticuleLayer: () => GraticuleLayer | undefined;
|
|
20
|
+
getOverlays: () => Overlay[];
|
|
21
|
+
moveOverlayDown: (layer: Overlay) => void;
|
|
22
|
+
moveOverlayUp: (layer: Overlay) => void;
|
|
23
|
+
overlayCount: import('vue').ComputedRef<number>;
|
|
24
|
+
setBasemapOpacity: (layer: BaseLayer, opacity: number) => void;
|
|
25
|
+
setBasemapVisibility: (layer: BaseLayer, visible: boolean) => void;
|
|
26
|
+
setOverlayOpacity: (layer: Overlay, opacity: number) => void;
|
|
27
|
+
setOverlayVisibility: (layer: Overlay, visible: boolean) => void;
|
|
28
|
+
}, "basemapCount" | "overlayCount">, Pick<{
|
|
29
|
+
basemapCount: import('vue').ComputedRef<number>;
|
|
30
|
+
getBasemaps: () => BaseLayer[];
|
|
31
|
+
getGraticuleLayer: () => GraticuleLayer | undefined;
|
|
32
|
+
getOverlays: () => Overlay[];
|
|
33
|
+
moveOverlayDown: (layer: Overlay) => void;
|
|
34
|
+
moveOverlayUp: (layer: Overlay) => void;
|
|
35
|
+
overlayCount: import('vue').ComputedRef<number>;
|
|
36
|
+
setBasemapOpacity: (layer: BaseLayer, opacity: number) => void;
|
|
37
|
+
setBasemapVisibility: (layer: BaseLayer, visible: boolean) => void;
|
|
38
|
+
setOverlayOpacity: (layer: Overlay, opacity: number) => void;
|
|
39
|
+
setOverlayVisibility: (layer: Overlay, visible: boolean) => void;
|
|
40
|
+
}, "getBasemaps" | "getGraticuleLayer" | "getOverlays" | "moveOverlayDown" | "moveOverlayUp" | "setBasemapOpacity" | "setBasemapVisibility" | "setOverlayOpacity" | "setOverlayVisibility">>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { default as Measure } from '../types/Measure';
|
|
2
|
+
import { default as MeasurementMode } from '../types/MeasurementMode';
|
|
3
|
+
export declare const useMeasurementStore: import('pinia').StoreDefinition<"measurement", Pick<{
|
|
4
|
+
add: (measure: Measure) => void;
|
|
5
|
+
count: import('vue').ComputedRef<number>;
|
|
6
|
+
end: () => void;
|
|
7
|
+
getMeasurementMode: () => MeasurementMode;
|
|
8
|
+
getMeasures: () => Measure[];
|
|
9
|
+
hasMeasure: (name: string) => boolean;
|
|
10
|
+
importMeasureFile: (file: Blob) => void;
|
|
11
|
+
importMeasureFiles: (files: File[]) => void;
|
|
12
|
+
isUserMeasuring: () => boolean;
|
|
13
|
+
remove: (measure: Measure) => void;
|
|
14
|
+
setIsUserMeasuring: (value: boolean) => void;
|
|
15
|
+
setMeasurementMode: (mode: MeasurementMode) => void;
|
|
16
|
+
start: () => void;
|
|
17
|
+
}, never>, Pick<{
|
|
18
|
+
add: (measure: Measure) => void;
|
|
19
|
+
count: import('vue').ComputedRef<number>;
|
|
20
|
+
end: () => void;
|
|
21
|
+
getMeasurementMode: () => MeasurementMode;
|
|
22
|
+
getMeasures: () => Measure[];
|
|
23
|
+
hasMeasure: (name: string) => boolean;
|
|
24
|
+
importMeasureFile: (file: Blob) => void;
|
|
25
|
+
importMeasureFiles: (files: File[]) => void;
|
|
26
|
+
isUserMeasuring: () => boolean;
|
|
27
|
+
remove: (measure: Measure) => void;
|
|
28
|
+
setIsUserMeasuring: (value: boolean) => void;
|
|
29
|
+
setMeasurementMode: (mode: MeasurementMode) => void;
|
|
30
|
+
start: () => void;
|
|
31
|
+
}, "count">, Pick<{
|
|
32
|
+
add: (measure: Measure) => void;
|
|
33
|
+
count: import('vue').ComputedRef<number>;
|
|
34
|
+
end: () => void;
|
|
35
|
+
getMeasurementMode: () => MeasurementMode;
|
|
36
|
+
getMeasures: () => Measure[];
|
|
37
|
+
hasMeasure: (name: string) => boolean;
|
|
38
|
+
importMeasureFile: (file: Blob) => void;
|
|
39
|
+
importMeasureFiles: (files: File[]) => void;
|
|
40
|
+
isUserMeasuring: () => boolean;
|
|
41
|
+
remove: (measure: Measure) => void;
|
|
42
|
+
setIsUserMeasuring: (value: boolean) => void;
|
|
43
|
+
setMeasurementMode: (mode: MeasurementMode) => void;
|
|
44
|
+
start: () => void;
|
|
45
|
+
}, "add" | "remove" | "end" | "start" | "getMeasurementMode" | "getMeasures" | "hasMeasure" | "importMeasureFile" | "importMeasureFiles" | "isUserMeasuring" | "setIsUserMeasuring" | "setMeasurementMode">>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Module } from '../module';
|
|
2
|
+
export declare const useModuleStore: import('pinia').StoreDefinition<"modules", Pick<{
|
|
3
|
+
getLoadedModules: () => Module[];
|
|
4
|
+
setLoadedModules: (modules: Module[]) => void;
|
|
5
|
+
}, never>, Pick<{
|
|
6
|
+
getLoadedModules: () => Module[];
|
|
7
|
+
setLoadedModules: (modules: Module[]) => void;
|
|
8
|
+
}, never>, Pick<{
|
|
9
|
+
getLoadedModules: () => Module[];
|
|
10
|
+
setLoadedModules: (modules: Module[]) => void;
|
|
11
|
+
}, "getLoadedModules" | "setLoadedModules">>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as Notification } from '../types/Notification';
|
|
2
|
+
export declare const useNotificationStore: import('pinia').StoreDefinition<"notifications", Pick<{
|
|
3
|
+
push: (notification: Notification) => void;
|
|
4
|
+
}, never>, Pick<{
|
|
5
|
+
push: (notification: Notification) => void;
|
|
6
|
+
}, never>, Pick<{
|
|
7
|
+
push: (notification: Notification) => void;
|
|
8
|
+
}, "push">>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Dataset } from '../types/Dataset';
|
|
2
|
+
export declare const useStatisticsStore: import('pinia').StoreDefinition<"statistics", Pick<{
|
|
3
|
+
getCompatibleDatasets: () => Dataset[];
|
|
4
|
+
}, never>, Pick<{
|
|
5
|
+
getCompatibleDatasets: () => Dataset[];
|
|
6
|
+
}, never>, Pick<{
|
|
7
|
+
getCompatibleDatasets: () => Dataset[];
|
|
8
|
+
}, "getCompatibleDatasets">>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { default as Shape } from '@giro3d/giro3d/entities/Shape';
|
|
2
|
+
import { ColorRepresentation, EventDispatcher } from '../../../../node_modules/three';
|
|
3
|
+
type AnnotationEventMap = {
|
|
4
|
+
isEditing: EmptyEvent;
|
|
5
|
+
visible: EmptyEvent;
|
|
6
|
+
};
|
|
7
|
+
type EmptyEvent = {};
|
|
8
|
+
export type PieroShapeUserData = {
|
|
9
|
+
annotation?: Annotation;
|
|
10
|
+
highlightable: boolean;
|
|
11
|
+
highlightColor: ColorRepresentation;
|
|
12
|
+
measurements: {
|
|
13
|
+
area?: number | null;
|
|
14
|
+
minmax: [number, number];
|
|
15
|
+
perimeter?: number | null;
|
|
16
|
+
};
|
|
17
|
+
type: 'LineString' | 'MultiPoint' | 'Point' | 'Polygon';
|
|
18
|
+
};
|
|
19
|
+
export default class Annotation extends EventDispatcher<AnnotationEventMap> {
|
|
20
|
+
properties: object;
|
|
21
|
+
readonly title: string;
|
|
22
|
+
readonly uuid: string;
|
|
23
|
+
get isEditing(): boolean;
|
|
24
|
+
set isEditing(v: boolean);
|
|
25
|
+
get object(): Shape<PieroShapeUserData>;
|
|
26
|
+
get visible(): boolean;
|
|
27
|
+
set visible(v: boolean);
|
|
28
|
+
private _isEditing;
|
|
29
|
+
private _object;
|
|
30
|
+
private _visible;
|
|
31
|
+
constructor(title: string, object: () => Shape<PieroShapeUserData>, properties?: object);
|
|
32
|
+
static toCollection(annotations: Annotation[]): GeoJSON.FeatureCollection;
|
|
33
|
+
toGeoJSON(): GeoJSON.Feature;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { default as ColorLayer } from '@giro3d/giro3d/core/layer/ColorLayer';
|
|
2
|
+
import { default as ElevationLayer } from '@giro3d/giro3d/core/layer/ElevationLayer';
|
|
3
|
+
import { default as MaskLayer } from '@giro3d/giro3d/core/layer/MaskLayer';
|
|
4
|
+
import { EventDispatcher } from '../../../../node_modules/three';
|
|
5
|
+
import { BasemapLayerSourceConfig, LayerConfig, LayerType } from './configuration/layers';
|
|
6
|
+
import { default as LayerObject } from './LayerObject';
|
|
7
|
+
export interface BaseLayer extends EventDispatcher {
|
|
8
|
+
name: string;
|
|
9
|
+
options: BaseLayerOptions<LayerConfig>;
|
|
10
|
+
source: BasemapLayerSourceConfig;
|
|
11
|
+
type: LayerType;
|
|
12
|
+
uuid: string;
|
|
13
|
+
get isLoading(): boolean;
|
|
14
|
+
set isLoading(v: boolean);
|
|
15
|
+
get opacity(): number;
|
|
16
|
+
set opacity(v: number);
|
|
17
|
+
get visible(): boolean;
|
|
18
|
+
set visible(v: boolean);
|
|
19
|
+
}
|
|
20
|
+
export type BaseLayerOptions<TLayerType extends LayerConfig> = Omit<TLayerType, 'name' | 'source' | 'type'>;
|
|
21
|
+
export type BasemapLayer = ColorLayer | ElevationLayer | MaskLayer;
|
|
22
|
+
export declare class BaseLayerObject extends LayerObject implements BaseLayer {
|
|
23
|
+
readonly options: BaseLayerOptions<LayerConfig>;
|
|
24
|
+
readonly source: BasemapLayerSourceConfig;
|
|
25
|
+
readonly type: LayerType;
|
|
26
|
+
get isLoading(): boolean;
|
|
27
|
+
set isLoading(v: boolean);
|
|
28
|
+
private _loading;
|
|
29
|
+
constructor({ name, source, type, ...options }: LayerConfig);
|
|
30
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EventDispatcher } from '../../../../node_modules/three';
|
|
2
|
+
import { default as CameraPosition } from './CameraPosition';
|
|
3
|
+
export type BookmarkEventMap = {
|
|
4
|
+
delete: {};
|
|
5
|
+
goto: {};
|
|
6
|
+
};
|
|
7
|
+
export type SerializedBookmark = {
|
|
8
|
+
title: string;
|
|
9
|
+
url: string;
|
|
10
|
+
};
|
|
11
|
+
export default class Bookmark extends EventDispatcher<BookmarkEventMap> {
|
|
12
|
+
readonly camera: CameraPosition;
|
|
13
|
+
readonly name: string;
|
|
14
|
+
constructor(name: string, camera: CameraPosition);
|
|
15
|
+
static new(name: string, urlString: string): Bookmark;
|
|
16
|
+
delete(): void;
|
|
17
|
+
getUrl(): URL;
|
|
18
|
+
goTo(): void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { MapConstructorOptions } from '@giro3d/giro3d/entities/Map';
|
|
2
|
+
import { AnalysisConfig } from './configuration/analysis';
|
|
3
|
+
import { BookmarkConfig } from './configuration/bookmark';
|
|
4
|
+
import { CameraConfig, CameraConfigDeprecated } from './configuration/camera';
|
|
5
|
+
import { ColorMapConfig } from './configuration/color';
|
|
6
|
+
import { ExperimentalFeatures } from './configuration/features';
|
|
7
|
+
import { CRS, GeoExtent, GeoVec2 } from './configuration/geographic';
|
|
8
|
+
import { LayerConfig, OverlayConfig, OverlayRasterConfigDeprecated, OverlayVectorConfigDeprecated, OverlayVectorTileConfigDeprecated } from './configuration/layers';
|
|
9
|
+
import { DatasetOrGroupConfig } from './configuration/datasets';
|
|
10
|
+
import { VectorDatasetRendering } from './configuration/datasets/vector';
|
|
11
|
+
/** Basemap configuration */
|
|
12
|
+
export interface BasemapConfig extends ExtentConfigWithCenter, Pick<MapConstructorOptions, 'backgroundColor' | 'backgroundOpacity' | 'colorimetry' | 'contourLines' | 'elevationRange' | 'graticule' | 'lighting' | 'showOutline' | 'side' | 'terrain'> {
|
|
13
|
+
/**
|
|
14
|
+
* Color map configuration for Elevation layer, used when it's the only layer displayed
|
|
15
|
+
*/
|
|
16
|
+
colormap: ColorMapConfig;
|
|
17
|
+
/** Extent configuration */
|
|
18
|
+
extent?: GeoExtent;
|
|
19
|
+
/**
|
|
20
|
+
* Layers
|
|
21
|
+
*
|
|
22
|
+
* Layers define how the 3D map is displayed:
|
|
23
|
+
* - The elevation layer defines how the map is rendered in 3D,
|
|
24
|
+
* - Color layers define how the map appears, they are typically imagery or plan.
|
|
25
|
+
*
|
|
26
|
+
* There should be exactly one elevation layer and one or several color layers.
|
|
27
|
+
*/
|
|
28
|
+
layers: LayerConfig[];
|
|
29
|
+
}
|
|
30
|
+
/** Piero configuration */
|
|
31
|
+
export interface Configuration {
|
|
32
|
+
/** Analysis tools configuration */
|
|
33
|
+
analysis: AnalysisConfig;
|
|
34
|
+
/** Basemap configuration */
|
|
35
|
+
basemap: BasemapConfig;
|
|
36
|
+
/** Array of bookmarks - can be empty */
|
|
37
|
+
bookmarks: BookmarkConfig[];
|
|
38
|
+
/** Camera configuration */
|
|
39
|
+
camera: CameraConfig | CameraConfigDeprecated;
|
|
40
|
+
/** Custom CRS definitions */
|
|
41
|
+
crs_definitions?: Record<CRS, string>;
|
|
42
|
+
/**
|
|
43
|
+
* Array of datasets to display
|
|
44
|
+
*
|
|
45
|
+
* Datasets define the 3D data displayed in the app.
|
|
46
|
+
*
|
|
47
|
+
* Datasets can be organized in groups; some parameters are then inherited to their children.
|
|
48
|
+
*
|
|
49
|
+
* Some dataset types support loading multiple URLs into one dataset. For these types, you can set an array of URLs for the `url` field.
|
|
50
|
+
*/
|
|
51
|
+
datasets: DatasetOrGroupConfig[];
|
|
52
|
+
/**
|
|
53
|
+
* The default CRS to be used in the view
|
|
54
|
+
*
|
|
55
|
+
* Requires the CRS to be geocentric.
|
|
56
|
+
* Requires the CRS to be registered.
|
|
57
|
+
*/
|
|
58
|
+
default_crs: CRS;
|
|
59
|
+
/** Experimental features to switch on */
|
|
60
|
+
enabled_features?: ExperimentalFeatures[];
|
|
61
|
+
/**
|
|
62
|
+
* When importing vector datasets as meshes, select if the app should fetch elevation.
|
|
63
|
+
* @defaultValue true
|
|
64
|
+
*/
|
|
65
|
+
importedMeshDatasetFetchElevation?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* When importing vector datasets as meshes, select how to fetch elevation.
|
|
68
|
+
* By default (true), it will query the default Alticoder service (ie. IGN).
|
|
69
|
+
* We recommend turning it on in case of large datasets (querying would be slow) or if outside France (won't work)
|
|
70
|
+
* @defaultValue false
|
|
71
|
+
*/
|
|
72
|
+
importedMeshDatasetFetchElevationFast?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* When importing vector datasets, pick how to render them.
|
|
75
|
+
* @defaultValue mesh
|
|
76
|
+
*/
|
|
77
|
+
importedVectorDatasetRendering?: 'overlay' | VectorDatasetRendering;
|
|
78
|
+
/**
|
|
79
|
+
* Array of overlays to display on the 2.5D map - can be empty
|
|
80
|
+
*
|
|
81
|
+
* Overlays define data that are merged into the 2.5D map.
|
|
82
|
+
* These are typically vector data or rasters with transparent backgrounds.
|
|
83
|
+
*/
|
|
84
|
+
overlays: (OverlayConfig | OverlayRasterConfigDeprecated | OverlayVectorConfigDeprecated | OverlayVectorTileConfigDeprecated)[];
|
|
85
|
+
/** Pointcloud display configuration */
|
|
86
|
+
pointcloud: ColorMapConfig;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Extent configuration
|
|
90
|
+
*
|
|
91
|
+
* @deprecated Use {@link BasemapConfig.extent} field instead. Will be removed in release v24.10.
|
|
92
|
+
*/
|
|
93
|
+
export interface ExtentConfigWithCenter {
|
|
94
|
+
/**
|
|
95
|
+
* Center of the map.
|
|
96
|
+
*
|
|
97
|
+
* @deprecated Use {@link BasemapConfig.extent} field instead. Will be removed in release v24.10.
|
|
98
|
+
*/
|
|
99
|
+
center?: [number, number] | GeoVec2;
|
|
100
|
+
/**
|
|
101
|
+
* Size of the map in CRS units.
|
|
102
|
+
*
|
|
103
|
+
* @deprecated Use {@link BasemapConfig.extent} field instead. Will be removed in release v24.10.
|
|
104
|
+
*/
|
|
105
|
+
size?: [number, number];
|
|
106
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { default as ColorLayer } from '@giro3d/giro3d/core/layer/ColorLayer';
|
|
2
|
+
import { default as ElevationLayer } from '@giro3d/giro3d/core/layer/ElevationLayer';
|
|
3
|
+
import { default as MaskLayer } from '@giro3d/giro3d/core/layer/MaskLayer';
|
|
4
|
+
import { EventDispatcher } from '../../../../node_modules/three';
|
|
5
|
+
import { DatagroupConfig, DatasetConfig, DatasetOrGroupConfig, DatasetType } from './configuration/datasets';
|
|
6
|
+
import { DatasetCascadingConfig, OnObjectPreloaded } from './configuration/datasets/core';
|
|
7
|
+
export type DatasetEventMap = {
|
|
8
|
+
delete: {};
|
|
9
|
+
isPreloaded: {};
|
|
10
|
+
isPreloading: {};
|
|
11
|
+
opacity: {};
|
|
12
|
+
visible: {};
|
|
13
|
+
};
|
|
14
|
+
export type DatasetGroupEventMap = DatasetEventMap & {};
|
|
15
|
+
export type DatasetLayer = ColorLayer | ElevationLayer | MaskLayer;
|
|
16
|
+
/** Dataset or group item */
|
|
17
|
+
export type DatasetOrGroup = Datagroup | Dataset;
|
|
18
|
+
export type DatasetOrGroupType = 'group' | DatasetType;
|
|
19
|
+
export declare abstract class DatasetBase<TConfig extends DatasetOrGroupConfig, TEventMap extends DatasetEventMap = DatasetEventMap> extends EventDispatcher<DatasetEventMap & TEventMap> {
|
|
20
|
+
readonly config: TConfig;
|
|
21
|
+
readonly name: string;
|
|
22
|
+
readonly onObjectPreloaded?: OnObjectPreloaded;
|
|
23
|
+
readonly type: TConfig['type'];
|
|
24
|
+
readonly uuid: string;
|
|
25
|
+
get isPreloaded(): boolean;
|
|
26
|
+
set isPreloaded(v: boolean);
|
|
27
|
+
get isPreloading(): boolean;
|
|
28
|
+
set isPreloading(v: boolean);
|
|
29
|
+
get opacity(): number;
|
|
30
|
+
set opacity(v: number);
|
|
31
|
+
get parent(): Datagroup | null;
|
|
32
|
+
set parent(v: Datagroup | null);
|
|
33
|
+
get visible(): boolean;
|
|
34
|
+
set visible(v: boolean);
|
|
35
|
+
protected _isPreloaded: boolean;
|
|
36
|
+
protected _isPreloading: boolean;
|
|
37
|
+
protected _opacity: number;
|
|
38
|
+
protected _parent: Datagroup | null;
|
|
39
|
+
protected _visible: boolean;
|
|
40
|
+
constructor(config: TConfig);
|
|
41
|
+
delete(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Gets the value of a property from this object or its ancestors.
|
|
44
|
+
* @param propertyName - Name of the property
|
|
45
|
+
* @returns Value
|
|
46
|
+
*/
|
|
47
|
+
get<K extends keyof DatasetCascadingConfig>(propertyName: K): DatasetCascadingConfig[K] | undefined;
|
|
48
|
+
/** Gets the leafs Dataset from this object */
|
|
49
|
+
abstract leafs(): Dataset[];
|
|
50
|
+
/**
|
|
51
|
+
* Executes the callback on this object and all descendants.
|
|
52
|
+
* @param callback - Callback to execute
|
|
53
|
+
*/
|
|
54
|
+
abstract traverse(callback: (dataset: DatasetOrGroup) => void): void;
|
|
55
|
+
}
|
|
56
|
+
/** Datagroup item */
|
|
57
|
+
export declare class Datagroup extends DatasetBase<DatagroupConfig, DatasetGroupEventMap> {
|
|
58
|
+
get children(): DatasetOrGroup[];
|
|
59
|
+
set children(items: DatasetOrGroup[]);
|
|
60
|
+
protected _children: DatasetOrGroup[];
|
|
61
|
+
constructor(conf: DatagroupConfig);
|
|
62
|
+
static isGroup: (obj: unknown) => obj is Datagroup;
|
|
63
|
+
leafs(): Dataset[];
|
|
64
|
+
traverse(callback: (dataset: DatasetOrGroup) => void): void;
|
|
65
|
+
}
|
|
66
|
+
/** Dataset item */
|
|
67
|
+
export declare class Dataset extends DatasetBase<DatasetConfig, DatasetEventMap> {
|
|
68
|
+
constructor(conf: DatasetConfig);
|
|
69
|
+
leafs(): Dataset[];
|
|
70
|
+
traverse(callback: (dataset: DatasetOrGroup) => void): void;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Creates a hierarchy of DatasetOrGroup from an array of configuration.
|
|
74
|
+
* @param datasets - Datasets
|
|
75
|
+
* @param parent - Parent datagroup, if any
|
|
76
|
+
* @returns Hierarchy of DatasetOrGroup
|
|
77
|
+
*/
|
|
78
|
+
export declare function parseDatasetConfig(datasets: DatasetOrGroupConfig[], parent?: Datagroup): DatasetOrGroup[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Vector3 } from '../../../../node_modules/three';
|
|
2
|
+
export interface Attribute {
|
|
3
|
+
key: string;
|
|
4
|
+
value: unknown;
|
|
5
|
+
}
|
|
6
|
+
export type AttributesGroups = Map<string, Attribute[]>;
|
|
7
|
+
export default class Feature {
|
|
8
|
+
readonly attributes: AttributesGroups;
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly parent: string;
|
|
11
|
+
readonly point: Vector3;
|
|
12
|
+
constructor(name: string, parent: string, attributes: AttributesGroups, point: Vector3);
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Mesh, MeshBasicMaterial, PlaneGeometry } from '../../../../node_modules/three';
|
|
2
|
+
export default class FloodingPlane {
|
|
3
|
+
geometry: PlaneGeometry;
|
|
4
|
+
material: MeshBasicMaterial;
|
|
5
|
+
object3D: Mesh<PlaneGeometry, MeshBasicMaterial>;
|
|
6
|
+
set height(z: number);
|
|
7
|
+
get height(): number;
|
|
8
|
+
set visible(v: boolean);
|
|
9
|
+
get visible(): boolean;
|
|
10
|
+
private _height;
|
|
11
|
+
constructor();
|
|
12
|
+
dispose(): void;
|
|
13
|
+
setPosition(x: number, y: number, z: number, width: number, height: number): void;
|
|
14
|
+
}
|